diff --git a/config/objects/generic.json b/config/objects/generic.json index 7f622b894..0cdbfbed7 100644 --- a/config/objects/generic.json +++ b/config/objects/generic.json @@ -106,11 +106,16 @@ }, "redwoodObservatory" : { - "index" :58, + "index" :58, "handler" : "observatory", "types" : { "object" : { "index" : 0, + "templates" : + { + "base" : { "animation" : "avxredw.def", "visitableFrom" : [ "---", "+++", "+++" ], "mask" : [ "VV", "VV", "VA"], "allowedTerrains":["grass", "swamp", "dirt", "sand", "lava", "rough"] }, + "snow" : { "animation" : "avxreds0.def", "visitableFrom" : [ "---", "+++", "+++" ], "mask" : [ "VV", "VV", "VA"], "allowedTerrains":["snow"] } + }, "rmg" : { "zoneLimit" : 1, "value" : 750, diff --git a/lib/rmg/CRmgTemplateZone.cpp b/lib/rmg/CRmgTemplateZone.cpp index ad99b5a5b..d2c2fd179 100644 --- a/lib/rmg/CRmgTemplateZone.cpp +++ b/lib/rmg/CRmgTemplateZone.cpp @@ -712,6 +712,8 @@ bool CRmgTemplateZone::createTreasurePile (CMapGenerator* gen, int3 &pos) auto oiptr = std::find(possibleObjects.begin(), possibleObjects.end(), oi); assert (oiptr != possibleObjects.end()); oiptr->maxPerZone--; + if (!oiptr->maxPerZone) + possibleObjects.erase(oiptr); //TODO //update treasure pile area