void ImpulseCommands (void)
{
- local float imp;
+ float imp;
vector org;
float i;
float m;
return;
self.impulse = 0;
- if (timeoutStatus == 2) //don't allow any impulses while the game is paused
+ // forbid impulses when not in round time
+ if(round_handler_IsActive() && !round_handler_IsRoundStarted())
return;
+ if (timeout_status == TIMEOUT_ACTIVE) //don't allow any impulses while the game is paused
+ return;
+
+ if(self.vehicle)
+ if(self.vehicle.deadflag == DEAD_NO)
+ if(self.vehicle.vehicles_impusle)
+ if(self.vehicle.vehicles_impusle(imp))
+ return;
+
if(CheatImpulse(imp))
{
}
switch(imp)
{
case 10:
- W_NextWeapon (0);
+ W_NextWeapon(0);
break;
case 11:
- W_SwitchWeapon (self.cnt); // previously used
+ W_LastWeapon();
break;
case 12:
- W_PreviousWeapon (0);
+ W_PreviousWeapon(0);
break;
case 13:
- W_SwitchWeapon (w_getbestweapon(self));
+ W_SwitchWeapon(w_getbestweapon(self));
break;
case 14:
W_NextWeaponOnImpulse(0);
break;
case 15:
- W_NextWeapon (2);
+ W_NextWeapon(2);
break;
case 16:
- W_PreviousWeapon (2);
+ W_PreviousWeapon(2);
break;
case 17:
- if (!g_minstagib)
- W_ThrowWeapon(W_CalculateProjectileVelocity(self.velocity, v_forward * 750, FALSE), '0 0 0', TRUE);
+ W_ThrowWeapon(W_CalculateProjectileVelocity(self.velocity, v_forward * 750, FALSE), '0 0 0', TRUE);
break;
case 18:
- W_NextWeapon (1);
+ W_NextWeapon(1);
break;
case 19:
- W_PreviousWeapon (1);
+ W_PreviousWeapon(1);
break;
case 20:
- W_TriggerReload ();
+ WEP_ACTION(self.weapon, WR_RELOAD);
break;
}
}
case 33:
if(self.deadflag == DEAD_NO && teamplay)
{
- wp = WaypointSprite_Attach("helpme", TRUE, RADARICON_HELPME, '1 0.5 0');
- if(!wp)
- WaypointSprite_HelpMePing(self.waypointsprite_attachedforcarrier);
- else
- WaypointSprite_Ping(wp);
+ if not(MUTATOR_CALLHOOK(HelpMePing))
+ {
+ wp = WaypointSprite_Attach("helpme", TRUE, RADARICON_HELPME, '1 0.5 0');
+ if(!wp)
+ WaypointSprite_HelpMePing(self.waypointsprite_attachedforcarrier);
+ else
+ WaypointSprite_Ping(wp);
+ }
sprint(self, "HELP ME attached\n");
}
break;