X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fvehicles%2Fvehicle%2Fraptor_weapons.qc;h=9af91bf51f871934aa52cdcaa4aa1b937580902a;hb=6ba37d06b4afe2b08882f5cc5b211441227586b2;hp=69d981beb3e35c0229ebfcfafe54c4043061bef0;hpb=18e2cd311a581f77ba8eb9c5421dd219ff5d760d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/vehicles/vehicle/raptor_weapons.qc b/qcsrc/common/vehicles/vehicle/raptor_weapons.qc index 69d981beb..9af91bf51 100644 --- a/qcsrc/common/vehicles/vehicle/raptor_weapons.qc +++ b/qcsrc/common/vehicles/vehicle/raptor_weapons.qc @@ -1,13 +1,13 @@ #ifndef VEHICLE_RAPTOR_WEAPONS_H #define VEHICLE_RAPTOR_WEAPONS_H -#include "../../weapons/all.qh" +#include CLASS(RaptorCannon, PortoLaunch) /* flags */ ATTRIB(RaptorCannon, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED); /* impulse */ ATTRIB(RaptorCannon, impulse, int, 3); /* refname */ ATTRIB(RaptorCannon, netname, string, "raptorcannon"); -/* wepname */ ATTRIB(RaptorCannon, message, string, _("Raptor cannon")); +/* wepname */ ATTRIB(RaptorCannon, m_name, string, _("Raptor cannon")); ENDCLASS(RaptorCannon) REGISTER_WEAPON(RAPTOR, NEW(RaptorCannon)); @@ -15,7 +15,7 @@ CLASS(RaptorBomb, PortoLaunch) /* flags */ ATTRIB(RaptorBomb, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED); /* impulse */ ATTRIB(RaptorBomb, impulse, int, 3); /* refname */ ATTRIB(RaptorBomb, netname, string, "raptorbomb"); -/* wepname */ ATTRIB(RaptorBomb, message, string, _("Raptor bomb")); +/* wepname */ ATTRIB(RaptorBomb, m_name, string, _("Raptor bomb")); ENDCLASS(RaptorBomb) REGISTER_WEAPON(RAPTOR_BOMB, NEW(RaptorBomb)); @@ -23,7 +23,7 @@ CLASS(RaptorFlare, PortoLaunch) /* flags */ ATTRIB(RaptorFlare, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN | WEP_FLAG_MUTATORBLOCKED); /* impulse */ ATTRIB(RaptorFlare, impulse, int, 3); /* refname */ ATTRIB(RaptorFlare, netname, string, "raptorflare"); -/* wepname */ ATTRIB(RaptorFlare, message, string, _("Raptor flare")); +/* wepname */ ATTRIB(RaptorFlare, m_name, string, _("Raptor flare")); ENDCLASS(RaptorFlare) REGISTER_WEAPON(RAPTOR_FLARE, NEW(RaptorFlare)); @@ -51,14 +51,14 @@ float autocvar_g_vehicle_raptor_bomblet_radius; float autocvar_g_vehicle_raptor_bomblet_force; float autocvar_g_vehicle_raptor_bomblet_explode_delay; -METHOD(RaptorCannon, wr_think, void(entity thiswep, entity actor, bool fire1, bool fire2)) { +METHOD(RaptorCannon, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) { bool isPlayer = IS_PLAYER(actor); entity player = isPlayer ? actor : actor.owner; entity veh = player.vehicle; // 1 [wait] 1 [wait] 2 [wait] 2 [wait] [wait] float t = autocvar_g_vehicle_raptor_cannon_refire * (1 + veh.misc_bulletcounter == 4); - if (fire1) - if (weapon_prepareattack(thiswep, player, false, t)) { + if (fire & 1) + if (weapon_prepareattack(thiswep, player, weaponentity, false, t)) { if (isPlayer) W_SetupShot_Dir(player, v_forward, false, 0, SND(Null), CH_WEAPON_B, 0); vector org = w_shotorg; vector dir = w_shotdir; @@ -74,7 +74,7 @@ METHOD(RaptorCannon, wr_think, void(entity thiswep, entity actor, bool fire1, bo org, normalize(dir + randomvec() * autocvar_g_vehicle_raptor_cannon_spread) * autocvar_g_vehicle_raptor_cannon_speed, autocvar_g_vehicle_raptor_cannon_damage, autocvar_g_vehicle_raptor_cannon_radius, autocvar_g_vehicle_raptor_cannon_force, 0, DEATH_VH_RAPT_CANNON.m_id, PROJECTILE_RAPTORCANNON, 0, true, true, player); - weapon_thinkf(player, WFRAME_FIRE1, 0, w_ready); + weapon_thinkf(player, weaponentity, WFRAME_FIRE1, 0, w_ready); } } METHOD(RaptorCannon, wr_checkammo1, bool(RacerAttack thiswep)) { @@ -88,15 +88,15 @@ METHOD(RaptorCannon, wr_checkammo1, bool(RacerAttack thiswep)) { float autocvar_g_vehicle_raptor_bombs_refire; void raptor_bombdrop(); -METHOD(RaptorBomb, wr_think, void(entity thiswep, entity actor, bool fire1, bool fire2)) { +METHOD(RaptorBomb, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) { bool isPlayer = IS_PLAYER(actor); entity player = isPlayer ? actor : actor.owner; entity veh = player.vehicle; - if (fire2) - if (!isPlayer || weapon_prepareattack(thiswep, player, true, autocvar_g_vehicle_raptor_bombs_refire)) { + if (fire & 2) + if (!isPlayer || weapon_prepareattack(thiswep, player, weaponentity, true, autocvar_g_vehicle_raptor_bombs_refire)) { if (veh) setself(veh); raptor_bombdrop(); - weapon_thinkf(player, WFRAME_FIRE2, 0, w_ready); + weapon_thinkf(player, weaponentity, WFRAME_FIRE2, 0, w_ready); } } @@ -109,12 +109,12 @@ void raptor_flare_think(); void raptor_flare_damage(entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force); void raptor_flare_touch(); -METHOD(RaptorFlare, wr_think, void(entity thiswep, entity actor, bool fire1, bool fire2)) { +METHOD(RaptorFlare, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) { bool isPlayer = IS_PLAYER(actor); entity player = isPlayer ? actor : actor.owner; entity veh = player.vehicle; - if (fire2) - if (!isPlayer || weapon_prepareattack(thiswep, player, true, autocvar_g_vehicle_raptor_flare_refire)) { + if (fire & 2) + if (!isPlayer || weapon_prepareattack(thiswep, player, weaponentity, true, autocvar_g_vehicle_raptor_flare_refire)) { for(int i = 0; i < 3; ++i) { entity _flare = spawn(); setmodel(_flare, MDL_VEH_RAPTOR_FLARE); @@ -134,7 +134,7 @@ METHOD(RaptorFlare, wr_think, void(entity thiswep, entity actor, bool fire1, boo _flare.tur_impacttime = time + autocvar_g_vehicle_raptor_flare_lifetime; _flare.touch = raptor_flare_touch; } - weapon_thinkf(player, WFRAME_FIRE2, 0, w_ready); + weapon_thinkf(player, weaponentity, WFRAME_FIRE2, 0, w_ready); } } @@ -204,8 +204,10 @@ void raptor_bombdrop() bomb_1 = spawn(); bomb_2 = spawn(); - setorigin(bomb_1, gettaginfo(self, gettagindex(self, "bombmount_left"))); - setorigin(bomb_2, gettaginfo(self, gettagindex(self, "bombmount_right"))); + vector org = gettaginfo(self, gettagindex(self, "bombmount_left")); + setorigin(bomb_1, org); + org = gettaginfo(self, gettagindex(self, "bombmount_right")); + setorigin(bomb_2, org); bomb_1.movetype = bomb_2.movetype = MOVETYPE_BOUNCE; bomb_1.velocity = bomb_2.velocity = self.velocity; @@ -268,7 +270,7 @@ void RaptorCBShellfragDraw(entity this) if(wasfreed(self)) return; - Movetype_Physics_MatchTicrate(autocvar_cl_gibs_ticrate, autocvar_cl_gibs_sloppy); + Movetype_Physics_MatchTicrate(self, autocvar_cl_gibs_ticrate, autocvar_cl_gibs_sloppy); self.move_avelocity += randomvec() * 15; self.renderflags = 0;