mygraph Global Global Propagator: GLOBAL_EFFECT C++ Class: CGameState Global node to which all map entities are connected Note: Not recruited heroes (such as in tavern) are not attached to any node Contains global bonuses, global stack experience and difficulty bonuses Team Team Propagator: TEAM C++ Class: TeamState Per-team node. Game will put players without team into a team with a single player Global->Team Neutral Army Neutral Army Any army that is not owned by a player Wandering monsters, Banks, Events, etc Global->Neutral Army Player Player Propagator: PLAYER C++ Class: CPlayerState Per-player team. All objects owned by a player belong to such node Team->Player Wandering Hero Wandering Hero Hero that is currently moving on map, outside of towns Player->Wandering Hero Owned Army Owned Army Army owned by a player. Mines, Garrisons, Dwellings Player->Owned Army Owned Object Owned Object Other objects owned by a player, like Lighthouse Contains Flaggable Objects bonuses Player->Owned Object Town and visiting hero Town and Visiting Hero Propagator: TOWN_AND_VISITOR C++ Class: CTownAndVisitingHero Helper node that exists solely to propagate bonuses to both town and visiting hero Note: Neutral towns are attached to global node instead Player->Town and visiting hero Hero Hero Propagator: HERO C++ Class: CGHeroInstance Represents a hero, either owned by player or in prison. Bonuses from specialty and secondary skills are attached directly to this node Contains per-hero global bonuses, specialty bonuses, primary and secondary skill bonuses, campaign primary skill bonus Army Army Propagator: ARMY C++ Class: CArmedInstance Represents any object that can hold army, such as town, hero, mines, garrisons, wandering monsters Contain anti-magic garrison bonus, faction mixing morale bonus Hero->Army Visiting Hero Visiting Hero Hero that is currently visiting owned or allied town Visiting Hero->Hero Hero defending town Hero defending town Hero that is currently fighting on a defending side in a siege Hero defending town->Hero Wandering Hero->Hero Neutral Army->Army Owned Army->Army Town Town Propagator: TOWN C++ Class: CGTownInstance Represents a town on map. Contains town building bonuses Town->Hero defending town Town->Army Artifact Instance Artifact Instance C++ Class: CArtifactInstance Represents a particular instance of an artifact that hero can equip or trade Contains bonuses of spell scrolls and growing artifacts Artifact Instance->Hero Boat Boat C++ Class: CGBoat Represents a boat or other type of transport. Contains bonuses provided to boarded hero Boat->Hero Town and visiting hero->Visiting Hero Town and visiting hero->Town Combat Combat Propagator: BATTLE_WIDE C++ Class: BattleInfo Node that contains both sides of a combat Anything propagated to this node will affect both sides in combat Contains battlefield and native terrain bonuses Combat->Army Creature Type Creature Type C++ Class: CCreature Represents a creature type, such as Pikeman or Archer Contains creature abilities bonuses, stack experience bonuses Unit in Army Unit in Army C++ Class: CStackInstance Represents a unit that is part of a army A unit always has a creature type, belongs to an army and has stack size Creature Type->Unit in Army Commander Commander C++ Class: CCommanderInstance Represents a hero commander, WoG feature Creature Type->Commander Summon in Combat Summon in Combat C++ Class: CStack Represents any unit that was added in combat, and may not remain after combat Creature Type->Summon in Combat Artifact Type Artifact Type C++ Class: CArtifact Represents an artifact type, for example Ring of Life Contains fixed bonuses of artifacts Artifact Type->Artifact Instance Artifact Component Artifact Component C++ Class: CArtifactInstance For combined, non-fused artifacts, instances of components are attached to instance of combined artifact Artifact Component->Artifact Instance Army->Unit in Army Army->Commander Army->Summon in Combat Unit in Combat Unit in Combat C++ Class: CStack Represents current state of a unit during combat, can be affected by spells or receive damage Unit in Army->Unit in Combat Commander->Unit in Combat