瀏覽代碼

Compatibility hack for mods with old banks format

Ivan Savenko 1 年之前
父節點
當前提交
9ee2ee45bc
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      lib/mapObjectConstructors/CObjectClassesHandler.cpp

+ 5 - 0
lib/mapObjectConstructors/CObjectClassesHandler.cpp

@@ -203,6 +203,11 @@ TObjectTypeHandler CObjectClassesHandler::loadSubObjectFromJson(const std::strin
 		assert(handlerConstructors.count(handler) != 0);
 	}
 
+	// Compatibility with 1.5 mods for 1.6. To be removed in 1.7
+	// Detect banks that use old format and load them using old bank hander
+	if (baseObject->id == Obj::CREATURE_BANK && entry.Struct().count("levels") && !entry.Struct().count("rewards"))
+		handler = "bank";
+
 	auto createdObject = handlerConstructors.at(handler)();
 
 	createdObject->modScope = scope;