#include "bot.qh"
+#include <common/physics/player.qh>
+#include <common/state.qh>
+
#include "../weapons/weaponsystem.qh"
#include "../mutators/all.qh"
if (e == self)
return false;
if (teamplay)
- if (e.team != 0)
+ if (TMID(e.team) != 0)
return false;
}
- if(e.frozen)
+ if(STAT(FROZEN, e))
return false;
if(teamplay)
{
- if(e.team==0)
+ if(TMID(e.team)==0)
return false;
}
else if(bot_ignore_bots)
if (!e.takedamage)
return false;
- if (e.deadflag)
+ if (IS_DEAD(e))
return false;
- if (e.BUTTON_CHAT)
+ if (PHYS_INPUT_BUTTON_CHAT(e))
return false;
if(e.flags & FL_NOTARGET)
return false;
// note the maxfiredeviation is in degrees so this has to convert to radians first
//if ((normalize(v) * shotdir) >= cos(maxfiredeviation * (3.14159265358979323846 / 180)))
if ((normalize(v) * shotdir) >= cos(maxfiredeviation * (3.14159265358979323846 / 180)))
- if (vlen(trace_endpos-shotorg) < 500+500*bound(0, skill+self.bot_aggresskill, 10) || random()*random()>bound(0,(skill+self.bot_aggresskill)*0.05,1))
+ if(vdist(trace_endpos-shotorg, <, 500 + 500 * bound(0, skill + self.bot_aggresskill, 10)) || random()*random()>bound(0,(skill+self.bot_aggresskill)*0.05,1))
self.bot_firetimer = time + bound(0.1, 0.5-(skill+self.bot_aggresskill)*0.05, 0.5);
//traceline(shotorg,shotorg+shotdir*1000,false,world);
//dprint(ftos(maxfiredeviation),"\n");
shotspeedupward *= W_WeaponSpeedFactor();
if (!shotspeed)
{
- LOG_TRACE("bot_aim: WARNING: weapon ", Weapons_from(self.weapon).m_name, " shotspeed is zero!\n");
+ LOG_TRACE("bot_aim: WARNING: weapon ", PS(self).m_weapon.m_name, " shotspeed is zero!\n");
shotspeed = 1000000;
}
if (!maxshottime)
{
- LOG_TRACE("bot_aim: WARNING: weapon ", Weapons_from(self.weapon).m_name, " maxshottime is zero!\n");
+ LOG_TRACE("bot_aim: WARNING: weapon ", PS(self).m_weapon.m_name, " maxshottime is zero!\n");
maxshottime = 1;
}
makevectors(self.v_angle);