Files
ROSS/Src/World Server/QuestConditions.h
T
2025-08-11 11:09:09 -05:00

201 lines
2.8 KiB
C

#define QUESTCOND(cond) int QUEST_COND_ ## cond ## (class CWorldServer* server, class CPlayer* client, byte* raw)
typedef int (*fpQuestCond)(class CWorldServer*, class CPlayer*, byte*);
#define GETCONDDATA(cond) STR_COND_ ## cond ## * data = (STR_COND_ ## cond ## *)raw;
QUESTCOND(000);QUESTCOND(001);QUESTCOND(002);
QUESTCOND(003);QUESTCOND(004);QUESTCOND(005);
QUESTCOND(006);QUESTCOND(007);QUESTCOND(008);
QUESTCOND(009);QUESTCOND(010);QUESTCOND(011);
QUESTCOND(012);QUESTCOND(013);QUESTCOND(014);
QUESTCOND(015);QUESTCOND(016);QUESTCOND(017);
QUESTCOND(018);QUESTCOND(019);QUESTCOND(020);
QUESTCOND(021);QUESTCOND(022);QUESTCOND(023);
QUESTCOND(024);QUESTCOND(025);QUESTCOND(026);
QUESTCOND(027);QUESTCOND(028);QUESTCOND(029);
QUESTCOND(030);
struct STR_COND_000 {
int iQuestSN;
};
struct STR_COND_001 {
int iDataCnt;
STR_QUEST_DATA* CheckData;
};
struct STR_COND_002 {
int iDataCnt;
STR_QUEST_DATA* CheckData;
};
struct STR_COND_003 {
int iDataCnt;
STR_ABIL_DATA* CheckData;
};
struct STR_COND_004 {
int iDataCnt;
STR_ITEM_DATA* CheckData;
};
struct STR_COND_005 {
byte btIsLeader;
int iLevel;
byte btReversed;
};
struct STR_COND_006 {
int iZoneSN;
int iX;
int iY;
int iZ;
int iRadius;
};
struct STR_COND_007 {
dword ulTime;
dword ulEndTime;
};
struct STR_COND_008 {
dword ulTime;
byte btOp;
};
struct STR_COND_009 {
int iSkillSN1;
int iSkillSN2;
byte btOp;
};
struct STR_COND_010 {
byte btLowPcnt;
byte btHighPcnt;
};
struct STR_COND_011 {
union {
byte btWho;
word usWho;
};
word nVarNo;
int iValue;
byte btOp;
};
struct STR_COND_012 {
union {
word iZone;
dword ulZone;
};
int iX;
int iY;
union {
int iEventID;
dword m_HashEventOBJ;
};
};
struct STR_COND_013 {
int iNpcNo;
};
struct STR_COND_014 {
word nSN;
byte btOp;
};
struct STR_COND_015 {
word nNumber1;
word nNumber2;
};
struct STR_COND_016 {
union {
byte btWho;
dword ulWho;
};
dword ulTime;
dword ulEndTime;
};
struct STR_COND_017 {
STR_NPCVAR NpcVar1;
STR_NPCVAR NpcVar2;
byte btOp;
};
struct STR_COND_018 {
byte btDate;
byte btHour1;
byte btMin1;
byte btHour2;
byte btMin2;
};
struct STR_COND_019 {
byte btWeekDay;
byte btHour1;
byte btMin1;
byte btHour2;
byte btMin2;
};
struct STR_COND_020 {
int iNo1;
int iNo2;
};
struct STR_COND_021 {
union {
byte btSelObjType;
dword ulSelObjType;
};
int iRadius;
};
struct STR_COND_022 {
word nX;
word nY;
};
struct STR_COND_023 {
byte btReg;
};
struct STR_COND_024 {
word nPOS;
byte btOP;
};
struct STR_COND_025 {
word nCONT;
byte btOP;
};
struct STR_COND_026 {
word nGRD;
byte btOP;
};
struct STR_COND_027 {
word nPOINT;
byte btOP;
};
struct STR_COND_028 {
word iMONEY;
byte btOP;
};
struct STR_COND_029 {
word nMemberCNT;
byte btOP;
};
struct STR_COND_030 {
word nSkill1;
word nSkill2;
byte btOP;
};