Merge pull request #26 from rtw1x1/main

QoL Equipment slots
This commit is contained in:
d1str4ught
2025-11-13 18:54:08 +01:00
committed by GitHub
2 changed files with 54 additions and 31 deletions

View File

@@ -236,21 +236,42 @@ class CItemData
WEAR_UNIQUE2, // 8
WEAR_ARROW, // 9
WEAR_SHIELD, // 10
WEAR_ABILITY1, //11
WEAR_ABILITY2, //12
WEAR_ABILITY3, //13
WEAR_ABILITY4, //14
WEAR_ABILITY5, //15
WEAR_ABILITY6, //16
WEAR_ABILITY7, //17
WEAR_ABILITY8, //18
WEAR_COSTUME_BODY, //19
WEAR_COSTUME_HAIR, //20
WEAR_RING1, //21
WEAR_RING2, //22
WEAR_BELT, //23
WEAR_MAX_NUM,
};
enum EItemWearableFlag
{
WEARABLE_BODY = (1 << 0),
WEARABLE_HEAD = (1 << 1),
WEARABLE_FOOTS = (1 << 2),
WEARABLE_WRIST = (1 << 3),
WEARABLE_WEAPON = (1 << 4),
WEARABLE_NECK = (1 << 5),
WEARABLE_EAR = (1 << 6),
WEARABLE_UNIQUE = (1 << 7),
WEARABLE_SHIELD = (1 << 8),
WEARABLE_ARROW = (1 << 9),
WEARABLE_BODY = (1 << 0),
WEARABLE_HEAD = (1 << 1),
WEARABLE_FOOTS = (1 << 2),
WEARABLE_WRIST = (1 << 3),
WEARABLE_WEAPON = (1 << 4),
WEARABLE_NECK = (1 << 5),
WEARABLE_EAR = (1 << 6),
WEARABLE_UNIQUE = (1 << 7),
WEARABLE_SHIELD = (1 << 8),
WEARABLE_ARROW = (1 << 9),
WEARABLE_HAIR = (1 << 10),
WEARABLE_ABILITY = (1 << 11),
WEARABLE_COSTUME_BODY = (1 << 12),
WEARABLE_COSTUME_HAIR = (1 << 13),
WEARABLE_BELT = (1 << 14),
};
enum EApplyTypes

View File

@@ -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