diff options
| author | fusion32 <marcopuzziello@gmail.com> | 2025-05-16 18:46:18 -0300 |
|---|---|---|
| committer | fusion32 <marcopuzziello@gmail.com> | 2025-05-16 18:46:18 -0300 |
| commit | 717f5cd9dacf30fe6bf1561db9297e75fd27fdef (patch) | |
| tree | 4785a3bf770da880d514fc232a9972bd8473a72e /src/enums.hh | |
| download | game-717f5cd9dacf30fe6bf1561db9297e75fd27fdef.tar.gz game-717f5cd9dacf30fe6bf1561db9297e75fd27fdef.zip | |
initial commit - getting at TSkill structs
Diffstat (limited to 'src/enums.hh')
| -rw-r--r-- | src/enums.hh | 219 |
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_ |
