1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-28 08:48:48 +02:00

Fix minor bugs

This commit is contained in:
nordsoft 2023-04-20 03:20:00 +04:00
parent 4e18a3d579
commit 9ecf16ca23
3 changed files with 11 additions and 2 deletions

View File

@ -1479,7 +1479,10 @@ void CGHeroInstance::serializeCommonOptions(JsonSerializeFormat & handler)
if(portrait >= 0)
{
if(portrait < legacyHeroes || portrait >= moddedStart)
handler.serializeId<si32, si32, HeroTypeID>("portrait", portrait, -1);
{
int tempPortrait = portrait - GameConstants::HERO_PORTRAIT_SHIFT;
handler.serializeId<si32, si32, HeroTypeID>("portrait", tempPortrait, -1);
}
else
handler.serializeInt("portrait", portrait, -1);
}
@ -1489,7 +1492,10 @@ void CGHeroInstance::serializeCommonOptions(JsonSerializeFormat & handler)
const JsonNode & portraitNode = handler.getCurrent()["portrait"];
if(portraitNode.getType() == JsonNode::JsonType::DATA_STRING)
{
handler.serializeId<si32, si32, HeroTypeID>("portrait", portrait, -1);
portrait += GameConstants::HERO_PORTRAIT_SHIFT;
}
else
handler.serializeInt("portrait", portrait, -1);
}

View File

@ -264,7 +264,7 @@ CCampaignScenario CCampaignHandler::readScenarioFromJson(JsonNode & reader)
CCampaignScenario ret;
ret.conquered = false;
ret.mapName = reader["map"].String();
for(auto & g : reader["precoditions"].Vector())
for(auto & g : reader["preconditions"].Vector())
ret.preconditionRegions.insert(g.Integer());
ret.regionColor = reader["color"].Integer();

View File

@ -576,6 +576,9 @@ ModCompatibilityInfo MapController::modAssessmentMap(const CMap & map)
ModCompatibilityInfo result;
for(auto obj : map.objects)
{
if(obj->ID == Obj::HERO)
continue; //stub!
auto handler = VLC->objtypeh->getHandlerFor(obj->ID, obj->subID);
auto modName = QString::fromStdString(handler->getJsonKey()).split(":").at(0).toStdString();
if(modName != "core")