1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00

campaign unlock to gamesettings

This commit is contained in:
Laserlicht
2025-07-24 17:55:30 +02:00
parent 7fcb0246fb
commit d9ac7755d6
5 changed files with 17 additions and 1 deletions

View File

@@ -33,6 +33,7 @@
#include "../../lib/CCreatureHandler.h" #include "../../lib/CCreatureHandler.h"
#include "../../lib/CSkillHandler.h" #include "../../lib/CSkillHandler.h"
#include "../../lib/GameLibrary.h" #include "../../lib/GameLibrary.h"
#include "../../lib/IGameSettings.h"
#include "../../lib/campaign/CampaignHandler.h" #include "../../lib/campaign/CampaignHandler.h"
#include "../../lib/filesystem/Filesystem.h" #include "../../lib/filesystem/Filesystem.h"
#include "../../lib/mapObjects/CGHeroInstance.h" #include "../../lib/mapObjects/CGHeroInstance.h"
@@ -177,7 +178,7 @@ CCampaignScreen::CCampaignButton::CCampaignButton(const JsonNode & config, const
} }
} }
if(persistentStorage["unlockAllCampaigns"].Bool()) if(LIBRARY->engineSettings()->getBoolean(EGameSettings::CAMPAIGN_UNLOCK_ALL))
status = CCampaignScreen::ENABLED; status = CCampaignScreen::ENABLED;
if(status != CCampaignScreen::DISABLED) if(status != CCampaignScreen::DISABLED)

View File

@@ -823,6 +823,12 @@
"teal" : [ -0.13, 0.23, 0.23, 0.90, 1.20, 2.20 ], "teal" : [ -0.13, 0.23, 0.23, 0.90, 1.20, 2.20 ],
"pink" : [ 0.44, 0.15, 0.25, 1.00, 1.00, 1.75 ] "pink" : [ 0.44, 0.15, 0.25, 1.00, 1.00, 1.75 ]
} }
},
"campaign" :
{
// Unlock all campaigns
"unlockAll" : false
} }
} }
} }

View File

@@ -67,6 +67,13 @@
"baseScoutingRange" : { "type" : "number" } "baseScoutingRange" : { "type" : "number" }
} }
}, },
"campaign": {
"type" : "object",
"additionalProperties" : false,
"properties" : {
"unlockAll" : { "type" : "boolean" }
}
},
"combat": { "combat": {
"type" : "object", "type" : "object",
"additionalProperties" : false, "additionalProperties" : false,

View File

@@ -45,6 +45,7 @@ const std::vector<GameSettings::SettingOption> GameSettings::settingProperties =
{EGameSettings::BANKS_SHOW_GUARDS_COMPOSITION, "banks", "showGuardsComposition" }, {EGameSettings::BANKS_SHOW_GUARDS_COMPOSITION, "banks", "showGuardsComposition" },
{EGameSettings::BONUSES_GLOBAL, "bonuses", "global" }, {EGameSettings::BONUSES_GLOBAL, "bonuses", "global" },
{EGameSettings::BONUSES_PER_HERO, "bonuses", "perHero" }, {EGameSettings::BONUSES_PER_HERO, "bonuses", "perHero" },
{EGameSettings::CAMPAIGN_UNLOCK_ALL, "campaign", "unlockAll" },
{EGameSettings::COMBAT_ABILITY_BIAS, "combat", "abilityBias" }, {EGameSettings::COMBAT_ABILITY_BIAS, "combat", "abilityBias" },
{EGameSettings::COMBAT_AREA_SHOT_CAN_TARGET_EMPTY_HEX, "combat", "areaShotCanTargetEmptyHex" }, {EGameSettings::COMBAT_AREA_SHOT_CAN_TARGET_EMPTY_HEX, "combat", "areaShotCanTargetEmptyHex" },
{EGameSettings::COMBAT_ATTACK_POINT_DAMAGE_FACTOR, "combat", "attackPointDamageFactor" }, {EGameSettings::COMBAT_ATTACK_POINT_DAMAGE_FACTOR, "combat", "attackPointDamageFactor" },

View File

@@ -18,6 +18,7 @@ enum class EGameSettings
BANKS_SHOW_GUARDS_COMPOSITION, BANKS_SHOW_GUARDS_COMPOSITION,
BONUSES_GLOBAL, BONUSES_GLOBAL,
BONUSES_PER_HERO, BONUSES_PER_HERO,
CAMPAIGN_UNLOCK_ALL,
COMBAT_ABILITY_BIAS, COMBAT_ABILITY_BIAS,
COMBAT_AREA_SHOT_CAN_TARGET_EMPTY_HEX, COMBAT_AREA_SHOT_CAN_TARGET_EMPTY_HEX,
COMBAT_ATTACK_POINT_DAMAGE_FACTOR, COMBAT_ATTACK_POINT_DAMAGE_FACTOR,