mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
Replaced campaign bonuses from using 3 integers to store anything with type-safe version that uses std::variant that ensures that all bonuses are in correct state. Also removed "interesting" solutions like storing primary skills using bit shifts. Prerequirement for HotA campaign support
53 lines
739 B
C++
53 lines
739 B
C++
/*
|
|
* CampaignConstants.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 CampaignVersion : uint8_t
|
|
{
|
|
NONE = 0,
|
|
RoE = 4,
|
|
AB = 5,
|
|
SoD = 6,
|
|
WoG = 6,
|
|
Chr = 7,
|
|
|
|
HotA = 10,
|
|
|
|
VCMI = 1,
|
|
VCMI_MIN = 1,
|
|
VCMI_MAX = 1,
|
|
};
|
|
|
|
enum class CampaignStartOptions : int8_t
|
|
{
|
|
NONE = 0,
|
|
START_BONUS,
|
|
HERO_CROSSOVER,
|
|
HERO_OPTIONS
|
|
};
|
|
|
|
enum class CampaignBonusType : int8_t
|
|
{
|
|
SPELL,
|
|
MONSTER,
|
|
BUILDING,
|
|
ARTIFACT,
|
|
SPELL_SCROLL,
|
|
PRIMARY_SKILL,
|
|
SECONDARY_SKILL,
|
|
RESOURCE,
|
|
HEROES_FROM_PREVIOUS_SCENARIO,
|
|
HERO
|
|
};
|
|
|
|
VCMI_LIB_NAMESPACE_END
|