aboutsummaryrefslogtreecommitdiff
path: root/src/enums.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/enums.hh')
-rw-r--r--src/enums.hh219
1 files changed, 219 insertions, 0 deletions
diff --git a/src/enums.hh b/src/enums.hh
new file mode 100644
index 0000000..8212db1
--- /dev/null
+++ b/src/enums.hh
@@ -0,0 +1,219 @@
+#ifndef TIBIA_ENUMS_HH_
+#define TIBIA_ENUMS_HH_ 1
+
+#include "main.hh"
+
+// TODO(fusion): Probably cleanup these names? Prefix values? Its crazy that
+// there are no collision problems (possibly yet).
+
+enum CreatureType: int {
+ PLAYER = 0,
+ MONSTER = 1,
+ NPC = 2,
+};
+
+enum RESULT: int {
+ ERROR = -1,
+ NOERROR = 0,
+ NOTACCESSIBLE = 1,
+ NOTMOVABLE = 2,
+ NOTTAKABLE = 3,
+ NOROOM = 4,
+ OUTOFRANGE = 5,
+ OUTOFHOME = 6,
+ CANNOTTHROW = 7,
+ TOOHEAVY = 8,
+ CROSSREFERENCE = 9,
+ CONTAINERFULL = 10,
+ WRONGPOSITION = 11,
+ WRONGPOSITION2 = 12,
+ WRONGCLOTHES = 13,
+ HANDSNOTFREE = 14,
+ HANDBLOCKED = 15,
+ ONEWEAPONONLY = 16,
+ NOMATCH = 17,
+ NOTCUMULABLE = 18,
+ TOOMANYPARTS = 19,
+ EMPTYCONTAINER = 20,
+ SPLITOBJECT = 21,
+ NOKEYMATCH = 22,
+ UPSTAIRS = 23,
+ DOWNSTAIRS = 24,
+ CREATURENOTEXISTING = 25,
+ PLAYERNOTEXISTING = 26,
+ PLAYERNOTONLINE = 27,
+ NAMEAMBIGUOUS = 28,
+ NOTUSABLE = 29,
+ FEDUP = 30,
+ DESTROYED = 31,
+ SPELLUNKNOWN = 32,
+ LOWMAGICLEVEL = 33,
+ MAGICITEM = 34,
+ NOTENOUGHMANA = 35,
+ NOSKILL = 36,
+ TARGETLOST = 37,
+ OUTOFAMMO = 38,
+ NOCREATURE = 39,
+ TOOLONG = 40,
+ TARGETOUTOFRANGE = 41,
+ TARGETHIDDEN = 42,
+ ATTACKNOTALLOWED = 43,
+ NOWAY = 44,
+ LOGINERROR = 45,
+ LOGINABORT = 46,
+ PROTECTIONZONE = 47,
+ ENTERPROTECTIONZONE = 48,
+ EXHAUSTED = 49,
+ NOTINVITED = 50,
+ NOPREMIUMACCOUNT = 51,
+ MOVENOTPOSSIBLE = 52,
+ ALREADYTRADING = 53,
+ PARTNERTRADING = 54,
+ TOOMANYOBJECTS = 55,
+ TOOMANYSLAVES = 56,
+ NOTTURNABLE = 57,
+ SECUREMODE = 58,
+ NOTENOUGHSOULPOINTS = 59,
+ LOWLEVEL = 60,
+};
+
+enum RIGHT: int {
+ PREMIUM_ACCOUNT = 0,
+ NOTATION = 1,
+ NAMELOCK = 2,
+ STATEMENT_REPORT = 3,
+ BANISHMENT = 4,
+ FINAL_WARNING = 5,
+ IP_BANISHMENT = 6,
+ KICK = 7,
+ HOME_TELEPORT = 8,
+ GAMEMASTER_BROADCAST = 9,
+ ANONYMOUS_BROADCAST = 10,
+ NO_BANISHMENT = 11,
+ ALLOW_MULTICLIENT = 12,
+ LOG_COMMUNICATION = 13,
+ READ_GAMEMASTER_CHANNEL = 14,
+ READ_TUTOR_CHANNEL = 15,
+ HIGHLIGHT_HELP_CHANNEL = 16,
+ SEND_BUGREPORTS = 17,
+ NAME_INSULTING = 18,
+ NAME_SENTENCE = 19,
+ NAME_NONSENSICAL_LETTERS = 20,
+ NAME_BADLY_FORMATTED = 21,
+ NAME_NO_PERSON = 22,
+ NAME_CELEBRITY = 23,
+ NAME_COUNTRY = 24,
+ NAME_FAKE_IDENTITY = 25,
+ NAME_FAKE_POSITION = 26,
+ STATEMENT_INSULTING = 27,
+ STATEMENT_SPAMMING = 28,
+ STATEMENT_ADVERT_OFFTOPIC = 29,
+ STATEMENT_ADVERT_MONEY = 30,
+ STATEMENT_NON_ENGLISH = 31,
+ STATEMENT_CHANNEL_OFFTOPIC = 32,
+ STATEMENT_VIOLATION_INCITING = 33,
+ CHEATING_BUG_ABUSE = 34,
+ CHEATING_GAME_WEAKNESS = 35,
+ CHEATING_MACRO_USE = 36,
+ CHEATING_MODIFIED_CLIENT = 37,
+ CHEATING_HACKING = 38,
+ CHEATING_MULTI_CLIENT = 39,
+ CHEATING_ACCOUNT_TRADING = 40,
+ CHEATING_ACCOUNT_SHARING = 41,
+ GAMEMASTER_THREATENING = 42,
+ GAMEMASTER_PRETENDING = 43,
+ GAMEMASTER_INFLUENCE = 44,
+ GAMEMASTER_FALSE_REPORTS = 45,
+ KILLING_EXCESSIVE_UNJUSTIFIED = 46,
+ DESTRUCTIVE_BEHAVIOUR = 47,
+ SPOILING_AUCTION = 48,
+ INVALID_PAYMENT = 49,
+ TELEPORT_TO_CHARACTER = 50,
+ TELEPORT_TO_MARK = 51,
+ TELEPORT_VERTICAL = 52,
+ TELEPORT_TO_COORDINATE = 53,
+ LEVITATE = 54,
+ SPECIAL_MOVEUSE = 55,
+ MODIFY_GOSTRENGTH = 56,
+ SHOW_COORDINATE = 57,
+ RETRIEVE = 58,
+ ENTER_HOUSES = 59,
+ OPEN_NAMEDOORS = 60,
+ INVULNERABLE = 61,
+ UNLIMITED_MANA = 62,
+ KEEP_INVENTORY = 63,
+ ALL_SPELLS = 64,
+ UNLIMITED_CAPACITY = 65,
+ ZERO_CAPACITY = 66,
+ ATTACK_EVERYWHERE = 67,
+ NO_ATTACK = 68,
+ NO_RUNES = 69,
+ NO_LOGOUT_BLOCK = 70,
+ GAMEMASTER_OUTFIT = 71,
+ ILLUMINATE = 72,
+ CHANGE_PROFESSION = 73,
+ IGNORED_BY_MONSTERS = 74,
+ SHOW_KEYHOLE_NUMBERS = 75,
+ CREATE_OBJECTS = 76,
+ CREATE_MONEY = 77,
+ CREATE_MONSTERS = 78,
+ CHANGE_SKILLS = 79,
+ CLEANUP_FIELDS = 80,
+ NO_STATISTICS = 81,
+};
+
+// NOTE(fusion): This didn't exist int the decompiled version but is handy when
+// accessing a creature's `Skills` table.
+enum Skill: int {
+ SKILL_LEVEL = 0,
+ SKILL_MAGIC_LEVEL = 1,
+ SKILL_HITPOINTS = 2,
+ SKILL_MANA = 3,
+ SKILL_GO_STRENGTH = 4, // speed?
+ SKILL_CARRY_WEIGHT = 5, // capacity?
+ SKILL_FIST = 6,
+ SKILL_CLUB = 7,
+ SKILL_SWORD = 8,
+ SKILL_AXE = 9,
+ SKILL_DISTANCE = 10,
+ SKILL_SHIELDING = 11,
+ // 12?
+ SKILL_FISHING = 13,
+ SKILL_FED = 14,
+ SKILL_LIGHT = 15,
+ SKILL_ILLUSION = 16,
+ SKILL_POISON = 17,
+ SKILL_BURNING = 18,
+ SKILL_ENERGY = 19,
+ // 20?
+ // 21?
+ SKILL_SOUL = 22,
+};
+
+enum TalkMode: int {
+ TALK_SAY = 1,
+ TALK_WHISPER = 2,
+ TALK_YELL = 3,
+ TALK_PRIVATE_MESSAGE = 4,
+ TALK_CHANNEL_CALL = 5,
+ TALK_GAMEMASTER_REQUEST = 6,
+ TALK_GAMEMASTER_ANSWER = 7,
+ TALK_PLAYER_ANSWER = 8,
+ TALK_GAMEMASTER_BROADCAST = 9,
+ TALK_GAMEMASTER_CHANNELCALL = 10,
+ TALK_GAMEMASTER_MESSAGE = 11,
+ TALK_HIGHLIGHT_CHANNELCALL = 12,
+ TALK_ANONYMOUS_BROADCAST = 13,
+ TALK_ANONYMOUS_CHANNELCALL = 14,
+ TALK_ANONYMOUS_MESSAGE = 15,
+ TALK_ANIMAL_LOW = 16,
+ TALK_ANIMAL_LOUD = 17,
+ TALK_ADMIN_MESSAGE = 18,
+ TALK_EVENT_MESSAGE = 19,
+ TALK_LOGIN_MESSAGE = 20,
+ TALK_STATUS_MESSAGE = 21,
+ TALK_INFO_MESSAGE = 22,
+ TALK_FAILURE_MESSAGE = 23,
+};
+
+#endif //TIBIA_ENUMS_HH_