-MUTATOR_HOOKFUNCTION(nt_FilterItem)
-{
- if(nt_IsNewToy(self.weapon) && autocvar_g_new_toys_use_pickupsound)
- self.item_pickupsound = W_Sound("weaponpickup_new_toys");
- return 0;
-}
-
-MUTATOR_DEFINITION(mutator_new_toys)
-{
- MUTATOR_HOOK(SetModname, nt_SetModname, CBC_ORDER_ANY);
- MUTATOR_HOOK(SetStartItems, nt_SetStartItems, CBC_ORDER_ANY);
- MUTATOR_HOOK(SetWeaponreplace, nt_SetWeaponreplace, CBC_ORDER_LAST);
- MUTATOR_HOOK(FilterItem, nt_FilterItem, CBC_ORDER_ANY);
-
- MUTATOR_ONADD
- {
- if(time > 1) // game loads at time 1
- error("This cannot be added at runtime\n");
-
- precache_sound(W_Sound("weaponpickup_new_toys"));
-
- // mark the guns as ok to use by e.g. impulse 99
- float i;
- for(i = WEP_FIRST; i <= WEP_LAST; ++i)
- if(nt_IsNewToy(i))
- get_weaponinfo(i).spawnflags &= ~WEP_FLAG_MUTATORBLOCKED;
- }
-
- MUTATOR_ONROLLBACK_OR_REMOVE
- {
- float i;
- for(i = WEP_FIRST; i <= WEP_LAST; ++i)
- if(nt_IsNewToy(i))
- get_weaponinfo(i).spawnflags |= WEP_FLAG_MUTATORBLOCKED;
+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;