private static bool Pre_Console_InputText(Console __instance) { if (!Player.m_localPlayer) { return(true); } string text = __instance.m_input.text; if (text == "spoilers") { var toRemove = new List <string>() { "$item_chest_pcuirass", "$item_legs_pgreaves", "$item_atgeir_blackmetal", "$item_axe_blackmetal", "$item_cape_lox", "$item_knife_blackmetal", "$item_mace_needle", "$item_mace_silver", "$item_shield_blackmetal", "$item_shield_blackmetal_tower", "$item_shield_serpentscale", "$item_sword_blackmetal" }; int removed = Player.m_localPlayer.m_knownMaterial.RemoveWhere(i => toRemove.Contains(i)); __instance.AddString($"Removed {removed} known items."); if (removed > 0) { PlayerDataSyncManager.SendKnown(Player.m_localPlayer); } return(false); } return(true); }
private static void Pre_Player_AddKnownItem(Player __instance, ItemDrop.ItemData item) { string itemName = item.m_shared.m_name; if (!__instance.m_knownMaterial.Contains(itemName)) { PlayerDataSyncManager.OnPlayerAddKnownItem(itemName); } }
private static void Pre_Player_AddKnownRecipe(Player __instance, Recipe recipe) { string recipeName = recipe.m_item.m_itemData.m_shared.m_name; if (!__instance.m_knownRecipes.Contains(recipeName)) { PlayerDataSyncManager.OnPlayerAddKnownRecipe(recipeName); } }
private static bool Pre_CheckIfItemNeedsGate(Player player, GatedItemTypeMode mode, string itemName, ref bool __result) { if (ZNet.instance && ZNet.instance.IsServer()) { __result = PlayerDataSyncManager.CheckIfItemNeedsGate(mode, itemName); return(false); } return(true); }
private static void Post_Player_Load(Player __instance) { PlayerDataSyncManager.OnPlayerLoad(__instance); }
private static void Post_ZNet_Disconnect(ZNetPeer peer) { PlayerDataSyncManager.OnPeerDisconnect(peer); }
private static void Post_ZNet_OnNewConnection(ZNetPeer peer) { PlayerDataSyncManager.OnPeerConnect(peer); }