X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fvehicles%2Fvehicle%2Fraptor_weapons.qc;h=86f4b22b8b6735dcc7c69a2f28bc97754008bc31;hp=a9b9a86587d089dcae0172c85bda940b43399e72;hb=17bfb8ee18b833f2be23fc5420c0dc1666ad2b5e;hpb=678388b78fdaad89fc8218dadf7007432b4153c3 diff --git a/qcsrc/common/vehicles/vehicle/raptor_weapons.qc b/qcsrc/common/vehicles/vehicle/raptor_weapons.qc index a9b9a8658..86f4b22b8 100644 --- a/qcsrc/common/vehicles/vehicle/raptor_weapons.qc +++ b/qcsrc/common/vehicles/vehicle/raptor_weapons.qc @@ -67,7 +67,7 @@ METHOD(RaptorFlare, wr_think, void(entity thiswep, entity actor, .entity weapone _flare.effects = EF_LOWPRECISION | EF_FLAME; _flare.scale = 0.5; setorigin(_flare, actor.origin - '0 0 16'); - _flare.movetype = MOVETYPE_TOSS; + set_movetype(_flare, MOVETYPE_TOSS); _flare.gravity = 0.15; _flare.velocity = 0.25 * actor.velocity + (v_forward + randomvec() * 0.25)* -500; setthink(_flare, raptor_flare_think); @@ -128,7 +128,7 @@ void raptor_bomb_burst(entity this) bomblet = spawn(); setorigin(bomblet, this.origin); - bomblet.movetype = MOVETYPE_TOSS; + set_movetype(bomblet, MOVETYPE_TOSS); settouch(bomblet, raptor_bomblet_touch); setthink(bomblet, raptor_bomblet_boom); bomblet.nextthink = time + 5; @@ -160,7 +160,8 @@ void raptor_bombdrop(entity this) org = gettaginfo(this, gettagindex(this, "bombmount_right")); setorigin(bomb_2, org); - bomb_1.movetype = bomb_2.movetype = MOVETYPE_BOUNCE; + set_movetype(bomb_1, MOVETYPE_BOUNCE); + set_movetype(bomb_2, MOVETYPE_BOUNCE); bomb_1.velocity = bomb_2.velocity = this.velocity; settouch(bomb_1, raptor_bomb_touch); settouch(bomb_2, raptor_bomb_touch); @@ -200,15 +201,13 @@ void raptor_flare_damage(entity this, entity inflictor, entity attacker, float d void raptor_flare_think(entity this) { this.nextthink = time + 0.1; - entity _missile = findchainentity(enemy, this.owner); - while(_missile) + FOREACH_ENTITY_ENT(enemy, this.owner, { - if(_missile.flags & FL_PROJECTILE) - if(vdist(this.origin - _missile.origin, <, autocvar_g_vehicle_raptor_flare_range)) + if(it.flags & FL_PROJECTILE) + if(vdist(this.origin - it.origin, <, autocvar_g_vehicle_raptor_flare_range)) if(random() > autocvar_g_vehicle_raptor_flare_chase) - _missile.enemy = this; - _missile = _missile.chain; - } + it.enemy = this; + }); if(this.tur_impacttime < time) remove(this); @@ -224,7 +223,7 @@ void RaptorCBShellfragDraw(entity this) return; Movetype_Physics_MatchTicrate(this, autocvar_cl_gibs_ticrate, autocvar_cl_gibs_sloppy); - this.move_avelocity += randomvec() * 15; + this.avelocity += randomvec() * 15; this.renderflags = 0; if(this.cnt < time) @@ -240,16 +239,16 @@ void RaptorCBShellfragToss(vector _org, vector _vel, vector _ang) setmodel(sfrag, MDL_VEH_RAPTOR_CB_FRAGMENT); setorigin(sfrag, _org); - sfrag.move_movetype = MOVETYPE_BOUNCE; + set_movetype(sfrag, MOVETYPE_BOUNCE); sfrag.gravity = 0.15; sfrag.solid = SOLID_CORPSE; sfrag.draw = RaptorCBShellfragDraw; + IL_PUSH(g_drawables, sfrag); - sfrag.move_origin = sfrag.origin = _org; - sfrag.move_velocity = _vel; - sfrag.move_avelocity = prandomvec() * vlen(sfrag.move_velocity); - sfrag.angles = sfrag.move_angles = _ang; + sfrag.velocity = _vel; + sfrag.avelocity = prandomvec() * vlen(sfrag.velocity); + sfrag.angles = _ang; sfrag.move_time = time; sfrag.damageforcescale = 4;