/* netname */ "walker",
/* fullname */ _("Walker Turret")
);
-
-#define WALKER_SETTINGS(turret) \
- TUR_ADD_CVAR(turret, melee_damage) \
- TUR_ADD_CVAR(turret, melee_force) \
- TUR_ADD_CVAR(turret, melee_range) \
- TUR_ADD_CVAR(turret, rocket_damage) \
- TUR_ADD_CVAR(turret, rocket_radius) \
- TUR_ADD_CVAR(turret, rocket_force) \
- TUR_ADD_CVAR(turret, rocket_speed) \
- TUR_ADD_CVAR(turret, rocket_range) \
- TUR_ADD_CVAR(turret, rocket_range_min) \
- TUR_ADD_CVAR(turret, rocket_refire) \
- TUR_ADD_CVAR(turret, rocket_turnrate) \
- TUR_ADD_CVAR(turret, speed_stop) \
- TUR_ADD_CVAR(turret, speed_walk) \
- TUR_ADD_CVAR(turret, speed_run) \
- TUR_ADD_CVAR(turret, speed_jump) \
- TUR_ADD_CVAR(turret, speed_swim) \
- TUR_ADD_CVAR(turret, speed_roam) \
- TUR_ADD_CVAR(turret, turn) \
- TUR_ADD_CVAR(turret, turn_walk) \
- TUR_ADD_CVAR(turret, turn_strafe) \
- TUR_ADD_CVAR(turret, turn_swim) \
- TUR_ADD_CVAR(turret, turn_run)
-
-
-#ifdef SVQC
-WALKER_SETTINGS(walker)
-#endif // SVQC
#else
#ifdef SVQC
+float autocvar_g_turrets_unit_walker_melee_damage;
+float autocvar_g_turrets_unit_walker_melee_force;
+float autocvar_g_turrets_unit_walker_melee_range;
+float autocvar_g_turrets_unit_walker_rocket_damage;
+float autocvar_g_turrets_unit_walker_rocket_radius;
+float autocvar_g_turrets_unit_walker_rocket_force;
+float autocvar_g_turrets_unit_walker_rocket_speed;
+float autocvar_g_turrets_unit_walker_rocket_range;
+float autocvar_g_turrets_unit_walker_rocket_range_min;
+float autocvar_g_turrets_unit_walker_rocket_refire;
+float autocvar_g_turrets_unit_walker_rocket_turnrate;
+float autocvar_g_turrets_unit_walker_speed_stop;
+float autocvar_g_turrets_unit_walker_speed_walk;
+float autocvar_g_turrets_unit_walker_speed_run;
+float autocvar_g_turrets_unit_walker_speed_jump;
+float autocvar_g_turrets_unit_walker_speed_swim;
+float autocvar_g_turrets_unit_walker_speed_roam;
+float autocvar_g_turrets_unit_walker_turn;
+float autocvar_g_turrets_unit_walker_turn_walk;
+float autocvar_g_turrets_unit_walker_turn_strafe;
+float autocvar_g_turrets_unit_walker_turn_swim;
+float autocvar_g_turrets_unit_walker_turn_run;
#define ANIM_NO 0
#define ANIM_TURN 1
{
if (turret_validate_target(self, e, self.target_validate_flags))
if (e != self && e.owner != self)
- Damage(e, self, self, TUR_CVAR(walker, melee_damage), DEATH_TURRET_WALK_MELEE, '0 0 0', v_forward * TUR_CVAR(walker, melee_force));
+ Damage(e, self, self, (autocvar_g_turrets_unit_walker_melee_damage), DEATH_TURRET_WALK_MELEE, '0 0 0', v_forward * (autocvar_g_turrets_unit_walker_melee_force));
e = e.chain;
}
}
void walker_rocket_explode()
{
- RadiusDamage (self, self.owner, TUR_CVAR(walker, rocket_damage), 0, TUR_CVAR(walker, rocket_radius), self, TUR_CVAR(walker, rocket_force), DEATH_TURRET_WALK_ROCKET, world);
+ RadiusDamage (self, self.owner, (autocvar_g_turrets_unit_walker_rocket_damage), 0, (autocvar_g_turrets_unit_walker_rocket_radius), self, (autocvar_g_turrets_unit_walker_rocket_force), DEATH_TURRET_WALK_ROCKET, world);
remove (self);
}
W_PrepareExplosionByDamage(self.owner, walker_rocket_explode);
}
-#define WALKER_ROCKET_MOVE movelib_move_simple(newdir, TUR_CVAR(walker, rocket_speed), TUR_CVAR(walker, rocket_turnrate)); UpdateCSQCProjectile(self)
+#define WALKER_ROCKET_MOVE movelib_move_simple(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()
{
rocket.nextthink = time;
rocket.movetype = MOVETYPE_FLY;
- rocket.velocity = normalize((v_forward + v_up * 0.5) + (randomvec() * 0.2)) * TUR_CVAR(walker, rocket_speed);
+ rocket.velocity = normalize((v_forward + v_up * 0.5) + (randomvec() * 0.2)) * (autocvar_g_turrets_unit_walker_rocket_speed);
rocket.angles = vectoangles(rocket.velocity);
rocket.touch = walker_rocket_explode;
rocket.flags = FL_PROJECTILE;
#endif
}
-void spawnfunc_turret_walker() { if not(turret_initialize(TUR_WALKER)) remove(self); }
+void spawnfunc_turret_walker() { if(!turret_initialize(TUR_WALKER)) remove(self); }
float t_walker(float req)
{
case TR_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, 1, 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);
return TRUE;
}
else
{
- if (self.tur_dist_enemy < TUR_CVAR(walker, melee_range) && self.animflag != ANIM_MELEE)
+ if (self.tur_dist_enemy < (autocvar_g_turrets_unit_walker_melee_range) && self.animflag != ANIM_MELEE)
{
vector wish_angle;
self.tur_head.shot_volly = self.tur_head.shot_volly -1;
if(self.tur_head.shot_volly == 0)
- self.tur_head.attack_finished_single = time + TUR_CVAR(walker, rocket_refire);
+ self.tur_head.attack_finished_single = time + (autocvar_g_turrets_unit_walker_rocket_refire);
else
self.tur_head.attack_finished_single = time + 0.2;
}
else
{
- if (self.tur_dist_enemy > TUR_CVAR(walker, rocket_range_min))
- if (self.tur_dist_enemy < TUR_CVAR(walker, rocket_range))
+ if (self.tur_dist_enemy > (autocvar_g_turrets_unit_walker_rocket_range_min))
+ if (self.tur_dist_enemy < (autocvar_g_turrets_unit_walker_rocket_range))
self.tur_head.shot_volly = 4;
}
}
switch (self.animflag)
{
case ANIM_NO:
- movelib_beak_simple(TUR_CVAR(walker, speed_stop));
+ movelib_beak_simple((autocvar_g_turrets_unit_walker_speed_stop));
break;
case ANIM_TURN:
- turny = TUR_CVAR(walker, turn);
- movelib_beak_simple(TUR_CVAR(walker, speed_stop));
+ turny = (autocvar_g_turrets_unit_walker_turn);
+ movelib_beak_simple((autocvar_g_turrets_unit_walker_speed_stop));
break;
case ANIM_WALK:
- turny = TUR_CVAR(walker, turn_walk);
- movelib_move_simple(v_forward, TUR_CVAR(walker, speed_walk), 0.6);
+ turny = (autocvar_g_turrets_unit_walker_turn_walk);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_walker_speed_walk), 0.6);
break;
case ANIM_RUN:
- turny = TUR_CVAR(walker, turn_run);
- movelib_move_simple(v_forward, TUR_CVAR(walker, speed_run), 0.6);
+ turny = (autocvar_g_turrets_unit_walker_turn_run);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_walker_speed_run), 0.6);
break;
case ANIM_STRAFE_L:
- turny = TUR_CVAR(walker, turn_strafe);
- movelib_move_simple(v_right * -1, TUR_CVAR(walker, speed_walk), 0.8);
+ turny = (autocvar_g_turrets_unit_walker_turn_strafe);
+ movelib_move_simple(v_right * -1, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
break;
case ANIM_STRAFE_R:
- turny = TUR_CVAR(walker, turn_strafe);
- movelib_move_simple(v_right, TUR_CVAR(walker, speed_walk), 0.8);
+ turny = (autocvar_g_turrets_unit_walker_turn_strafe);
+ movelib_move_simple(v_right, (autocvar_g_turrets_unit_walker_speed_walk), 0.8);
break;
case ANIM_JUMP:
- self.velocity += '0 0 1' * TUR_CVAR(walker, speed_jump);
+ self.velocity += '0 0 1' * (autocvar_g_turrets_unit_walker_speed_jump);
break;
case ANIM_LAND:
defer(0.21, walker_melee_do_dmg);
}
- movelib_beak_simple(TUR_CVAR(walker, speed_stop));
+ movelib_beak_simple((autocvar_g_turrets_unit_walker_speed_stop));
break;
case ANIM_SWIM:
- turny = TUR_CVAR(walker, turn_swim);
- turnx = TUR_CVAR(walker, turn_swim);
+ 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);
- movelib_move_simple(v_forward, TUR_CVAR(walker, speed_swim), 0.3);
+ movelib_move_simple(v_forward, (autocvar_g_turrets_unit_walker_speed_swim), 0.3);
vz = self.velocity_z + sin(time * 4) * 8;
break;
case ANIM_ROAM:
- turny = TUR_CVAR(walker, turn_walk);
- movelib_move_simple(v_forward ,TUR_CVAR(walker, speed_roam), 0.5);
+ turny = (autocvar_g_turrets_unit_walker_turn_walk);
+ movelib_move_simple(v_forward ,(autocvar_g_turrets_unit_walker_speed_roam), 0.5);
break;
}
self.ammo_flags = TFL_AMMO_BULLETS | TFL_AMMO_RECHARGE | TFL_AMMO_RECIEVE;
self.aim_flags = TFL_AIM_LEAD;
-
- if (autocvar_g_antilag_bullets)
- self.turret_flags |= TUR_FLAG_HITSCAN;
- else
- self.aim_flags |= TFL_AIM_SHOTTIMECOMPENSATE;
+ self.turret_flags |= TUR_FLAG_HITSCAN;
self.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
self.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_LOS;
precache_sound ("weapons/rocket_impact.wav");
return TRUE;
}
- case TR_CONFIG:
- {
- TUR_CONFIG_SETTINGS(WALKER_SETTINGS(walker))
- return TRUE;
- }
}
return TRUE;