if(frag_attacker == frag_target || frag_attacker == world)
{
- if(frag_target.classname == STR_PLAYER)
+ if(IS_PLAYER(frag_target))
Send_Notification(NOTIF_ONE, frag_target, MSG_CENTER, CENTER_FREEZETAG_SELF);
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_FREEZETAG_SELF, frag_target.netname);
}
else
{
- if(frag_target.classname == STR_PLAYER)
+ if(IS_PLAYER(frag_target))
Send_Notification(NOTIF_ONE, frag_target, MSG_CENTER, CENTER_FREEZETAG_FROZEN, frag_attacker.netname);
- if(frag_attacker.classname == STR_PLAYER)
+ if(IS_PLAYER(frag_attacker))
Send_Notification(NOTIF_ONE, frag_attacker, MSG_CENTER, CENTER_FREEZETAG_FREEZE, frag_target.netname);
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_FREEZETAG_FREEZE, frag_target.netname, frag_attacker.netname);
}
{
if(self.freezetag_frozen)
{
- self.movement = '0 0 0';
+ if(autocvar_sv_dodging_frozen)
+ {
+ self.movement_x = bound(-5, self.movement_x, 5);
+ self.movement_y = bound(-5, self.movement_y, 5);
+ self.movement_z = bound(-5, self.movement_z, 5);
+ }
+ else
+ self.movement = '0 0 0';
+
self.disableclientprediction = 1;
}
return 1;
return 1;
}
+MUTATOR_HOOKFUNCTION(freezetag_PlayerJump)
+{
+ if(self.freezetag_frozen)
+ return TRUE; // no jumping in freezetag when frozen
+
+ return FALSE;
+}
+
MUTATOR_HOOKFUNCTION(freezetag_ForbidThrowCurrentWeapon)
{
if (self.freezetag_frozen)
MUTATOR_HOOKFUNCTION(freezetag_ItemTouch)
{
if (other.freezetag_frozen)
- return 1;
- return 0;
+ return MUT_ITEMTOUCH_RETURN;
+ return MUT_ITEMTOUCH_CONTINUE;
}
MUTATOR_HOOKFUNCTION(freezetag_BotRoles)
return 0;
}
+MUTATOR_HOOKFUNCTION(freezetag_VehicleTouch)
+{
+ if(other.freezetag_frozen)
+ return TRUE;
+
+ return FALSE;
+}
+
void freezetag_Initialize()
{
precache_model("models/ice/ice.md3");
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(PlayerJump, freezetag_PlayerJump, CBC_ORDER_ANY);
MUTATOR_HOOK(ForbidThrowCurrentWeapon, freezetag_ForbidThrowCurrentWeapon, CBC_ORDER_ANY);
MUTATOR_HOOK(ItemTouch, freezetag_ItemTouch, CBC_ORDER_ANY);
MUTATOR_HOOK(HavocBot_ChooseRule, freezetag_BotRoles, CBC_ORDER_ANY);
MUTATOR_HOOK(SpectateCopy, freezetag_SpectateCopy, CBC_ORDER_ANY);
MUTATOR_HOOK(GetTeamCount, freezetag_GetTeamCount, CBC_ORDER_EXCLUSIVE);
+ MUTATOR_HOOK(VehicleTouch, freezetag_VehicleTouch, CBC_ORDER_ANY);
MUTATOR_ONADD
{