X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmutators%2Fmutator%2Foverkill%2Fsv_overkill.qc;fp=qcsrc%2Fcommon%2Fmutators%2Fmutator%2Foverkill%2Fsv_overkill.qc;h=67512a0a82a4c221a0b5bba2ea2e9750c5011c95;hp=cbc49be16513fa5d1cebbb2d3ed1724368f05910;hb=3bbcff2475d1b2efc1314a358bf60c6fba6e4be6;hpb=fccc8baa9f35ff2d7ec7aa4ecab6d348a53a180e diff --git a/qcsrc/common/mutators/mutator/overkill/sv_overkill.qc b/qcsrc/common/mutators/mutator/overkill/sv_overkill.qc index cbc49be165..67512a0a82 100644 --- a/qcsrc/common/mutators/mutator/overkill/sv_overkill.qc +++ b/qcsrc/common/mutators/mutator/overkill/sv_overkill.qc @@ -4,15 +4,19 @@ #include "rpc.qh" bool autocvar_g_overkill_powerups_replace; -float autocvar_g_overkill_superguns_respawn_time; -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_filter_healthmega; +bool autocvar_g_overkill_filter_armormedium; +bool autocvar_g_overkill_filter_armorbig; +bool autocvar_g_overkill_filter_armorlarge; -.vector ok_deathloc; -.float ok_spawnsys_timer; -.Weapon ok_lastwep[MAX_WEAPONSLOTS]; .float ok_item; +.Weapon ok_lastwep[MAX_WEAPONSLOTS]; + void ok_Initialize(); REGISTER_MUTATOR(ok, cvar("g_overkill") && !cvar("g_instagib") && !g_nexball && cvar_string("g_mod_balance") == "Overkill") @@ -206,7 +210,7 @@ MUTATOR_HOOKFUNCTION(ok, OnEntityPreSpawn) wep.noalign = ent.noalign; wep.cnt = ent.cnt; wep.team = ent.team; - wep.respawntime = autocvar_g_overkill_superguns_respawn_time; + wep.respawntime = g_pickup_respawntime_superweapon; wep.pickup_anyway = true; wep.spawnfunc_checked = true; setthink(wep, self_spawnfunc_weapon_hmg); @@ -223,7 +227,7 @@ MUTATOR_HOOKFUNCTION(ok, OnEntityPreSpawn) wep.noalign = ent.noalign; wep.cnt = ent.cnt; wep.team = ent.team; - wep.respawntime = autocvar_g_overkill_superguns_respawn_time; + wep.respawntime = g_pickup_respawntime_superweapon; wep.pickup_anyway = true; wep.spawnfunc_checked = true; setthink(wep, self_spawnfunc_weapon_rpc); @@ -238,12 +242,16 @@ MUTATOR_HOOKFUNCTION(ok, FilterItem) entity item = M_ARGV(0, entity); if(item.ok_item) - return; + return false; - switch(item.items) + switch(item.itemdef) { - 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: return autocvar_g_overkill_filter_healthmega; + case ITEM_ArmorMedium: return autocvar_g_overkill_filter_armormedium; + // 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: return autocvar_g_overkill_filter_armorbig; + case ITEM_ArmorMega: return autocvar_g_overkill_filter_armorlarge; } return true;