-#include "_all.qh"
#include "round_handler.qh"
#include "bot/waypoints.qh"
#include "../common/minigames/sv_minigames.qh"
#include "../common/weapons/all.qh"
+#include "../common/vehicles/sv_vehicles.qh"
-/*
+#include "../common/mutators/mutator/waypoints/waypointsprites.qh"
+
+.entity vehicle;
+
+/**
* Impulse map:
*
* 0 reserved (no input)
* 230 to 253: individual weapons (up to 24)
*/
-void ImpulseCommands (void)
-{
+void ImpulseCommands ()
+{SELFPARAM();
int imp;
vector org;
float i;
W_PreviousWeapon(1);
break;
case 20:
- if(!forbidWeaponUse(self)) { WEP_ACTION(self.weapon, WR_RELOAD); }
+ if(!forbidWeaponUse(self)) {
+ Weapon w = get_weaponinfo(self.weapon);
+ w.wr_reload(w);
+ }
break;
}
}
- else
- self.impulse = imp; // retry in next frame
+ //else
+ //self.impulse = imp; // retry in next frame
}
else if(imp == 21)
{
m = (imp - (210 + i)); // <0 for prev, =0 for best, >0 for next
W_CycleWeapon(self.(cvar_cl_weaponpriorities[i]), m);
}
- else
- self.impulse = imp; // retry in next frame
+ //else
+ //self.impulse = imp; // retry in next frame
}
- else if(imp >= 230 && imp <= 253)
+ else if(imp >= WEP_IMPULSE_BEGIN && imp <= WEP_IMPULSE_END)
{
if(!self.vehicle)
if(self.deadflag == DEAD_NO)
- W_SwitchWeapon (imp - 230 + WEP_FIRST);
- else
- self.impulse = imp; // retry in next frame
+ W_SwitchWeapon (imp - WEP_IMPULSE_BEGIN + WEP_FIRST);
+ //else
+ //self.impulse = imp; // retry in next frame
}
// deploy waypoints
else if (imp >= 30 && imp <= 49)
{
if(e.wpcost >= 10000000)
{
- print("unreachable: ", etos(e), " ", vtos(e.origin), "\n");
+ LOG_INFO("unreachable: ", etos(e), " ", vtos(e.origin), "\n");
e.colormod_z = 8;
e.effects |= EF_NODEPTHTEST | EF_BLUE;
++i;
}
}
if(i)
- print(ftos(i), " waypoints cannot be reached from here in any way (marked with blue light)\n");
+ LOG_INFO(ftos(i), " waypoints cannot be reached from here in any way (marked with blue light)\n");
navigation_markroutes_inverted(e2);
i = 0;
for(e = findchain(classname, "waypoint"); e; e = e.chain)
{
if(e.wpcost >= 10000000)
{
- print("cannot reach me: ", etos(e), " ", vtos(e.origin), "\n");
+ LOG_INFO("cannot reach me: ", etos(e), " ", vtos(e.origin), "\n");
e.colormod_x = 8;
if(!(e.effects & EF_NODEPTHTEST)) // not already reported before
++m;
}
}
if(i)
- print(ftos(i), " waypoints cannot walk to here in any way (marked with red light)\n");
+ LOG_INFO(ftos(i), " waypoints cannot walk to here in any way (marked with red light)\n");
if(m)
- print(ftos(m), " waypoints have been marked total\n");
+ LOG_INFO(ftos(m), " waypoints have been marked total\n");
i = 0;
for(e = findchain(classname, "info_player_deathmatch"); e; e = e.chain)
{
else
{
setorigin(e, org);
- print("spawn without waypoint: ", etos(e), " ", vtos(e.origin), "\n");
+ LOG_INFO("spawn without waypoint: ", etos(e), " ", vtos(e.origin), "\n");
e.effects |= EF_NODEPTHTEST;
- setmodel(e, self.model);
+ _setmodel(e, self.model);
e.frame = self.frame;
e.skin = self.skin;
e.colormod = '8 0.5 8';
}
}
if(i)
- print(ftos(i), " spawnpoints have no nearest waypoint (marked by player model)\n");
+ LOG_INFO(ftos(i), " spawnpoints have no nearest waypoint (marked by player model)\n");
i = 0;
entity start;
start = findchainflags(flags, FL_ITEM);
}
else
{
- print("item without waypoint: ", etos(e), " ", vtos(e.origin), "\n");
+ LOG_INFO("item without waypoint: ", etos(e), " ", vtos(e.origin), "\n");
e.effects |= EF_NODEPTHTEST | EF_RED;
e.colormod_x = 8;
++i;
}
}
if(i)
- print(ftos(i), " items have no nearest waypoint and cannot be walked away from (marked with red light)\n");
+ LOG_INFO(ftos(i), " items have no nearest waypoint and cannot be walked away from (marked with red light)\n");
i = 0;
for(e = start; e; e = e.chain)
{
}
else
{
- print("item without waypoint: ", etos(e), " ", vtos(e.origin), "\n");
+ LOG_INFO("item without waypoint: ", etos(e), " ", vtos(e.origin), "\n");
e.effects |= EF_NODEPTHTEST | EF_BLUE;
e.colormod_z = 8;
++i;
}
}
if(i)
- print(ftos(i), " items have no nearest waypoint and cannot be walked to (marked with blue light)\n");
+ LOG_INFO(ftos(i), " items have no nearest waypoint and cannot be walked to (marked with blue light)\n");
break;
}
}