+#include "_all.qh"
+#include "round_handler.qh"
+
+#include "bot/waypoints.qh"
+
+#include "weapons/throwing.qh"
+#include "command/common.qh"
+#include "cheats.qh"
+#include "bot/navigation.qh"
+#include "weapons/selection.qh"
+#include "weapons/tracing.qh"
+#include "weapons/weaponsystem.qh"
+
+#include "../common/minigames/sv_minigames.qh"
+
+#include "../common/weapons/all.qh"
+
/*
* Impulse map:
*
void ImpulseCommands (void)
{
- float imp;
+ int imp;
vector org;
float i;
float m;
return;
self.impulse = 0;
+ if ( self.active_minigame )
+ if ( MinigameImpulse(imp) )
+ return;
+
// allow only weapon change impulses when not in round time
if(round_handler_IsActive() && !round_handler_IsRoundStarted())
if(imp == 17 || (imp >= 20 && imp < 200) || imp > 253)
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_impulse)
- if(self.vehicle.vehicles_impulse(imp))
- return;
+ if(self.vehicle)
+ if(self.vehicle.deadflag == DEAD_NO)
+ {
+ if(self.vehicle.vehicles_impulse)
+ if(self.vehicle.vehicles_impulse(imp))
+ return;
+ if(vehicle_impulse(imp))
+ return;
+ }
if(CheatImpulse(imp))
{
}
else if(imp >= 10 && imp <= 20)
{
+ if(!self.vehicle)
if(self.deadflag == DEAD_NO)
{
switch(imp)
W_PreviousWeapon(2);
break;
case 17:
- 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_PreviousWeapon(1);
break;
case 20:
- if(!forbidWeaponUse()) { WEP_ACTION(self.weapon, WR_RELOAD); }
+ if(!forbidWeaponUse(self)) { WEP_ACTION(self.weapon, WR_RELOAD); }
break;
}
}
}
else if(imp >= 200 && imp <= 229)
{
+ if(!self.vehicle)
if(self.deadflag == DEAD_NO)
{
// custom order weapon cycling
- i = imp % 10;
+ int i = imp % 10;
m = (imp - (210 + i)); // <0 for prev, =0 for best, >0 for next
W_CycleWeapon(self.(cvar_cl_weaponpriorities[i]), m);
}
}
else if(imp >= 230 && imp <= 253)
{
+ if(!self.vehicle)
if(self.deadflag == DEAD_NO)
W_SwitchWeapon (imp - 230 + WEP_FIRST);
else
switch(imp)
{
case 30:
- wp = WaypointSprite_DeployPersonal("waypoint", self.origin, RADARICON_WAYPOINT, '0 1 1');
+ wp = WaypointSprite_DeployPersonal(WP_Waypoint, self.origin, RADARICON_WAYPOINT);
if(wp)
WaypointSprite_Ping(wp);
sprint(self, "personal waypoint spawned at location\n");
break;
case 31:
WarpZone_crosshair_trace(self);
- wp = WaypointSprite_DeployPersonal("waypoint", trace_endpos, RADARICON_WAYPOINT, '0 1 1');
+ wp = WaypointSprite_DeployPersonal(WP_Waypoint, trace_endpos, RADARICON_WAYPOINT);
if(wp)
WaypointSprite_Ping(wp);
sprint(self, "personal waypoint spawned at crosshair\n");
case 32:
if(vlen(self.death_origin))
{
- wp = WaypointSprite_DeployPersonal("waypoint", self.death_origin, RADARICON_WAYPOINT, '0 1 1');
+ wp = WaypointSprite_DeployPersonal(WP_Waypoint, self.death_origin, RADARICON_WAYPOINT);
if(wp)
WaypointSprite_Ping(wp);
sprint(self, "personal waypoint spawned at death location\n");
case 33:
if(self.deadflag == DEAD_NO && teamplay)
{
- if (!MUTATOR_CALLHOOK(HelpMePing))
+ if (!MUTATOR_CALLHOOK(HelpMePing, self))
{
- wp = WaypointSprite_Attach("helpme", TRUE, RADARICON_HELPME, '1 0.5 0');
+ wp = WaypointSprite_Attach(WP_Helpme, true, RADARICON_HELPME);
if(!wp)
WaypointSprite_HelpMePing(self.waypointsprite_attachedforcarrier);
else
}
break;
case 34:
- wp = WaypointSprite_DeployFixed("here", FALSE, self.origin, RADARICON_HERE, '0 1 0');
+ wp = WaypointSprite_DeployFixed(WP_Here, false, self.origin, RADARICON_HERE);
if(wp)
WaypointSprite_Ping(wp);
sprint(self, "HERE spawned at location\n");
break;
case 35:
WarpZone_crosshair_trace(self);
- wp = WaypointSprite_DeployFixed("here", FALSE, trace_endpos, RADARICON_HERE, '0 1 0');
+ wp = WaypointSprite_DeployFixed(WP_Here, false, trace_endpos, RADARICON_HERE);
if(wp)
WaypointSprite_Ping(wp);
sprint(self, "HERE spawned at crosshair\n");
case 36:
if(vlen(self.death_origin))
{
- wp = WaypointSprite_DeployFixed("here", FALSE, self.death_origin, RADARICON_HERE, '0 1 0');
+ wp = WaypointSprite_DeployFixed(WP_Here, false, self.death_origin, RADARICON_HERE);
if(wp)
WaypointSprite_Ping(wp);
sprint(self, "HERE spawned at death location\n");
}
break;
case 37:
- wp = WaypointSprite_DeployFixed("danger", FALSE, self.origin, RADARICON_DANGER, '1 0.5 0');
+ wp = WaypointSprite_DeployFixed(WP_Danger, false, self.origin, RADARICON_DANGER);
if(wp)
WaypointSprite_Ping(wp);
sprint(self, "DANGER spawned at location\n");
break;
case 38:
WarpZone_crosshair_trace(self);
- wp = WaypointSprite_DeployFixed("danger", FALSE, trace_endpos, RADARICON_DANGER, '1 0.5 0');
+ wp = WaypointSprite_DeployFixed(WP_Danger, false, trace_endpos, RADARICON_DANGER);
if(wp)
WaypointSprite_Ping(wp);
sprint(self, "DANGER spawned at crosshair\n");
case 39:
if(vlen(self.death_origin))
{
- wp = WaypointSprite_DeployFixed("danger", FALSE, self.death_origin, RADARICON_DANGER, '1 0.5 0');
+ wp = WaypointSprite_DeployFixed(WP_Danger, false, self.death_origin, RADARICON_DANGER);
if(wp)
WaypointSprite_Ping(wp);
sprint(self, "DANGER spawned at death location\n");
bprint(strcat("Waypoint spawned at ",vtos(self.origin),"\n"));
break;
case 104:
- e = navigation_findnearestwaypoint(self, FALSE);
+ e = navigation_findnearestwaypoint(self, false);
if (e)
if (!(e.wpflags & WAYPOINTFLAG_GENERATED))
{
e.colormod = '0.5 0.5 0.5';
e.effects &= ~(EF_NODEPTHTEST | EF_RED | EF_BLUE);
}
- e2 = navigation_findnearestwaypoint(self, FALSE);
+ e2 = navigation_findnearestwaypoint(self, false);
navigation_markroutes(e2);
i = 0;
m = 0;
org = e.origin;
tracebox(e.origin, PL_MIN, PL_MAX, e.origin - '0 0 512', MOVE_NOMONSTERS, world);
setorigin(e, trace_endpos);
- if(navigation_findnearestwaypoint(e, FALSE))
+ if(navigation_findnearestwaypoint(e, false))
{
setorigin(e, org);
e.effects &= ~EF_NODEPTHTEST;
}
for(e = start; e; e = e.chain)
{
- if(navigation_findnearestwaypoint(e, FALSE))
+ if(navigation_findnearestwaypoint(e, false))
{
}
else
for(e = start; e; e = e.chain)
{
org = e.origin;
- if(navigation_findnearestwaypoint(e, TRUE))
+ if(navigation_findnearestwaypoint(e, true))
{
}
else
}
}
}
-#ifdef TETRIS
- else if(imp == 100)
- TetrisImpulse();
-#endif
}