diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_Inventory.cs b/Assets/PerfectWorld/Scripts/Managers/EC_Inventory.cs
index 71a171410d..46d718d016 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_Inventory.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_Inventory.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using Unity.VisualScripting;
using UnityEngine;
namespace BrewMonster.Scripts.Managers
@@ -24,13 +25,13 @@ namespace BrewMonster.Scripts.Managers
IVTRTYPE_TRASHBOX2 = 4, // Trash box - material box
IVTRTYPE_TRASHBOX3 = 5, // Trash box - fashion box
IVTRTYPE_ACCOUNT_BOX = 6, // User account box
- IVTRTYPE_GENERALCARD_BOX = 7; // 卡牌包裹
+ IVTRTYPE_GENERALCARD_BOX = 7; // 锟斤拷锟狡帮拷锟斤拷
};
- // 注意 IVTRTYPE_CLIENT_GENERALCARD_PACK 枚举值不能喝上面的 Inventory type 值重复!!
+ // 注锟斤拷 IVTRTYPE_CLIENT_GENERALCARD_PACK 枚锟斤拷值锟斤拷锟杰猴拷锟斤拷锟斤拷锟 Inventory type 值锟截革拷锟斤拷锟斤拷
public static class IVTRTYPE_PACK_CLIENT_GENERALCAR
{
- public const int IVTRTYPE_CLIENT_GENERALCARD_PACK = 1024; // 客户端本地包裹, 由于卡牌图鉴要求对已获得卡牌通过聊天发送。为了统一处理聊天窗口的物品,添加本地包裹。
+ public const int IVTRTYPE_CLIENT_GENERALCARD_PACK = 1024; // 锟酵伙拷锟剿憋拷锟截帮拷锟斤拷锟斤拷 锟斤拷锟节匡拷锟斤拷图锟斤拷要锟斤拷锟斤拷鸦锟矫匡拷锟斤拷通锟斤拷锟斤拷锟届发锟酵★拷为锟斤拷统一锟斤拷锟斤拷锟斤拷锟届窗锟节碉拷锟斤拷品锟斤拷锟斤拷锟接憋拷锟截帮拷锟斤拷锟斤拷
};
public EC_Inventory()
@@ -168,14 +169,7 @@ namespace BrewMonster.Scripts.Managers
{
return false;
}
-
- var newItem = new EC_IvtrItem(tid, iExpireDate)
- {
- Slot = firstEmpty,
- State = 0,
- Crc = 0,
- Content = null
- };
+ var newItem = EC_IvtrItem.CreateItem(tid, iExpireDate, iAmount);
newItem.SetCount(iAmount);
m_aItems[firstEmpty] = newItem;
@@ -203,15 +197,7 @@ namespace BrewMonster.Scripts.Managers
if (pDst == null)
{
- var clone = new EC_IvtrItem(pSrc.GetTemplateID(), pSrc.GetExpireDate())
- {
- Slot = iDest,
- Package = pSrc.Package,
- State = pSrc.State,
- Crc = pSrc.Crc,
- Content = pSrc.Content != null ? (byte[])pSrc.Content.Clone() : null
- };
- clone.SetCount(iAmount);
+ var clone = EC_IvtrItem.CreateItem(pSrc.GetTemplateID(), pSrc.GetExpireDate(), iAmount);
m_aItems[iDest] = clone;
}
else
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs
index 2ec6e46f6e..8b0b0af771 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs
@@ -85,7 +85,7 @@ namespace BrewMonster.Scripts.Managers
private byte currentSelectedPackage;
private int currentSelectedSlot;
private EC_IvtrItem currentSelectedItem;
- private EC_IvtrEquip currentSelectedEquipment;
+ private EC_IvtrItem currentSelectedEquipment;
private const byte PKG_INVENTORY = 0;
private const byte PKG_EQUIPMENT = 1;
@@ -281,18 +281,12 @@ namespace BrewMonster.Scripts.Managers
///
/// Create EC_IvtrEquip object from InventoryItemData
///
- private EC_IvtrEquip CreateEquipmentFromItemData(EC_IvtrItem itemData)
+ private EC_IvtrItem CreateEquipmentFromItemData(EC_IvtrItem itemData)
{
if (itemData == null)
return null;
- var equipment = new EC_IvtrEquip(itemData.m_tid, itemData.m_expire_date);
-
- // Set basic properties (use default values since InventoryItemData doesn't have these)
- equipment.Price = 0;
- equipment.Count = itemData.m_iCount;
- equipment.PriceScale = 1.0f;
- equipment.ScaleType = 0;
+ var equipment = EC_IvtrItem.CreateItem(itemData.m_tid, itemData.m_expire_date, itemData.m_iCount);
// Parse item info if available (use Content field)
if (itemData.Content != null && itemData.Content.Length > 0)
@@ -856,11 +850,11 @@ namespace BrewMonster.Scripts.Managers
string fullDesc = null;
if (showEquipmentDetails && currentSelectedEquipment != null)
{
- fullDesc = currentSelectedEquipment.GetDesc();
+ fullDesc = currentSelectedEquipment.GetDesc(EC_IvtrItem.DescType.DESC_NORMAL, EC_Game.GetGameRun().GetHostPlayer().GetEquipment());
}
else
{
- fullDesc = item.GetDesc();
+ fullDesc = item.GetDesc(EC_IvtrItem.DescType.DESC_NORMAL, EC_Game.GetGameRun().GetHostPlayer().GetEquipment());
}
if (!string.IsNullOrEmpty(fullDesc))
@@ -880,55 +874,7 @@ namespace BrewMonster.Scripts.Managers
// C++ code doesn't check IsInitialized() - it just calls GetWideString() directly
// 瀹屽叏鎸夌収C++浠g爜鑾峰彇鎵╁睍鎻忚堪锛歡_pGame->GetItemExtDesc(m_tid)
// C++浠g爜涓嶆鏌sInitialized() - 瀹冪洿鎺ヨ皟鐢℅etWideString()
- string szExtDesc = null;
- try
- {
- var itemExtDescTab = EC_Game.GetItemExtDesc();
- if (itemExtDescTab != null)
- {
- // First try to get mapped message ID (like TryGetItemExtDesc does)
- // 棣栧厛灏濊瘯鑾峰彇鏄犲皠鐨勬秷鎭疘D锛堝TryGetItemExtDesc鎵鍋氾級
- if (EC_Game.TryGetItemMsg(item.m_tid, out int messageId, out int displayMode))
- {
- szExtDesc = itemExtDescTab.GetWideString(messageId);
- }
-
- // Fallback: direct lookup using tid (exactly like C++: m_ItemExtDesc.GetWideString(tid))
- // 鍥為锛氱洿鎺ヤ娇鐢╰id鏌ユ壘锛堝畬鍏ㄥ儚C++锛歮_ItemExtDesc.GetWideString(tid)锛
- if (string.IsNullOrEmpty(szExtDesc))
- {
- szExtDesc = itemExtDescTab.GetWideString(item.m_tid);
- }
- }
- }
- catch (System.Exception ex)
- {
- // Only log once to avoid spam
- // 浠呰褰曚竴娆′互閬垮厤鍨冨溇鏃ュ織
- if (!m_HasLoggedExtDescError)
- {
- Debug.LogWarning($"[InventoryUI] Error getting extended description: {ex.Message}");
- m_HasLoggedExtDescError = true;
- }
- }
-
- // Display extended description if found (exactly like C++ checks: if (!szExtDesc || !szExtDesc[0]))
- // 濡傛灉鎵惧埌鎵╁睍鎻忚堪鍒欐樉绀猴紙瀹屽叏鍍廋++妫鏌ワ細if (!szExtDesc || !szExtDesc[0])锛
- string displayText = !string.IsNullOrEmpty(szExtDesc)
- ? szExtDesc.Replace("\\r", "\n")
- : "";
-
- // Debug logging to diagnose issues
- // 璋冭瘯鏃ュ織浠ヨ瘖鏂棶棰
- if (string.IsNullOrEmpty(displayText))
- {
- Debug.Log($"[InventoryUI] Extended description is empty for tid={item.m_tid}. szExtDesc was null/empty.");
- }
- else
- {
- Debug.Log($"[InventoryUI] Found extended description for tid={item.m_tid}, length={displayText.Length}");
- }
-
+
// Setup equip and drop buttons
SetupEquipButton(package, item);
SetupDropButton(package, item);
@@ -937,17 +883,7 @@ namespace BrewMonster.Scripts.Managers
// 鍏堟樉绀洪潰鏉
ShowDetailPanel(true);
- // Set text directly - if this causes rebuild issues, we'll use coroutine
- // 鐩存帴璁剧疆鏂囨湰 - 濡傛灉杩欏鑷撮噸寤洪棶棰橈紝鎴戜滑灏嗕娇鐢ㄥ崗绋
- if (extendedDescText != null)
- {
- extendedDescText.Set(displayText);
- Debug.Log($"[InventoryUI] Set extended description text, extendedDescText is {(extendedDescText == null ? "null" : "not null")}");
- }
- else
- {
- Debug.LogWarning("[InventoryUI] extendedDescText is null! Check Inspector assignment.");
- }
+
}
private void SetupEquipButton(byte package, EC_IvtrItem item)
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrArmor.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrArmor.cs.meta
deleted file mode 100644
index 3b702f712f..0000000000
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrArmor.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: c94b2c779cdb94d398d4aa10eb44cac6
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrEquip.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrEquip.cs.meta
deleted file mode 100644
index 71ac740d78..0000000000
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrEquip.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 50210c0839c503b42843db0237a9c3a8
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs.meta
deleted file mode 100644
index 8045c9c72f..0000000000
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 423a6efd71f143f08096d684ca414bba
-timeCreated: 1757752654
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.meta
new file mode 100644
index 0000000000..83b999b8d5
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c5535276db3184cac9313d3cc28bca47
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrArmor.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmor.cs
similarity index 99%
rename from Assets/PerfectWorld/Scripts/Managers/EC_IvtrArmor.cs
rename to Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmor.cs
index 1a87d95aae..7342e66121 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrArmor.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmor.cs
@@ -77,7 +77,7 @@ namespace PerfectWorld.Scripts.Managers
public EC_IvtrArmor(int tid, int expire_date) : base(tid, expire_date)
{
- m_iCID = ICID_WEAPON;
+ m_iCID = (int)InventoryClassId.ICID_ARMOR;
elementdataman pDB = ElementDataManProvider.GetElementDataMan();
DATA_TYPE DataType = DATA_TYPE.DT_INVALID;
m_pDBEssence = (ARMOR_ESSENCE)pDB.get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
@@ -86,7 +86,7 @@ namespace PerfectWorld.Scripts.Managers
m_iPileLimit = m_pDBEssence.pile_num_max;
m_iPrice = m_pDBEssence.price;
m_iShopPrice = m_pDBEssence.shop_price;
- m_i64EquipMask = EC_IvtrEquip.ICID_WEAPON;
+ m_i64EquipMask = m_pDBSubType.equip_mask;
m_iProcType = (int)m_pDBEssence.proc_type;
FixProps = m_pDBEssence.fixed_props;
@@ -499,6 +499,7 @@ namespace PerfectWorld.Scripts.Managers
AddSharpenerDesc();
AddEngravedDesc();
AddMakerDesc();
+ m_strDesc += "\\r";
AddSuiteDesc();
AddExtDescText();
return m_strDesc;
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmor.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmor.cs.meta
new file mode 100644
index 0000000000..eb86dd22d2
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmor.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 30e9ab67f87a542d59ff94440cb4e78c
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmorrune.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmorrune.cs
new file mode 100644
index 0000000000..d6265d5373
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmorrune.cs
@@ -0,0 +1,16 @@
+
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrArmorrune : EC_IvtrItem
+ {
+ public EC_IvtrArmorrune(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrArmorrune(EC_IvtrArmorrune other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmorrune.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmorrune.cs.meta
new file mode 100644
index 0000000000..7c6f4748db
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArmorrune.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: a1e7bdbebb3744fd78b3c9906d93f2ab
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs
new file mode 100644
index 0000000000..b539ae2fd2
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs
@@ -0,0 +1,14 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrArrow : EC_IvtrEquip
+ {
+ public EC_IvtrArrow(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrArrow(EC_IvtrArrow other) : base(other)
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs.meta
new file mode 100644
index 0000000000..c85739af4b
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrArrow.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: d252cb1fcb2e946688fd6836548fd0d4
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoHp.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoHp.cs
new file mode 100644
index 0000000000..72f8f163fa
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoHp.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrAutoHp : EC_IvtrItem
+ {
+ public EC_IvtrAutoHp(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrAutoHp(EC_IvtrAutoHp other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoHp.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoHp.cs.meta
new file mode 100644
index 0000000000..2f58dd1e84
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoHp.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 67deebf01a6fc4678a8eb801cae72d0e
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs
new file mode 100644
index 0000000000..5bb5775c17
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrAutoMp : EC_IvtrItem
+ {
+ public EC_IvtrAutoMp(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrAutoMp(EC_IvtrAutoMp other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs.meta
new file mode 100644
index 0000000000..af7c51314b
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrAutoMp.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 5e4aa169619834c7fa8e2421d81b9f36
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrBible.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrBible.cs
new file mode 100644
index 0000000000..3a1e3607c3
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrBible.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrBible : EC_IvtrItem
+ {
+ public EC_IvtrBible(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrBible(EC_IvtrBible other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrBible.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrBible.cs.meta
new file mode 100644
index 0000000000..332fe117d7
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrBible.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: f352a8dce1daf4a078e5f1df0222d854
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCertificate.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCertificate.cs
new file mode 100644
index 0000000000..17af84f155
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCertificate.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrCertificate : EC_IvtrItem
+ {
+ public EC_IvtrCertificate(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrCertificate(EC_IvtrCertificate other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCertificate.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCertificate.cs.meta
new file mode 100644
index 0000000000..443976210f
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCertificate.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 150298d1bd0fb446a8cc9231d5145cad
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCongregate.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCongregate.cs
new file mode 100644
index 0000000000..0508913946
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCongregate.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrCongregate : EC_IvtrItem
+ {
+ public EC_IvtrCongregate(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrCongregate(EC_IvtrCongregate other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCongregate.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCongregate.cs.meta
new file mode 100644
index 0000000000..9251a506a3
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrCongregate.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: bf279660c3b2b4027bc9d97e691c1870
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDamagerune.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDamagerune.cs
new file mode 100644
index 0000000000..405849bb17
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDamagerune.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrDamagerune : EC_IvtrItem
+ {
+ public EC_IvtrDamagerune(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrDamagerune(EC_IvtrDamagerune other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDamagerune.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDamagerune.cs.meta
new file mode 100644
index 0000000000..15e7015b3d
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDamagerune.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: d2481f9333ffc4852bb83fb78511f6da
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDecoration.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDecoration.cs
new file mode 100644
index 0000000000..bd2bc8d3e5
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDecoration.cs
@@ -0,0 +1,79 @@
+///////////////////////////////////////////////////////////////////////////
+//
+// Define and Macro
+//
+///////////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////////
+//
+// Reference to External variables and functions
+//
+///////////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////////
+//
+// Local Types and Variables and Global variables
+//
+///////////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////////
+//
+// Local functions
+//
+///////////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////////
+//
+// Implement CECIvtrDecoration
+//
+///////////////////////////////////////////////////////////////////////////
+using BrewMonster;
+using ModelRenderer.Scripts.GameData;
+using System.Collections.Generic;
+using BrewMonster.Network;
+using BrewMonster.Scripts.Managers;
+using BrewMonster.Scripts;
+namespace PerfectWorld.Scripts.Managers
+{
+
+ public class EC_IvtrDecoration : EC_IvtrEquip
+ {
+ protected IVTR_ESSENCE_DECORATION m_Essence;
+ protected DECORATION_MAJOR_TYPE m_pDBMajorType;
+ protected DECORATION_SUB_TYPE m_pDBSubType;
+ protected DECORATION_ESSENCE m_pDBEssence;
+
+ public EC_IvtrDecoration(int tid, int expire_date) : base(tid, expire_date)
+ {
+ m_iCID = (int)InventoryClassId.ICID_DECORATION;
+ elementdataman pDB = ElementDataManProvider.GetElementDataMan();
+ DATA_TYPE DataType = DATA_TYPE.DT_INVALID;
+ m_pDBEssence = (DECORATION_ESSENCE)pDB.get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
+ m_pDBMajorType = (DECORATION_MAJOR_TYPE)pDB.get_data_ptr(m_pDBEssence.id_major_type, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
+ m_pDBSubType = (DECORATION_SUB_TYPE)pDB.get_data_ptr(m_pDBEssence.id_sub_type, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
+ m_iPileLimit = m_pDBEssence.pile_num_max;
+ m_iPrice = m_pDBEssence.price;
+ m_iShopPrice = m_pDBEssence.shop_price;
+ m_i64EquipMask = m_pDBSubType.equip_mask;
+ m_iProcType = (int)m_pDBEssence.proc_type;
+
+ FixProps = m_pDBEssence.fixed_props;
+ RepairFee = m_pDBEssence.repairfee;
+ ReputationReq = m_pDBEssence.require_reputation;
+ }
+
+ public EC_IvtrDecoration(EC_IvtrDecoration other) : base(other)
+ {
+ m_pDBEssence = other.m_pDBEssence;
+ m_pDBMajorType = other.m_pDBMajorType;
+ m_pDBSubType = other.m_pDBSubType;
+ m_Essence = other.m_Essence;
+ }
+
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDecoration.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDecoration.cs.meta
new file mode 100644
index 0000000000..3dc57a1d75
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDecoration.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 238a4e2d1554d44b0a9f3f283a9badd7
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDestroyingEssence.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDestroyingEssence.cs
new file mode 100644
index 0000000000..6e05875dd8
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDestroyingEssence.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrDestroyingEssence : EC_IvtrItem
+ {
+ public EC_IvtrDestroyingEssence(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrDestroyingEssence(EC_IvtrDestroyingEssence other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDestroyingEssence.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDestroyingEssence.cs.meta
new file mode 100644
index 0000000000..c0c4fb2b54
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDestroyingEssence.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 584e97711b3bb4f97a18866bd56ce985
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDoubleExp.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDoubleExp.cs
new file mode 100644
index 0000000000..52778da300
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDoubleExp.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrDoubleExp : EC_IvtrItem
+ {
+ public EC_IvtrDoubleExp(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrDoubleExp(EC_IvtrDoubleExp other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDoubleExp.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDoubleExp.cs.meta
new file mode 100644
index 0000000000..75b93a1eb0
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDoubleExp.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 684f0b389343e420dbf9d02a184554b8
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDyeTicket.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDyeTicket.cs
new file mode 100644
index 0000000000..11d8162ba5
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDyeTicket.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrDyeTicket : EC_IvtrItem
+ {
+ public EC_IvtrDyeTicket(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrDyeTicket(EC_IvtrDyeTicket other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDyeTicket.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDyeTicket.cs.meta
new file mode 100644
index 0000000000..c4abf8e13f
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDyeTicket.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 2b30a0678c3bb488e8579f6b1cff0847
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDynSkillEquip.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDynSkillEquip.cs
new file mode 100644
index 0000000000..4e18b6edc4
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDynSkillEquip.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrDynSkillEquip : EC_IvtrEquip
+ {
+ public EC_IvtrDynSkillEquip(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrDynSkillEquip(EC_IvtrDynSkillEquip other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDynSkillEquip.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDynSkillEquip.cs.meta
new file mode 100644
index 0000000000..651665273d
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrDynSkillEquip.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: a1a5aae82e25b4ce5aeb499cb804f9fa
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrElement.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrElement.cs
new file mode 100644
index 0000000000..f667324b31
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrElement.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrElement : EC_IvtrItem
+ {
+ public EC_IvtrElement(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrElement(EC_IvtrElement other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrElement.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrElement.cs.meta
new file mode 100644
index 0000000000..6afa910abc
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrElement.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 28e3dc4074f0246449da8b794ca2a018
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrEquip.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs
similarity index 99%
rename from Assets/PerfectWorld/Scripts/Managers/EC_IvtrEquip.cs
rename to Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs
index 1299029125..c2e77eb454 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrEquip.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs
@@ -16,6 +16,7 @@ using BrewMonster.Scripts.Managers;
using BrewMonster.Scripts;
using UnityEngine.AddressableAssets;
using CSNetwork.Protocols;
+using Unity.VisualScripting;
namespace PerfectWorld.Scripts.Managers
{
@@ -27,9 +28,6 @@ namespace PerfectWorld.Scripts.Managers
{
#region Constants and Enums
- // Item Class IDs
- public const int ICID_EQUIP = 1;
- public const int ICID_WEAPON = 2;
public enum EQUIP_CLASS_ID
{
@@ -576,7 +574,7 @@ namespace PerfectWorld.Scripts.Managers
{
TemplateId = tid;
ExpireDate = expireDate;
- CID = ICID_EQUIP;
+ CID = (int)InventoryClassId.ICID_EQUIP;
Price = 0;
Count = 1;
PriceScale = 1.0f;
@@ -1482,7 +1480,7 @@ namespace PerfectWorld.Scripts.Managers
// 5) Add-on properties (non-embedded, non-suite, non-engraved)
if (!string.IsNullOrEmpty(strAddon))
m_strDesc += strAddon;
-
+ AddPriceDesc(white, false);
// 6) Tessera / stones (socketed gems)
BuildTesseraDesc();
@@ -1498,10 +1496,10 @@ namespace PerfectWorld.Scripts.Managers
// 10) Maker & destroying info if any
AddMakerDesc();
// Destroying description is added by caller when needed; keep it optional here.
-
+ m_strDesc += "\\r";
+ AddExtDescText();
+ Debug.Log("m_strDesc add ext desc text: " + m_strDesc);
// 11) Price (sell price scaled)
- AddPriceDesc(white, false);
-
return m_strDesc;
}
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs.meta
new file mode 100644
index 0000000000..81db6a40d0
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: f740d7d39c73f41a7a352c569c5442db
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFacePill.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFacePill.cs
new file mode 100644
index 0000000000..815c598198
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFacePill.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrFacePill : EC_IvtrItem
+ {
+ public EC_IvtrFacePill(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrFacePill(EC_IvtrFacePill other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFacePill.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFacePill.cs.meta
new file mode 100644
index 0000000000..8009dce62b
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFacePill.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: a8785f321cb1c42e784355f0e452a2f8
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFaceTicket.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFaceTicket.cs
new file mode 100644
index 0000000000..9c1fd6ccaa
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFaceTicket.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrFaceTicket : EC_IvtrItem
+ {
+ public EC_IvtrFaceTicket(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrFaceTicket(EC_IvtrFaceTicket other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFaceTicket.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFaceTicket.cs.meta
new file mode 100644
index 0000000000..dc9acdba94
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFaceTicket.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 97a6a36bce3c046a88e5c12e8ac79b03
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFactionMaterial.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFactionMaterial.cs
new file mode 100644
index 0000000000..3429a0b219
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFactionMaterial.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrFactionMaterial : EC_IvtrItem
+ {
+ public EC_IvtrFactionMaterial(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrFactionMaterial(EC_IvtrFactionMaterial other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFactionMaterial.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFactionMaterial.cs.meta
new file mode 100644
index 0000000000..20cddc454f
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFactionMaterial.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: e3a3f865615ba4eaca9942d99698c332
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFashion.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFashion.cs
new file mode 100644
index 0000000000..a6c1751657
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFashion.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrFashion : EC_IvtrItem
+ {
+ public EC_IvtrFashion(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrFashion(EC_IvtrFashion other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFashion.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFashion.cs.meta
new file mode 100644
index 0000000000..d9d6ea16e4
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFashion.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 8cbdfe37e56eb46be91ac835220dfb25
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFirework.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFirework.cs
new file mode 100644
index 0000000000..71d75113d0
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFirework.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrFirework : EC_IvtrItem
+ {
+ public EC_IvtrFirework(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrFirework(EC_IvtrFirework other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFirework.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFirework.cs.meta
new file mode 100644
index 0000000000..c2130f4714
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFirework.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 9a4c28d0768f341b2aef5ec207875a31
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFlysword.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFlysword.cs
new file mode 100644
index 0000000000..210d40eda0
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFlysword.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrFlysword : EC_IvtrItem
+ {
+ public EC_IvtrFlysword(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrFlysword(EC_IvtrFlysword other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFlysword.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFlysword.cs.meta
new file mode 100644
index 0000000000..eb9291c8e5
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrFlysword.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 76745e0d1f528425eac71363b77c8cdd
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrForceToken.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrForceToken.cs
new file mode 100644
index 0000000000..26dc9fed3e
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrForceToken.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrForceToken : EC_IvtrItem
+ {
+ public EC_IvtrForceToken(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrForceToken(EC_IvtrForceToken other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrForceToken.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrForceToken.cs.meta
new file mode 100644
index 0000000000..7c1d676914
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrForceToken.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: de39c4a9aa1e1434c96ce485ea144291
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs
new file mode 100644
index 0000000000..de46434948
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrGeneralCard : EC_IvtrItem
+ {
+ public EC_IvtrGeneralCard(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrGeneralCard(EC_IvtrGeneralCard other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs.meta
new file mode 100644
index 0000000000..2344d68880
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCard.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: bfe40c592c38542d2a590310173f5c8c
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCardDice.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCardDice.cs
new file mode 100644
index 0000000000..df28fd9d9a
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCardDice.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrGeneralCardDice : EC_IvtrItem
+ {
+ public EC_IvtrGeneralCardDice(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrGeneralCardDice(EC_IvtrGeneralCardDice other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCardDice.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCardDice.cs.meta
new file mode 100644
index 0000000000..3d919e4baf
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGeneralCardDice.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: ab3e2b5b4e09949a69cfc003d0103804
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGmGenerator.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGmGenerator.cs
new file mode 100644
index 0000000000..75f77cf24c
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGmGenerator.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrGmGenerator : EC_IvtrItem
+ {
+ public EC_IvtrGmGenerator(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrGmGenerator(EC_IvtrGmGenerator other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGmGenerator.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGmGenerator.cs.meta
new file mode 100644
index 0000000000..cd7c06a818
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGmGenerator.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 92617801fcd734adfa84fb4d4ca84f0c
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblin.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblin.cs
new file mode 100644
index 0000000000..44878eb090
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblin.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrGoblin : EC_IvtrItem
+ {
+ public EC_IvtrGoblin(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrGoblin(EC_IvtrGoblin other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblin.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblin.cs.meta
new file mode 100644
index 0000000000..4903722714
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblin.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: c8726058514b64b129c6b619e7e1d3fa
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinEquip.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinEquip.cs
new file mode 100644
index 0000000000..26374a3219
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinEquip.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrGoblinEquip : EC_IvtrEquip
+ {
+ public EC_IvtrGoblinEquip(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrGoblinEquip(EC_IvtrGoblinEquip other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinEquip.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinEquip.cs.meta
new file mode 100644
index 0000000000..b92fb38bb4
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinEquip.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 89be2e126b8d44151bdd559226b0f306
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinExpPill.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinExpPill.cs
new file mode 100644
index 0000000000..b6c49d6aaa
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinExpPill.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrGoblinExpPill : EC_IvtrItem
+ {
+ public EC_IvtrGoblinExpPill(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrGoblinExpPill(EC_IvtrGoblinExpPill other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinExpPill.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinExpPill.cs.meta
new file mode 100644
index 0000000000..becac7c872
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrGoblinExpPill.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 4b383fd16faa444fa8dc9a5c4e4aac86
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrIncSkillAbility.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrIncSkillAbility.cs
new file mode 100644
index 0000000000..93c8043715
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrIncSkillAbility.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrIncSkillAbility : EC_IvtrItem
+ {
+ public EC_IvtrIncSkillAbility(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrIncSkillAbility(EC_IvtrIncSkillAbility other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrIncSkillAbility.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrIncSkillAbility.cs.meta
new file mode 100644
index 0000000000..044cd3f346
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrIncSkillAbility.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 4050b6d604fee48c399953ca2707f650
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs
similarity index 84%
rename from Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs
rename to Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs
index edbb4c6ee8..8f3142b426 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs
@@ -807,17 +807,191 @@ namespace BrewMonster.Scripts.Managers
var pItem = new EC_IvtrItem(tid, expire_date);
DATA_TYPE DataType = DATA_TYPE.DT_INVALID;
object data = ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
+ Debug.Log("DataType: " + DataType);
switch(DataType)
{
case DATA_TYPE.DT_WEAPON_ESSENCE:
pItem = new EC_IvtrWeapon(tid, expire_date);
break;
+ case DATA_TYPE.DT_PROJECTILE_ESSENCE:
+ pItem = new EC_IvtrArrow(tid, expire_date);
+ break;
case DATA_TYPE.DT_ARMOR_ESSENCE:
pItem = new EC_IvtrArmor(tid, expire_date);
break;
+ case DATA_TYPE.DT_DECORATION_ESSENCE:
+ pItem = new EC_IvtrDecoration(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_FASHION_ESSENCE:
+ pItem = new EC_IvtrFashion(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_MEDICINE_ESSENCE:
+ pItem = new EC_IvtrMedicine(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_MATERIAL_ESSENCE:
+ pItem = new EC_IvtrMaterial(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_DAMAGERUNE_ESSENCE:
+ pItem = new EC_IvtrDamagerune(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_ARMORRUNE_ESSENCE:
+ pItem = new EC_IvtrArmorrune(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_SKILLTOME_ESSENCE:
+ pItem = new EC_IvtrSkilltome(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_FLYSWORD_ESSENCE:
+ pItem = new EC_IvtrFlysword(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_TOWNSCROLL_ESSENCE:
+ pItem = new EC_IvtrTownscroll(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_UNIONSCROLL_ESSENCE:
+ pItem = new EC_IvtrUnionscroll(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_REVIVESCROLL_ESSENCE:
+ pItem = new EC_IvtrRevScroll(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_ELEMENT_ESSENCE:
+ pItem = new EC_IvtrElement(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_TOSSMATTER_ESSENCE:
+ pItem = new EC_IvtrTossMat(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_TASKMATTER_ESSENCE:
+ pItem = new EC_IvtrTaskmatter(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_STONE_ESSENCE:
+ pItem = new EC_IvtrStone(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_WINGMANWING_ESSENCE:
+ pItem = new EC_IvtrWing(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_TASKDICE_ESSENCE:
+ pItem = new EC_IvtrTaskDice(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_TASKNORMALMATTER_ESSENCE:
+ pItem = new EC_IvtrTaskNmMatter(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_FACETICKET_ESSENCE:
+ pItem = new EC_IvtrFaceTicket(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_FACEPILL_ESSENCE:
+ pItem = new EC_IvtrFacePill(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_GM_GENERATOR_ESSENCE:
+ pItem = new EC_IvtrGmGenerator(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_RECIPE_ESSENCE:
+ pItem = new EC_IvtrRecipe(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_PET_EGG_ESSENCE:
+ pItem = new EC_IvtrPetEgg(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_PET_FOOD_ESSENCE:
+ pItem = new EC_IvtrPetFood(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_PET_FACETICKET_ESSENCE:
+ pItem = new EC_IvtrPetFaceTicket(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_FIREWORKS_ESSENCE:
+ pItem = new EC_IvtrFirework(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_WAR_TANKCALLIN_ESSENCE:
+ pItem = new EC_IvtrWarTankCallin(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_SKILLMATTER_ESSENCE:
+ pItem = new EC_IvtrSkillMat(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_INC_SKILL_ABILITY_ESSENCE:
+ pItem = new EC_IvtrIncSkillAbility(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_REFINE_TICKET_ESSENCE:
+ pItem = new EC_IvtrRefineTicket(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_DESTROYING_ESSENCE:
+ pItem = new EC_IvtrDestroyingEssence(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_BIBLE_ESSENCE:
+ pItem = new EC_IvtrBible(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_SPEAKER_ESSENCE:
+ pItem = new EC_IvtrSpeaker(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_AUTOHP_ESSENCE:
+ pItem = new EC_IvtrAutoHp(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_AUTOMP_ESSENCE:
+ pItem = new EC_IvtrAutoMp(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_DOUBLE_EXP_ESSENCE:
+ pItem = new EC_IvtrDoubleExp(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_DYE_TICKET_ESSENCE:
+ pItem = new EC_IvtrDyeTicket(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_TRANSMITSCROLL_ESSENCE:
+ pItem = new EC_IvtrTransmitScroll(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_GOBLIN_ESSENCE:
+ pItem = new EC_IvtrGoblin(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_GOBLIN_EQUIP_ESSENCE:
+ pItem = new EC_IvtrGoblinEquip(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_GOBLIN_EXPPILL_ESSENCE:
+ pItem = new EC_IvtrGoblinExpPill(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_SELL_CERTIFICATE_ESSENCE:
+ pItem = new EC_IvtrCertificate(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_TARGET_ITEM_ESSENCE:
+ pItem = new EC_IvtrTargetItem(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_LOOK_INFO_ESSENCE:
+ pItem = new EC_IvtrLookInfoItem(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_WEDDING_BOOKCARD_ESSENCE:
+ pItem = new EC_IvtrWeddingBookCard(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_WEDDING_INVITECARD_ESSENCE:
+ pItem = new EC_IvtrWeddingInviteCard(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_SHARPENER_ESSENCE:
+ pItem = new EC_IvtrSharpener(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_FACTION_MATERIAL_ESSENCE:
+ pItem = new EC_IvtrFactionMaterial(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_CONGREGATE_ESSENCE:
+ pItem = new EC_IvtrCongregate(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_FORCE_TOKEN_ESSENCE:
+ pItem = new EC_IvtrForceToken(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_DYNSKILLEQUIP_ESSENCE:
+ pItem = new EC_IvtrDynSkillEquip(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_MONEY_CONVERTIBLE_ESSENCE:
+ pItem = new EC_IvtrMoneyConvertible(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_MONSTER_SPIRIT_ESSENCE:
+ pItem = new EC_IvtrMonsterSpirit(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_POKER_ESSENCE:
+ pItem = new EC_IvtrGeneralCard(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_POKER_DICE_ESSENCE:
+ pItem = new EC_IvtrGeneralCardDice(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_SHOP_TOKEN_ESSENCE:
+ pItem = new EC_IvtrShopToken(tid, expire_date);
+ break;
+ case DATA_TYPE.DT_UNIVERSAL_TOKEN_ESSENCE:
+ pItem = new EC_IvtrUniversalToken(tid, expire_date);
+ break;
default:
- BMLogger.Log("[THN]EC_IvtrItem: CreateItem: Default Item for tid: " + tid + " is: " + pItem.GetName());
- BMLogger.Log("[THN]TODO: Add create item with DataType: " + DataType);
+ pItem = new EC_IvtrUnknown(tid, expire_date);
break;
}
pItem.SetCount(iCount);
@@ -959,7 +1133,7 @@ namespace BrewMonster.Scripts.Managers
/// Clone item (shallow copy, same as C++ default).
public virtual EC_IvtrItem Clone()
{
- return new EC_IvtrItem(this);
+ return CreateItem(m_tid, m_expire_date, m_iCount, m_iCID);
}
/// Get item cool time in milliseconds (0 by default).
@@ -1292,10 +1466,23 @@ namespace BrewMonster.Scripts.Managers
// Add special properties description / 娣诲姞鐗规畩灞炴ф弿杩
var pDescTab = EC_Game.GetItemDesc();
// Note: ITEMDESC_COL2_BRIGHTBLUE constant - adjust based on actual string table / 娉ㄦ剰锛欼TEMDESC_COL2_BRIGHTBLUE甯搁噺 - 鏍规嵁瀹為檯瀛楃涓茶〃璋冩暣
- int green = 1000; // ITEMDESC_COL2_BRIGHTBLUE placeholder - adjust this value
-
+ int green = (int)DescriptipionMsg.ITEMDESC_COL2_BRIGHTBLUE; // ITEMDESC_COL2_BRIGHTBLUE placeholder - adjust this value
+ if(typeof(EC_IvtrArmor) == this.GetType())
+ {
+ Debug.Log("This is an armor");
+ }
+
+ Debug.Log("armor m_iCID: " + m_iCID);
+ Debug.Log("armor m_iProcType: " + m_iProcType);
if (m_iCID != (int)InventoryClassId.ICID_GOBLIN) // goblin does not need to display these special properties / 鍦扮簿涓嶉渶瑕佹樉绀鸿繖浜涚壒娈婂睘鎬
{
+ Debug.Log("m_iCID != (int)InventoryClassId.ICID_GOBLIN");
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_NO_USER_TRASH: " + (m_iProcType & (int)ProcType.PROC_NO_USER_TRASH));
+ Debug.Log("!((m_iProcType & (int)ProcType.PROC_BINDING) != 0): " + !((m_iProcType & (int)ProcType.PROC_BINDING) != 0));
+ Debug.Log("((m_iProcType & (int)ProcType.PROC_DROPWHENDIE) != 0): " + ((m_iProcType & (int)ProcType.PROC_DROPWHENDIE) != 0));
+ Debug.Log("((m_iProcType & (int)ProcType.PROC_DROPPABLE) != 0): " + ((m_iProcType & (int)ProcType.PROC_DROPPABLE) != 0));
+ Debug.Log("((m_iProcType & (int)ProcType.PROC_SELLABLE) != 0): " + ((m_iProcType & (int)ProcType.PROC_SELLABLE) != 0));
// Exact C++ logic: (PROC_NO_USER_TRASH) || (!PROC_BINDING && (PROC_DROPWHENDIE || ...))
// 绮剧‘鐨凜++閫昏緫锛(PROC_NO_USER_TRASH) || (!PROC_BINDING && (PROC_DROPWHENDIE || ...))
if ((m_iProcType & (int)ProcType.PROC_NO_USER_TRASH) != 0
@@ -1319,121 +1506,140 @@ namespace BrewMonster.Scripts.Managers
m_strDesc += szCol;
}
}
-
- // Note: These message IDs are placeholders - adjust based on actual string table / 娉ㄦ剰锛氳繖浜涙秷鎭疘D鏄崰浣嶇 - 鏍规嵁瀹為檯瀛楃涓茶〃璋冩暣
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_DROPWHENDIE: " + (m_iProcType & (int)ProcType.PROC_DROPWHENDIE));
if ((m_iProcType & (int)ProcType.PROC_DROPWHENDIE) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_DEAD_PROTECT placeholder - adjust this value
- string desc = pDescTab.GetWideString(2000); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_DEAD_PROTECT);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_DROPPABLE: " + (m_iProcType & (int)ProcType.PROC_DROPPABLE));
if ((m_iProcType & (int)ProcType.PROC_DROPPABLE) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_NO_DROP placeholder - adjust this value
- string desc = pDescTab.GetWideString(2001); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_DROP);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_SELLABLE: " + (m_iProcType & (int)ProcType.PROC_SELLABLE));
if ((m_iProcType & (int)ProcType.PROC_SELLABLE) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_NO_TRADE placeholder - adjust this value
- string desc = pDescTab.GetWideString(2002); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_TRADE);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_TRADEABLE: " + (m_iProcType & (int)ProcType.PROC_TRADEABLE));
if ((m_iProcType & (int)ProcType.PROC_TRADEABLE) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_NO_PLAYER_TRADE placeholder - adjust this value
- string desc = pDescTab.GetWideString(2003); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_PLAYER_TRADE);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_DISAPEAR: " + (m_iProcType & (int)ProcType.PROC_DISAPEAR));
if ((m_iProcType & (int)ProcType.PROC_DISAPEAR) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_LEAVE_SCENE_DISAPEAR placeholder - adjust this value
- string desc = pDescTab.GetWideString(2004); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_LEAVE_SCENE_DISAPEAR);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_USE: " + (m_iProcType & (int)ProcType.PROC_USE));
if ((m_iProcType & (int)ProcType.PROC_USE) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_USE_AFTER_PICK_UP placeholder - adjust this value
- string desc = pDescTab.GetWideString(2005); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_USE_AFTER_PICK_UP);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_DEADDROP: " + (m_iProcType & (int)ProcType.PROC_DEADDROP));
if ((m_iProcType & (int)ProcType.PROC_DEADDROP) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_DROP_WHEN_DEAD placeholder - adjust this value
- string desc = pDescTab.GetWideString(2006); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_DROP_WHEN_DEAD);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_OFFLINE: " + (m_iProcType & (int)ProcType.PROC_OFFLINE));
if ((m_iProcType & (int)ProcType.PROC_OFFLINE) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_DROP_WHEN_OFFLINE placeholder - adjust this value
- string desc = pDescTab.GetWideString(2007); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_DROP_WHEN_OFFLINE);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_UNREPAIRABLE: " + (m_iProcType & (int)ProcType.PROC_UNREPAIRABLE));
if ((m_iProcType & (int)ProcType.PROC_UNREPAIRABLE) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_UNREPAIRABLE placeholder - adjust this value
- string desc = pDescTab.GetWideString(2008); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_UNREPAIRABLE);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
+ Debug.Log("m_iProcType: " + m_iProcType);
+ Debug.Log("m_iProcType & (int)ProcType.PROC_NO_USER_TRASH: " + (m_iProcType & (int)ProcType.PROC_NO_USER_TRASH));
if ((m_iProcType & (int)ProcType.PROC_NO_USER_TRASH) != 0)
{
m_strDesc += "\\r";
if (pDescTab != null && pDescTab.IsInitialized())
{
- // ITEMDESC_NO_USER_TRASH placeholder - adjust this value
- string desc = pDescTab.GetWideString(2009); // Placeholder ID
+ string desc = pDescTab.GetWideString((int)DescriptipionMsg.ITEMDESC_NO_USER_TRASH);
if (!string.IsNullOrEmpty(desc))
m_strDesc += desc;
}
+ Debug.Log("m_strDesc: " + m_strDesc);
}
}
else
{
+ Debug.Log("m_iCID == (int)InventoryClassId.ICID_GOBLIN");
TrimLastReturn();
}
}
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs.meta
new file mode 100644
index 0000000000..a258db67cc
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 566fc2d24eefe48e7bd10ed67d15563f
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrLookInfoItem.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrLookInfoItem.cs
new file mode 100644
index 0000000000..4ea2355ccf
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrLookInfoItem.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrLookInfoItem : EC_IvtrItem
+ {
+ public EC_IvtrLookInfoItem(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrLookInfoItem(EC_IvtrLookInfoItem other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrLookInfoItem.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrLookInfoItem.cs.meta
new file mode 100644
index 0000000000..adeb476543
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrLookInfoItem.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 384fce986646f438698912f0c15b9ba8
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMaterial.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMaterial.cs
new file mode 100644
index 0000000000..9880098373
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMaterial.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrMaterial : EC_IvtrItem
+ {
+ public EC_IvtrMaterial(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrMaterial(EC_IvtrMaterial other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMaterial.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMaterial.cs.meta
new file mode 100644
index 0000000000..bc18aa001d
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMaterial.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: e681cc9149ec5499fa6584a02a3916e1
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMedicine.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMedicine.cs
new file mode 100644
index 0000000000..43bcfd2d13
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMedicine.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrMedicine : EC_IvtrItem
+ {
+ public EC_IvtrMedicine(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrMedicine(EC_IvtrMedicine other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMedicine.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMedicine.cs.meta
new file mode 100644
index 0000000000..961e1f6544
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMedicine.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: ed110c7e41c6f437791bdf92da68019c
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMoneyConvertible.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMoneyConvertible.cs
new file mode 100644
index 0000000000..0706daf572
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMoneyConvertible.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrMoneyConvertible : EC_IvtrItem
+ {
+ public EC_IvtrMoneyConvertible(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrMoneyConvertible(EC_IvtrMoneyConvertible other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMoneyConvertible.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMoneyConvertible.cs.meta
new file mode 100644
index 0000000000..b05aa11779
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMoneyConvertible.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 6b6e854a6db4c4d87aaaeba867d72bae
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMonsterSpirit.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMonsterSpirit.cs
new file mode 100644
index 0000000000..e214eee652
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMonsterSpirit.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrMonsterSpirit : EC_IvtrItem
+ {
+ public EC_IvtrMonsterSpirit(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrMonsterSpirit(EC_IvtrMonsterSpirit other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMonsterSpirit.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMonsterSpirit.cs.meta
new file mode 100644
index 0000000000..e4c2cb4dd4
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrMonsterSpirit.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: b3ec2fe733bae45c982969aed8b8eae0
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs
new file mode 100644
index 0000000000..df0cbbd059
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrPetEgg : EC_IvtrItem
+ {
+ public EC_IvtrPetEgg(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrPetEgg(EC_IvtrPetEgg other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs.meta
new file mode 100644
index 0000000000..e65af61f2c
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 31d39c5195d7e45fa91082d7db9b3204
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFaceTicket.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFaceTicket.cs
new file mode 100644
index 0000000000..61f0e12023
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFaceTicket.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrPetFaceTicket : EC_IvtrItem
+ {
+ public EC_IvtrPetFaceTicket(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrPetFaceTicket(EC_IvtrPetFaceTicket other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFaceTicket.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFaceTicket.cs.meta
new file mode 100644
index 0000000000..230d4c038c
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFaceTicket.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 7c61b694d841e4db5ac2811b04531e7f
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs
new file mode 100644
index 0000000000..8a52b6b14e
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrPetFood : EC_IvtrItem
+ {
+ public EC_IvtrPetFood(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrPetFood(EC_IvtrPetFood other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs.meta
new file mode 100644
index 0000000000..fe60acf730
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 5d8c5f936052f4ed0b63e061797eefbb
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRecipe.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRecipe.cs
new file mode 100644
index 0000000000..f03d3efb62
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRecipe.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrRecipe : EC_IvtrItem
+ {
+ public EC_IvtrRecipe(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrRecipe(EC_IvtrRecipe other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRecipe.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRecipe.cs.meta
new file mode 100644
index 0000000000..7554ac322d
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRecipe.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 8aa46bf1a8e2045fcb18711081dcfe56
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRefineTicket.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRefineTicket.cs
new file mode 100644
index 0000000000..054a81b253
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRefineTicket.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrRefineTicket : EC_IvtrItem
+ {
+ public EC_IvtrRefineTicket(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrRefineTicket(EC_IvtrRefineTicket other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRefineTicket.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRefineTicket.cs.meta
new file mode 100644
index 0000000000..416637606a
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRefineTicket.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 4b2d8c8d5a4104436b97dfb062ddea9e
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRevScroll.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRevScroll.cs
new file mode 100644
index 0000000000..d3a8b51c1e
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRevScroll.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrRevScroll : EC_IvtrItem
+ {
+ public EC_IvtrRevScroll(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrRevScroll(EC_IvtrRevScroll other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRevScroll.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRevScroll.cs.meta
new file mode 100644
index 0000000000..4bafc16c29
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrRevScroll.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 372c6fa94e6ba473a89724868d182446
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSharpener.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSharpener.cs
new file mode 100644
index 0000000000..3cb60d730e
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSharpener.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrSharpener : EC_IvtrItem
+ {
+ public EC_IvtrSharpener(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrSharpener(EC_IvtrSharpener other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSharpener.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSharpener.cs.meta
new file mode 100644
index 0000000000..9630e67b8b
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSharpener.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 3745d3b71429d4e70bd85ff957d53edd
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrShopToken.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrShopToken.cs
new file mode 100644
index 0000000000..df78933a96
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrShopToken.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrShopToken : EC_IvtrItem
+ {
+ public EC_IvtrShopToken(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrShopToken(EC_IvtrShopToken other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrShopToken.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrShopToken.cs.meta
new file mode 100644
index 0000000000..73579be3f6
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrShopToken.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: cbc68d3b08ef143159eed39309cbb601
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkillMat.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkillMat.cs
new file mode 100644
index 0000000000..70163c6aec
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkillMat.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrSkillMat : EC_IvtrItem
+ {
+ public EC_IvtrSkillMat(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrSkillMat(EC_IvtrSkillMat other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkillMat.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkillMat.cs.meta
new file mode 100644
index 0000000000..d709477560
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkillMat.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 8345b2a53fffb4e638d9712b6e9e49fa
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkilltome.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkilltome.cs
new file mode 100644
index 0000000000..4198416cce
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkilltome.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrSkilltome : EC_IvtrItem
+ {
+ public EC_IvtrSkilltome(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrSkilltome(EC_IvtrSkilltome other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkilltome.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkilltome.cs.meta
new file mode 100644
index 0000000000..247c268e85
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSkilltome.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 0c332a9a7de2647368ec4fbfd1864bfe
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSpeaker.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSpeaker.cs
new file mode 100644
index 0000000000..ecfb1b0ed9
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSpeaker.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrSpeaker : EC_IvtrItem
+ {
+ public EC_IvtrSpeaker(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrSpeaker(EC_IvtrSpeaker other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSpeaker.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSpeaker.cs.meta
new file mode 100644
index 0000000000..83cd26436e
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrSpeaker.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: f9c5f08a7605b4065bf7ec878319726b
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrStone.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrStone.cs
new file mode 100644
index 0000000000..f8347605b2
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrStone.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrStone : EC_IvtrItem
+ {
+ public EC_IvtrStone(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrStone(EC_IvtrStone other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrStone.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrStone.cs.meta
new file mode 100644
index 0000000000..bbd09076b1
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrStone.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: f63e461e231d0493a91f04c79939de2d
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTargetItem.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTargetItem.cs
new file mode 100644
index 0000000000..a050b3d567
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTargetItem.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrTargetItem : EC_IvtrItem
+ {
+ public EC_IvtrTargetItem(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrTargetItem(EC_IvtrTargetItem other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTargetItem.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTargetItem.cs.meta
new file mode 100644
index 0000000000..883a60b911
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTargetItem.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 5d398d1de827b4c00a343b156823daab
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs
new file mode 100644
index 0000000000..8640b0f0f8
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrTaskDice : EC_IvtrItem
+ {
+ public EC_IvtrTaskDice(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrTaskDice(EC_IvtrTaskDice other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs.meta
new file mode 100644
index 0000000000..3f9092596f
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskDice.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: fbb2d62b01d4147cfa0ab3a7b7dac6aa
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskNmMatter.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskNmMatter.cs
new file mode 100644
index 0000000000..beacce0272
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskNmMatter.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrTaskNmMatter : EC_IvtrItem
+ {
+ public EC_IvtrTaskNmMatter(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrTaskNmMatter(EC_IvtrTaskNmMatter other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskNmMatter.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskNmMatter.cs.meta
new file mode 100644
index 0000000000..72e0db075c
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskNmMatter.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 60f885de6744b42d6845b850338569e0
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskmatter.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskmatter.cs
new file mode 100644
index 0000000000..4a47bd6643
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskmatter.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrTaskmatter : EC_IvtrItem
+ {
+ public EC_IvtrTaskmatter(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrTaskmatter(EC_IvtrTaskmatter other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskmatter.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskmatter.cs.meta
new file mode 100644
index 0000000000..a1f695d266
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTaskmatter.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: ee5181c9a0786409fb452d21d947eab7
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTossMat.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTossMat.cs
new file mode 100644
index 0000000000..3d2f7480c3
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTossMat.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrTossMat : EC_IvtrItem
+ {
+ public EC_IvtrTossMat(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrTossMat(EC_IvtrTossMat other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTossMat.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTossMat.cs.meta
new file mode 100644
index 0000000000..5465cc5143
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTossMat.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: d0862d72a75a24b049b47750d294ceb9
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTownscroll.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTownscroll.cs
new file mode 100644
index 0000000000..8067c0d98e
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTownscroll.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrTownscroll : EC_IvtrItem
+ {
+ public EC_IvtrTownscroll(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrTownscroll(EC_IvtrTownscroll other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTownscroll.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTownscroll.cs.meta
new file mode 100644
index 0000000000..fb8bf7f071
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTownscroll.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: c230794db6d284141bc37798ecdc3a19
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTransmitScroll.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTransmitScroll.cs
new file mode 100644
index 0000000000..1d06d9a69f
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTransmitScroll.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrTransmitScroll : EC_IvtrItem
+ {
+ public EC_IvtrTransmitScroll(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrTransmitScroll(EC_IvtrTransmitScroll other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTransmitScroll.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTransmitScroll.cs.meta
new file mode 100644
index 0000000000..f1acff0994
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrTransmitScroll.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: bf880e0f7632c4c5aa8f6121e4bc6ce8
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs
similarity index 89%
rename from Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs
rename to Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs
index d95633329b..9b8c404d10 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs
@@ -93,17 +93,28 @@ namespace BrewMonster.Scripts.Managers
// int iWeaponReqLow;
// int iWeaponReqHigh;
};
-
public struct IVTR_ESSENCE_DECORATION
{
- // TODO : implement data later
- // int damage;
- // int magic_damage;
- // int defense;
- // int armor;
- // int resistance[NUM_MAGICCLASS];
+ int damage;
+ int magic_damage;
+ int defense;
+ int armor;
+ int[] resistance;
+ public IVTR_ESSENCE_DECORATION(byte[] data)
+ {
+ Debug.Log("IVTR_ESSENCE_DECORATION: data.Length: " + data.Length);
+ CECDataReader dr = new (data, data.Length);
+ damage = dr.ReadInt();
+ magic_damage = dr.ReadInt();
+ defense = dr.ReadInt();
+ armor = dr.ReadInt();
+ resistance = new int[InventoryConst.NUM_MAGICCLASS];
+ for(int i = 0; i < InventoryConst.NUM_MAGICCLASS; i++)
+ {
+ resistance[i] = dr.ReadInt();
+ }
+ }
};
-
public struct IVTR_ESSENCE_ARMOR
{
// TODO : implement data later
@@ -127,7 +138,6 @@ namespace BrewMonster.Scripts.Managers
}
}
};
-
public struct IVTR_ESSENCE_FASHION
{
// TODO : implement data later
@@ -135,7 +145,6 @@ namespace BrewMonster.Scripts.Managers
// unsigned short color;
// unsigned short gender;
};
-
public struct IVTR_ESSENCE_FLYSWORD
{
// TODO : implement data later
@@ -149,7 +158,6 @@ namespace BrewMonster.Scripts.Managers
// float speed_increase;
// float speed_increase2;
};
-
public struct IVTR_ESSENCE_WING
{
// TODO : implement data later
@@ -158,21 +166,18 @@ namespace BrewMonster.Scripts.Managers
// size_t mp_per_second;
// float speed_increase;
};
-
public struct IVTR_ESSENCE_AUTOHP
{
// TODO : implement data later
// int hp_left;
// float trigger;
};
-
public struct IVTR_ESSENCE_AUTOMP
{
// TODO : implement data later
// int mp_left;
// float trigger;
};
-
public struct IVTR_ESSENCE_PETEGG
{
// TODO : implement data later
@@ -191,13 +196,11 @@ namespace BrewMonster.Scripts.Managers
// unsigned short skill_count;
// wchar_t name[8];
};
-
public struct IVTR_ESSENCE_DESTROYING
{
// TODO : implement data later
// int tid;
};
-
public struct IVTR_ESSENCE_GOBLIN
{
struct _GOBLIN_DATA
@@ -222,7 +225,6 @@ namespace BrewMonster.Scripts.Managers
// int equip_cnt;
// int skill_cnt;
};
-
public struct IVTR_ESSENCE_WEDDING_BOOKCARD
{
// TODO : implement data later
@@ -230,7 +232,6 @@ namespace BrewMonster.Scripts.Managers
// int month;
// int day;
};
-
public struct IVTR_ESSENCE_WEDDING_INVITECARD
{
// TODO : implement data later
@@ -241,7 +242,6 @@ namespace BrewMonster.Scripts.Managers
// int scene;
// int invitee;
};
-
public struct IVTR_ESSENCE_FORCE_TOKEN
{
// TODO : implement data later
@@ -249,7 +249,6 @@ namespace BrewMonster.Scripts.Managers
// int repu_total;
// int repu_inc_ratio;
};
-
public struct IVTR_ESSENCE_MONSTERSPIRIT
{
// TODO : implement data later
@@ -257,7 +256,6 @@ namespace BrewMonster.Scripts.Managers
// int type;
// int power;
};
-
public struct IVTR_ESSENCE_GENERALCARD
{
// TODO : implement data later
@@ -271,10 +269,51 @@ namespace BrewMonster.Scripts.Managers
// int rebirth_times;
};
#pragma pack()
+
#endregion
public static class EC_IvtrType
{
-
+ #region Equipment Mask 64 Bit Constants
+ public const long EQUIP_MASK64_WEAPON = 0x0000000000000001;
+ public const long EQUIP_MASK64_HEAD = 0x0000000000000002;
+ public const long EQUIP_MASK64_NECK = 0x0000000000000004;
+ public const long EQUIP_MASK64_SHOULDER = 0x0000000000000008;
+ public const long EQUIP_MASK64_BODY = 0x0000000000000010;
+ public const long EQUIP_MASK64_WAIST = 0x0000000000000020;
+ public const long EQUIP_MASK64_LEG = 0x0000000000000040;
+ public const long EQUIP_MASK64_FOOT = 0x0000000000000080;
+ public const long EQUIP_MASK64_WRIST = 0x0000000000000100;
+ public const long EQUIP_MASK64_FINGER1 = 0x0000000000000200;
+ public const long EQUIP_MASK64_FINGER2 = 0x0000000000000400;
+ public const long EQUIP_MASK64_PROJECTILE = 0x0000000000000800;
+ public const long EQUIP_MASK64_FLYSWORD = 0x0000000000001000;
+ public const long EQUIP_MASK64_FASHION_BODY = 0x0000000000002000;
+ public const long EQUIP_MASK64_FASHION_LEG = 0x0000000000004000;
+ public const long EQUIP_MASK64_FASHION_FOOT = 0x0000000000008000;
+ public const long EQUIP_MASK64_FASHION_WRIST = 0x0000000000010000;
+ public const long EQUIP_MASK64_RUNE = 0x0000000000020000;
+ public const long EQUIP_MASK64_BIBLE = 0x0000000000040000;
+ public const long EQUIP_MASK64_SPEAKER = 0x0000000000080000;
+ public const long EQUIP_MASK64_AUTOHP = 0x0000000000100000;
+ public const long EQUIP_MASK64_AUTOMP = 0x0000000000200000;
+ public const long EQUIP_MASK64_POCKET = 0x0000000000400000;
+ public const long EQUIP_MASK64_GOBLIN = 0x0000000000800000;
+ public const long EQUIP_MASK64_CERTIFICATE = 0x0000000001000000;
+ public const long EQUIP_MASK64_FASHION_HEAD = 0x0000000002000000;
+ public const long EQUIP_MASK64_FORCE_TICKET = 0x0000000004000000;
+ public const long EQUIP_MASK64_DYNSKILLEQUIP1 = 0x0000000008000000;
+ public const long EQUIP_MASK64_DYNSKILLEQUIP2 = 0x0000000010000000;
+ public const long EQUIP_MASK64_FASHION_WEAPON = 0x0000000020000000;
+ public const long EQUIP_MASK64_USED1 = 0x0000000040000000;
+ public const long EQUIP_MASK64_USED2 = 0x0000000080000000;
+ public const long EQUIP_MASK64_GENERALCARD1 = 0x0000000100000000;
+ public const long EQUIP_MASK64_GENERALCARD2 = 0x0000000200000000;
+ public const long EQUIP_MASK64_GENERALCARD3 = 0x0000000400000000;
+ public const long EQUIP_MASK64_GENERALCARD4 = 0x0000000800000000;
+ public const long EQUIP_MASK64_GENERALCARD5 = 0x0000001000000000;
+ public const long EQUIP_MASK64_GENERALCARD6 = 0x0000002000000000;
+ public const long EQUIP_MASK64_ALL = 0x0000003f3fffffff;
+ #endregion
public static byte GetEquipLocationForItem(int templateId)
{
try
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs.meta
new file mode 100644
index 0000000000..f3b1b3f25d
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrType.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 0d6b0a75085cc42469ae53d5f9a73deb
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnionscroll.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnionscroll.cs
new file mode 100644
index 0000000000..bfbd189bc8
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnionscroll.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrUnionscroll : EC_IvtrItem
+ {
+ public EC_IvtrUnionscroll(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrUnionscroll(EC_IvtrUnionscroll other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnionscroll.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnionscroll.cs.meta
new file mode 100644
index 0000000000..db55422520
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnionscroll.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 32a4322d6b8154a7a916851714b261bc
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUniversalToken.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUniversalToken.cs
new file mode 100644
index 0000000000..b92d7dc6d9
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUniversalToken.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrUniversalToken : EC_IvtrItem
+ {
+ public EC_IvtrUniversalToken(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrUniversalToken(EC_IvtrUniversalToken other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUniversalToken.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUniversalToken.cs.meta
new file mode 100644
index 0000000000..09897c9502
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUniversalToken.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 339e47e7d10564c33ba1c024da3560e8
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnknown.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnknown.cs
new file mode 100644
index 0000000000..9a11faf95d
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnknown.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrUnknown : EC_IvtrItem
+ {
+ public EC_IvtrUnknown(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrUnknown(EC_IvtrUnknown other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnknown.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnknown.cs.meta
new file mode 100644
index 0000000000..39c294cdae
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrUnknown.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: aa277165d27084e1f88617516f495697
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWarTankCallin.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWarTankCallin.cs
new file mode 100644
index 0000000000..b64255cb43
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWarTankCallin.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrWarTankCallin : EC_IvtrItem
+ {
+ public EC_IvtrWarTankCallin(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrWarTankCallin(EC_IvtrWarTankCallin other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWarTankCallin.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWarTankCallin.cs.meta
new file mode 100644
index 0000000000..22a4b23913
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWarTankCallin.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: b61a51beb0c3e4e7f936069474a9549d
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrWeapon.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs
similarity index 99%
rename from Assets/PerfectWorld/Scripts/Managers/EC_IvtrWeapon.cs
rename to Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs
index 6613a03129..e790fb4139 100644
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrWeapon.cs
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs
@@ -77,7 +77,7 @@ namespace PerfectWorld.Scripts.Managers
public EC_IvtrWeapon(int tid, int expire_date) : base(tid, expire_date)
{
- m_iCID = ICID_WEAPON;
+ m_iCID = (int)InventoryClassId.ICID_WEAPON;
elementdataman pDB = ElementDataManProvider.GetElementDataMan();
DATA_TYPE DataType = DATA_TYPE.DT_INVALID;
m_pDBEssence = (WEAPON_ESSENCE)pDB.get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
@@ -86,7 +86,7 @@ namespace PerfectWorld.Scripts.Managers
m_iPileLimit = m_pDBEssence.pile_num_max;
m_iPrice = m_pDBEssence.price;
m_iShopPrice = m_pDBEssence.shop_price;
- m_i64EquipMask = EC_IvtrEquip.ICID_WEAPON;
+ m_i64EquipMask = (long)EC_IvtrType.EQUIP_MASK64_WEAPON;
m_iProcType = (int)m_pDBEssence.proc_type;
FixProps = m_pDBEssence.fixed_props;
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs.meta
new file mode 100644
index 0000000000..60ddf96e84
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeapon.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 1cf2e151fb8e443f7a7bbae40715b41b
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingBookCard.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingBookCard.cs
new file mode 100644
index 0000000000..3830a3dc63
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingBookCard.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrWeddingBookCard : EC_IvtrEquip
+ {
+ public EC_IvtrWeddingBookCard(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrWeddingBookCard(EC_IvtrWeddingBookCard other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingBookCard.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingBookCard.cs.meta
new file mode 100644
index 0000000000..f28abbbcfa
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingBookCard.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 666c3ae30ba534a02992c0427e5a0e6a
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingInviteCard.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingInviteCard.cs
new file mode 100644
index 0000000000..df35857e6e
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingInviteCard.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrWeddingInviteCard : EC_IvtrEquip
+ {
+ public EC_IvtrWeddingInviteCard(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrWeddingInviteCard(EC_IvtrWeddingInviteCard other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingInviteCard.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingInviteCard.cs.meta
new file mode 100644
index 0000000000..5c4612c4ec
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWeddingInviteCard.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 58cbf5818304d4f98a1e7361ced6f2c7
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWing.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWing.cs
new file mode 100644
index 0000000000..a5569ff068
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWing.cs
@@ -0,0 +1,15 @@
+using BrewMonster.Scripts.Managers;
+namespace PerfectWorld.Scripts.Managers
+{
+ public class EC_IvtrWing : EC_IvtrEquip
+ {
+ public EC_IvtrWing(int tid, int expire_date) : base(tid, expire_date)
+ {
+ }
+
+ public EC_IvtrWing(EC_IvtrWing other) : base(other)
+ {
+ }
+ }
+}
+
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWing.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWing.cs.meta
new file mode 100644
index 0000000000..36cc95f281
--- /dev/null
+++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrWing.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 7f778acb7758b46a4bb1585e72478993
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs.meta
deleted file mode 100644
index 23d9a53190..0000000000
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 5e2d99e48520e824c9a27badd6c75625
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrWeapon.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrWeapon.cs.meta
deleted file mode 100644
index 0d5674d09d..0000000000
--- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrWeapon.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 6a4959477dd834d3089fcc85d831669a
\ No newline at end of file
diff --git a/Assets/PerfectWorld/Scripts/UI/DlgAward/CDlgAward.cs b/Assets/PerfectWorld/Scripts/UI/DlgAward/CDlgAward.cs
index 72596fd1eb..a463850533 100644
--- a/Assets/PerfectWorld/Scripts/UI/DlgAward/CDlgAward.cs
+++ b/Assets/PerfectWorld/Scripts/UI/DlgAward/CDlgAward.cs
@@ -161,7 +161,7 @@ namespace BrewMonster.Scripts.UI
var sprite = EC_IvtrItemUtils.Instance.ResolveItemIconSprite(pItem.m_tid);
pImage.SetImage(sprite);
- EC_IvtrEquip pEquip = new EC_IvtrEquip(pItem.m_tid, pItem.m_expire_date);
+ EC_IvtrEquip pEquip = (EC_IvtrEquip)EC_IvtrItem.CreateItem(pItem.m_tid, pItem.m_expire_date, pItem.m_iCount);
pImage.SetColor(
(pItem.IsEquipment() && pEquip.IsDestroying())
? new Color32(128, 128, 128, 255)
diff --git a/Assets/PerfectWorld/Scripts/UI/NPCShopDetailPanel.cs b/Assets/PerfectWorld/Scripts/UI/NPCShopDetailPanel.cs
index 1f0c0e00b6..80e2d2c712 100644
--- a/Assets/PerfectWorld/Scripts/UI/NPCShopDetailPanel.cs
+++ b/Assets/PerfectWorld/Scripts/UI/NPCShopDetailPanel.cs
@@ -122,7 +122,7 @@ public class NPCShopDetailPanel : MonoBehaviour
try
{
// Create EC_IvtrEquip for equipment items - this will work for weapons and armor
- EC_IvtrEquip equipment = new EC_IvtrEquip(itemId, 0);
+ EC_IvtrEquip equipment = (EC_IvtrEquip)EC_IvtrItem.CreateItem(itemId, 0, 1);
// For NPC shop items, we typically have static data only
// Try to get description using GetNormalDesc() which works with base stats
diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs
index 33e4fbe41a..dc0bb6eee5 100644
--- a/Assets/Scripts/CECHostPlayer.cs
+++ b/Assets/Scripts/CECHostPlayer.cs
@@ -1896,18 +1896,7 @@ namespace BrewMonster
uint slot_amount = BitConverter.ToUInt32(data, 12);
byte where = data[16]; // Package index
byte index = data[17]; // Slot index in that package
- // Create new inventory item data
- var newItem = new EC_IvtrItem
- {
- Package = where,
- Slot = index,
- m_tid = type,
- m_expire_date = expire_date,
- State = 0,
- m_iCount = (int)amount,
- Crc = 0,
- Content = null
- };
+ var newItem = EC_IvtrItem.CreateItem(type, expire_date, (int)amount);
// Add item to inventory
var ivt = GetInventory(where);
@@ -1951,17 +1940,7 @@ namespace BrewMonster
}
// Create new inventory item data
- var newItem = new EC_IvtrItem
- {
- Package = byPackage,
- Slot = bySlot,
- m_tid = tid,
- m_expire_date = expire_date,
- State = 0,
- m_iCount = (int)iAmount,
- Crc = 0,
- Content = null
- };
+ var newItem = EC_IvtrItem.CreateItem(tid, expire_date, (int)iAmount);
// Add item to inventory
var ivt = GetInventory(byPackage);
@@ -1998,17 +1977,7 @@ namespace BrewMonster
// Create new inventory item data
- var taskNewItem = new EC_IvtrItem
- {
- Package = (byte)iPack,
- Slot = iCmdLastSlot,
- m_tid = idItem,
- m_expire_date = iExpireDate,
- State = 0,
- m_iCount = (int)iAmount,
- Crc = 0,
- Content = null
- };
+ var taskNewItem = EC_IvtrItem.CreateItem(idItem, iExpireDate, (int)iAmount);
// Add item to inventory
var task_ivt = GetInventory((byte)iPack);
@@ -2041,17 +2010,7 @@ namespace BrewMonster
byte produceSlot = produceCmd.index;
// Create new inventory item data
- var produceNewItem = new EC_IvtrItem
- {
- Package = producePack,
- Slot = produceSlot,
- m_tid = produceItemId,
- m_expire_date = produceExpireDate,
- State = 0,
- m_iCount = (int)produceAmount,
- Crc = 0,
- Content = null
- };
+ var produceNewItem = EC_IvtrItem.CreateItem(produceItemId, produceExpireDate, (int)produceAmount);
// Add item to inventory
var produce_ivt = GetInventory(producePack);
@@ -6568,7 +6527,6 @@ namespace BrewMonster
int i, iItemCnt = 0;
for(i = 0; i < m_pEquipPack.GetSize(); i++)
{
- Debug.Log("[THN] GetEquippedSuiteItem: pItem: " + m_pEquipPack.GetItem(i));
var pItem = m_pEquipPack.GetItem(i);
if(pItem == null || (pItem is not EC_IvtrWeapon && pItem is not EC_IvtrArmor))
{
@@ -6577,19 +6535,15 @@ namespace BrewMonster
EC_IvtrEquip pEquip = (EC_IvtrEquip)pItem;
if (pEquip == null)
{
- Debug.Log("[THN] GetEquippedSuiteItem: pEquip == null");
continue;
}
if(pEquip.GetSuiteID() != idSuite)
{
- Debug.Log("[THN] GetEquippedSuiteItem: pEquip.GetSuiteID() != idSuite " + " pEquip.GetTemplateID() " + pEquip.GetTemplateID() + " idSuite " + idSuite);
- continue;
+ continue;
}
int iReason = 0;
if(!CanUseEquipment(pEquip, ref iReason))
{
- Debug.Log("[THN] GetEquippedSuiteItem: CanUseEquipment(pEquip, ref iReason) == false");
- Debug.Log("[THN] GetEquippedSuiteItem: iReason: " + iReason);
continue;
}
if(pEquip.CID == (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_GENERALCARD)
@@ -6598,7 +6552,6 @@ namespace BrewMonster
}
if(aItems.Length > 0)
{
- Debug.Log("[THN] GetEquippedSuiteItem: aItems.Length > 0");
aItems[iItemCnt] = pEquip.GetTemplateID();
}
iItemCnt++;