Code:
typedef struct QUEST_DATA
{
union {
unsigned long nQuestDataSize;
int QUEST_TYPE;
int DAILY_QUEST_TYPE;
};
short ID;
unsigned char Padding4;
unsigned char Padding5;
unsigned long NameID;
unsigned long BrifingID;
unsigned char Region;
unsigned char Type;
unsigned char Repeatable;
unsigned char nDailyQuestType;
int QUEST_START_DATE_MODE;
unsigned long Padding13;
unsigned long Padding14;
unsigned long Padding15;
unsigned long Padding16;
unsigned long Padding17;
QUEST_DATA::QUEST_START_CONDITION Start
{
unsigned char bIsWaitListView;
unsigned char bIsWaitListProgress;
unsigned char bLevel;
unsigned char LevelMin;
unsigned char LevelMax;
unsigned char bNPC;
short NPCID;
unsigned char bItem;
unsigned char Padding8;
short ItemID;
short ItemLot;
unsigned char bLocation;
unsigned char Padding12;
short Location;
unsigned char Padding14;
unsigned char Padding15;
unsigned long LocationX;
unsigned long LocationY;
unsigned long LocationRange;
unsigned char bQuest;
unsigned char Padding20;
short QuestID;
unsigned char bRace;
unsigned char Race;
unsigned char bClass;
unsigned char Class;
unsigned char bGender;
unsigned char Gender;
unsigned char bDate;
unsigned char DateMode;
unsigned long Padding30;
__int64 DateStart;
__int64 DateEnd;
}
int QUEST_NPC_MOB_ACTION;
unsigned long Padding20;
unsigned long Padding21;
unsigned long Padding22;
unsigned long Padding23;
unsigned long Padding24;
unsigned long Padding25;
unsigned long Padding26;
unsigned long Padding27;
unsigned long Padding28;
unsigned long Padding29;
unsigned long Padding30;
unsigned long Padding31;
unsigned long Padding32;
unsigned long Padding33;
unsigned long Padding34;
unsigned long Padding35;
unsigned long Padding36;
unsigned long Padding37;
unsigned long Padding38;
unsigned long Padding39;
unsigned long Padding40;
QUEST_DATA::QUEST_END_CONDITION End
{
unsigned char bIsWaitListProgress;
unsigned char bLevel;
unsigned char Level;
unsigned char Padding3;
struct QUEST_DATA::QUEST_END_CONDITION::_NPCMobList NPCMobList[5]
{
unsigned char bNPCMob;
unsigned char Padding1;
short NPCMobID;
unsigned char NPCMobAction;
unsigned char NPCMobCount;
unsigned char TargetGroup;
}
struct QUEST_DATA::QUEST_END_CONDITION::_ItemList ItemList[5]
{
unsigned char bItem;
unsigned char Padding1;
short ItemID;
short ItemLot;
}
unsigned char bLocation;
unsigned char Padding7;
short Location;
unsigned char Padding9;
unsigned char Padding10;
unsigned long LocationX;
unsigned long LocationY;
unsigned long LocationRange;
unsigned char bScenario;
unsigned char Padding15;
short ScenarioID;
unsigned char bRace;
unsigned char Race;
unsigned char bClass;
unsigned char Class;
unsigned char bTimeLimit;
unsigned char Padding22;
short TimeLimit;
}
union {
int QUEST_ACTION_TYPE_IF;
int QUEST_ACTION_TYPE_THEN;
};
unsigned long Padding44;
unsigned long Padding45;
unsigned long Padding46;
unsigned long Padding47;
unsigned long Padding48;
unsigned long Padding49;
unsigned long Padding50;
unsigned long Padding51;
unsigned long Padding52;
unsigned long Padding53;
unsigned long Padding54;
unsigned long Padding55;
unsigned long Padding56;
unsigned long Padding57;
unsigned long Padding58;
unsigned long Padding59;
unsigned long Padding60;
unsigned long Padding61;
unsigned long Padding62;
unsigned long Padding63;
unsigned long Padding64;
unsigned long Padding65;
unsigned long Padding66;
unsigned long Padding67;
unsigned long Padding68;
unsigned long Padding69;
unsigned long Padding70;
unsigned long Padding71;
unsigned long Padding72;
unsigned long Padding73;
unsigned long Padding74;
unsigned long Padding75;
unsigned long Padding76;
unsigned long Padding77;
unsigned long Padding78;
unsigned long Padding79;
unsigned long Padding80;
unsigned long Padding81;
unsigned long Padding82;
unsigned long Padding83;
unsigned long Padding84;
unsigned long Padding85;
unsigned long Padding86;
unsigned long Padding87;
unsigned long Padding88;
unsigned long Padding89;
unsigned long Padding90;
unsigned char NumOfAction;
unsigned char Padding92;
unsigned char Padding93;
unsigned char Padding94;
struct QUEST_DATA::QUEST_ACTION Action[10]
{
unsigned char IfType;
unsigned char Padding1;
unsigned char Padding2;
unsigned char Padding3;
unsigned long IfTarget;
unsigned char ThenType;
unsigned char Padding6;
unsigned char Padding7;
unsigned char Padding8;
unsigned long ThenTarget;
unsigned long ThenPersent;
unsigned long ThenCountMin;
unsigned long ThenCountMax;
unsigned char TargetGroup;
}
union {
int QUEST_REWARD_USE;
int QUEST_REWARD_TYPE;
};
unsigned long Padding98;
unsigned long Padding99;
unsigned long Padding100;
unsigned long Padding101;
unsigned long Padding102;
unsigned long Padding103;
unsigned long Padding104;
unsigned long Padding105;
unsigned long Padding106;
unsigned long Padding107;
unsigned long Padding108;
unsigned long Padding109;
unsigned long Padding110;
unsigned long Padding111;
unsigned long Padding112;
unsigned long Padding113;
unsigned long Padding114;
unsigned long Padding115;
unsigned long Padding116;
unsigned long Padding117;
unsigned long Padding118;
unsigned long Padding119;
unsigned long Padding120;
unsigned long Padding121;
unsigned long Padding122;
unsigned long Padding123;
unsigned long Padding124;
unsigned long Padding125;
unsigned long Padding126;
unsigned long Padding127;
unsigned long Padding128;
unsigned long Padding129;
unsigned long Padding130;
unsigned long Padding131;
unsigned long Padding132;
unsigned long Padding133;
unsigned long Padding134;
unsigned long Padding135;
unsigned long Padding136;
unsigned long Padding137;
unsigned long Padding138;
unsigned long Padding139;
unsigned long Padding140;
unsigned long Padding141;
unsigned long Padding142;
unsigned long Padding143;
unsigned long Padding144;
unsigned long Padding145;
unsigned long Padding146;
unsigned long Padding147;
unsigned long Padding148;
unsigned long Padding149;
unsigned long Padding150;
unsigned long Padding151;
unsigned long Padding152;
unsigned long Padding153;
unsigned long Padding154;
unsigned long Padding155;
unsigned long Padding156;
unsigned long Padding157;
unsigned long Padding158;
unsigned long Padding159;
unsigned long Padding160;
unsigned long Padding161;
unsigned long Padding162;
unsigned long Padding163;
unsigned long Padding164;
unsigned long Padding165;
unsigned long Padding166;
unsigned long Padding167;
unsigned long Padding168;
unsigned long Padding169;
unsigned long Padding170;
unsigned long Padding171;
unsigned long Padding172;
unsigned long Padding173;
unsigned long Padding174;
unsigned long Padding175;
unsigned long Padding176;
unsigned long Padding177;
unsigned long Padding178;
unsigned long Padding179;
unsigned long Padding180;
unsigned long Padding181;
unsigned long Padding182;
unsigned long Padding183;
unsigned long Padding184;
unsigned long Padding185;
unsigned long Padding186;
unsigned long Padding187;
unsigned long Padding188;
unsigned long Padding189;
unsigned long Padding190;
unsigned long Padding191;
unsigned long Padding192;
unsigned long Padding193;
unsigned long Padding194;
unsigned long Padding195;
unsigned long Padding196;
unsigned long Padding197;
unsigned long Padding198;
unsigned long Padding199;
unsigned long Padding200;
unsigned long Padding201;
unsigned long Padding202;
unsigned long Padding203;
unsigned long Padding204;
unsigned long Padding205;
unsigned long Padding206;
unsigned long Padding207;
unsigned long Padding208;
unsigned long Padding209;
unsigned long Padding210;
unsigned long Padding211;
unsigned long Padding212;
unsigned long Padding213;
unsigned long Padding214;
unsigned long Padding215;
unsigned long Padding216;
unsigned long Padding217;
unsigned long Padding218;
unsigned long Padding219;
unsigned long Padding220;
unsigned long Padding221;
unsigned long Padding222;
unsigned long Padding223;
unsigned long Padding224;
unsigned long Padding225;
struct QUEST_DATA::QUEST_REWARD Reward[12]
{
unsigned char Use;
unsigned char Type;
unsigned char Padding2;
unsigned char Padding3;
QUEST_DATA::QUEST_REWARD::VALUE Value
{
union {
unsigned long Exp;
unsigned long Money;
QUEST_DATA::QUEST_REWARD::VALUE::Item Item
{
short ItemID;
short ItemLot;
}
QUEST_DATA::QUEST_REWARD::VALUE::Abstate Abstate
{
unsigned long AbstateKeepTime;
short AbstateID;
unsigned char AbstateStrength;
}
unsigned long Fame;
unsigned long PetID;
unsigned char MiniHouseID;
QUEST_DATA::QUEST_REWARD::VALUE::CharacterTitle CharacterTitle
{
unsigned char Type;
unsigned char ElementNo;
}
unsigned long KillPoint;
};
}
}
short SizeOfScriptStart;
short SizeOfScriptEnd;
short SizeOfScriptDoing;
unsigned char Padding230;
unsigned char Padding231;
char * pScriptStart;
char * pScriptDoing;
char * pScriptEnd;
unsigned char DialogData[0];
} QUEST_DATA;