diff --git a/config/factions/tower.json b/config/factions/tower.json
index 5ce5bc6a7..e3194218e 100644
--- a/config/factions/tower.json
+++ b/config/factions/tower.json
@@ -202,6 +202,7 @@
"produce" : { "gold": 5000 },
"bonuses": [
{ "type": "PRIMARY_SKILL", "subtype": "primarySkill.knowledge", "val": 15 },
+ { "type": "COMBAT_MANA_BONUS", "val": 150 },
{ "type": "FULL_MAP_SCOUTING" }
]
},
diff --git a/docs/images/Bonus_System_Nodes.gv b/docs/images/Bonus_System_Nodes.gv
index 9820405da..fdcea94b1 100644
--- a/docs/images/Bonus_System_Nodes.gv
+++ b/docs/images/Bonus_System_Nodes.gv
@@ -23,7 +23,7 @@ digraph mygraph {
"Team" [
label =<
| Team |
- | Propagator: TEAM_PROPAGATOR |
+ | Propagator: TEAM |
| C++ Class: TeamState |
Per-team node. Game will put players without team into a team with a single player |
>
@@ -31,7 +31,7 @@ digraph mygraph {
"Player" [
label =<
| Player |
- | Propagator: PLAYER_PROPAGATOR |
+ | Propagator: PLAYER |
| C++ Class: CPlayerState |
Per-player team. All objects owned by a player belong to such node |
>
@@ -50,13 +50,6 @@ digraph mygraph {
Contains per-hero global bonuses, specialty bonuses, primary and secondary skill bonuses, campaign primary skill bonus |
>
]
- "Combat" [
- label =<
- | Combat |
- | Propagator: BATTLE_WIDE |
- Node that contains both sides of a combat Anything propagated to this node will affect both sides in combat |
-
>
- ]
};
subgraph rankedHeroes {
@@ -68,6 +61,13 @@ digraph mygraph {
Hero that is currently visiting owned or allied town |
>
]
+ "Hero defending town" [
+ fillcolor="#80808080"
+ label =<
+ | Hero defending town |
+ Hero that is currently fighting on a defending side in a siege |
+
>
+ ]
"Wandering Hero" [
fillcolor="#80808080"
label =<
@@ -104,6 +104,7 @@ digraph mygraph {
fillcolor="#80808080"
label =<
| Town |
+ | Propagator: TOWN |
| C++ Class: CGTownInstance |
| Represents a town on map. |
| Contains town building bonuses |
@@ -133,7 +134,7 @@ digraph mygraph {
"Town and visiting hero" [
label =<
| Town and Visiting Hero |
- | Propagator: VISITED_TOWN_AND_VISITOR |
+ | 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 |
@@ -183,6 +184,7 @@ digraph mygraph {
"Army" [
label =<
| 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 |
@@ -246,11 +248,13 @@ digraph mygraph {
"Creature Type" -> "Summon in Combat"
"Creature Type" -> "Unit in Army"
+ "Town" -> "Hero defending town"
"Town" -> "Army"
"Neutral Army" -> "Army"
"Owned Army" -> "Army"
"Visiting Hero" -> "Hero"
+ "Hero defending town" -> "Hero"
"Wandering Hero" -> "Hero"
"Hero" -> "Army"
}
diff --git a/docs/images/Bonus_System_Nodes.svg b/docs/images/Bonus_System_Nodes.svg
index 9b1f71d6f..0e8c903b0 100644
--- a/docs/images/Bonus_System_Nodes.svg
+++ b/docs/images/Bonus_System_Nodes.svg
@@ -4,536 +4,542 @@
-