|
@@ -18,6 +18,7 @@
|
|
|
#include "../callback/IGameInfoCallback.h"
|
|
|
#include "../callback/IGameEventCallback.h"
|
|
|
#include "../callback/IGameRandomizer.h"
|
|
|
+#include "../callback/EditorCallback.h"
|
|
|
#include "../texts/CGeneralTextHandler.h"
|
|
|
#include "../TerrainHandler.h"
|
|
|
#include "../RoadHandler.h"
|
|
@@ -1715,7 +1716,12 @@ void CGHeroInstance::serializeCommonOptions(JsonSerializeFormat & handler)
|
|
|
handler.serializeIdArray("spellBook", spells);
|
|
|
|
|
|
if(handler.saving)
|
|
|
- CArtifactSet::serializeJsonArtifacts(handler, "artifacts", &cb->gameState().getMap());
|
|
|
+ {
|
|
|
+ if(auto * ecb = dynamic_cast<EditorCallback *>(cb))
|
|
|
+ CArtifactSet::serializeJsonArtifacts(handler, "artifacts", const_cast<CMap *>(ecb->getMapConstPtr()));
|
|
|
+ else
|
|
|
+ CArtifactSet::serializeJsonArtifacts(handler, "artifacts", &cb->gameState().getMap());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void CGHeroInstance::serializeJsonOptions(JsonSerializeFormat & handler)
|