X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Ftturrets%2Funits%2Funit_walker.qc;h=812fb22456628dc8c8e3b558c8cf0d7bdfbd1c6a;hb=5b4d55a39e59f76751555cc0420e5734fbc4a792;hp=1ce59dd278bfb4e3bc2c5d84a9584bde94b212b2;hpb=04ab0ff7c3c5fcfe9780eadccfd5abd03d25b181;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/tturrets/units/unit_walker.qc b/qcsrc/server/tturrets/units/unit_walker.qc index 1ce59dd27..812fb2245 100644 --- a/qcsrc/server/tturrets/units/unit_walker.qc +++ b/qcsrc/server/tturrets/units/unit_walker.qc @@ -1,19 +1,25 @@ -#define ANIM_NO 0 -#define ANIM_TURN 1 -#define ANIM_WALK 2 -#define ANIM_RUN 3 -#define ANIM_STRAFE_L 4 -#define ANIM_STRAFE_R 5 -#define ANIM_JUMP 6 -#define ANIM_LAND 7 -#define ANIM_PAIN 8 -#define ANIM_MEELE 9 -#define ANIM_SWIM 10 -#define ANIM_ROAM 11 +#include "../../_all.qh" + +#include "../../movelib.qh" +#include "../../steerlib.qh" +#include "../../t_teleporters.qh" + +const float ANIM_NO = 0; +const float ANIM_TURN = 1; +const float ANIM_WALK = 2; +const float ANIM_RUN = 3; +const float ANIM_STRAFE_L = 4; +const float ANIM_STRAFE_R = 5; +const float ANIM_JUMP = 6; +const float ANIM_LAND = 7; +const float ANIM_PAIN = 8; +const float ANIM_MEELE = 9; +const float ANIM_SWIM = 10; +const float ANIM_ROAM = 11; .float animflag; -#define WALKER_MIN '-70 -70 0' -#define WALKER_MAX '70 70 95' +const vector WALKER_MIN = '-70 -70 0'; +const vector WALKER_MAX = '70 70 95'; #define WALKER_PATH(s,e) pathlib_astar(s,e) @@ -46,16 +52,17 @@ void walker_meele_do_dmg() void walker_setnoanim() { - turrets_setframe(ANIM_NO, FALSE); + turrets_setframe(ANIM_NO, false); self.animflag = self.frame; } void walker_rocket_explode() { - RadiusDamage (self, self.owner, autocvar_g_turrets_unit_walker_std_rocket_dmg, 0, autocvar_g_turrets_unit_walker_std_rocket_radius, self, autocvar_g_turrets_unit_walker_std_rocket_force, DEATH_TURRET_WALK_ROCKET, world); + RadiusDamage (self, self.owner, autocvar_g_turrets_unit_walker_std_rocket_dmg, 0, autocvar_g_turrets_unit_walker_std_rocket_radius, self, world, autocvar_g_turrets_unit_walker_std_rocket_force, DEATH_TURRET_WALK_ROCKET, world); + remove (self); } -void walker_rocket_damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector vforce) +void walker_rocket_damage (entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector vforce) { self.health = self.health - damage; self.velocity = self.velocity + vforce; @@ -191,7 +198,7 @@ void walker_fire_rocket(vector org) rocket.classname = "walker_rocket"; rocket.owner = self; - rocket.bot_dodge = TRUE; + rocket.bot_dodge = true; rocket.bot_dodgerating = 50; rocket.takedamage = DAMAGE_YES; rocket.damageforcescale = 2; @@ -217,7 +224,7 @@ void walker_fire_rocket(vector org) rocket.tur_health = time + 9; rocket.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_GUIDED_HEAT; - CSQCProjectile(rocket, FALSE, PROJECTILE_ROCKET, FALSE); // no culling, has fly sound + CSQCProjectile(rocket, false, PROJECTILE_ROCKET, false); // no culling, has fly sound } .vector enemy_last_loc; @@ -341,7 +348,7 @@ void walker_postthink() } self.moveto = self.moveto * 0.9 + ((self.origin + v_forward * 500) + randomvec() * 400) * 0.1; - self.moveto_z = self.origin_z + 64; + self.moveto_z = self.origin.z + 64; walker_move_to(self.moveto, 0); } @@ -373,7 +380,7 @@ void walker_postthink() wish_angle = angleofs(self, self.enemy); if (self.animflag != ANIM_SWIM) - if (fabs(wish_angle_y) < 15) + if (fabs(wish_angle.y) < 15) { self.moveto = self.enemy.origin; self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95); @@ -418,7 +425,7 @@ void walker_postthink() float vz; real_angle = vectoangles(self.steerto) - self.angles; - vz = self.velocity_z; + vz = self.velocity.z; switch (self.animflag) { @@ -478,7 +485,7 @@ void walker_postthink() turny = autocvar_g_turrets_unit_walker_turn_swim; turnx = autocvar_g_turrets_unit_walker_turn_swim; - self.angles_x += bound(-10, shortangle_f(real_angle_x, self.angles_x), 10); + self.angles_x += bound(-10, shortangle_f(real_angle.x, self.angles.x), 10); movelib_move_simple(v_forward, autocvar_g_turrets_unit_walker_speed_swim, 0.3); vz = self.velocity_z + sin(time * 4) * 8; break; @@ -491,13 +498,13 @@ void walker_postthink() if(turny) { - turny = bound( turny * -1, shortangle_f(real_angle_y, self.angles_y), turny ); + turny = bound( turny * -1, shortangle_f(real_angle.y, self.angles.y), turny ); self.angles_y += turny; } if(turnx) { - turnx = bound( turnx * -1, shortangle_f(real_angle_x, self.angles_x), turnx ); + turnx = bound( turnx * -1, shortangle_f(real_angle.x, self.angles.x), turnx ); self.angles_x += turnx; } @@ -509,14 +516,13 @@ void walker_postthink() self.SendFlags |= TNSF_MOVE; self.oldorigin = self.origin; - turrets_setframe(self.animflag, FALSE); + turrets_setframe(self.animflag, false); } void walker_attack() { sound (self, CH_WEAPON_A, "weapons/uzi_fire.wav", VOL_BASE, ATTEN_NORM); - fireBallisticBullet (self.tur_shotorg, self.tur_shotdir_updated, self.shot_spread, self.shot_speed, 5, self.shot_dmg, self.shot_force, DEATH_TURRET_WALK_GUN, 0, autocvar_g_balance_uzi_bulletconstant); - endFireBallisticBullet(); + fireBullet (self.tur_shotorg, self.tur_shotdir_updated, self.shot_spread, 0, self.shot_dmg, self.shot_force, DEATH_TURRET_WALK_GUN, 0); pointparticles(particleeffectnum("laser_muzzleflash"), self.tur_shotorg, self.tur_shotdir_updated * 1000, 1); } @@ -589,9 +595,9 @@ void turret_walker_dinit() setsize(self, WALKER_MIN, WALKER_MAX); self.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS; self.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS; - self.iscreature = TRUE; + self.iscreature = true; self.teleportable = TELEPORT_NORMAL; - self.damagedbycontents = TRUE; + self.damagedbycontents = true; self.movetype = MOVETYPE_WALK; self.solid = SOLID_SLIDEBOX; self.takedamage = DAMAGE_AIM;