From 6743d0b5f6d84c9bc1f718bacb167e687f7b5d81 Mon Sep 17 00:00:00 2001 From: terencehill Date: Sat, 6 May 2023 15:22:44 +0200 Subject: [PATCH 1/1] Instagib: fix ammo from other games not getting replaced by vaporizer cells (if enabled by the g_instagib_ammo_convert_ cvars, disabled by default) --- .../mutators/mutator/instagib/sv_instagib.qc | 30 +++++++------------ qcsrc/server/compat/quake3.qh | 2 +- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/qcsrc/common/mutators/mutator/instagib/sv_instagib.qc b/qcsrc/common/mutators/mutator/instagib/sv_instagib.qc index 5e2482d97..3a7d563d8 100644 --- a/qcsrc/common/mutators/mutator/instagib/sv_instagib.qc +++ b/qcsrc/common/mutators/mutator/instagib/sv_instagib.qc @@ -303,11 +303,11 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, SetWeaponArena) M_ARGV(0, string) = "off"; } -void replace_with_insta_cells(entity item) +void instagib_replace_with_vaporizer_cells(entity item) { entity e = new(item_vaporizer_cells); Item_CopyFields(item, e); - spawnfunc_item_vaporizer_cells(e); + StartItem(e, ITEM_VaporizerCells); } MUTATOR_HOOKFUNCTION(mutator_instagib, FilterItem) @@ -329,36 +329,28 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, FilterItem) return true; } - if(item.classname == "item_cells") + if(def == ITEM_Cells) { if(autocvar_g_instagib_ammo_convert_cells) - { - replace_with_insta_cells(item); - } + instagib_replace_with_vaporizer_cells(item); return true; } - else if(item.classname == "item_rockets") + else if(def == ITEM_Rockets) { if(autocvar_g_instagib_ammo_convert_rockets) - { - replace_with_insta_cells(item); - } + instagib_replace_with_vaporizer_cells(item); return true; } - else if(item.classname == "item_shells") + else if(def == ITEM_Shells) { if(autocvar_g_instagib_ammo_convert_shells) - { - replace_with_insta_cells(item); - } + instagib_replace_with_vaporizer_cells(item); return true; } - else if(item.classname == "item_bullets") + else if(def == ITEM_Bullets) { if(autocvar_g_instagib_ammo_convert_bullets) - { - replace_with_insta_cells(item); - } + instagib_replace_with_vaporizer_cells(item); return true; } @@ -370,7 +362,7 @@ MUTATOR_HOOKFUNCTION(mutator_instagib, FilterItem) if(item.weapon == WEP_DEVASTATOR.m_id || item.weapon == WEP_VORTEX.m_id) { - replace_with_insta_cells(item); + instagib_replace_with_vaporizer_cells(item); return true; } diff --git a/qcsrc/server/compat/quake3.qh b/qcsrc/server/compat/quake3.qh index d2c547b6f..1253c92a9 100644 --- a/qcsrc/server/compat/quake3.qh +++ b/qcsrc/server/compat/quake3.qh @@ -21,7 +21,7 @@ int GetAmmoConsumptionQ3(string netname); { \ if(this.count && xonwep.ammo_type) \ SetResource(this, xonwep.ammo_type, this.count * GetAmmoConsumptionQ3(xonwep.netname)); \ - SPAWNFUNC_BODY(GetAmmoItem(xonwep.ammo_type)) \ + SPAWNFUNC_BODY(GetAmmoItem(xonwep.ammo_type)) \ } // Ammo only, conditional -- 2.39.2