public static void ModdedExtensionsReset(Player player, ISet <string> exemptMods) { foreach (Mod mod in ModLoader.LoadedMods) { if (exemptMods.Contains(mod.Name)) { continue; } try { mod.Call("ResetPlayerModData", player); } catch (Exception e) { LogHelpers.Warn("Mod.Call failed for " + mod.Name + ": " + e.ToString()); } } var wingSlotMod = ModLoader.GetMod("WingSlot"); var thoriumMod = ModLoader.GetMod("ThoriumMod"); var weaponOutMod = ModLoader.GetMod("WeaponOut"); var weaponOutLiteMod = ModLoader.GetMod("WeaponOutLite"); if (wingSlotMod != null && !exemptMods.Contains("WingSlot")) { ModPlayer modplayer = player.GetModPlayer(wingSlotMod, "WingSlotPlayer"); PlayerModHelpers.RemoveWingSlotProperty(modplayer, "EquipSlot"); PlayerModHelpers.RemoveWingSlotProperty(modplayer, "VanitySlot"); PlayerModHelpers.RemoveWingSlotProperty(modplayer, "DyeSlot"); } if (thoriumMod != null && !exemptMods.Contains("ThoriumMod")) { ModPlayer modplayer = player.GetModPlayer(thoriumMod, "ThoriumPlayer"); // "Inspiration" resets to the recommended default: ReflectionHelpers.Set(modplayer, "bardResource", 8); } if (weaponOutMod != null && !exemptMods.Contains("WeaponOut")) { ModPlayer modplayer = player.GetModPlayer(weaponOutMod, "PlayerFX"); // "Frenzy Heart" resets: ReflectionHelpers.Set(modplayer, "demonBlood", false); } if (weaponOutLiteMod != null && !exemptMods.Contains("WeaponOutLite")) { ModPlayer modplayer = player.GetModPlayer(weaponOutLiteMod, "PlayerFX"); // "Frenzy Heart" resets: ReflectionHelpers.Set(modplayer, "demonBlood", false); } }
public static void ModdedExtensionsReset(Player player) { PlayerModHelpers.ModdedExtensionsReset(player, new HashSet <string>()); }