X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fw_minstanex.qc;h=34c71cf50935508902626903d48a75cad3369c44;hb=adec2a130491f1b59e05e22ce1a7f06097081216;hp=16cbdcded3778eb1bb7988991ecbeb39a11c54ec;hpb=ff029da4a92ae6c3520341a427dc904d20fe6cce;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/w_minstanex.qc b/qcsrc/server/w_minstanex.qc index 16cbdcded..34c71cf50 100644 --- a/qcsrc/server/w_minstanex.qc +++ b/qcsrc/server/w_minstanex.qc @@ -3,6 +3,7 @@ REGISTER_WEAPON(MINSTANEX, w_minstanex, IT_CELLS, 7, WEP_FLAG_HIDDEN | WEP_FLAG_ #else #ifdef SVQC .float minstanex_lasthit; +.float jump_interval; void W_MinstaNex_Attack (void) { @@ -208,9 +209,11 @@ float w_minstanex(float req) else if (self.BUTTON_ATCK2) { if (self.jump_interval <= time) + if (weapon_prepareattack(1, -1)) { - self.jump_interval = time + autocvar_g_balance_laser_primary_refire * W_WeaponRateFactor(); - + // handle refire manually, so that primary and secondary can be fired without conflictions (important for minstagib) + self.jump_interval = time + autocvar_g_balance_minstanex_laser_refire * W_WeaponRateFactor(); + // decrease ammo for the laser? if(autocvar_g_balance_minstanex_laser_ammo) W_DecreaseAmmo(ammo_cells, autocvar_g_balance_minstanex_laser_ammo, autocvar_g_balance_minstanex_reload_ammo); @@ -221,6 +224,9 @@ float w_minstanex(float req) self.weapon = WEP_LASER; W_Laser_Attack(2); self.weapon = w; + + // now do normal refire + weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_minstanex_laser_animtime, w_ready); } } } @@ -246,7 +252,7 @@ float w_minstanex(float req) else if (req == WR_CHECKAMMO1) { ammo_amount = self.ammo_cells >= minstanex_ammo; - ammo_amount += self.weapon_load[WEP_MINSTANEX] >= minstanex_ammo; + ammo_amount += self.(weapon_load[WEP_MINSTANEX]) >= minstanex_ammo; return ammo_amount; } else if (req == WR_CHECKAMMO2) @@ -254,7 +260,7 @@ float w_minstanex(float req) if(!autocvar_g_balance_minstanex_laser_ammo) return TRUE; ammo_amount = self.ammo_cells >= autocvar_g_balance_minstanex_laser_ammo; - ammo_amount += self.weapon_load[WEP_MINSTANEX] >= autocvar_g_balance_minstanex_laser_ammo; + ammo_amount += self.(weapon_load[WEP_MINSTANEX]) >= autocvar_g_balance_minstanex_laser_ammo; return ammo_amount; } else if (req == WR_RESETPLAYER) @@ -272,7 +278,7 @@ float w_minstanex(float req) W_Reload(used_ammo, autocvar_g_balance_minstanex_reload_ammo, autocvar_g_balance_minstanex_reload_time, "weapons/reload.wav"); } return TRUE; -}; +} #endif #ifdef CSQC float w_minstanex(float req) @@ -292,7 +298,7 @@ float w_minstanex(float req) else if (req == WR_SUICIDEMESSAGE) w_deathtypestring = _("%s is now thinking with portals"); else if (req == WR_KILLMESSAGE) - w_deathtypestring = _("%s has been vaporized by %s"); + w_deathtypestring = _("%s has been vaporized by %s's minstanex"); return TRUE; } #endif