diff options
| author | fusion32 <marcopuzziello@gmail.com> | 2025-06-24 15:02:38 -0300 |
|---|---|---|
| committer | fusion32 <marcopuzziello@gmail.com> | 2025-06-24 15:02:38 -0300 |
| commit | 8bc2e5dc3a523af471065752a534d20d878c60b0 (patch) | |
| tree | d39080ec0f265227fd326588c82742771d370228 /src/enums.hh | |
| parent | bdfcbb2f0edee2679bfe588df55e9f99bd837510 (diff) | |
| download | game-8bc2e5dc3a523af471065752a534d20d878c60b0.tar.gz game-8bc2e5dc3a523af471065752a534d20d878c60b0.zip | |
most of `crnonpl.cc`
Diffstat (limited to 'src/enums.hh')
| -rw-r--r-- | src/enums.hh | 107 |
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, |
