From 7c86b64dc39296812dd532be964783bd78b31f72 Mon Sep 17 00:00:00 2001 From: rtw1x1 Date: Sun, 28 Sep 2025 20:23:22 +0100 Subject: [PATCH] Let CItemData handle equipment slot instead of keeping track of indexes every time. --- src/UserInterface/GameType.h | 44 +++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/src/UserInterface/GameType.h b/src/UserInterface/GameType.h index 624a3a1..fc6b437 100644 --- a/src/UserInterface/GameType.h +++ b/src/UserInterface/GameType.h @@ -44,17 +44,17 @@ const DWORD c_Equipment_Count = 12; const DWORD c_Equipment_Start = c_ItemSlot_Count; -const DWORD c_Equipment_Body = c_Equipment_Start + 0; -const DWORD c_Equipment_Head = c_Equipment_Start + 1; -const DWORD c_Equipment_Shoes = c_Equipment_Start + 2; -const DWORD c_Equipment_Wrist = c_Equipment_Start + 3; -const DWORD c_Equipment_Weapon = c_Equipment_Start + 4; -const DWORD c_Equipment_Neck = c_Equipment_Start + 5; -const DWORD c_Equipment_Ear = c_Equipment_Start + 6; -const DWORD c_Equipment_Unique1 = c_Equipment_Start + 7; -const DWORD c_Equipment_Unique2 = c_Equipment_Start + 8; -const DWORD c_Equipment_Arrow = c_Equipment_Start + 9; -const DWORD c_Equipment_Shield = c_Equipment_Start + 10; +const DWORD c_Equipment_Body = c_Equipment_Start + CItemData::WEAR_BODY; +const DWORD c_Equipment_Head = c_Equipment_Start + CItemData::WEAR_HEAD; +const DWORD c_Equipment_Shoes = c_Equipment_Start + CItemData::WEAR_FOOTS; +const DWORD c_Equipment_Wrist = c_Equipment_Start + CItemData::WEAR_WRIST; +const DWORD c_Equipment_Weapon = c_Equipment_Start + CItemData::WEAR_WEAPON; +const DWORD c_Equipment_Neck = c_Equipment_Start + CItemData::WEAR_NECK; +const DWORD c_Equipment_Ear = c_Equipment_Start + CItemData::WEAR_EAR; +const DWORD c_Equipment_Unique1 = c_Equipment_Start + CItemData::WEAR_UNIQUE1; +const DWORD c_Equipment_Unique2 = c_Equipment_Start + CItemData::WEAR_UNIQUE2; +const DWORD c_Equipment_Arrow = c_Equipment_Start + CItemData::WEAR_ARROW; +const DWORD c_Equipment_Shield = c_Equipment_Start + CItemData::WEAR_SHIELD; // 새로 추가된 신규 반지 & 벨트 // 장착형 아이템에 할당할 수 있는 위치가 기존 장비, 채기랍 퀘스트 보상, 코스튬 시스템 등으로 인해서 공간이 잘려있다. @@ -63,11 +63,12 @@ const DWORD c_Equipment_Shield = c_Equipment_Start + 10; // 정리하면, 기존 장비창들은 서버DB상 아이템 포지션이 90 ~ 102 이고, // 2013년 초에 새로 추가되는 슬롯들은 111 ~ 부터 시작한다. 착용 장비에서 최대로 사용할 수 있는 값은 121 까지이고, 122부터는 용혼석에서 사용한다. #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM - const DWORD c_New_Equipment_Start = c_Equipment_Start + 21; - const DWORD c_New_Equipment_Count = 3; - const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 0; - const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 1; - const DWORD c_Equipment_Belt = c_New_Equipment_Start + 2;; + const DWORD c_New_Equipment_Start = c_Equipment_Start + CItemData::WEAR_RING1; + const DWORD c_New_Equipment_Count = CItemData::WEAR_MAX_NUM - CItemData::WEAR_RING1; + + const DWORD c_Equipment_Ring1 = c_Equipment_Start + CItemData::WEAR_RING1; + const DWORD c_Equipment_Ring2 = c_Equipment_Start + CItemData::WEAR_RING2; + const DWORD c_Equipment_Belt = c_Equipment_Start + CItemData::WEAR_BELT; #endif enum EDragonSoulDeckType @@ -99,11 +100,12 @@ enum EDragonSoulStepTypes }; #ifdef ENABLE_COSTUME_SYSTEM - const DWORD c_Costume_Slot_Start = c_Equipment_Start + 19; // [주의] 숫자(19) 하드코딩 주의. 현재 서버에서 코스츔 슬롯은 19부터임. 서버 common/length.h 파일의 EWearPositions 열거형 참고. - const DWORD c_Costume_Slot_Body = c_Costume_Slot_Start + 0; - const DWORD c_Costume_Slot_Hair = c_Costume_Slot_Start + 1; - const DWORD c_Costume_Slot_Count = 2; - const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count; + const DWORD c_Costume_Slot_Start = c_Equipment_Start + CItemData::WEAR_COSTUME_BODY; + const DWORD c_Costume_Slot_Body = c_Costume_Slot_Start + CItemData::COSTUME_BODY; + const DWORD c_Costume_Slot_Hair = c_Costume_Slot_Start + CItemData::COSTUME_HAIR; + + const DWORD c_Costume_Slot_Count = CItemData::COSTUME_NUM_TYPES; + const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count; #endif