/* mins */ ATTRIB(WalkerTurret, mins, vector, '-70 -70 0');
/* maxs */ ATTRIB(WalkerTurret, maxs, vector, '70 70 95');
/* modelname */ ATTRIB(WalkerTurret, mdl, string, "walker_body.md3");
-/* model */ ATTRIB(WalkerTurret, model, string, strzone(strcat("models/turrets/", this.mdl)));
-/* head_model */ ATTRIB(WalkerTurret, head_model, string, strzone(strcat("models/turrets/", "walker_head_minigun.md3")));
+/* model */ ATTRIB_STRZONE(WalkerTurret, model, string, strcat("models/turrets/", this.mdl));
+/* head_model */ ATTRIB_STRZONE(WalkerTurret, head_model, string, strcat("models/turrets/", "walker_head_minigun.md3"));
/* netname */ ATTRIB(WalkerTurret, netname, string, "walker");
/* fullname */ ATTRIB(WalkerTurret, turret_name, string, _("Walker Turret"));
ATTRIB(WalkerTurret, m_weapon, Weapon, WEP_WALKER);
W_PrepareExplosionByDamage(self.owner, walker_rocket_explode);
}
-#define WALKER_ROCKET_MOVE movelib_move_simple(newdir, (autocvar_g_turrets_unit_walker_rocket_speed), (autocvar_g_turrets_unit_walker_rocket_turnrate)); UpdateCSQCProjectile(self)
+#define WALKER_ROCKET_MOVE movelib_move_simple(self, newdir, (autocvar_g_turrets_unit_walker_rocket_speed), (autocvar_g_turrets_unit_walker_rocket_turnrate)); UpdateCSQCProjectile(self)
void walker_rocket_loop();
void walker_rocket_think()
{SELFPARAM();
m_speed = vlen(self.velocity);
// Enemy dead? just keep on the current heading then.
- if (self.enemy == world || self.enemy.deadflag != DEAD_NO)
+ if (self.enemy == world || IS_DEAD(self.enemy))
self.enemy = world;
if (self.enemy)
}
self.moveto = _target;
- self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
+ self.steerto = steerlib_attract2(self, self.moveto, 0.5, 500, 0.95);
if(self.enemy)
{
self.pathcurrent = self.pathcurrent.path_next;
self.moveto = self.pathcurrent.origin;
- self.steerto = steerlib_attract2(self.moveto,0.5,500,0.95);
+ self.steerto = steerlib_attract2(self, self.moveto,0.5,500,0.95);
walker_move_to(self.moveto, 0);
#else
return;
self.moveto = self.pathcurrent.origin;
- self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
+ self.steerto = steerlib_attract2(self, self.moveto, 0.5, 500, 0.95);
walker_move_to(self.moveto, 0);
#endif
}
spawnfunc(turret_walker) { if(!turret_initialize(TUR_WALKER)) remove(self); }
- METHOD(WalkerTurret, tr_think, void(WalkerTurret thistur))
+ METHOD(WalkerTurret, tr_think, void(WalkerTurret thistur, entity it))
{
fixedmakevectors(self.angles);
if (fabs(wish_angle_y) < 15)
{
self.moveto = self.enemy.origin;
- self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
+ self.steerto = steerlib_attract2(self, self.moveto, 0.5, 500, 0.95);
self.animflag = ANIM_MELEE;
}
}
switch (self.animflag)
{
case ANIM_NO:
- movelib_beak_simple((autocvar_g_turrets_unit_walker_speed_stop));
+ movelib_brake_simple(self, (autocvar_g_turrets_unit_walker_speed_stop));
break;
case ANIM_TURN:
turny = (autocvar_g_turrets_unit_walker_turn);
- movelib_beak_simple((autocvar_g_turrets_unit_walker_speed_stop));
+ movelib_brake_simple(self, (autocvar_g_turrets_unit_walker_speed_stop));
break;
case ANIM_WALK:
turny = (autocvar_g_turrets_unit_walker_turn_walk);
- movelib_move_simple(v_forward, (autocvar_g_turrets_unit_walker_speed_walk), 0.6);
+ movelib_move_simple(self, v_forward, (autocvar_g_turrets_unit_walker_speed_walk), 0.6);
break;
case ANIM_RUN:
turny = (autocvar_g_turrets_unit_walker_turn_run);
- movelib_move_simple(v_forward, (autocvar_g_turrets_unit_walker_speed_run), 0.6);
+ movelib_move_simple(self, v_forward, (autocvar_g_turrets_unit_walker_speed_run), 0.6);
break;
case ANIM_STRAFE_L:
turny = (autocvar_g_turrets_unit_walker_turn_strafe);
- movelib_move_simple(v_right * -1, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
+ movelib_move_simple(self, v_right * -1, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
break;
case ANIM_STRAFE_R:
turny = (autocvar_g_turrets_unit_walker_turn_strafe);
- movelib_move_simple(v_right, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
+ movelib_move_simple(self, v_right, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
break;
case ANIM_JUMP:
case ANIM_PAIN:
if(self.frame != ANIM_PAIN)
- defer(0.25, walker_setnoanim);
+ defer(self, 0.25, walker_setnoanim);
break;
case ANIM_MELEE:
if(self.frame != ANIM_MELEE)
{
- defer(0.41, walker_setnoanim);
- defer(0.21, walker_melee_do_dmg);
+ defer(self, 0.41, walker_setnoanim);
+ defer(self, 0.21, walker_melee_do_dmg);
}
- movelib_beak_simple((autocvar_g_turrets_unit_walker_speed_stop));
+ movelib_brake_simple(self, (autocvar_g_turrets_unit_walker_speed_stop));
break;
case ANIM_SWIM:
turnx = (autocvar_g_turrets_unit_walker_turn_swim);
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);
+ movelib_move_simple(self, v_forward, (autocvar_g_turrets_unit_walker_speed_swim), 0.3);
vz = self.velocity_z + sin(time * 4) * 8;
break;
case ANIM_ROAM:
turny = (autocvar_g_turrets_unit_walker_turn_walk);
- movelib_move_simple(v_forward ,(autocvar_g_turrets_unit_walker_speed_roam), 0.5);
+ movelib_move_simple(self, v_forward ,(autocvar_g_turrets_unit_walker_speed_roam), 0.5);
break;
}
#endif // SVQC
#ifdef CSQC
-#include "../../../client/movelib.qh"
+#include <common/physics/movelib.qh>
void walker_draw(entity this)
{