1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-27 22:49:25 +02:00

end of battle art assembling fix

This commit is contained in:
SoundSSGood
2023-01-02 16:19:45 +02:00
committed by Ivan Savenko
parent 3e1e41ef59
commit d5cef0c069
3 changed files with 20 additions and 11 deletions

View File

@@ -272,15 +272,18 @@ void EraseArtifact::applyCl(CClient *cl)
callInterfaceIfPresent(cl, al.owningPlayer(), &IGameEventsReceiver::artifactRemoved, al);
}
void MoveArtifact::applyCl(CClient *cl)
void MoveArtifact::applyCl(CClient * cl)
{
callInterfaceIfPresent(cl, src.owningPlayer(), &IGameEventsReceiver::artifactMoved, src, dst);
callInterfaceIfPresent(cl, src.owningPlayer(), &IGameEventsReceiver::artifactPossibleAssembling, dst);
if(src.owningPlayer() != dst.owningPlayer())
auto moveArtifact = [this, cl](PlayerColor player) -> void
{
callInterfaceIfPresent(cl, dst.owningPlayer(), &IGameEventsReceiver::artifactMoved, src, dst);
callInterfaceIfPresent(cl, dst.owningPlayer(), &IGameEventsReceiver::artifactPossibleAssembling, dst);
}
callInterfaceIfPresent(cl, player, &IGameEventsReceiver::artifactMoved, src, dst);
if(askAssemble)
callInterfaceIfPresent(cl, player, &IGameEventsReceiver::artifactPossibleAssembling, dst);
};
moveArtifact(src.owningPlayer());
if(src.owningPlayer() != dst.owningPlayer())
moveArtifact(dst.owningPlayer());
}
void BulkMoveArtifacts::applyCl(CClient * cl)