コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 private static void Post_Player_Load(Player __instance)
 {
     PlayerDataSyncManager.OnPlayerLoad(__instance);
 }
コード例 #6
0
 private static void Post_ZNet_Disconnect(ZNetPeer peer)
 {
     PlayerDataSyncManager.OnPeerDisconnect(peer);
 }
コード例 #7
0
 private static void Post_ZNet_OnNewConnection(ZNetPeer peer)
 {
     PlayerDataSyncManager.OnPeerConnect(peer);
 }