Browse Source

Merge pull request #1033 from kambala-decapitator/necro-witch-hut-rmg

don't add Necromancy to Witch Hut on random maps
Andrii Danylchenko 3 years ago
parent
commit
21c035e5d7
2 changed files with 3 additions and 2 deletions
  1. 0 1
      lib/mapObjects/CObjectClassesHandler.cpp
  2. 3 1
      lib/mapObjects/MiscObjects.cpp

+ 0 - 1
lib/mapObjects/CObjectClassesHandler.cpp

@@ -58,7 +58,6 @@ CObjectClassesHandler::CObjectClassesHandler()
 	SET_HANDLER("randomDwelling", CGDwelling);
 
 	SET_HANDLER("generic", CGObjectInstance);
-	SET_HANDLER("market", CGMarket);
 	SET_HANDLER("cartographer", CCartographer);
 	SET_HANDLER("artifact", CGArtifact);
 	SET_HANDLER("blackMarket", CGBlackMarket);

+ 3 - 1
lib/mapObjects/MiscObjects.cpp

@@ -1452,8 +1452,10 @@ void CGWitchHut::initObj(CRandomGenerator & rand)
 {
 	if (allowedAbilities.empty()) //this can happen for RMG. regular maps load abilities from map file
 	{
+		// Necromancy can't be learned on random maps
 		for(int i = 0; i < VLC->skillh->size(); i++)
-			allowedAbilities.push_back(i);
+			if(VLC->skillh->getByIndex(i)->getId() != SecondarySkill::NECROMANCY)
+				allowedAbilities.push_back(i);
 	}
 	ability = *RandomGeneratorUtil::nextItem(allowedAbilities, rand);
 }