]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mutators/mutator/overkill/overkill.qc
Kill the ret_string global
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / overkill / overkill.qc
index 71b11147625c9bf9108110814ef87881695b4e93..04817f4934e702d23201c626b032ac46b9f2c437 100644 (file)
@@ -222,7 +222,7 @@ MUTATOR_HOOKFUNCTION(ok, PlayerPreThink)
        if(!forbidWeaponUse(self) || self.weapon_blocked) // allow if weapon is blocked
        if(time >= self.jump_interval)
        {
-               self.jump_interval = time + WEP_CVAR_PRI(blaster, refire) * W_WeaponRateFactor();
+               self.jump_interval = time + WEP_CVAR_PRI(blaster, refire) * W_WeaponRateFactor(this);
                makevectors(self.v_angle);
 
                Weapon oldwep = PS(self).m_weapon;
@@ -296,19 +296,21 @@ void self_spawnfunc_weapon_hmg(entity this) { spawnfunc_weapon_hmg(this); }
 void self_spawnfunc_weapon_rpc(entity this) { spawnfunc_weapon_rpc(this); }
 
 MUTATOR_HOOKFUNCTION(ok, OnEntityPreSpawn)
-{SELFPARAM();
+{
+       entity ent = M_ARGV(0, entity);
+
        if(autocvar_g_powerups)
        if(autocvar_g_overkill_powerups_replace)
        {
-               if(self.classname == "item_strength")
+               if(ent.classname == "item_strength")
                {
                        entity wep = new(weapon_hmg);
-                       setorigin(wep, self.origin);
+                       setorigin(wep, ent.origin);
                        setmodel(wep, MDL_OK_HMG);
                        wep.ok_item = true;
-                       wep.noalign = self.noalign;
-                       wep.cnt = self.cnt;
-                       wep.team = self.team;
+                       wep.noalign = ent.noalign;
+                       wep.cnt = ent.cnt;
+                       wep.team = ent.team;
                        wep.respawntime = autocvar_g_overkill_superguns_respawn_time;
                        wep.pickup_anyway = true;
                        wep.spawnfunc_checked = true;
@@ -317,15 +319,15 @@ MUTATOR_HOOKFUNCTION(ok, OnEntityPreSpawn)
                        return true;
                }
 
-               if(self.classname == "item_invincible")
+               if(ent.classname == "item_invincible")
                {
                        entity wep = new(weapon_rpc);
-                       setorigin(wep, self.origin);
+                       setorigin(wep, ent.origin);
                        setmodel(wep, MDL_OK_RPC);
                        wep.ok_item = true;
-                       wep.noalign = self.noalign;
-                       wep.cnt = self.cnt;
-                       wep.team = self.team;
+                       wep.noalign = ent.noalign;
+                       wep.cnt = ent.cnt;
+                       wep.team = ent.team;
                        wep.respawntime = autocvar_g_overkill_superguns_respawn_time;
                        wep.pickup_anyway = true;
                        wep.spawnfunc_checked = true;
@@ -339,11 +341,13 @@ MUTATOR_HOOKFUNCTION(ok, OnEntityPreSpawn)
 }
 
 MUTATOR_HOOKFUNCTION(ok, FilterItem)
-{SELFPARAM();
-       if(self.ok_item)
+{
+       entity item = M_ARGV(0, entity);
+
+       if(item.ok_item)
                return false;
 
-       switch(self.items)
+       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);
@@ -353,11 +357,12 @@ MUTATOR_HOOKFUNCTION(ok, FilterItem)
 }
 
 MUTATOR_HOOKFUNCTION(ok, SpectateCopy)
-{SELFPARAM();
-       self.ammo_charge[PS(self).m_weapon.m_id] = other.ammo_charge[PS(other).m_weapon.m_id];
-       self.ok_use_ammocharge = other.ok_use_ammocharge;
+{
+       entity spectatee = M_ARGV(0, entity);
+       entity client = M_ARGV(1, entity);
 
-       return false;
+       client.ammo_charge[PS(client).m_weapon.m_id] = spectatee.ammo_charge[PS(spectatee).m_weapon.m_id];
+       client.ok_use_ammocharge = spectatee.ok_use_ammocharge;
 }
 
 MUTATOR_HOOKFUNCTION(ok, SetStartItems)
@@ -375,19 +380,17 @@ MUTATOR_HOOKFUNCTION(ok, SetStartItems)
 
 MUTATOR_HOOKFUNCTION(ok, BuildMutatorsString)
 {
-       ret_string = strcat(ret_string, ":OK");
-       return false;
+       M_ARGV(0, string) = strcat(M_ARGV(0, string), ":OK");
 }
 
 MUTATOR_HOOKFUNCTION(ok, BuildMutatorsPrettyString)
 {
-       ret_string = strcat(ret_string, ", Overkill");
-       return false;
+       M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Overkill");
 }
 
 MUTATOR_HOOKFUNCTION(ok, SetModname)
 {
-       modname = "Overkill";
+       M_ARGV(0, string) = "Overkill";
        return true;
 }