X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fvehicles%2Fvehicle%2Fspiderbot.qc;h=ccc509c6bca9f7f2c5b76933ae6d408f487c78a1;hb=707ef9331a9405bbf266ab5aa3a87a175cad8d8f;hp=fc8a4f190b1be8b6feb8a6f6872e4487aebc7dd0;hpb=6278d072f01179fe6cbfcc1493e8f2c281887663;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/vehicles/vehicle/spiderbot.qc b/qcsrc/common/vehicles/vehicle/spiderbot.qc index fc8a4f190..ccc509c6b 100644 --- a/qcsrc/common/vehicles/vehicle/spiderbot.qc +++ b/qcsrc/common/vehicles/vehicle/spiderbot.qc @@ -48,10 +48,11 @@ bool spiderbot_frame(entity this, float dt) entity vehic = this.vehicle; return = true; - if(intermission_running) + if(gameover) { - vehic.velocity = '0 0 0'; - vehic.avelocity = '0 0 0'; + vehic.solid = SOLID_NOT; + vehic.takedamage = DAMAGE_NO; + set_movetype(vehic, MOVETYPE_NONE); return; } @@ -59,7 +60,11 @@ bool spiderbot_frame(entity this, float dt) PHYS_INPUT_BUTTON_ZOOM(this) = false; PHYS_INPUT_BUTTON_CROUCH(this) = false; - PS(this).m_switchweapon = WEP_Null; + for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) + { + .entity weaponentity = weaponentities[slot]; + this.(weaponentity).m_switchweapon = WEP_Null; + } this.vehicle_weapon2mode = vehic.vehicle_weapon2mode; @@ -71,15 +76,15 @@ bool spiderbot_frame(entity this, float dt) vf += v_forward; ad = ad * 0.5; v_forward = vf * 0.5; - traceline(ad, ad + v_forward * MAX_SHOT_DISTANCE, MOVE_NORMAL, vehic); + traceline(ad, ad + v_forward * max_shot_distance, MOVE_NORMAL, vehic); UpdateAuxiliaryXhair(this, trace_endpos, ('1 0 0' * this.vehicle_reload1) + ('0 1 0' * (1 - this.vehicle_reload1)), 0); #else vector ad = gettaginfo(vehic.gun1, gettagindex(vehic.gun1, "barrels")); - traceline(ad, ad + v_forward * MAX_SHOT_DISTANCE, MOVE_NORMAL, vehic); + traceline(ad, ad + v_forward * max_shot_distance, MOVE_NORMAL, vehic); UpdateAuxiliaryXhair(this, trace_endpos, ('1 0 0' * this.vehicle_reload1) + ('0 1 0' * (1 - this.vehicle_reload1)), 0); vector vf = ad; ad = gettaginfo(vehic.gun2, gettagindex(vehic.gun2, "barrels")); - traceline(ad, ad + v_forward * MAX_SHOT_DISTANCE, MOVE_NORMAL, vehic); + traceline(ad, ad + v_forward * max_shot_distance, MOVE_NORMAL, vehic); UpdateAuxiliaryXhair(this, trace_endpos, ('1 0 0' * this.vehicle_reload1) + ('0 1 0' * (1 - this.vehicle_reload1)), 1); ad = 0.5 * (ad + vf); #endif @@ -259,7 +264,8 @@ bool spiderbot_frame(entity this, float dt) v_forward = normalize(v_forward); v += v_forward * 50; - fireBullet(this, v, v_forward, autocvar_g_vehicle_spiderbot_minigun_spread, autocvar_g_vehicle_spiderbot_minigun_solidpenetration, + .entity weaponentity = weaponentities[0]; // TODO: unhardcode + fireBullet(this, weaponentity, v, v_forward, autocvar_g_vehicle_spiderbot_minigun_spread, autocvar_g_vehicle_spiderbot_minigun_solidpenetration, autocvar_g_vehicle_spiderbot_minigun_damage, autocvar_g_vehicle_spiderbot_minigun_force, DEATH_VH_SPID_MINIGUN.m_id, 0); sound (gun, CH_WEAPON_A, SND_UZI_FIRE, VOL_BASE, ATTEN_NORM); @@ -314,9 +320,8 @@ void spiderbot_exit(entity this, int eject) { vector spot; - FOREACH_ENTITY_ENT(owner, this.owner, + IL_EACH(g_projectiles, it.owner == this.owner && it.classname == "spiderbot_rocket", { - if(it.classname != "spiderbot_rocket") continue; it.realowner = this.owner; it.owner = NULL; }); @@ -603,8 +608,8 @@ METHOD(Spiderbot, vr_setup, void(Spiderbot thisveh, entity instance)) #endif // SVQC #ifdef CSQC -float autocvar_cl_vehicle_spiderbot_cross_alpha = 0.6; -float autocvar_cl_vehicle_spiderbot_cross_size = 1; +//float autocvar_cl_vehicle_spiderbot_cross_alpha = 0.6; +//float autocvar_cl_vehicle_spiderbot_cross_size = 1; METHOD(Spiderbot, vr_hud, void(Spiderbot thisveh)) {