mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
Implemented playerGlobal visit mode for objects like cartographer
This commit is contained in:
@@ -1045,16 +1045,16 @@ void ChangeObjPos::applyGs(CGameState *gs)
|
||||
|
||||
void ChangeObjectVisitors::applyGs(CGameState *gs)
|
||||
{
|
||||
auto objectPtr = gs->getObjInstance(object);
|
||||
|
||||
switch (mode) {
|
||||
case VISITOR_ADD_HERO:
|
||||
gs->getPlayerTeam(gs->getHero(hero)->tempOwner)->scoutedObjects.insert(object);
|
||||
gs->getHero(hero)->visitedObjects.insert(object);
|
||||
gs->getPlayerState(gs->getHero(hero)->tempOwner)->visitedObjects.insert(object);
|
||||
break;
|
||||
[[fallthrough]];
|
||||
case VISITOR_ADD_PLAYER:
|
||||
gs->getPlayerTeam(gs->getHero(hero)->tempOwner)->scoutedObjects.insert(object);
|
||||
for(const auto & color : gs->getPlayerTeam(gs->getHero(hero)->tempOwner)->players)
|
||||
gs->getPlayerState(color)->visitedObjects.insert(object);
|
||||
gs->getPlayerState(gs->getHero(hero)->tempOwner)->visitedObjects.insert(object);
|
||||
gs->getPlayerState(gs->getHero(hero)->tempOwner)->visitedObjectsGlobal.insert({objectPtr->ID, objectPtr->subID});
|
||||
|
||||
break;
|
||||
case VISITOR_CLEAR:
|
||||
@@ -1076,12 +1076,6 @@ void ChangeObjectVisitors::applyGs(CGameState *gs)
|
||||
gs->getPlayerTeam(gs->getHero(hero)->tempOwner)->scoutedObjects.insert(object);
|
||||
|
||||
break;
|
||||
case VISITOR_GLOBAL:
|
||||
{
|
||||
CGObjectInstance * objectPtr = gs->getObjInstance(object);
|
||||
gs->getPlayerState(gs->getHero(hero)->tempOwner)->visitedObjectsGlobal.insert({objectPtr->ID, objectPtr->subID});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user