1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-21 00:19:29 +02:00

Properly removing stuff from hero, fixes #1646.

This commit is contained in:
Michał W. Urbańczyk
2014-02-08 23:07:33 +00:00
parent d6f8a6d4bf
commit 343dd1a7d1
5 changed files with 46 additions and 15 deletions

View File

@ -638,6 +638,14 @@ struct GetBase : boost::static_visitor<T*>
}
};
DLL_LINKAGE void ArtifactLocation::removeArtifact()
{
CArtifactInstance *a = getArt();
assert(a);
a->removeFrom(*this);
}
DLL_LINKAGE const CArmedInstance * ArtifactLocation::relatedObj() const
{
return boost::apply_visitor(ObjectRetriever(), artHolder);
@ -828,9 +836,7 @@ DLL_LINKAGE void PutArtifact::applyGs( CGameState *gs )
DLL_LINKAGE void EraseArtifact::applyGs( CGameState *gs )
{
CArtifactInstance *a = al.getArt();
assert(a);
a->removeFrom(al);
al.removeArtifact();
}
DLL_LINKAGE void MoveArtifact::applyGs( CGameState *gs )