123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- /*
- * Enumerations.h, part of VCMI engine
- *
- * Authors: listed in file AUTHORS in main folder
- *
- * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
- #pragma once
- VCMI_LIB_NAMESPACE_BEGIN
- enum class EAlignment : int8_t
- {
- ANY = -1,
- GOOD = 0,
- EVIL,
- NEUTRAL
- };
- namespace BuildingSubID
- {
- enum EBuildingSubID
- {
- DEFAULT = -50,
- NONE = -1,
- CASTLE_GATE,
- MYSTIC_POND,
- LIBRARY,
- PORTAL_OF_SUMMONING,
- ESCAPE_TUNNEL,
- TREASURY,
- BANK
- };
- }
- enum class EMarketMode : int8_t
- {
- RESOURCE_RESOURCE, RESOURCE_PLAYER, CREATURE_RESOURCE, RESOURCE_ARTIFACT,
- ARTIFACT_RESOURCE, ARTIFACT_EXP, CREATURE_EXP, CREATURE_UNDEAD, RESOURCE_SKILL,
- MARKET_AFTER_LAST_PLACEHOLDER
- };
- enum class EAiTactic : int8_t
- {
- NONE = -1,
- RANDOM = 0,
- WARRIOR = 1,
- BUILDER = 2,
- EXPLORER = 3
- };
- enum class EBuildingState : int8_t
- {
- HAVE_CAPITAL, NO_WATER, FORBIDDEN, ADD_MAGES_GUILD, ALREADY_PRESENT, CANT_BUILD_TODAY,
- NO_RESOURCES, ALLOWED, PREREQUIRES, MISSING_BASE, BUILDING_ERROR, TOWN_NOT_OWNED
- };
- enum class ESpellCastProblem : int8_t
- {
- OK, NO_HERO_TO_CAST_SPELL, CASTS_PER_TURN_LIMIT, NO_SPELLBOOK,
- HERO_DOESNT_KNOW_SPELL, NOT_ENOUGH_MANA, ADVMAP_SPELL_INSTEAD_OF_BATTLE_SPELL,
- SPELL_LEVEL_LIMIT_EXCEEDED, NO_SPELLS_TO_DISPEL,
- NO_APPROPRIATE_TARGET, STACK_IMMUNE_TO_SPELL, WRONG_SPELL_TARGET, ONGOING_TACTIC_PHASE,
- MAGIC_IS_BLOCKED, //For Orb of Inhibition and similar - no casting at all
- INVALID
- };
- namespace ECommander
- {
- enum SecondarySkills {ATTACK, DEFENSE, HEALTH, DAMAGE, SPEED, SPELL_POWER, CASTS, RESISTANCE};
- const int MAX_SKILL_LEVEL = 5;
- }
- enum class EWallPart : int8_t
- {
- INDESTRUCTIBLE_PART_OF_GATE = -3, INDESTRUCTIBLE_PART = -2, INVALID = -1,
- KEEP = 0, BOTTOM_TOWER, BOTTOM_WALL, BELOW_GATE, OVER_GATE, UPPER_WALL, UPPER_TOWER, GATE,
- PARTS_COUNT /* This constant SHOULD always stay as the last item in the enum. */
- };
- enum class EWallState : int8_t
- {
- NONE = -1, //no wall
- DESTROYED,
- DAMAGED,
- INTACT,
- REINFORCED, // walls in towns with castle
- };
- enum class EGateState : int8_t
- {
- NONE,
- CLOSED,
- BLOCKED, // gate is blocked in closed state, e.g. by creature
- OPENED,
- DESTROYED
- };
- enum class ETileType : int8_t
- {
- FREE,
- POSSIBLE,
- BLOCKED,
- USED
- };
- enum class ETeleportChannelType : int8_t
- {
- IMPASSABLE,
- BIDIRECTIONAL,
- UNIDIRECTIONAL,
- MIXED
- };
- namespace MasteryLevel
- {
- enum Type
- {
- NONE,
- BASIC,
- ADVANCED,
- EXPERT,
- LEVELS_SIZE
- };
- }
- enum class Date : int8_t
- {
- DAY = 0,
- DAY_OF_WEEK = 1,
- WEEK = 2,
- MONTH = 3,
- DAY_OF_MONTH
- };
- enum class EActionType : int8_t
- {
- NO_ACTION,
- END_TACTIC_PHASE,
- RETREAT,
- SURRENDER,
- HERO_SPELL,
- WALK,
- WAIT,
- DEFEND,
- WALK_AND_ATTACK,
- SHOOT,
- CATAPULT,
- MONSTER_SPELL,
- BAD_MORALE,
- STACK_HEAL,
- };
- enum class EDiggingStatus : int8_t
- {
- UNKNOWN = -1,
- CAN_DIG = 0,
- LACK_OF_MOVEMENT,
- WRONG_TERRAIN,
- TILE_OCCUPIED,
- BACKPACK_IS_FULL
- };
- enum class EPlayerStatus : int8_t
- {
- WRONG = -1,
- INGAME,
- LOSER,
- WINNER
- };
- enum class PlayerRelations : int8_t
- {
- ENEMIES,
- ALLIES,
- SAME_PLAYER
- };
- enum class EMetaclass : int8_t
- {
- INVALID = 0,
- ARTIFACT,
- CREATURE,
- FACTION,
- EXPERIENCE,
- HERO,
- HEROCLASS,
- LUCK,
- MANA,
- MORALE,
- MOVEMENT,
- OBJECT,
- PRIMARY_SKILL,
- SECONDARY_SKILL,
- SPELL,
- RESOURCE
- };
- enum class EHealLevel: int8_t
- {
- HEAL,
- RESURRECT,
- OVERHEAL
- };
- enum class EHealPower : int8_t
- {
- ONE_BATTLE,
- PERMANENT
- };
- enum class EBattleResult : int8_t
- {
- NORMAL = 0,
- ESCAPE = 1,
- SURRENDER = 2,
- };
- enum class ETileVisibility : int8_t // Fog of war change
- {
- HIDDEN,
- REVEALED
- };
- enum class EArmyFormation : int8_t
- {
- LOOSE,
- TIGHT
- };
- enum class EMovementMode : int8_t
- {
- STANDARD,
- DIMENSION_DOOR,
- MONOLITH,
- CASTLE_GATE,
- TOWN_PORTAL,
- };
- enum class EMapLevel : int8_t
- {
- ANY = -1,
- SURFACE = 0,
- UNDERGROUND = 1
- };
- enum class EWeekType : int8_t
- {
- FIRST_WEEK,
- NORMAL,
- DOUBLE_GROWTH,
- BONUS_GROWTH,
- DEITYOFFIRE,
- PLAGUE
- };
- enum class ColorScheme : int8_t
- {
- NONE,
- KEEP,
- GRAYSCALE,
- H2_SCHEME
- };
- enum class ChangeValueMode : int8_t
- {
- RELATIVE,
- ABSOLUTE
- };
- VCMI_LIB_NAMESPACE_END
|