X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fturrets%2Fsv_turrets.qc;h=83db075b422a7efe3f75dd1bab2a9220102d8060;hp=a387fefc47c459797da84069f3476fbe5dd0ffe8;hb=533d6edf085a586bad9635a9ed2cf1102ee58e0c;hpb=641c47df604de42c11c68a7d80813b29affcefb2 diff --git a/qcsrc/common/turrets/sv_turrets.qc b/qcsrc/common/turrets/sv_turrets.qc index a387fefc4..83db075b4 100644 --- a/qcsrc/common/turrets/sv_turrets.qc +++ b/qcsrc/common/turrets/sv_turrets.qc @@ -1,3 +1,4 @@ +#include "sv_turrets.qh" #ifdef SVQC #include @@ -478,6 +479,7 @@ entity turret_projectile(entity actor, Sound _snd, float _size, float _health, f proj.velocity = normalize(actor.tur_shotdir_updated + randomvec() * actor.shot_spread) * actor.shot_speed; proj.flags = FL_PROJECTILE; IL_PUSH(g_projectiles, proj); + IL_PUSH(g_bot_dodge, proj); proj.enemy = actor.enemy; proj.totalfrags = _death; PROJECTILE_MAKETRIGGER(proj); @@ -1222,13 +1224,13 @@ void turret_initparams(entity tur) tur.shot_force = bound(0.001, (TRY(tur.shot_force) : tur.shot_dmg * 0.5 + tur.shot_radius * 0.5 ), 5000); tur.shot_volly = bound(1, (TRY(tur.shot_volly) : 1 ), floor(tur.ammo_max / tur.shot_dmg)); tur.shot_volly_refire = bound(tur.shot_refire, (TRY(tur.shot_volly_refire) : tur.shot_refire * tur.shot_volly ), 60); - tur.target_range = bound(0, (TRY(tur.target_range) : tur.shot_speed * 0.5 ), MAX_SHOT_DISTANCE); - tur.target_range_min = bound(0, (TRY(tur.target_range_min) : tur.shot_radius * 2 ), MAX_SHOT_DISTANCE); - tur.target_range_optimal = bound(0, (TRY(tur.target_range_optimal) : tur.target_range * 0.5 ), MAX_SHOT_DISTANCE); + tur.target_range = bound(0, (TRY(tur.target_range) : tur.shot_speed * 0.5 ), max_shot_distance); + tur.target_range_min = bound(0, (TRY(tur.target_range_min) : tur.shot_radius * 2 ), max_shot_distance); + tur.target_range_optimal = bound(0, (TRY(tur.target_range_optimal) : tur.target_range * 0.5 ), max_shot_distance); tur.aim_maxrotate = bound(0, (TRY(tur.aim_maxrotate) : 90 ), 360); tur.aim_maxpitch = bound(0, (TRY(tur.aim_maxpitch) : 20 ), 90); tur.aim_speed = bound(0.1, (TRY(tur.aim_speed) : 36 ), 1000); - tur.aim_firetolerance_dist = bound(0.1, (TRY(tur.aim_firetolerance_dist) : 5 + (tur.shot_radius * 2) ), MAX_SHOT_DISTANCE); + tur.aim_firetolerance_dist = bound(0.1, (TRY(tur.aim_firetolerance_dist) : 5 + (tur.shot_radius * 2) ), max_shot_distance); tur.target_select_rangebias = bound(-10, (TRY(tur.target_select_rangebias) : 1 ), 10); tur.target_select_samebias = bound(-10, (TRY(tur.target_select_samebias) : 1 ), 10); tur.target_select_anglebias = bound(-10, (TRY(tur.target_select_anglebias) : 1 ), 10); @@ -1251,6 +1253,7 @@ bool turret_initialize(entity this, Turret tur) if(!this.tur_head) { tur.tr_precache(tur); IL_PUSH(g_turrets, this); + IL_PUSH(g_bot_targets, this); } entity e = find(NULL, classname, "turret_manager"); @@ -1267,7 +1270,7 @@ bool turret_initialize(entity this, Turret tur) this.netname = tur.netname; load_unit_settings(this, 0); - if(!this.team || !teamplay) { this.team = MAX_SHOT_DISTANCE; } + if(!this.team || !teamplay) { this.team = FLOAT_MAX; } if(!this.ticrate) { this.ticrate = ((this.turret_flags & TUR_FLAG_SUPPORT) ? 0.2 : 0.1); } if(!this.health) { this.health = 1000; } if(!this.shot_refire) { this.shot_refire = 1; }