62 lines
833 B
C++
62 lines
833 B
C++
#pragma once
|
|
#include "worldserver.h"
|
|
class CQuestTrigger {
|
|
public:
|
|
struct SQuestDatum {
|
|
int size;
|
|
int opcode;
|
|
byte* data;
|
|
};
|
|
|
|
string TriggerName;
|
|
dword TriggerHash;
|
|
|
|
byte CheckNext;
|
|
|
|
dword ConditionCount;
|
|
SQuestDatum** Conditions;
|
|
|
|
dword ActionCount;
|
|
SQuestDatum** Actions;
|
|
private:
|
|
};
|
|
|
|
struct STR_NPCVAR {
|
|
dword iNpcNo;
|
|
word nVarNo;
|
|
word unused;
|
|
};
|
|
|
|
struct STR_ITEM_DATA {
|
|
dword uiItemSN;
|
|
dword iWhere;
|
|
dword iRequestCnt;
|
|
byte btOp;
|
|
};
|
|
|
|
struct STR_QUEST_DATA {
|
|
union {
|
|
dword iType;
|
|
struct {
|
|
word m_wVarNO;
|
|
word m_wVarTYPE;
|
|
};
|
|
};
|
|
word nValue;
|
|
byte btOp;
|
|
};
|
|
|
|
struct STR_ABIL_DATA {
|
|
dword iType;
|
|
int iValue;
|
|
byte btOp;
|
|
};
|
|
|
|
#define QUEST_FAILURE 0
|
|
#define QUEST_SUCCESS 1
|
|
|
|
int OperateValues(byte btOp, int* value1PTR, int value2);
|
|
|
|
#include "QuestConditions.h"
|
|
#include "quest/QuestActions.h"
|