From: Mircea Kitsune Date: Sat, 22 Jan 2011 16:27:57 +0000 (+0200) Subject: Empty clip size when selecting a weapon that doesn't support reloading (so the previo... X-Git-Tag: xonotic-v0.5.0~309^2~7^2~111 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=e62aec2e3cab520e1c64278a71bce10dc9e42fcc;p=xonotic%2Fxonotic-data.pk3dir.git Empty clip size when selecting a weapon that doesn't support reloading (so the previous weapon's crosshair ring won't display). Weapons without a reload system are the Tuba, Porto, and Hook. --- diff --git a/qcsrc/server/w_hook.qc b/qcsrc/server/w_hook.qc index 4a25b871d..9c8c63c11 100644 --- a/qcsrc/server/w_hook.qc +++ b/qcsrc/server/w_hook.qc @@ -13,6 +13,12 @@ REGISTER_WEAPON(HOOK, w_hook, IT_CELLS|IT_FUEL, 0, WEP_FLAG_CANCLIMB | WEP_TYPE_ .float hook_time_hooked; .float hook_time_fueldecrease; +void W_Hook_SetAmmoCounter() +{ + // this weapon doesn't have a reload system, so always set the clip to 0 when switching to it + self.clip_load = self.clip_size = 0; // also keeps crosshair ammo from displaying +} + void W_Hook_ExplodeThink (void) { float dt, dmg_remaining_next, f; @@ -228,6 +234,7 @@ float w_hook(float req) else if (req == WR_SETUP) { weapon_setup(WEP_HOOK); + W_Hook_SetAmmoCounter(); self.hook_state &~= HOOK_WAITING_FOR_RELEASE; } else if (req == WR_CHECKAMMO1) diff --git a/qcsrc/server/w_porto.qc b/qcsrc/server/w_porto.qc index 95dc8bb53..6d2981ae2 100644 --- a/qcsrc/server/w_porto.qc +++ b/qcsrc/server/w_porto.qc @@ -7,6 +7,12 @@ REGISTER_WEAPON(PORTO, w_porto, 0, 0, WEP_TYPE_OTHER, 0, "porto" , "porto", _("P .float porto_v_angle_held; .vector right_vector; +void W_Porto_SetAmmoCounter() +{ + // this weapon doesn't have a reload system, so always set the clip to 0 when switching to it + self.clip_load = self.clip_size = 0; // also keeps crosshair ammo from displaying +} + void W_Porto_Success (void) { if(self.owner == world) @@ -270,7 +276,10 @@ float w_porto(float req) precache_sound ("porto/unsupported.wav"); } else if (req == WR_SETUP) + { weapon_setup(WEP_PORTO); + W_Porto_SetAmmoCounter(); + } else if (req == WR_RESETPLAYER) { self.porto_current = world; diff --git a/qcsrc/server/w_tuba.qc b/qcsrc/server/w_tuba.qc index 47e6465cd..92d7413d6 100644 --- a/qcsrc/server/w_tuba.qc +++ b/qcsrc/server/w_tuba.qc @@ -7,6 +7,12 @@ REGISTER_WEAPON(TUBA, w_tuba, 0, 1, WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH, BOT_PICKU .entity tuba_note; .float tuba_smoketime; +void W_Tuba_SetAmmoCounter() +{ + // this weapon doesn't have a reload system, so always set the clip to 0 when switching to it + self.clip_load = self.clip_size = 0; // also keeps crosshair ammo from displaying +} + float Tuba_GetNote(entity pl, float hittype) { float note; @@ -236,7 +242,10 @@ float w_tuba(float req) // precache_sound(TUBA_NOTE(i)); } else if (req == WR_SETUP) + { weapon_setup(WEP_TUBA); + W_Porto_SetAmmoCounter(); + } else if (req == WR_CHECKAMMO1) return TRUE; // TODO use fuel? else if (req == WR_CHECKAMMO2)