浏览代码

Fix mapping of map objects linked to game entities

Ivan Savenko 2 年之前
父节点
当前提交
d742b6b809
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      lib/mapping/MapIdentifiersH3M.cpp

+ 9 - 0
lib/mapping/MapIdentifiersH3M.cpp

@@ -111,6 +111,15 @@ void MapIdentifiersH3M::remapTemplate(ObjectTemplate & objectTemplate)
 		objectTemplate.id = mappedType.ID;
 		objectTemplate.subid = mappedType.subID;
 	}
+
+	if (objectTemplate.id == Obj::TOWN || objectTemplate.id == Obj::RANDOM_DWELLING_FACTION)
+		objectTemplate.subid = remap(FactionID(objectTemplate.subid));
+
+	if (objectTemplate.id == Obj::MONSTER)
+		objectTemplate.subid = remap(CreatureID(objectTemplate.subid));
+
+	if (objectTemplate.id == Obj::ARTIFACT)
+		objectTemplate.subid = remap(ArtifactID(objectTemplate.subid));
 }
 
 BuildingID MapIdentifiersH3M::remapBuilding(std::optional<FactionID> owner, BuildingID input) const