Explorar el Código

Merge pull request #3946 from dydzio0614/mana-vortex-hero-order

Fix "bonusing" town building visiting hero order
Ivan Savenko hace 1 año
padre
commit
9049fb738a
Se han modificado 2 ficheros con 5 adiciones y 5 borrados
  1. 3 3
      lib/mapObjects/CGTownInstance.cpp
  2. 2 2
      server/CGameHandler.cpp

+ 3 - 3
lib/mapObjects/CGTownInstance.cpp

@@ -544,12 +544,12 @@ void CGTownInstance::newTurn(CRandomGenerator & rand) const
 
 		//get Mana Vortex or Stables bonuses
 		//same code is in the CGameHandler::buildStructure method
+		if (garrisonHero != nullptr) //garrison hero first - consistent with original H3 Mana Vortex and Battle Scholar Academy levelup windows order
+			cb->visitCastleObjects(this, garrisonHero);
+
 		if (visitingHero != nullptr)
 			cb->visitCastleObjects(this, visitingHero);
 
-		if (garrisonHero != nullptr)
-			cb->visitCastleObjects(this, garrisonHero);
-
 		if (tempOwner == PlayerColor::NEUTRAL) //garrison growth for neutral towns
 		{
 			std::vector<SlotID> nativeCrits; //slots

+ 2 - 2
server/CGameHandler.cpp

@@ -2434,10 +2434,10 @@ bool CGameHandler::buildStructure(ObjectInstanceID tid, BuildingID requestedID,
 	// now when everything is built - reveal tiles for lookout tower
 	changeFogOfWar(t->getSightCenter(), t->getSightRadius(), t->getOwner(), ETileVisibility::REVEALED);
 
+	if(t->garrisonHero) //garrison hero first - consistent with original H3 Mana Vortex and Battle Scholar Academy levelup windows order
+		visitCastleObjects(t, t->garrisonHero);
 	if(t->visitingHero)
 		visitCastleObjects(t, t->visitingHero);
-	if(t->garrisonHero)
-		visitCastleObjects(t, t->garrisonHero);
 
 	checkVictoryLossConditionsForPlayer(t->tempOwner);
 	return true;