]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mutators/mutator/new_toys/new_toys.qc
Remove unnecessary returns
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / new_toys / new_toys.qc
index 78904ffae78d75a07f963aa8d33b5fa2e354f0f3..a52fc46704e9edaeb5bcd3f752e4f087d2db9663 100644 (file)
@@ -77,16 +77,18 @@ REGISTER_MUTATOR(nt, cvar("g_new_toys") && !cvar("g_instagib") && !cvar("g_overk
                        error("This cannot be added at runtime\n");
 
                // mark the guns as ok to use by e.g. impulse 99
-               for(int i = WEP_FIRST; i <= WEP_LAST; ++i)
-                       if(nt_IsNewToy(i))
-                               get_weaponinfo(i).spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
+               FOREACH(Weapons, it != WEP_Null, LAMBDA(
+                       if(nt_IsNewToy(it.m_id))
+                               it.spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
+               ));
        }
 
        MUTATOR_ONROLLBACK_OR_REMOVE
        {
-               for(int i = WEP_FIRST; i <= WEP_LAST; ++i)
-                       if(nt_IsNewToy(i))
-                               get_weaponinfo(i).spawnflags |= WEP_FLAG_MUTATORBLOCKED;
+               FOREACH(Weapons, it != WEP_Null, LAMBDA(
+                       if(nt_IsNewToy(it.m_id))
+                               it.spawnflags |= WEP_FLAG_MUTATORBLOCKED;
+               ));
        }
 
        MUTATOR_ONREMOVE
@@ -108,8 +110,7 @@ const float NT_AUTOREPLACE_RANDOM = 2;
 
 MUTATOR_HOOKFUNCTION(nt, SetModname)
 {
-       modname = "NewToys";
-       return 0;
+       M_ARGV(0, string) = "NewToys";
 }
 
 bool nt_IsNewToy(int w)
@@ -120,7 +121,6 @@ bool nt_IsNewToy(int w)
                case WEP_MINE_LAYER.m_id:
                case WEP_HLAC.m_id:
                case WEP_RIFLE.m_id:
-               case WEP_SHOCKWAVE.m_id:
                        return true;
                default:
                        return false;
@@ -158,7 +158,7 @@ MUTATOR_HOOKFUNCTION(nt, SetStartItems)
        // apply those bits that are set by start_weapon_defaultmask
        // same for warmup
 
-       float i, j, k, n;
+       float j, n;
 
        WepSet newdefault;
        WepSet warmup_newdefault;
@@ -166,24 +166,22 @@ MUTATOR_HOOKFUNCTION(nt, SetStartItems)
        newdefault = '0 0 0';
        warmup_newdefault = '0 0 0';
 
-       for(i = WEP_FIRST; i <= WEP_LAST; ++i)
-       {
-               entity e = get_weaponinfo(i);
-               if(!e.weapon)
-                       continue;
+       WepSet seti = '0 0 0';
 
-               n = tokenize_console(nt_GetReplacement(e.netname, autocvar_g_new_toys_autoreplace));
+       FOREACH(Weapons, it != WEP_Null, LAMBDA(
+               seti = it.m_wepset;
+               n = tokenize_console(nt_GetReplacement(it.netname, autocvar_g_new_toys_autoreplace));
 
                for(j = 0; j < n; ++j)
-                       for(k = WEP_FIRST; k <= WEP_LAST; ++k)
-                               if(get_weaponinfo(k).netname == argv(j))
+                       FOREACH(Weapons, it != WEP_Null, LAMBDA(
+                               if(it.netname == argv(j))
                                {
-                                       if(start_weapons & WepSet_FromWeapon(i))
-                                               newdefault |= WepSet_FromWeapon(k);
-                                       if(warmup_start_weapons & WepSet_FromWeapon(i))
-                                               warmup_newdefault |= WepSet_FromWeapon(k);
+                                       WepSet setk = it.m_wepset;
+                                       if(start_weapons & seti) newdefault |= setk;
+                                       if(warmup_start_weapons & seti) warmup_newdefault |= setk;
                                }
-       }
+                       ));
+       ));
 
        newdefault &= start_weapons_defaultmask;
        start_weapons &= ~start_weapons_defaultmask;
@@ -192,36 +190,39 @@ MUTATOR_HOOKFUNCTION(nt, SetStartItems)
        warmup_newdefault &= warmup_start_weapons_defaultmask;
        warmup_start_weapons &= ~warmup_start_weapons_defaultmask;
        warmup_start_weapons |= warmup_newdefault;
-
-       return 0;
 }
 
 MUTATOR_HOOKFUNCTION(nt, SetWeaponreplace)
-{SELFPARAM();
+{
+       entity wep = M_ARGV(0, entity);
+       entity wepinfo = M_ARGV(1, entity);
+       string ret_string = M_ARGV(2, string);
+
        // otherwise, we do replace
-       if(self.new_toys)
+       if(wep.new_toys)
        {
                // map defined replacement:
-               ret_string = self.new_toys;
+               ret_string = wep.new_toys;
        }
        else
        {
                // auto replacement:
-               ret_string = nt_GetReplacement(other.netname, autocvar_g_new_toys_autoreplace);
+               ret_string = nt_GetReplacement(wepinfo.netname, autocvar_g_new_toys_autoreplace);
        }
 
        // apply regular weaponreplace
        ret_string = W_Apply_Weaponreplace(ret_string);
 
-       return 0;
+       M_ARGV(2, string) = ret_string;
 }
 
 MUTATOR_HOOKFUNCTION(nt, FilterItem)
-{SELFPARAM();
-       if(nt_IsNewToy(self.weapon) && autocvar_g_new_toys_use_pickupsound) {
-               self.item_pickupsound = string_null;
-               self.item_pickupsound_ent = SND_WEAPONPICKUP_NEW_TOYS;
+{
+       entity item = M_ARGV(0, entity);
+
+       if(nt_IsNewToy(item.weapon) && autocvar_g_new_toys_use_pickupsound) {
+               item.item_pickupsound = string_null;
+               item.item_pickupsound_ent = SND_WEAPONPICKUP_NEW_TOYS;
        }
-       return 0;
 }
 #endif