1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-29 21:56:54 +02:00

Add workaround to loading old map format

This commit is contained in:
Ivan Savenko 2023-11-27 13:47:10 +02:00
parent e21e3f8386
commit ee46fc806a

View File

@ -158,20 +158,35 @@ namespace TriggeredEventsDetail
{ {
case EventCondition::HAVE_ARTIFACT: case EventCondition::HAVE_ARTIFACT:
case EventCondition::TRANSPORT: case EventCondition::TRANSPORT:
event.objectType = ArtifactID(ArtifactID::decode(data["type"].String())); if (data["type"].isNumber()) // compatibility
event.objectType = ArtifactID(data["type"].Integer());
else
event.objectType = ArtifactID(ArtifactID::decode(data["type"].String()));
break; break;
case EventCondition::HAVE_CREATURES: case EventCondition::HAVE_CREATURES:
event.objectType = CreatureID(CreatureID::decode(data["type"].String())); if (data["type"].isNumber()) // compatibility
event.objectType = CreatureID(data["type"].Integer());
else
event.objectType = CreatureID(CreatureID::decode(data["type"].String()));
break; break;
case EventCondition::HAVE_RESOURCES: case EventCondition::HAVE_RESOURCES:
event.objectType = GameResID(GameResID::decode(data["type"].String())); if (data["type"].isNumber()) // compatibility
event.objectType = GameResID(data["type"].Integer());
else
event.objectType = GameResID(GameResID::decode(data["type"].String()));
break; break;
case EventCondition::HAVE_BUILDING: case EventCondition::HAVE_BUILDING:
event.objectType = BuildingID(BuildingID::decode(data["type"].String())); if (data["type"].isNumber()) // compatibility
event.objectType = BuildingID(data["type"].Integer());
else
event.objectType = BuildingID(BuildingID::decode(data["type"].String()));
break; break;
case EventCondition::CONTROL: case EventCondition::CONTROL:
case EventCondition::DESTROY: case EventCondition::DESTROY:
event.objectType = MapObjectID(MapObjectID::decode(data["type"].String())); if (data["type"].isNumber()) // compatibility
event.objectType = MapObjectID(data["type"].Integer());
else
event.objectType = MapObjectID(MapObjectID::decode(data["type"].String()));
break; break;
} }