mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
It is now possible to configure power of generic skill & creature
specialties
This commit is contained in:
@@ -321,6 +321,11 @@
|
|||||||
|
|
||||||
/// Base scouting range for hero without any range modifiers
|
/// Base scouting range for hero without any range modifiers
|
||||||
"baseScoutingRange" : 5,
|
"baseScoutingRange" : 5,
|
||||||
|
|
||||||
|
/// Strength of generic secondary skill specialties ( "secondary" : "skillName" ) per level
|
||||||
|
"specialtySecondarySkillGrowth" : 5,
|
||||||
|
/// Strength of generic creature specialties ( "creature" : "creatureName" ) per level
|
||||||
|
"specialtyCreatureGrowth" : 5,
|
||||||
},
|
},
|
||||||
|
|
||||||
"towns":
|
"towns":
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <cctype>
|
#include <cctype>
|
||||||
|
|
||||||
#include "CSkillHandler.h"
|
#include "CSkillHandler.h"
|
||||||
|
#include "IGameSettings.h"
|
||||||
#include "bonuses/Updaters.h"
|
#include "bonuses/Updaters.h"
|
||||||
#include "constants/StringConstants.h"
|
#include "constants/StringConstants.h"
|
||||||
#include "filesystem/Filesystem.h"
|
#include "filesystem/Filesystem.h"
|
||||||
@@ -259,7 +259,7 @@ std::shared_ptr<CSkill> CSkillHandler::loadFromJson(const std::string & scope, c
|
|||||||
if (bonusNode.isStruct())
|
if (bonusNode.isStruct())
|
||||||
{
|
{
|
||||||
auto bonus = JsonUtils::parseBonus(bonusNode);
|
auto bonus = JsonUtils::parseBonus(bonusNode);
|
||||||
bonus->val = 5; // default H3 value, hardcoded for now
|
bonus->val = LIBRARY->engineSettings()->getInteger(EGameSettings::HEROES_SPECIALTY_SECONDARY_SKILL_GROWTH);
|
||||||
bonus->updater = std::make_shared<TimesHeroLevelUpdater>();
|
bonus->updater = std::make_shared<TimesHeroLevelUpdater>();
|
||||||
bonus->valType = BonusValueType::PERCENT_TO_TARGET_TYPE;
|
bonus->valType = BonusValueType::PERCENT_TO_TARGET_TYPE;
|
||||||
bonus->targetSourceType = BonusSource::SECONDARY_SKILL;
|
bonus->targetSourceType = BonusSource::SECONDARY_SKILL;
|
||||||
|
|||||||
@@ -87,6 +87,8 @@ const std::vector<GameSettings::SettingOption> GameSettings::settingProperties =
|
|||||||
{EGameSettings::HEROES_MOVEMENT_COST_BASE, "heroes", "movementCostBase" },
|
{EGameSettings::HEROES_MOVEMENT_COST_BASE, "heroes", "movementCostBase" },
|
||||||
{EGameSettings::HEROES_MOVEMENT_POINTS_LAND, "heroes", "movementPointsLand" },
|
{EGameSettings::HEROES_MOVEMENT_POINTS_LAND, "heroes", "movementPointsLand" },
|
||||||
{EGameSettings::HEROES_MOVEMENT_POINTS_SEA, "heroes", "movementPointsSea" },
|
{EGameSettings::HEROES_MOVEMENT_POINTS_SEA, "heroes", "movementPointsSea" },
|
||||||
|
{EGameSettings::HEROES_SPECIALTY_CREATURE_GROWTH, "heroes", "specialtyCreatureGrowth" },
|
||||||
|
{EGameSettings::HEROES_SPECIALTY_SECONDARY_SKILL_GROWTH, "heroes", "specialtySecondarySkillGrowth" },
|
||||||
{EGameSettings::MAP_FORMAT_ARMAGEDDONS_BLADE, "mapFormat", "armageddonsBlade" },
|
{EGameSettings::MAP_FORMAT_ARMAGEDDONS_BLADE, "mapFormat", "armageddonsBlade" },
|
||||||
{EGameSettings::MAP_FORMAT_CHRONICLES, "mapFormat", "chronicles" },
|
{EGameSettings::MAP_FORMAT_CHRONICLES, "mapFormat", "chronicles" },
|
||||||
{EGameSettings::MAP_FORMAT_HORN_OF_THE_ABYSS, "mapFormat", "hornOfTheAbyss" },
|
{EGameSettings::MAP_FORMAT_HORN_OF_THE_ABYSS, "mapFormat", "hornOfTheAbyss" },
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ enum class EGameSettings
|
|||||||
HEROES_MOVEMENT_COST_BASE,
|
HEROES_MOVEMENT_COST_BASE,
|
||||||
HEROES_MOVEMENT_POINTS_LAND,
|
HEROES_MOVEMENT_POINTS_LAND,
|
||||||
HEROES_MOVEMENT_POINTS_SEA,
|
HEROES_MOVEMENT_POINTS_SEA,
|
||||||
|
HEROES_SPECIALTY_CREATURE_GROWTH,
|
||||||
|
HEROES_SPECIALTY_SECONDARY_SKILL_GROWTH,
|
||||||
INTERFACE_PLAYER_COLORED_BACKGROUND,
|
INTERFACE_PLAYER_COLORED_BACKGROUND,
|
||||||
MAP_FORMAT_ARMAGEDDONS_BLADE,
|
MAP_FORMAT_ARMAGEDDONS_BLADE,
|
||||||
MAP_FORMAT_CHRONICLES,
|
MAP_FORMAT_CHRONICLES,
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ std::vector<std::shared_ptr<Bonus>> CHeroHandler::createCreatureSpecialty(Creatu
|
|||||||
auto bonus = std::make_shared<Bonus>();
|
auto bonus = std::make_shared<Bonus>();
|
||||||
bonus->type = BonusType::PRIMARY_SKILL;
|
bonus->type = BonusType::PRIMARY_SKILL;
|
||||||
bonus->subtype = BonusSubtypeID(skill);
|
bonus->subtype = BonusSubtypeID(skill);
|
||||||
bonus->val = 5;
|
bonus->val = LIBRARY->engineSettings()->getInteger(EGameSettings::HEROES_SPECIALTY_CREATURE_GROWTH);
|
||||||
bonus->valType = BonusValueType::PERCENT_TO_TARGET_TYPE;
|
bonus->valType = BonusValueType::PERCENT_TO_TARGET_TYPE;
|
||||||
bonus->targetSourceType = BonusSource::CREATURE_ABILITY;
|
bonus->targetSourceType = BonusSource::CREATURE_ABILITY;
|
||||||
bonus->limiter.reset(new CCreatureTypeLimiter(specCreature, true));
|
bonus->limiter.reset(new CCreatureTypeLimiter(specCreature, true));
|
||||||
|
|||||||
Reference in New Issue
Block a user