#ifndef MAP_T_HPP #define MAP_T_HPP #include "../common/utils.hpp" // [Fate] status.option properties. These are persistent status changes. // IDs that are not listed are not used in the code (to the best of my knowledge) enum class Option : uint16_t { ZERO = 0x0000, SIGHT = 0x0001, // apparently some weaker non-GM hide HIDE2 = 0x0002, CLOAK = 0x0004, CART1 = 0x0008, FALCON = 0x0010, RIDING = 0x0020, // [Fate] This is the GM `@hide' flag HIDE = 0x0040, CART2 = 0x0080, CART3 = 0x0100, CART4 = 0x0200, CART5 = 0x0400, ORC_HEAD = 0x0800, // [Fate] Complete invisibility to other clients INVISIBILITY = 0x1000, _wedding = 0x1000, // [Fate] Auto-logging of nearby comments SCRIBE = 0x2000, _ruwach = 0x2000, CHASEWALK = 0x4000, sign = 0x8000, // ? REAL_ANY_HIDE = HIDE | CLOAK | HIDE2, OLD_ANY_HIDE = CHASEWALK | CLOAK | HIDE2, CART_MASK = CART1 | CART2 | CART3 | CART4 | CART5, MASK = sign | CHASEWALK | _wedding | CART_MASK | RIDING | FALCON, }; enum class Opt1 : uint16_t { ZERO = 0, _stone1 = 1, _freeze = 2, _stan = 3, _sleep = 4, _stone6 = 6, }; enum class Opt2 : uint16_t { ZERO = 0x0000, _poison = 0x0001, _curse = 0x0002, _silence = 0x0004, BLIND = 0x0010, _speedpotion0 = 0x0020, _signumcrucis = 0x0040, _atkpot = 0x0080, _heal = 0x0100, _slowpoison = 0x0200, }; enum class Opt3 : uint16_t { ZERO = 0x0000, _concentration = 0x0001, _overthrust = 0x0002, _energycoat = 0x0004, _explosionspirits = 0x0008, _steelbody = 0x0010, _bladestop = 0x0020, _berserk = 0x0080, _marionette = 0x0400, _assumptio = 0x0800, }; ENUM_BITWISE_OPERATORS(Option) ENUM_BITWISE_OPERATORS(Opt2) ENUM_BITWISE_OPERATORS(Opt3) enum { BL_NUL, BL_PC, BL_NPC, BL_MOB, BL_ITEM, BL_CHAT, BL_SKILL, BL_SPELL }; enum { WARP, SHOP, SCRIPT, MONS, MESSAGE }; #endif // MAP_T_HPP