X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fweapon%2Fhlac.qc;h=901634506057566d96024b525f7e7eae0f54d8a0;hb=9f70bdba9a6fb2c06324be13504341da967f7028;hp=da772a8a2b5403e1253a1091581582b7d5c08989;hpb=7fed93ee24b18a92cefd7435078585bc5ba8e852;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/weapons/weapon/hlac.qc b/qcsrc/common/weapons/weapon/hlac.qc index da772a8a2..901634506 100644 --- a/qcsrc/common/weapons/weapon/hlac.qc +++ b/qcsrc/common/weapons/weapon/hlac.qc @@ -169,7 +169,7 @@ void W_HLAC_Attack_Frame(Weapon thiswep, entity actor, .entity weaponentity, int return; } - if(actor.BUTTON_ATCK) + if(PHYS_INPUT_BUTTON_ATCK(actor)) { if(!thiswep.wr_checkammo1(thiswep)) if(!(actor.items & IT_UNLIMITED_WEAPON_AMMO)) @@ -207,69 +207,69 @@ void W_HLAC_Attack2_Frame(Weapon thiswep) } } - METHOD(HLAC, wr_aim, void(entity thiswep)) - { - self.BUTTON_ATCK = bot_aim(WEP_CVAR_PRI(hlac, speed), 0, WEP_CVAR_PRI(hlac, lifetime), false); - } - METHOD(HLAC, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) - { - if(autocvar_g_balance_hlac_reload_ammo && actor.clip_load < min(WEP_CVAR_PRI(hlac, ammo), WEP_CVAR_SEC(hlac, ammo))) { // forced reload - thiswep.wr_reload(thiswep, actor, weaponentity); - } else if(fire & 1) - { - if(weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(hlac, refire))) - { - actor.misc_bulletcounter = 0; - W_HLAC_Attack(thiswep); - weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(hlac, refire), W_HLAC_Attack_Frame); - } - } - - else if((fire & 2) && WEP_CVAR(hlac, secondary)) - { - if(weapon_prepareattack(thiswep, actor, weaponentity, true, WEP_CVAR_SEC(hlac, refire))) - { - W_HLAC_Attack2_Frame(thiswep); - weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, WEP_CVAR_SEC(hlac, animtime), w_ready); - } - } - } - METHOD(HLAC, wr_checkammo1, bool(entity thiswep)) - { - float ammo_amount = self.(thiswep.ammo_field) >= WEP_CVAR_PRI(hlac, ammo); - ammo_amount += self.(weapon_load[WEP_HLAC.m_id]) >= WEP_CVAR_PRI(hlac, ammo); - return ammo_amount; - } - METHOD(HLAC, wr_checkammo2, bool(entity thiswep)) - { - float ammo_amount = self.(thiswep.ammo_field) >= WEP_CVAR_SEC(hlac, ammo); - ammo_amount += self.(weapon_load[WEP_HLAC.m_id]) >= WEP_CVAR_SEC(hlac, ammo); - return ammo_amount; - } - METHOD(HLAC, wr_reload, void(entity thiswep, entity actor, .entity weaponentity)) - { - W_Reload(self, min(WEP_CVAR_PRI(hlac, ammo), WEP_CVAR_SEC(hlac, ammo)), SND(RELOAD)); - } - METHOD(HLAC, wr_suicidemessage, Notification(entity thiswep)) - { - return WEAPON_HLAC_SUICIDE; - } - METHOD(HLAC, wr_killmessage, Notification(entity thiswep)) - { - return WEAPON_HLAC_MURDER; - } +METHOD(HLAC, wr_aim, void(entity thiswep)) +{ + PHYS_INPUT_BUTTON_ATCK(self) = bot_aim(WEP_CVAR_PRI(hlac, speed), 0, WEP_CVAR_PRI(hlac, lifetime), false); +} +METHOD(HLAC, wr_think, void(entity thiswep, entity actor, .entity weaponentity, int fire)) +{ + if(autocvar_g_balance_hlac_reload_ammo && actor.clip_load < min(WEP_CVAR_PRI(hlac, ammo), WEP_CVAR_SEC(hlac, ammo))) { // forced reload + thiswep.wr_reload(thiswep, actor, weaponentity); + } else if(fire & 1) + { + if(weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR_PRI(hlac, refire))) + { + actor.misc_bulletcounter = 0; + W_HLAC_Attack(thiswep); + weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR_PRI(hlac, refire), W_HLAC_Attack_Frame); + } + } + + else if((fire & 2) && WEP_CVAR(hlac, secondary)) + { + if(weapon_prepareattack(thiswep, actor, weaponentity, true, WEP_CVAR_SEC(hlac, refire))) + { + W_HLAC_Attack2_Frame(thiswep); + weapon_thinkf(actor, weaponentity, WFRAME_FIRE2, WEP_CVAR_SEC(hlac, animtime), w_ready); + } + } +} +METHOD(HLAC, wr_checkammo1, bool(entity thiswep)) +{ + float ammo_amount = self.(thiswep.ammo_field) >= WEP_CVAR_PRI(hlac, ammo); + ammo_amount += self.(weapon_load[WEP_HLAC.m_id]) >= WEP_CVAR_PRI(hlac, ammo); + return ammo_amount; +} +METHOD(HLAC, wr_checkammo2, bool(entity thiswep)) +{ + float ammo_amount = self.(thiswep.ammo_field) >= WEP_CVAR_SEC(hlac, ammo); + ammo_amount += self.(weapon_load[WEP_HLAC.m_id]) >= WEP_CVAR_SEC(hlac, ammo); + return ammo_amount; +} +METHOD(HLAC, wr_reload, void(entity thiswep, entity actor, .entity weaponentity)) +{ + W_Reload(self, min(WEP_CVAR_PRI(hlac, ammo), WEP_CVAR_SEC(hlac, ammo)), SND(RELOAD)); +} +METHOD(HLAC, wr_suicidemessage, Notification(entity thiswep)) +{ + return WEAPON_HLAC_SUICIDE; +} +METHOD(HLAC, wr_killmessage, Notification(entity thiswep)) +{ + return WEAPON_HLAC_MURDER; +} #endif #ifdef CSQC - METHOD(HLAC, wr_impacteffect, void(entity thiswep)) - { - vector org2; - org2 = w_org + w_backoff * 6; - pointparticles(EFFECT_BLASTER_IMPACT, org2, w_backoff * 1000, 1); - if(!w_issilent) - sound(self, CH_SHOTS, SND_LASERIMPACT, VOL_BASE, ATTN_NORM); - } +METHOD(HLAC, wr_impacteffect, void(entity thiswep)) +{ + vector org2; + org2 = w_org + w_backoff * 6; + pointparticles(EFFECT_BLASTER_IMPACT, org2, w_backoff * 1000, 1); + if(!w_issilent) + sound(self, CH_SHOTS, SND_LASERIMPACT, VOL_BASE, ATTN_NORM); +} #endif #endif