aboutsummaryrefslogtreecommitdiff
path: root/src/enums.hh
diff options
context:
space:
mode:
authorfusion32 <marcopuzziello@gmail.com>2025-06-24 15:02:38 -0300
committerfusion32 <marcopuzziello@gmail.com>2025-06-24 15:02:38 -0300
commit8bc2e5dc3a523af471065752a534d20d878c60b0 (patch)
treed39080ec0f265227fd326588c82742771d370228 /src/enums.hh
parentbdfcbb2f0edee2679bfe588df55e9f99bd837510 (diff)
downloadgame-8bc2e5dc3a523af471065752a534d20d878c60b0.tar.gz
game-8bc2e5dc3a523af471065752a534d20d878c60b0.zip
most of `crnonpl.cc`
Diffstat (limited to 'src/enums.hh')
-rw-r--r--src/enums.hh107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/enums.hh b/src/enums.hh
index 7eb2671..6d6baf0 100644
--- a/src/enums.hh
+++ b/src/enums.hh
@@ -31,6 +31,74 @@ enum AttackMode: uint8 {
ATTACK_MODE_DEFENSIVE = 3,
};
+enum BehaviourActionType: int {
+ BEHAVIOUR_ACTION_NONE = 0,
+ BEHAVIOUR_ACTION_REPLY = 1,
+ BEHAVIOUR_ACTION_SET_VARIABLE = 2,
+ BEHAVIOUR_ACTION_SET_SKILL = 3,
+ BEHAVIOUR_ACTION_FUNCTION2 = 4,
+ BEHAVIOUR_ACTION_FUNCTION1 = 5,
+ BEHAVIOUR_ACTION_FUNCTION0 = 6,
+ BEHAVIOUR_ACTION_CHANGESTATE = 7,
+ BEHAVIOUR_ACTION_SET_SKILL_TIMER = 8,
+ BEHAVIOUR_ACTION_REPEAT = 9,
+ BEHAVIOUR_ACTION_FUNCTION3 = 10,
+};
+
+enum BehaviourConditionType: int {
+ BEHAVIOUR_CONDITION_NONE = 0,
+ BEHAVIOUR_CONDITION_TEXT = 1,
+ BEHAVIOUR_CONDITION_PROPERTY = 2,
+ BEHAVIOUR_CONDITION_PARAMETER = 3,
+ BEHAVIOUR_CONDITION_EXPRESSION = 4,
+ BEHAVIOUR_CONDITION_SHORTCIRCUIT = 5,
+};
+
+enum BehaviourNodeType: int {
+ BEHAVIOUR_NODE_NONE = 0,
+ BEHAVIOUR_NODE_CMP_LT = 1,
+ BEHAVIOUR_NODE_CMP_GT = 2,
+ BEHAVIOUR_NODE_CMP_EQ = 3,
+ BEHAVIOUR_NODE_CMP_NEQ = 4,
+ BEHAVIOUR_NODE_CMP_LE = 5,
+ BEHAVIOUR_NODE_CMP_GE = 6,
+ BEHAVIOUR_NODE_ADD = 7,
+ BEHAVIOUR_NODE_SUB = 8,
+ BEHAVIOUR_NODE_MUL = 9,
+ BEHAVIOUR_NODE_PARAMETER = 10,
+ BEHAVIOUR_NODE_NUMBER = 11,
+ BEHAVIOUR_NODE_TOPIC = 12,
+ BEHAVIOUR_NODE_PRICE = 13,
+ BEHAVIOUR_NODE_AMOUNT = 14,
+ BEHAVIOUR_NODE_SKILL = 15,
+ BEHAVIOUR_NODE_COUNT = 16,
+ BEHAVIOUR_NODE_COUNTMONEY = 17,
+ BEHAVIOUR_NODE_TYPE = 18,
+ BEHAVIOUR_NODE_DATA = 19,
+ BEHAVIOUR_NODE_SPELLKNOWN = 20,
+ BEHAVIOUR_NODE_SPELLLEVEL = 21,
+ BEHAVIOUR_NODE_RANDOM = 22,
+ BEHAVIOUR_NODE_QUESTVALUE = 23,
+};
+
+enum BehaviourProperty: int {
+ BEHAVIOUR_PROPERTY_NONE = 0,
+ BEHAVIOUR_PROPERTY_ADDRESS = 1,
+ BEHAVIOUR_PROPERTY_BUSY = 2,
+ BEHAVIOUR_PROPERTY_VANISH = 3,
+ BEHAVIOUR_PROPERTY_MALE = 4,
+ BEHAVIOUR_PROPERTY_FEMALE = 5,
+ BEHAVIOUR_PROPERTY_KNIGHT = 6,
+ BEHAVIOUR_PROPERTY_PALADIN = 7,
+ BEHAVIOUR_PROPERTY_SORCERER = 8,
+ BEHAVIOUR_PROPERTY_DRUID = 9,
+ BEHAVIOUR_PROPERTY_PREMIUM = 10,
+ BEHAVIOUR_PROPERTY_PROMOTED = 11,
+ BEHAVIOUR_PROPERTY_PZBLOCK = 12,
+ BEHAVIOUR_PROPERTY_NONPVP = 13,
+ BEHAVIOUR_PROPERTY_PVPENFORCED = 14,
+};
+
enum BloodType: int {
BT_BLOOD = 0,
BT_SLIME = 1,
@@ -58,6 +126,37 @@ enum Color: int {
COLOR_WHITE = 215,
};
+// TODO(fusion): These are used with `TMoveUseCondition`. Probably add a
+// `MOVEUSE` prefix not to mix with `TBehaviourCondition`?
+enum ConditionType: int {
+ CONDITION_ISPOSITION = 0,
+ CONDITION_ISTYPE = 1,
+ CONDITION_ISCREATURE = 2,
+ CONDITION_ISPLAYER = 3,
+ CONDITION_HASFLAG = 4,
+ CONDITION_HASTYPEATTRIBUTE = 5,
+ CONDITION_HASINSTANCEATTRIBUTE = 6,
+ CONDITION_HASTEXT = 7,
+ CONDITION_ISPEACEFUL = 8,
+ CONDITION_MAYLOGOUT = 9,
+ CONDITION_HASPROFESSION = 10,
+ CONDITION_HASLEVEL = 11,
+ CONDITION_HASRIGHT = 12,
+ CONDITION_HASQUESTVALUE = 13,
+ CONDITION_TESTSKILL = 14,
+ CONDITION_COUNTOBJECTS = 15,
+ CONDITION_COUNTOBJECTSONMAP = 16,
+ CONDITION_ISOBJECTTHERE = 17,
+ CONDITION_ISCREATURETHERE = 18,
+ CONDITION_ISPLAYERTHERE = 19,
+ CONDITION_ISOBJECTININVENTORY = 20,
+ CONDITION_ISPROTECTIONZONE = 21,
+ CONDITION_ISHOUSE = 22,
+ CONDITION_ISHOUSEOWNER = 23,
+ CONDITION_ISDRESSED = 24,
+ CONDITION_RANDOM = 25,
+};
+
enum CONNECTIONSTATE: int {
CONNECTION_FREE = 0,
CONNECTION_ASSIGNED = 1,
@@ -460,6 +559,14 @@ enum SecureMode: uint8 {
SECURE_MODE_ENABLED = 1,
};
+enum SITUATION: int {
+ DEFAULT = 0,
+ ADDRESS = 1,
+ ADDRESSQUEUE = 2,
+ BUSY = 3,
+ VANISH = 4,
+};
+
// NOTE(fusion): Not in debug symbols.
enum Skill: int {
SKILL_LEVEL = 0,