]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Replace g_overkill_100a_anyways and g_overkill_100h_anyways
authorFreddy <schro.sb@gmail.com>
Mon, 10 Oct 2016 18:22:48 +0000 (20:22 +0200)
committerFreddy <schro.sb@gmail.com>
Mon, 10 Oct 2016 18:22:48 +0000 (20:22 +0200)
New cvars g_overkill_healthmega_remove, g_overkill_armormedium_remove
g_overkill_armorbig_remove and g_overkill_armorlarge_remove determine
what items are removed, unlike how the old cvars did

mutators.cfg
qcsrc/common/mutators/mutator/overkill/sv_overkill.qc

index 2a5efcfda4953d421ac84a466dcbed0d4703b9d4..090d79e5b5e6541e2d0a86e09975b2043e550a55 100644 (file)
@@ -45,9 +45,11 @@ set g_instagib_friendlypush 1 "allow pushing teammates with the vaporizer primar
 // ==========
 set g_overkill 0 "enable overkill"
 
-set g_overkill_100a_anyway 1
-set g_overkill_100h_anyway 1
 set g_overkill_powerups_replace 1
+set g_overkill_healthmega_remove 0
+set g_overkill_armormedium_remove 1
+set g_overkill_armorbig_remove 1
+set g_overkill_armorlarge_remove 0
 
 set g_overkill_ammo_charge 0
 set g_overkill_ammo_charge_notice 1
index 35370df7edce3c559ab5f2f13cd40b027def5e28..eaeecea5204fd142e30c65a691d593836ad0e082 100644 (file)
@@ -4,12 +4,15 @@
 #include "rpc.qh"
 
 bool autocvar_g_overkill_powerups_replace;
-bool autocvar_g_overkill_100h_anyway;
-bool autocvar_g_overkill_100a_anyway;
 bool autocvar_g_overkill_ammo_charge;
 float autocvar_g_overkill_ammo_charge_notice;
 float autocvar_g_overkill_ammo_charge_limit;
 
+bool autocvar_g_overkill_healthmega_remove;
+bool autocvar_g_overkill_armormedium_remove;
+bool autocvar_g_overkill_armorbig_remove;
+bool autocvar_g_overkill_armorlarge_remove;
+
 .vector ok_deathloc;
 .float ok_spawnsys_timer;
 .float ok_lastwep;
@@ -305,12 +308,16 @@ MUTATOR_HOOKFUNCTION(ok, FilterItem)
        entity item = M_ARGV(0, entity);
 
        if(item.ok_item)
-               return;
+               return false;
 
        switch(item.items)
        {
-               case ITEM_HealthMega.m_itemid: return !(autocvar_g_overkill_100h_anyway);
-               case ITEM_ArmorMega.m_itemid: return !(autocvar_g_overkill_100a_anyway);
+               case ITEM_HealthMega.m_itemid: return autocvar_g_overkill_healthmega_remove;
+               case ITEM_ArmorMedium.m_itemid: return autocvar_g_overkill_armormedium_remove;
+               // WARNING: next two statements look wrong because of inconsistency between cvar names and code
+               // armor cvars need renaming to be consistent with their health counterparts
+               case ITEM_ArmorLarge.m_itemid: return autocvar_g_overkill_armorbig_remove;
+               case ITEM_ArmorMega.m_itemid: return autocvar_g_overkill_armorlarge_remove;
        }
 
        return true;