added source folders
This commit is contained in:
1 parent
f23521f720
commit
cfdc19df45
145 files changed
+54574
No files matched your search
@@ -0,0 +1,98 @@
|
||||
// Props to ExJam for this code :D Ported to OSpRose by Drakia
|
||||
class CQuestTrigger {
|
||||
public:
|
||||
struct SQuestDatum {
|
||||
int size;
|
||||
int opcode;
|
||||
byte* data;
|
||||
};
|
||||
|
||||
strings TriggerName;
|
||||
dword TriggerHash;
|
||||
|
||||
byte CheckNext;
|
||||
dword id;
|
||||
|
||||
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
|
||||
{
|
||||
short m_wVarNO;
|
||||
word m_wVarTYPE;
|
||||
};
|
||||
};
|
||||
word nValue;
|
||||
byte btOp;
|
||||
};
|
||||
|
||||
struct STR_ABIL_DATA
|
||||
{
|
||||
dword iType;
|
||||
int iValue;
|
||||
byte btOp;
|
||||
};
|
||||
|
||||
#define QUEST_FAILURE 6
|
||||
#define QUEST_SUCCESS 5
|
||||
template <class T> int OperateValues(byte btOp, T* value1PTR, T value2)
|
||||
{
|
||||
T value1 = *value1PTR;
|
||||
switch(btOp)
|
||||
{
|
||||
case 0:
|
||||
return (value1 == value2);
|
||||
case 1:
|
||||
return (value1 > value2);
|
||||
case 2:
|
||||
return (value1 >= value2);
|
||||
case 3:
|
||||
return (value1 < value2);
|
||||
case 4:
|
||||
return (value1 <= value2);
|
||||
case 5:
|
||||
(*value1PTR) = value2;
|
||||
return 1;
|
||||
case 6:
|
||||
(*value1PTR) = value1 + value2;
|
||||
return 1;
|
||||
case 7:
|
||||
(*value1PTR) = value1 - value2;
|
||||
return 1;
|
||||
case 9:
|
||||
(*value1PTR) += 1;
|
||||
return 1;
|
||||
case 10:
|
||||
return (value1 != value2);
|
||||
default:
|
||||
Log(MSG_WARNING, "OperateValues unknown btOp='%u'", btOp);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
dword GetRewardValue(dword function, dword amount, CPlayer* client, word nDupCNT);
|
||||
|
||||
#include "QuestConditions.h"
|
||||
#include "QuestActions.h"
|
||||
Reference in new issue
Block a user