struct OBJECTSTRUCT {
int m_Index;//00
int Connected;//04
char LoginMsgSnd;//08
char LoginMsgCount;//09
char CloseCount;//0A
char CloseType;//0B
BOOL bEnableDelCharacter;//0C
_PER_SOCKET_CONTEXT* PerSocketContext;//10
unsigned int m_socket;//14
char Ip_addr[16];//18
int UserNumber;//28
int DBNumber;//2C
unsigned char Magumsa;//30
DWORD AutoSaveTime;//34
DWORD ConnectCheckTime;//38
DWORD CheckTick;//3C
unsigned char CheckSpeedHack;//40
DWORD CheckTick2;//44
unsigned char CheckTickCount;//48
DWORD SaveTimeForStatics;//4C
int iPingTime;//50
unsigned char m_TimeCount;//54
DWORD m_dwPKTimer;//58
short CheckSumTableNum;//5C
DWORD CheckSumTime;//60
WORD Type;//64
unsigned char Live;//66
char CharacterPos;//67
char AccountID[11];//68
char Name[11];//73
char LastJoominNumber[14];//7E
bool PlusStatQuestClear;//8C
bool ComboSkillquestClear;//8D
ComboSkillData comboSkill;//90
WORD Class;//9C
BYTE DbClass;//9E
BYTE ChangeUP;//9F
BYTE ThirdChangeUp;//A0
short Level;//A2
int LevelUpPoint;//A4
int iFruitPoint;//A8
unsigned long Experience;//AC
unsigned long NextExp;//B0
short MLevel;//B4
__int64 MLExp;//B8
__int64 MLNextExp;//C0
int MLPoint;//C8
int MLInfoLoad;//CC
int Money;//D0
short Strength;//D4
short Dexterity;//D6
short Vitality;//D8
short Energy;//DA
float Life;//DC
float MaxLife;//E0
int m_iScriptMaxLife;//E4
float FillLife;//E8
float FillLifeMax;//EC
float Mana;//F0
float MaxMana;//F4
WORD Leadership;//F8
WORD AddLeadership;//FA
WORD ChatLitmitTime;//FC
BYTE ChatLimitTimeSec;//FE
BYTE FillLifeCount;//FF
short AddStrength;//100
short AddDexterity;//102
short AddVitality;//104
short AddEnergy;//106
int BP;//108
int MaxBP;//10C
int AddBP;//110
float VitalityToLife;//114
float EnergyToMana;//118
char m_PK_Count;//11C
char m_PK_Level;//11D
int m_PK_Time;//120
short X;//124
short Y;//126
BYTE Dir;//128
BYTE MapNumber;//129
int AddLife;//12C
int AddMana;//130
int iShield;//134
int iMaxShield;//138
int iAddShield;//13C
int iFillShieldMax;//140
int iFillShield;//144
int iFillShieldCount;//148
DWORD dwShieldAutoRefillTimer;//14C
BYTE DamageMinus;//150
BYTE DamageReflect;//151
short MonsterDieGetMoney;//152
BYTE MonsterDieGetLife;//154
BYTE MonsterDieGetMana;//155
BYTE StartX;//156
BYTE StartY;//157
short m_OldX;//158
short m_OldY;//15A
short TX;//15C
short TY;//15E
short MTX;//160
short MTY;//162
int PathCount;//164
int PathCur;//168
char PathStartEnd;//16C
short PathOri[15];//16E
short PathX[15];//18C
short PathY[15];//1AA
char PathDir[15];//1C8
DWORD PathTime;//1D8
BYTE m_MoveGateNumber;//1DC
DWORD Authority;//1E0
DWORD AuthorityCode;//1E4
DWORD Penalty;//1E8
BYTE m_cAccountItemBlock;//1EC
tagActionState m_ActState;//1F0
BYTE m_ActionNumber;//1F4
DWORD m_State;//1F8
char m_StateSub;//1FC
unsigned char m_Rest;//1FD
char m_ViewState;//1FE
unsigned char m_btViewStateCount;//1FF
tagVIEW_SKILLSTATE m_ViewSkillState[MAX_BUFF];//200
DWORD m_LastMoveTime;//340
DWORD m_LastAttackTime;//344
BYTE m_FriendServerOnline;//348
int m_DetectSpeedHackTime;//34C
unsigned long m_SumLastAttackTime;//350
unsigned long m_DetectCount;//354
int m_DetectedHackKickCount;//358
int m_SpeedHackPenalty;//35C
unsigned char m_AttackSpeedHackDetectedCount;//360
unsigned long m_PacketCheckTime;//364
unsigned char m_ShopTime;//368
unsigned long m_TotalAttackTime;//36C
int m_TotalAttackCount;//370
unsigned long TeleportTime;//374
char Teleport;//378
char KillerType;//379
char DieRegen;//37A
char RegenOk;//37B
BYTE RegenMapNumber;//37C
BYTE RegenMapX;//37D
BYTE RegenMapY;//37E
DWORD RegenTime;//380
DWORD MaxRegenTime;//384
short m_PosNum;//388
DWORD LifeRefillTimer;//38C
DWORD CurActionTime;//390
DWORD NextActionTime;//394
DWORD DelayActionTime;//398
char DelayLevel;//39C
char m_PoisonType;//39D
char m_IceType;//39E
char m_ImmuneToMagicCount;//39F
char m_ImmuneToHarmCount;//3A0
char m_iMonsterBattleDelay;//3A1
char m_cKalimaGateExist;//3A2
int m_iKalimaGateIndex;//3A4
char m_cKalimaGateEnterCount;//3A8
struct OBJECTSTRUCT* lpAttackObj;//3AC
short m_SkillNumber;//3B0
DWORD m_SkillTime;//3B3
bool m_bAttackerKilled;//3B8
char m_ManaFillCount;//3B9
char m_LifeFillCount;//3BA
int SelfDefense[MAX_SELF_DEFENSE];//3BC
DWORD SelfDefenseTime[MAX_SELF_DEFENSE];//3D8
DWORD MySelfDefenseTime;//3F4
char m_Drink;//3F8
int m_SkillDefense;//3FC
char m_SkillDefenseTime;//400
int PartyNumber;//404
int PartyTargetUser;//408
int GuildNumber;//40C
_GUILD_INFO_STRUCT* lpGuild;//410
char GuildName[11];//414
int GuildStatus;//420
int iGuildUnionTimeStamp;//424
int m_RecallMon;//428
int m_Change;//42C
short TargetNumber;//430
short TargetShopNumber;//432
short ShopNumber;//434
short LastAttackerID;//436
int m_AttackDamageMin;//438
int m_AttackDamageMax;//43C
int m_MagicDamageMin;//440
int m_MagicDamageMax;//444
int m_AttackDamageLeft;//448
int m_AttackDamageRight;//44C
int m_AttackDamageMaxLeft;//450
int m_AttackDamageMinLeft;//454
int m_AttackDamageMaxRight;//458
int m_AttackDamageMinRight;//45C
int m_AttackRating;//460
int m_AttackSpeed;//464
int m_MagicSpeed;//468
int m_Defense;//46C
int m_MagicDefense;//470
int m_SuccessfulBlocking;//474
int m_BookMagicIncrease;//478
int m_CursedBookImproveDmgMin;//47C
int m_CursedBookImproveDmgMax;//480
short m_MoveSpeed;//484
short m_MoveRange;//486
short m_AttackRange;//488
short m_AttackType;//48A
short m_ViewRange;//48C
short m_Attribute;//48E
short m_ItemRate;//490
short m_MoneyRate;//492
int m_CriticalDamage;//494
int m_ExcelentDamage;//498
CMagicInf* m_lpMagicBack;//49C
CMagicInf* Magic;//4A0
char MagicCount;//4A4
unsigned char UseMagicNumber;//4A5
unsigned long UseMagicTime;//4A8
char UseMagicCount;//4AC
short OSAttackSerial;//4AE
unsigned char SASCount;//4B0
DWORD SkillAttackTime;//4B4
MASTER_SKILL_INFO m_MasterSkillList;//4B8
int m_Unk500;//500
short m_Unk504;//504
unsigned char CharSet[18];//506
char m_Resistance[MAX_RESISTENCE_TYPE];//518
char m_AddResistance[MAX_RESISTENCE_TYPE];//51F
int FrustrumX[MAX_ARRAY_FRUSTRUM];//526
int FrustrumY[MAX_ARRAY_FRUSTRUM];//536
VIEWPORT_STRUCT VpPlayer[MAX_VIEWPORT];//548
VIEWPORT_PLAYER_STRUCT VpPlayer2[MAX_VIEWPORT];//8CC
int VPCount;//C50
int VPCount2;//C54
HITDAMAGE_STRUCT sHD[MAX_ST_HIT_DAMAGE];//C58
short sHDCount;//E38
struct tagInterfaceState m_IfState;//E3C
DWORD m_InterfaceTime;//E40
class CItem* pInventory;//E44
LPBYTE pInventoryMap;//E48
char* pInventoryCount;//E4C
char pTransaction;//E50
CItem* Inventory1;//E54
LPBYTE InventoryMap1;//E58
char InventoryCount1;//E5C
CItem* Inventory2;//E60
LPBYTE InventoryMap2;//E64
char InventoryCount2;//E68
CItem* Trade;//E6C
LPBYTE TradeMap;//E70
int TradeMoney;//E74
bool TradeOk;//E78
CItem* pWarehouse;//E7C
LPBYTE pWarehouseMap;//E80
char WarehouseCount;//E84
short WarehousePW;//E86
BYTE WarehouseLock;//E88
BYTE WarehouseUnfailLock;//E89
int WarehouseMoney;//E8C
int WarehouseSave;//E90
class CItem* pChaosBox;//E94
LPBYTE pChaosBoxMap;//E98
int ChaosMoney;//E9C
int ChaosSuccessRate;//EA0
BOOL ChaosLock;//EA4
DWORD m_Option;//EA8
int m_nEventScore;//EAC
int m_nEventExp;//EB0
int m_nEventMoney;//EB4
BYTE m_bDevilSquareIndex;//EB8
bool m_bDevilSquareAuth;//EB9
char m_cBloodCastleIndex;//EBA
char m_cBloodCastleSubIndex;//EBB
int m_iBloodCastleEXP;//EBC
bool m_bBloodCastleComplete;//EC0
char m_cChaosCastleIndex;//EC1
char m_cChaosCastleSubIndex;//EC2
int m_iChaosCastleBlowTime;//EC4
char m_cKillUserCount;//EC8
char m_cKillMonsterCount;//EC9
int m_iDuelUserReserved;//ECC
int m_iDuelUserRequested;//ED0
int m_iDuelUser;//ED4
BYTE m_btDuelScore;//ED8
int m_iDuelTickCount;//EDC
bool m_bPShopOpen;//EE0
bool m_bPShopTransaction;//EE1
bool m_bPShopItemChange;//EE2
bool m_bPShopRedrawAbs;//EE3
char m_szPShopText[36];//EE4
bool m_bPShopWantDeal;//F08
int m_iPShopDealerIndex;//F0C
char m_szPShopDealerName[10];//F10
struct _RTL_CRITICAL_SECTION m_critPShopTrade;//F1A
int m_iVpPShopPlayer[MAX_VIEWPORT];//F34
WORD m_wVpPShopPlayerCount;//1060
bool IsInBattleGround;//1062
bool HaveWeaponInHand;//1063
short EventChipCount;//1064
int MutoNumber;//1068
BOOL UseEventServer;//106C
bool LoadWareHouseInfo;//1070
int iStoneCount;//1074
int m_bQuestMonKillDBLoad;//1078
int m_iQuestMonKillDBIndex;//107C
QUEST_INFO_MOSNTER_KILLCOUNT m_QuestMonKillInfo[5];//1080
BYTE m_Quest[50];//10A8
BYTE m_SendQuestInfo;//10DA
int m_SkyBossMonSheildLinkIndex;//10DC
int m_SkyBossMonSheild;//10E0
int m_SkyBossMonSheildTime;//1E04
int m_MaxLifePower;//1E08
int m_PacketChecksumTime;//1E0C
int m_CheckLifeTime;//10F0
unsigned char m_MoveOtherServer;//10F4
char BackName[11];//10F5
char m_BossGoldDerconMapNumber;//1100
bool m_InWebzen;//1101
char m_LastTeleportTime;//1102
BYTE m_ClientHackLogCount;//1103
BOOL m_bIsInMonsterHerd;//1104
BOOL m_bIsMonsterAttackFirst;//1108
class MonsterHerd* m_lpMonsterHerd;//110C
CCSAuth2 NPggCSAuth;//1110
bool m_bSentGGAuth;//113C
DWORD m_NPggCheckSumSendTime;//1140
/*<thisrel this+0xf84>*/ /*|0x10|*/ int fSkillFrustrumX[MAX_ARRAY_FRUSTRUM];
/*<thisrel this+0xf94>*/ /*|0x10|*/ int fSkillFrustrumY[MAX_ARRAY_FRUSTRUM];
BYTE SkillHellFire2State;//1164
BYTE SkillHellFire2Count;//1165
/*<thisrel this+0xfa8>*/ /*|0x4|*/ DWORD SkillHellFire2Time;
unsigned char m_ReqWarehouseOpen;//116C
/*<thisrel this+0xfb0>*/ /*|0x4|*/ int m_NotAttackAreaCount;
short SetOpAddSkillAttack;//1174
short SetOpAddExDamage;//1176
short SetOpAddExDamageSuccessRate;//1178
short SetOpAddCriticalDamage;//117A
short SetOpAddCriticalDamageSuccessRate;//117C
short SetOpIncAGValue;//117E
short SetOpAddDamage;//1180
short SetOpAddMinAttackDamage;//1182
short SetOpAddMaxAttackDamage;//1184
short SetOpAddAttackDamage;//1186
short SetOpAddDefence;//1188
short SetOpAddDefenceRate;//118A
short SetOpAddMagicPower;//118C
BYTE SetOpIgnoreDefense;//118E
BYTE SetOpDoubleDamage;//118F
BYTE SetOpTwoHandSwordImproveDamage;//1190
BYTE SetOpImproveSuccessAttackRate;//1191
BYTE SetOpReflectionDamage;//1192
BYTE SetOpImproveSheldDefence;//1193
BYTE SetOpDecreaseAG;//1194
BYTE SetOpImproveItemDropRate;//1195
bool IsFullSetItem;//1196
TDurMagicKeyChecker DurMagicKeyChecker;//1198
WORD SkillRecallParty_Time;//12C4
BYTE SkillRecallParty_MapNumber;//12C6
BYTE SkillRecallParty_X;//12C7
BYTE SkillRecallParty_Y;//12C8
bool bIsChaosMixCompleted;//12C9
bool SkillLongSpearChange;//12CA
CSkillDelay SkillDelay;//12CC
int iObjectSecTimer;//1C30
bool m_bMapSvrMoveQuit;//1C34
bool m_bMapSvrMoveReq;//1C35
DWORD m_dwMapSvrQuitTick;//1C38
short m_sPrevMapSvrCode;//1C3C
short m_sDestMapNumber;//1C3E
BYTE m_btDestX;//1C40
BYTE m_btDestY;//1C41
#if( GS_CASTLE )
union
{
struct
{
/*<thisrel this+0x1528>*/ /*|0x1|*/ BYTE m_btCsNpcExistVal1;
/*<thisrel this+0x1529>*/ /*|0x1|*/ BYTE m_btCsNpcExistVal2;
/*<thisrel this+0x152a>*/ /*|0x1|*/ BYTE m_btCsNpcExistVal3;
/*<thisrel this+0x152b>*/ /*|0x1|*/ BYTE m_btCsNpcExistVal4;
};
/*<thisrel this+0x1528>*/ /*|0x4|*/ int m_iCsNpcExistVal;
};
/*<thisrel this+0x152c>*/ /*|0x1|*/ BYTE m_btCsNpcType;
/*<thisrel this+0x152d>*/ /*|0x1|*/ BYTE m_btCsGateOpen;
/*<thisrel this+0x1530>*/ /*|0x4|*/ int m_iCsGateLeverLinkIndex;
/*<thisrel this+0x1534>*/ /*|0x1|*/ BYTE m_btCsNpcDfLevel;
/*<thisrel this+0x1535>*/ /*|0x1|*/ BYTE m_btCsNpcRgLevel;
/*<thisrel this+0x1536>*/ /*|0x1|*/ BYTE m_btCsJoinSide;
/*<thisrel this+0x1537>*/ /*|0x1|*/ bool m_bCsGuildInvolved;
#endif
bool m_bIsCastleNPCUpgradeCompleted;//1C42
BYTE m_btWeaponState;//1C43
int m_iWeaponUser;//1C44
BYTE m_btKillCount;//1C48
int m_iAccumulatedDamage;//1C4C
#if( GS_CASTLE )
/*<thisrel this+0x1564>*/ /*|0x1|*/ BYTE m_btLifeStoneCount;
/*<thisrel this+0x1565>*/ /*|0x1|*/ BYTE m_btCreationState;
/*<thisrel this+0x1568>*/ /*|0x4|*/ int m_iCreatedActivationTime;
#endif
int m_iAccumulatedCrownAccessTime;//1C50
class TMonsterSkillElementInfo m_MonsterSkillElementInfo;//1C54
int m_iBasicAI;//1CA4
int m_iCurrentAI;//1CA8
int m_iCurrentAIState;//1CAC
int m_iLastAIRunTime;//1CB0
int m_iGroupNumber;//1CB4
int m_iSubGroupNumber;//1CB8
int m_iGroupMemberGuid;//1CBC
int m_iRegenType;//1CC0
TMonsterAIAgro m_Agro;//1CC4
int m_iLastAutomataRuntime;//1FE8
int m_iLastAutomataDelay;//1FEC
int m_iCrywolfMVPScore;//1FF0
DWORD m_dwLastCheckTick;//1FF4
int m_iAutoRecuperationTime;//1FF8
int m_iSkillDistanceErrorCount;//1FFC
DWORD m_dwSkillDistanceErrorTick;//2000
JEWELOFHARMONY_ITEM_EFFECT m_JewelOfHarmonyEffect;//2004
ITEMOPTION_FOR380ITEM_EFFECT m_ItemOptionExFor380;//202A
#if( !GS_CASTLE )
int m_bKanturuEntranceByNPC;//203C
#endif
WORD m_wItemEffectType;//2040
int m_iItemEffectValidTime;//2044
WORD m_wCashPoint;//2048
int m_iIllusionTempleIndex;//204C
int m_bSkillKeyRecv;//2050
int m_iPeriodItemEffectIndex;//2054
BYTE m_btSummoner;//2058
};
typedef OBJECTSTRUCT * LPOBJ;