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 |
C++ Class: TeamState |
Per-team node. Game will put players without team into a team with a single player |
Player |
Propagator: PLAYER |
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 |
Visiting Hero |
Hero that is currently visiting owned or allied town |
Hero defending town |
Hero that is currently fighting on a defending side in a siege |
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 |
Propagator: 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: 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 |
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 |
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 |