X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_freezetag.qc;h=f56dc59f18f15979d5cdd8e5defb06826babdaf9;hb=032028bc6b28d76c43210256a5dadd0d3f71b4a1;hp=d09bbeecf6bfbb4f91ccf34c1c01821c001120fc;hpb=40885be38d6c25f2840980fc7b8c437e52b49402;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/gamemode_freezetag.qc b/qcsrc/server/mutators/gamemode_freezetag.qc index d09bbeecf..f56dc59f1 100644 --- a/qcsrc/server/mutators/gamemode_freezetag.qc +++ b/qcsrc/server/mutators/gamemode_freezetag.qc @@ -85,6 +85,8 @@ void freezetag_Freeze(entity attacker) freezetag_Ice_Think(); self = oldself; + RemoveGrapplingHook(self); + // add waypoint WaypointSprite_Spawn("freezetag_frozen", 0, 0, self, '0 0 64', world, self.team, self, waypointsprite_attached, TRUE); if(self.waypointsprite_attached) @@ -326,6 +328,13 @@ MUTATOR_HOOKFUNCTION(freezetag_PlayerDamage_Calculate) return 1; } +MUTATOR_HOOKFUNCTION(freezetag_ForbidThrowCurrentWeapon) +{ + if (self.freezetag_frozen) + return 1; + return 0; +} + MUTATOR_DEFINITION(gamemode_freezetag) { MUTATOR_HOOK(MakePlayerObserver, freezetag_RemovePlayer, CBC_ORDER_ANY); @@ -336,6 +345,7 @@ MUTATOR_DEFINITION(gamemode_freezetag) MUTATOR_HOOK(PlayerPreThink, freezetag_PlayerPreThink, CBC_ORDER_FIRST); MUTATOR_HOOK(PlayerPhysics, freezetag_PlayerPhysics, CBC_ORDER_FIRST); MUTATOR_HOOK(PlayerDamage_Calculate, freezetag_PlayerDamage_Calculate, CBC_ORDER_ANY); + MUTATOR_HOOK(ForbidThrowCurrentWeapon, freezetag_ForbidThrowCurrentWeapon, CBC_ORDER_FIRST); //first, last or any? dunno. MUTATOR_ONADD {