X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fturrets%2Fturret%2Fmachinegun_weapon.qc;h=34cd32d74279c07a8ebda0744d5cab5e422a1810;hb=10c0e93c75ef6f408e3357bd5fb46c721e7e0576;hp=b467187ba1f916f6bd6043918681fe9e37df5867;hpb=be91ef701b96453388cdcfb40f561281076ef52d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/turrets/turret/machinegun_weapon.qc b/qcsrc/common/turrets/turret/machinegun_weapon.qc index b467187ba..34cd32d74 100644 --- a/qcsrc/common/turrets/turret/machinegun_weapon.qc +++ b/qcsrc/common/turrets/turret/machinegun_weapon.qc @@ -1,39 +1,27 @@ -#ifndef TURRET_MACHINEGUN_WEAPON_H -#define TURRET_MACHINEGUN_WEAPON_H - -CLASS(MachineGunTurretAttack, PortoLaunch) -/* flags */ ATTRIB(MachineGunTurretAttack, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_HIDDEN); -/* impulse */ ATTRIB(MachineGunTurretAttack, impulse, int, 9); -/* refname */ ATTRIB(MachineGunTurretAttack, netname, string, "turret_machinegun"); -/* wepname */ ATTRIB(MachineGunTurretAttack, message, string, _("Machinegun")); -ENDCLASS(MachineGunTurretAttack) -REGISTER_WEAPON(TUR_MACHINEGUN, NEW(MachineGunTurretAttack)); - -#endif +#include "machinegun_weapon.qh" #ifdef IMPLEMENTATION #ifdef SVQC -void W_MachineGun_MuzzleFlash(); - -METHOD(MachineGunTurretAttack, wr_think, void(entity thiswep, bool fire1, bool fire2)) +void W_MachineGun_MuzzleFlash(entity actor); +SOUND(MachineGunTurretAttack_FIRE, W_Sound("electro_fire")); +METHOD(MachineGunTurretAttack, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) { - SELFPARAM(); - bool isPlayer = IS_PLAYER(self); - if (fire1) - if (!isPlayer || weapon_prepareattack(false, WEP_CVAR(machinegun, sustained_refire))) { + bool isPlayer = IS_PLAYER(actor); + if (fire & 1) + if (!isPlayer || weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR(machinegun, sustained_refire))) { if (isPlayer) { - turret_initparams(self); - W_SetupShot_Dir(self, v_forward, false, 0, W_Sound("electro_fire"), CH_WEAPON_B, 0); - self.tur_shotdir_updated = w_shotdir; - self.tur_shotorg = w_shotorg; - self.tur_head = self; - weapon_thinkf(WFRAME_FIRE1, 0, w_ready); + turret_initparams(actor); + W_SetupShot_Dir(actor, v_forward, false, 0, SND_MachineGunTurretAttack_FIRE, CH_WEAPON_B, 0); + actor.tur_shotdir_updated = w_shotdir; + actor.tur_shotorg = w_shotorg; + actor.tur_head = actor; + weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, 0, w_ready); } - fireBullet (self.tur_shotorg, self.tur_shotdir_updated, self.shot_spread, 0, self.shot_dmg, self.shot_force, DEATH_TURRET_MACHINEGUN, 0); - W_MachineGun_MuzzleFlash(); - setattachment(self.muzzle_flash, self.tur_head, "tag_fire"); + fireBullet (actor, actor.tur_shotorg, actor.tur_shotdir_updated, actor.shot_spread, 0, actor.shot_dmg, actor.shot_force, DEATH_TURRET_MACHINEGUN.m_id, 0); + W_MachineGun_MuzzleFlash(actor); + setattachment(actor.muzzle_flash, actor.tur_head, "tag_fire"); } }