diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 65487041ad..95b51edba8 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -2126,6 +2126,131 @@ namespace BrewMonster return true; } + public void PrepareNPCService(int idSev) + { + if (!GPDataTypeHelper.ISNPCID(m_idSevNPC)) + { + return; + } + + DATA_TYPE DataType = new DATA_TYPE(); + object pBuf = ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)idSev, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + + switch (DataType) + { + case DATA_TYPE.DT_NPC_TALK_SERVICE: + + break; + + case DATA_TYPE.DT_NPC_SELL_SERVICE: + case DATA_TYPE.DT_NPC_BUY_SERVICE: + { + //// Get NPC's tex rate + //float fScale = 1.0f; + //CECNPC pNPC = EC_ManMessageMono.Instance._CECNPCMan.GetNPC(m_idSevNPC); + //if (pNPC && pNPC.IsServerNPC()) + //{ + // CECNPCServer pServer = (CECNPCServer)pNPC; + // fScale = (1.0f + pServer.GetTaxRate()) * pServer.GetPriceScale(); + //} + + //// Fill NPC package + //NPC_SELL_SERVICE pData = (NPC_SELL_SERVICE)pBuf; + + //int[] id_goods = new int[InventoryConst.IVTRSIZE_NPCPACK]; + //for (int j = 0; j < InventoryConst.NUM_NPCIVTR; j++) + //{ + // for (int i = 0; i < InventoryConst.IVTRSIZE_NPCPACK; ++i) + // id_goods[i] = (int)pData.pages[j].goods[i].id; + // FillNPCPack(j, pData.pages[j].page_title, id_goods, fScale, false); + //} + + //// Clear packs + //m_pBuyPack.RemoveAllItems(); + //m_pSellPack.RemoveAllItems(); + break; + } + case DATA_TYPE.DT_NPC_SKILL_SERVICE: + case DATA_TYPE.DT_NPC_PETLEARNSKILL_SERVICE: + { + //CECNPC pNPC = EC_ManMessageMono.Instance._CECNPCMan.GetNPC(m_idSevNPC); + //if (!pNPC || !pNPC.IsServerNPC()) + //{ + // return; + //} + + //if (DataType == DATA_TYPE.DT_NPC_SKILL_SERVICE) + // ((CECNPCServer)pNPC).BuildSkillList(idSev); + //else + // ((CECNPCServer)pNPC).BuildPetSkillList(); + + break; + } + case DATA_TYPE.DT_NPC_REPAIR_SERVICE: + case DATA_TYPE.DT_NPC_INSTALL_SERVICE: + case DATA_TYPE.DT_NPC_UNINSTALL_SERVICE: + case DATA_TYPE.DT_NPC_TASK_IN_SERVICE: + case DATA_TYPE.DT_NPC_TASK_OUT_SERVICE: + case DATA_TYPE.DT_NPC_TASK_MATTER_SERVICE: + case DATA_TYPE.DT_NPC_HEAL_SERVICE: + case DATA_TYPE.DT_NPC_TRANSMIT_SERVICE: + case DATA_TYPE.DT_NPC_TRANSPORT_SERVICE: + case DATA_TYPE.DT_NPC_PROXY_SERVICE: + case DATA_TYPE.DT_NPC_STORAGE_SERVICE: + case DATA_TYPE.DT_NPC_DECOMPOSE_SERVICE: + case DATA_TYPE.DT_NPC_PETNAME_SERVICE: + case DATA_TYPE.DT_NPC_PETFORGETSKILL_SERVICE: + + break; + + case DATA_TYPE.DT_NPC_MAKE_SERVICE: + { + //// Fill NPC package + //NPC_MAKE_SERVICE pData = (NPC_MAKE_SERVICE)pBuf; + + //for (int j = 0; j < NUM_NPCIVTR; j++) + // FillNPCPack(j, pData.pages[j].page_title, pData.pages[j].id_goods, 1.0f, true); + + //// Clear deal pack + //m_pDealPack.RemoveAllItems(); + break; + } + + case DATA_TYPE.DT_NPC_RANDPROP_SERVICE: + { + //NPC_RANDPROP_SERVICE* pData = (NPC_RANDPROP_SERVICE*)pBuf; + //elementdataman* pDataMan = g_pGame.GetElementDataMan(); + + //// Fill equip data into NPC pack + //ASSERT(sizeof(pData.pages) / sizeof(pData.pages[0]) == NUM_NPCIVTR ); + //for (int j = 0; j < NUM_NPCIVTR; j++) + //{ + // unsigned int id_recipe = pData.pages[j].id_recipe; + // DATA_TYPE dt = DT_INVALID; + // RANDPROP_ESSENCE* pRecipe = (RANDPROP_ESSENCE*)pDataMan.get_data_ptr(id_recipe, ID_SPACE_RECIPE, dt); + + // if (pRecipe && dt == DT_RANDPROP_ESSENCE) + // { + // FillNPCPack(j, pData.pages[j].page_title, (int*)pRecipe.equip_id, 1.0f, false); + // } + // else + // { + // // skip the invalid recipe id + // GetNPCSevPack(j).RemoveAllItems(); + // GetNPCSevPack(j).SetName(_AL("")); + // } + //} + + //// Clear deal pack + //m_pDealPack.RemoveAllItems(); + break; + + } + + } + } + + public EC_Inventory GetPack() { return m_packInventory; } private void LogInventoryPacket(string tag, byte[] buffer, int hostId) { if (buffer == null) diff --git a/ProjectSettings/VirtualProjectsConfig.json b/ProjectSettings/VirtualProjectsConfig.json new file mode 100644 index 0000000000..4ea16eb5a7 --- /dev/null +++ b/ProjectSettings/VirtualProjectsConfig.json @@ -0,0 +1,4 @@ +{ + "PlayerTags": [], + "version": "1.6.1" +} \ No newline at end of file