360 lines
9.1 KiB
C
360 lines
9.1 KiB
C
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "DNCommonDef.h"
|
|||
|
|
#include "../../GameCommon/DNNotifierCommon.h"
|
|||
|
|
|
|||
|
|
/* -----------------------------------------------------------------------------
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD> DB<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> Ŭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>˾Ƽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>~
|
|||
|
|
----------------------------------------------------------------------------- */
|
|||
|
|
|
|||
|
|
#pragma pack(push, 1)
|
|||
|
|
|
|||
|
|
struct TQuickSlot
|
|||
|
|
{
|
|||
|
|
BYTE cType; // eQuickSlotType<70><65><EFBFBD><EFBFBD>
|
|||
|
|
INT64 nID;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#if !defined(PRE_DELETE_DUNGEONCLEAR)
|
|||
|
|
struct TDungeonClearData
|
|||
|
|
{
|
|||
|
|
int nMapIndex; // <20>ʾ<EFBFBD><CABE>̵<EFBFBD>
|
|||
|
|
char cType; // Ŭ<><C5AC><EFBFBD><EFBFBD> Ÿ<><C5B8>? (eDungeonClearType)
|
|||
|
|
};
|
|||
|
|
#endif // #if defined(PRE_DELETE_DUNGEONCLEAR)
|
|||
|
|
|
|||
|
|
struct TNestClearData
|
|||
|
|
{
|
|||
|
|
int nMapIndex;
|
|||
|
|
char cClearCount;
|
|||
|
|
char cPCBangClearCount;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TCharacterStatus
|
|||
|
|
{
|
|||
|
|
__time64_t tLastFatigueDate;
|
|||
|
|
__time64_t tLastEventFatigueDate;
|
|||
|
|
__time64_t tLastRebirthCoinDate;
|
|||
|
|
__time64_t tLastConnectDate;
|
|||
|
|
__time64_t tLastTimeEventDate;
|
|||
|
|
__time64_t tLastPeriodQuestDate[PERIODQUEST_RESET_MAX];
|
|||
|
|
|
|||
|
|
char cAccountLevel; // <20><EFBFBD><EEBFB5>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WCHAR wszCharacterName[NAMELENMAX]; // ij<><C4B3><EFBFBD><EFBFBD>
|
|||
|
|
char cClass; // Ŭ<><C5AC><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>ó, <20>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>, Ŭ<><C5AC><EFBFBD><EFBFBD>)
|
|||
|
|
|
|||
|
|
bool IsCheckFirstVillage; // ij<><C4B3> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD> üũ
|
|||
|
|
|
|||
|
|
int nDefaultBody; // ó<><C3B3> <20><><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> equip (EQUIP_BODY, EQUIP_LEG, EQUIP_HAND, EQUIP_FOOT)
|
|||
|
|
int nDefaultLeg;
|
|||
|
|
int nDefaultHand;
|
|||
|
|
int nDefaultFoot;
|
|||
|
|
|
|||
|
|
BYTE cLevel; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
int nExp; // <20><><EFBFBD><EFBFBD>ġ
|
|||
|
|
BYTE cJob; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
DWORD dwHairColor; // <20>Ӹ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwEyeColor; // <20><> <20><><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwSkinColor; // <20>Ǻ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
int nMapIndex; // <20><><EFBFBD><EFBFBD> <20>ʹ<EFBFBD>ȣ
|
|||
|
|
int nLastVillageMapIndex; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʹ<EFBFBD>ȣ
|
|||
|
|
int nLastSubVillageMapIndex; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Sub<75><62><EFBFBD><EFBFBD> <20>ʹ<EFBFBD>ȣ
|
|||
|
|
char cLastVillageGateNo; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><>ȣ
|
|||
|
|
int nPosX; // <20><><EFBFBD><EFBFBD> X<><58>ǥ
|
|||
|
|
int nPosY; // <20><><EFBFBD><EFBFBD> Y<><59>ǥ
|
|||
|
|
int nPosZ; // <20><><EFBFBD><EFBFBD> Z<><5A>ǥ
|
|||
|
|
float fRotate; // Rotate
|
|||
|
|
|
|||
|
|
INT64 nCoin; // <20><>
|
|||
|
|
INT64 nWarehouseCoin; // â<><C3A2><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
BYTE cRebirthCoin; // <20><><EFBFBD><EFBFBD>ī<EFBFBD><C4AB>Ʈ (Coin<69>̶<EFBFBD><CCB6><EFBFBD> <20>ٸ<EFBFBD><D9B8><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ǻ<EFBFBD><C7BB>Ƴ<EFBFBD><C6B3><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|||
|
|
BYTE cPCBangRebirthCoin; // <20>Ǿ<EFBFBD><C7BE><EFBFBD> <20><><EFBFBD><EFBFBD>ī<EFBFBD><C4AB>Ʈ (Coin<69>̶<EFBFBD><CCB6><EFBFBD> <20>ٸ<EFBFBD><D9B8><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ǻ<EFBFBD><C7BB>Ƴ<EFBFBD><C6B3><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|||
|
|
USHORT wCashRebirthCoin; // ij<><C4B3><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>ī<EFBFBD><C4AB>Ʈ (Coin<69>̶<EFBFBD><CCB6><EFBFBD> <20>ٸ<EFBFBD><D9B8><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ǻ<EFBFBD><C7BB>Ƴ<EFBFBD><C6B3><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|||
|
|
|
|||
|
|
short wFatigue; // <20>Ƿε<C7B7>
|
|||
|
|
short wWeeklyFatigue; // <20>ְ<EFBFBD><D6B0>Ƿε<C7B7>
|
|||
|
|
short wPCBangFatigue; // <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>Ƿε<C7B7>
|
|||
|
|
short wEventFatigue;
|
|||
|
|
short wVIPFatigue;
|
|||
|
|
|
|||
|
|
char cViewCashEquipBitmap[VIEWCASHEQUIPMAX_BITSIZE]; // 4 * 8 = 32<33><32>
|
|||
|
|
|
|||
|
|
BYTE cJobArray[JOBMAX]; // <20><><EFBFBD><EFBFBD> (0: <20><>ó<EFBFBD><C3B3> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>~ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|||
|
|
DNNotifier::Data NotifierData[DNNotifier::RegisterCount::Total];
|
|||
|
|
TQuickSlot QuickSlot[QUICKSLOTMAX]; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>â (10<31><30><EFBFBD><EFBFBD> 2<><32>)
|
|||
|
|
#if !defined(PRE_DELETE_DUNGEONCLEAR)
|
|||
|
|
TDungeonClearData DungeonClear[DUNGEONCLEARMAX]; // <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> (120<32><30>)
|
|||
|
|
#endif // #if !defined(PRE_DELETE_DUNGEONCLEAR)
|
|||
|
|
TNestClearData NestClear[NESTCLEARMAX]; // <20><EFBFBD>Ʈ Ŭ<><C5AC><EFBFBD><EFBFBD>
|
|||
|
|
int nDungeonClearCount; // <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> <20><>
|
|||
|
|
int nGlyphDelayTime;
|
|||
|
|
int nGlyphRemainTime;
|
|||
|
|
|
|||
|
|
short wMarketRegisterCount; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ƚ<><C8BD>
|
|||
|
|
int nMarketSellSuccess; // <20><><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> Ƚ<><C8BD>
|
|||
|
|
int nMarketSellFailure; // <20><><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> Ƚ<><C8BD>
|
|||
|
|
int nMarketRegisterTax; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int nMarketSellTax; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
int nPetal; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>Ż)
|
|||
|
|
|
|||
|
|
char cSkillPage; // <20><><EFBFBD><EFBFBD> Ȱ<><C8B0>ȭ <20>Ǿ<EFBFBD><C7BE>ִ<EFBFBD> <20><>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#if defined( PRE_PRIVATECHAT_CHANNEL )
|
|||
|
|
INT64 nPrivateChatChannel; // <20><><EFBFBD><EFBFBD> <20>ҼӵǾ<D3B5><C7BE>ִ<EFBFBD> <20>缳 ä<><C3A4> <20><>ȣ
|
|||
|
|
#endif
|
|||
|
|
#if defined( PRE_ADD_STAMPSYSTEM )
|
|||
|
|
__time64_t tLastStampDate; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ý<EFBFBD><C3BD>ۿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
|
|||
|
|
#endif // #if defined( PRE_ADD_STAMPSYSTEM )
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TDailyMission
|
|||
|
|
{
|
|||
|
|
int nMissionID;
|
|||
|
|
bool bAchieve;
|
|||
|
|
int nCounter;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TMissionGroup
|
|||
|
|
{
|
|||
|
|
int nMissionScore; // <20>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
short wLastMissionAchieve[LASTMISSIONACHIEVEMAX]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǥ<EFBFBD><EFBFBD>(?)
|
|||
|
|
|
|||
|
|
//<2F>Ʒ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><D7B5><EFBFBD> 8bit <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ʈ <20><><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> (ex <20>̼<EFBFBD> <20><><EFBFBD>۰<EFBFBD> 0 : 1000 0000 <20><> ǥ<><C7A5>, 1 <20><> 0100 0000 )
|
|||
|
|
char MissionGain[MISSIONMAX_BITSIZE]; // ȹ<>濩<EFBFBD><E6BFA9>
|
|||
|
|
char MissionAchieve[MISSIONMAX_BITSIZE]; // <20><>ǥ<EFBFBD><EFBFBD>(on/off)
|
|||
|
|
|
|||
|
|
TDailyMission DailyMission[DAILYMISSIONMAX];
|
|||
|
|
TDailyMission WeeklyMission[WEEKLYMISSIONMAX];
|
|||
|
|
TDailyMission WeekendEventMission[WEEKENDEVENTMISSIONMAX];
|
|||
|
|
TDailyMission GuildWarMission[GUILDWARMISSIONMAX];
|
|||
|
|
TDailyMission PCBangMission[PCBangMissionMax];
|
|||
|
|
TDailyMission GuildCommonMission[GUILDCOMMONMISSIONMAX];
|
|||
|
|
TDailyMission WeekendRepeatMission[WEEKENDREPEATMISSIONMAX];
|
|||
|
|
#if defined(PRE_ADD_MONTHLY_MISSION)
|
|||
|
|
TDailyMission MonthlyMission[MONTHLYMISSIONMAX];
|
|||
|
|
#endif // #if defined(PRE_ADD_MONTHLY_MISSION)
|
|||
|
|
|
|||
|
|
__time64_t tDailyMissionDate;
|
|||
|
|
__time64_t tWeeklyMissionDate;
|
|||
|
|
#if defined(PRE_ADD_MONTHLY_MISSION)
|
|||
|
|
__time64_t tMonthlyMissionDate;
|
|||
|
|
#endif // #if defined(PRE_ADD_MONTHLY_MISSION)
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TAppellationGroup
|
|||
|
|
{
|
|||
|
|
int nSelectAppellation; // <20><><EFBFBD>õ<EFBFBD> ȣĪ
|
|||
|
|
int nCoverAppellation; // Ŀ<><C4BF> ȣĪ
|
|||
|
|
char Appellation[APPELLATIONMAX_BITSIZE]; // ȣĪ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TPvPGroup
|
|||
|
|
{
|
|||
|
|
BYTE cLevel; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
UINT uiXP; // XP
|
|||
|
|
UINT uiPlayTimeSec; // <20>÷<EFBFBD><C3B7><EFBFBD>Ÿ<EFBFBD><C5B8>(<28><>)
|
|||
|
|
UINT uiWin; // <20>¸<EFBFBD>
|
|||
|
|
UINT uiLose; // <20>й<EFBFBD>
|
|||
|
|
UINT uiDraw; // <20><><EFBFBD>º<EFBFBD>
|
|||
|
|
UINT uiGiveUpCount; // <20>߰<EFBFBD><DFB0><EFBFBD>Ż<EFBFBD><C5BB>
|
|||
|
|
UINT uiKOClassCount[PvPCommon::Common::MaxClass]; // <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KO<4B><4F>Ų Ƚ<><C8BD>
|
|||
|
|
UINT uiKObyClassCount[PvPCommon::Common::MaxClass]; // <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KO<4B><4F><EFBFBD><EFBFBD> ȸ<><C8B8>
|
|||
|
|
INT64 biTotalKillPoint;
|
|||
|
|
INT64 biTotalAssistPoint;
|
|||
|
|
INT64 biTotalSupportPoint;
|
|||
|
|
int nExpAbsoluteRank; //<2F><><EFBFBD><EFBFBD> 101<30><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ<EFBFBD><C5A9><EFBFBD><EFBFBD> <20>Ѿ<EFBFBD><D1BE>´<EFBFBD>. <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ<EFBFBD>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
float fExpRateRank; //Ư<><C6AF> exp<78>̻<EFBFBD><CCBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ο<EFBFBD><CEBF><EFBFBD> <20><> <20>ۼ<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѿ<EFBFBD><D1BE>´<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TItem
|
|||
|
|
{
|
|||
|
|
int nItemID;
|
|||
|
|
INT64 nSerial; // <20>ø<EFBFBD><C3B8><EFBFBD>
|
|||
|
|
int nRandomSeed;
|
|||
|
|
USHORT wDur; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
short wCount; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
int nCoolTime; // <20><><EFBFBD><EFBFBD> <20><>Ÿ<EFBFBD><C5B8>
|
|||
|
|
char cLevel; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
char cPotential; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bSoulbound; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><> <20>ͼ<EFBFBD>)
|
|||
|
|
char cOption;
|
|||
|
|
char cSealCount; // <20>к<EFBFBD>ī<EFBFBD><C4AB>Ʈ
|
|||
|
|
bool bEternity; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
__time64_t tExpireDate;
|
|||
|
|
int nLookItemID;
|
|||
|
|
int nLifespan;
|
|||
|
|
bool bExpireComplete;
|
|||
|
|
char cPotentialMoveCount; //<2F>̵<EFBFBD>ī<EFBFBD><C4AB>Ʈ 0<≯<EFBFBD> <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 0<>̻<EFBFBD><CCBB≯<EFBFBD> <20>̵<EFBFBD><CCB5><EFBFBD> ȸ<><C8B8>
|
|||
|
|
char cDragonJewelType;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TFarmWareHouseItem:public TItem
|
|||
|
|
{
|
|||
|
|
INT64 biUniqueID;
|
|||
|
|
__time64_t tMaterializeDate;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TQuestItem
|
|||
|
|
{
|
|||
|
|
int nItemID;
|
|||
|
|
INT64 nSerial; // <20>ø<EFBFBD><C3B8><EFBFBD>
|
|||
|
|
short wCount; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<><C4AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 6<><36><EFBFBD><EFBFBD>Ʈ
|
|||
|
|
const int QUEST_EXTRACOUNT_MAX = 10;
|
|||
|
|
|
|||
|
|
struct TCount
|
|||
|
|
{
|
|||
|
|
char cType; // cType <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD> (EnumCountingType)
|
|||
|
|
int nIndex;
|
|||
|
|
unsigned short nCnt;
|
|||
|
|
unsigned short nTargetCnt;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
const int ExtraSize = sizeof(TCount) * QUEST_EXTRACOUNT_MAX;
|
|||
|
|
|
|||
|
|
struct TQuest
|
|||
|
|
{
|
|||
|
|
int nQuestID; // <20><><EFBFBD><EFBFBD>Ʈ <20>ε<EFBFBD><CEB5><EFBFBD>
|
|||
|
|
char cQuestState; // <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> (EnumQuestState)
|
|||
|
|
short nQuestStep; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
|||
|
|
char cQuestJournal; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
|||
|
|
__time64_t tRegistDate; // <20><><EFBFBD>Ͻð<CFBD>
|
|||
|
|
char Extra[ExtraSize]; // TCount cnt[QUEST_EXTRACOUNT_MAX] // <20><><EFBFBD><EFBFBD> 210 bytes
|
|||
|
|
TP_QUESTMEMO nMemo[QUESTMEMOMAX]; // <20><EFBFBD> (<28>ε<EFBFBD><CEB5><EFBFBD> 1~10, <20><>ȹ<EFBFBD><C8B9> <20><>û<EFBFBD><C3BB><EFBFBD><EFBFBD>)
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
const int MAX_QUEST_INDEX = 10000;
|
|||
|
|
const int COMPLETEQUEST_BITSIZE = (MAX_QUEST_INDEX / CHAR_BIT);
|
|||
|
|
#if defined(PRE_FIX_QUESTCOUNT)
|
|||
|
|
const int MAX_PLAY_QUEST = 40;
|
|||
|
|
#else // #if defined(PRE_FIX_QUESTCOUNT)
|
|||
|
|
const int MAX_PLAY_QUEST = 25;
|
|||
|
|
#endif // #if defined(PRE_FIX_QUESTCOUNT)
|
|||
|
|
const int MAX_BROWSER_URL = 64;
|
|||
|
|
|
|||
|
|
struct TQuestGroup
|
|||
|
|
{
|
|||
|
|
TQuest Quest[MAX_PLAY_QUEST];
|
|||
|
|
char CompleteQuest[COMPLETEQUEST_BITSIZE];
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TSkill
|
|||
|
|
{
|
|||
|
|
int nSkillID; // <20><>ų<EFBFBD><C5B3><EFBFBD>̵<EFBFBD>
|
|||
|
|
BYTE cSkillLevel; // <20><>ų<EFBFBD><C5B3><EFBFBD><EFBFBD>
|
|||
|
|
int nCoolTime; // <20><>Ÿ<EFBFBD><C5B8>
|
|||
|
|
bool bLock; // <20>⺻<EFBFBD><E2BABB> true.. <20><><EFBFBD>Ŀ<EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TSkillGroup
|
|||
|
|
{
|
|||
|
|
bool bResetSkill; // <20><>ų<EFBFBD>ʱ<EFBFBD>ȭ <20>ߴ<EFBFBD><DFB4><EFBFBD> (<28>⺻<EFBFBD><E2BABB> false <20>ѹ<EFBFBD><D1B9>ϸ<EFBFBD> true)
|
|||
|
|
USHORT wSkillPoint; // <20><>ų<EFBFBD><C5B3><EFBFBD><EFBFBD>Ʈ
|
|||
|
|
TSkill SkillList[SKILLMAX]; // <20><>ų
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_NAMEDITEM_SYSTEM )
|
|||
|
|
struct TEffectSkillData
|
|||
|
|
{
|
|||
|
|
INT64 nItemSerial;
|
|||
|
|
int nItemID;
|
|||
|
|
int nSkillID;
|
|||
|
|
int nSkillLevel;
|
|||
|
|
__time64_t tExpireDate;
|
|||
|
|
int nRemainTime;
|
|||
|
|
bool bEternity; // false:<3A>Ⱓ<EFBFBD><E2B0A3>, true:<3A><><EFBFBD><EFBFBD>
|
|||
|
|
bool bApplySkill;
|
|||
|
|
};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
struct TGesture
|
|||
|
|
{
|
|||
|
|
int nGestureID; //<2F><><EFBFBD><EFBFBD>ó<EFBFBD><C3B3><EFBFBD>̵<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TTimeEvent
|
|||
|
|
{
|
|||
|
|
int nItemID;
|
|||
|
|
INT64 nRemainTime;
|
|||
|
|
bool bCheckFlag;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TTimeEventGroup
|
|||
|
|
{
|
|||
|
|
TTimeEvent Event[TIMEEVENTMAX];
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TUserData
|
|||
|
|
{
|
|||
|
|
TCharacterStatus Status;
|
|||
|
|
TPvPGroup PvP;
|
|||
|
|
TSkillGroup Skill[DualSkill::Type::MAX];
|
|||
|
|
TQuestGroup Quest;
|
|||
|
|
TAppellationGroup Appellation;
|
|||
|
|
TMissionGroup Mission;
|
|||
|
|
TTimeEventGroup TimeEvent;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TMasterSystemOppositeInfo
|
|||
|
|
{
|
|||
|
|
INT64 CharacterDBID;
|
|||
|
|
WCHAR wszCharName[NAMELENMAX];
|
|||
|
|
int nFavorPoint;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TMasterSystemSimpleInfo
|
|||
|
|
{
|
|||
|
|
int iMasterCount;
|
|||
|
|
int iPupilCount;
|
|||
|
|
int iGraduateCount;
|
|||
|
|
__time64_t BlockDate;
|
|||
|
|
BYTE cCharacterDBIDCount;
|
|||
|
|
TMasterSystemOppositeInfo OppositeInfo[MasterSystem::Max::OppositeCount];
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TMasterSystemData
|
|||
|
|
{
|
|||
|
|
TMasterSystemSimpleInfo SimpleInfo;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TRestraint
|
|||
|
|
{
|
|||
|
|
UINT nRestraintKey;
|
|||
|
|
int nRestraintType; //eRestraintType
|
|||
|
|
__time64_t _tBegineTime;
|
|||
|
|
__time64_t _tEndTime;
|
|||
|
|
WCHAR wszRestraintReason[RESTRAINTREASONMAX];
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TRestraintData
|
|||
|
|
{
|
|||
|
|
TRestraint Restraint[RESTRAINTMAX];
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TChracterLevel
|
|||
|
|
{
|
|||
|
|
INT64 biCharacterDBID;
|
|||
|
|
BYTE cLevel;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TUnionMembership
|
|||
|
|
{
|
|||
|
|
BYTE cType;
|
|||
|
|
int nItemID;
|
|||
|
|
__time64_t tExpireDate;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct ItemCount
|
|||
|
|
{
|
|||
|
|
int id;
|
|||
|
|
int count;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#pragma pack(pop)
|