2 files changed
+14
No files matched your search
@@ -229,21 +229,31 @@ void ApplyClientNetPackVisitor::visitSetStackType(SetStackType & pack)
|
||||
void ApplyClientNetPackVisitor::visitEraseStack(EraseStack & pack)
|
||||
{
|
||||
dispatchGarrisonChange(cl, pack.army, ObjectInstanceID());
|
||||
cl.invalidatePaths(); //it is possible to remove last non-native unit for current terrain and lose movement penalty
|
||||
}
|
||||
|
||||
void ApplyClientNetPackVisitor::visitSwapStacks(SwapStacks & pack)
|
||||
{
|
||||
dispatchGarrisonChange(cl, pack.srcArmy, pack.dstArmy);
|
||||
|
||||
if(pack.srcArmy != pack.dstArmy)
|
||||
cl.invalidatePaths(); // adding/removing units may change terrain type penalty based on creature native terrains
|
||||
}
|
||||
|
||||
void ApplyClientNetPackVisitor::visitInsertNewStack(InsertNewStack & pack)
|
||||
{
|
||||
dispatchGarrisonChange(cl, pack.army, ObjectInstanceID());
|
||||
|
||||
if(gs.getHero(pack.army))
|
||||
cl.invalidatePaths(); // adding/removing units may change terrain type penalty based on creature native terrains
|
||||
}
|
||||
|
||||
void ApplyClientNetPackVisitor::visitRebalanceStacks(RebalanceStacks & pack)
|
||||
{
|
||||
dispatchGarrisonChange(cl, pack.srcArmy, pack.dstArmy);
|
||||
|
||||
if(pack.srcArmy != pack.dstArmy)
|
||||
cl.invalidatePaths(); // adding/removing units may change terrain type penalty based on creature native terrains
|
||||
}
|
||||
|
||||
void ApplyClientNetPackVisitor::visitBulkRebalanceStacks(BulkRebalanceStacks & pack)
|
||||
@@ -254,6 +264,9 @@ void ApplyClientNetPackVisitor::visitBulkRebalanceStacks(BulkRebalanceStacks & p
|
||||
? ObjectInstanceID()
|
||||
: pack.moves[0].dstArmy;
|
||||
dispatchGarrisonChange(cl, pack.moves[0].srcArmy, destArmy);
|
||||
|
||||
if(pack.moves[0].srcArmy != destArmy)
|
||||
cl.invalidatePaths(); // adding/removing units may change terrain type penalty based on creature native terrains
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -171,6 +171,7 @@ void CGCreature::onHeroVisit( const CGHeroInstance * h ) const
|
||||
//ask if player agrees to pay gold
|
||||
BlockingDialog ynd(true,false);
|
||||
ynd.player = h->tempOwner;
|
||||
ynd.components.emplace_back(ComponentType::RESOURCE, GameResID(GameResID::GOLD), action);
|
||||
std::string tmp = VLC->generaltexth->advobtxt[90];
|
||||
boost::algorithm::replace_first(tmp, "%d", std::to_string(getStackCount(SlotID(0))));
|
||||
boost::algorithm::replace_first(tmp, "%d", std::to_string(action));
|
||||
|
||||
Reference in new issue
Block a user