#pragma once #include "DnBaseRoomDlg.h" // todo by kalliste : SMatchListInfo ³» CDnBaseRoomDlg::SlotState µµ ÀÌÂÊÀ¸·Î »¬ °Í. enum eCharmItemSystemMsgType { eTYPE_NORMAL, eTYPE_TREASURE, }; namespace PvPTournamentUIDef { enum eMatchModeByCount { eMODE_4, eMODE_8, eMODE_16, eMODE_32, eMODE_ONLYBYGM = eMODE_32, eMODE_MAX, }; enum eConstance { INVALID_MEMBERCOUNT = -1, MAX_MATCH_MEMBERCOUNT = 32, MAX_MATCH_SIDE_COUNT = (MAX_MATCH_MEMBERCOUNT / 2), MAX_WINNERS_FOR_FINAL_RESULT_DLG = 4, LOSERS_FIRST_RANK = 4, }; enum ePVPTournamentError { ePTERR_NONE = 0, ePTERR_CANT_KICK_SELF = 20000, ePTERR_CANT_KICK_NO_SELECT, ePTERR_CANT_CHANGEMASTER_SELF, ePTERR_CANT_CHANGEMASTER_NO_SELECT, }; enum eUserState { Normal_S = 0, MINE_S = 1, KILLED_S = 2, }; enum eMedalIconSize { PVP_MEDAL_ICON_XSIZE = 23, PVP_MEDAL_ICON_YSIZE = 23, }; struct SBasicRoomInfo { UINT uiMapIndex; UINT uiGameModeID; UINT uiRoomState; UINT uiWinCondition; UINT uiRoomIndex; int nEventRoomID; BYTE cMaxLevel; BYTE cMinLevel; BYTE cMaxPlayerNum; bool bBreakIntoFlag; bool bDropItem; bool bRandomTeam; bool bShowHp; bool bRevision; std::wstring roomName; #ifdef PRE_WORLDCOMBINE_PVP int nWorldPvPRoomType; #endif // PRE_WORLDCOMBINE_PVP #ifdef PRE_PVP_GAMBLEROOM BYTE cGambleType; int nGamblePrice; #endif // PRE_PVP_GAMBLEROOM void Reset(); void Set(const PvPCommon::RoomInfo& info); }; struct SMatchUserInfo { int commonIndex; int matchListUIIndex; CDnBaseRoomDlg::SlotState slotState; int nJobID; BYTE cLevel; BYTE cPVPLevel; UINT uiUserState; UINT uiSessionID; bool bIsNeedUpdate; bool bShow; std::wstring playerName; #if defined( PRE_ADD_REVENGE ) UINT uiRevengeUserID; #endif // #if defined( PRE_ADD_REVENGE ) SMatchUserInfo(); bool IsEmpty() const { return (matchListUIIndex == -1); } }; struct SGameMatchUserInfo { bool bCurrentMatchUser; int step; bool bWin; std::wstring charName; int jobId; UINT sessionId; SGameMatchUserInfo(); }; struct SFinalReportUserInfo { int nSessionID; int nLevel; int nState; byte cJobClassID; byte cPVPlevel; std::wstring wszUserName; TGuildSelfView GuildSelfView; #ifdef PRE_ADD_IMPROVE_MASTER_OBSERVER DnActorHandle hActor; #endif UINT uiKOCount; // ų UINT uiKObyCount; // µ¥½º UINT uiKOP; // °ÝÆÄÁ¡¼öÀεí. UINT uiAssistP; // ¾î½Ã Á¡¼ö UINT uiTotalScore; // Àüü ÇÕ»ê UINT uiXP; // °æÇèÄ¡ UINT uiTotalXP; UINT uiMedal; // ¸Þ´Þ °³¼ö UINT uiBossKOCount; // µ¥½º #if defined( PRE_ADD_REVENGE ) UINT eRevengeUser; #endif // #if defined( PRE_ADD_REVENGE ) int tournamentStep; int winnersRank; SFinalReportUserInfo(); }; } namespace StorageUIDef { enum eStorageTabType { eTAB_PLAYER = 1, eTAB_GUILD, eTAB_WORLDSERVER_NORMAL, eTAB_WORLDSERVER_CASH, eTAB_MAX, }; enum eCommon { eChargeCoinItemID = 1073764750, }; enum eError { eERR_NONE = 0, eERR_NOETERNITY = 4082, eERR_BELONG = 3836, eERR_NODRAG = 1632, eERR_SERVERWARE = 1616, }; } namespace PvPRankInfoUIDef { enum eCommon { eMAX_REWARD_ITEM_COUNT = 2, eMIN_PVPRANK_SHOPID = 5501, // temp by kalliste : ÀÌ·± ¹æ½ÄÀÌ ¹Ù¶÷Á÷ÇÏÁö ¾ÊÁö¸¸ Äݷμ¼¿ò ¿¤¸®Æ® »óÁ¡À» ±¸ºÐÇÒ ¼ö Àִ ŸÀÔÀ» µû·Î ¼³Á¤Çϱ⠾ָÅÇØ¼­ ÀÏ´ÜÀº ÀÌ·¸°Ô Àû¿ëÇÑ´Ù. ÃßÈÄ ¼öÁ¤ ÇÊ¿ä. eMAX_PVPRANK_SHOPID = 5506 }; struct SRankRewardItemUnit { ITEMCLSID id; int count; SRankRewardItemUnit() { id = ITEMCLSID_NONE; count = 0; } }; struct SRankUnit { int level; DWORD lineColor; std::wstring name; int needExp; std::vector rewards; SRankUnit() { level = 0; needExp = -1; lineColor = 0; } void Clear() { level = 0; name.clear(); rewards.clear(); needExp = -1; lineColor = 0; } }; }