mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-27 22:49:25 +02:00
Stability & regression fixes
This commit is contained in:
@@ -1217,16 +1217,17 @@ void RemoveObject::applyGs(CGameState *gs)
|
||||
|
||||
beatenHero->setVisitedTown(nullptr, false);
|
||||
}
|
||||
//return hero to the pool, so he may reappear in tavern
|
||||
|
||||
//return hero to the pool, so he may reappear in tavern
|
||||
gs->heroesPool->addHeroToPool(beatenHero->getHeroTypeID());
|
||||
gs->getMap().addToHeroPool(beatenHero);
|
||||
|
||||
//If hero on Boat is removed, the Boat disappears
|
||||
if(beatenHero->inBoat())
|
||||
{
|
||||
beatenHero->detachFrom(*beatenHero->getBoat());
|
||||
gs->getMap().eraseObject(beatenHero->getBoat()->id);
|
||||
auto boat = beatenHero->getBoat();
|
||||
beatenHero->setBoat(nullptr);
|
||||
gs->getMap().eraseObject(boat->id);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -1242,7 +1243,6 @@ void RemoveObject::applyGs(CGameState *gs)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
gs->getMap().eraseObject(objectID);
|
||||
gs->getMap().calculateGuardingGreaturePositions();//FIXME: excessive, update only affected tiles
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user