digraph mygraph { fontname="monospace" edge [fontname="Noto Serif"] node [ fontname="Noto Serif" style=filled shape=plain fillcolor="#60200080" pencolor="#00000080" // frames color ] subgraph rankedTop { "Global" [ label =<
| 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 |
| Propagator: TEAM_PROPAGATOR |
| C++ Class: TeamState |
| Per-team node. Game will put players without team into a team with a single player |
| Player |
| Propagator: PLAYER_PROPAGATOR |
| C++ Class: CPlayerState |
| Per-player team. All objects owned by a player belong to such node |
| 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 |
| Combat |
| Propagator: BATTLE_WIDE |
| Node that contains both sides of a combat Anything propagated to this node will affect both sides in combat |
| Visiting Hero |
| Hero that is currently visiting owned or allied town |
| Garrisoned Hero |
| Hero that is currently placed in a garrison of owned town |
| Wandering Hero |
| Hero that is currently moving on map, outside of towns |
| Neutral Army |
| Any army that is not owned by a player Wandering monsters, Banks, Events, etc |
| Owned Army |
| Army owned by a player. Mines, Garrisons, Dwellings |
| Owned Object |
| Other objects owned by a player, like Lighthouse |
| Contains Flaggable Objects bonuses |
| Town |
| C++ Class: CGTownInstance |
| Represents a town on map. |
| Contains town building bonuses |
| 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 |
| Boat |
| C++ Class: CGBoat |
| Represents a boat or other type of transport. |
| Contains bonuses provided to boarded hero |
| Town and Visiting Hero |
| Propagator: VISITED_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 |
| 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 |
| Creature Type |
| C++ Class: CCreature |
| Represents a creature type, such as Pikeman or Archer |
| Contains creature abilities bonuses, stack experience bonuses |
| Artifact Type |
| C++ Class: CArtifact |
| Represents an artifact type, for example Ring of Life |
| Contains fixed bonuses of artifacts |
| Artifact Component |
| C++ Class: CArtifactInstance |
| For combined, non-fused artifacts, instances of components are attached to instance of combined artifact |
| 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 |
| 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 |
| Commander |
| C++ Class: CCommanderInstance |
| Represents a hero commander, WoG feature |
| Unit in Combat |
| C++ Class: CStack |
| Represents current state of a unit during combat, can be affected by spells or receive damage |
| Summon in Combat |
| C++ Class: CStack |
| Represents any unit that was added in combat, and may not remain after combat |