Skip to content

Building Bonuses

Work-in-progress page do describe all bonuses provided by town buildings for future configuration.

TODO: This page is outdated and may not represent VCMI 1.3 state

unique buildings

Hardcoded functionalities, selectable but not configurable. In future should be moved to scripting.


  • mystic pond
  • treasury
  • god of fire
  • castle gates
  • cover of darkness
  • portal of summoning
  • escape tunnel

Function of all of these objects can be enabled by this:

 "function" : "castleGates" 

Hardcoded functionality for now due to complexity of these objects. Temporary can be handles as unique buildings. Includes:

  • resource - resource
  • resource - player
  • artifact - resource
  • resource - artifact
  • creature - resource
  • resource - skills
  • creature - skeleton

hero visitables

Buildings that give one or another bonus to visiting hero. All should be handled via configurable objects system.


  • gives mana points
  • gives movement points
  • give bonus to visitor
  • permanent bonus to hero

generic functions

Generic town-specific functions that can be implemented as part of CBuilding class.

unlock guild level

 "guildLevels" : 1 

unlock hero recruitment

 "allowsHeroPurchase" : true 

unlock ship purchase

 "allowsShipPurchase" : true 

unlock building purchase

 "allowsBuildingPurchase" : true 

unlocks creatures

 "dwelling" : { "level" : 1, "creature" : "archer" } 

creature growth bonus

Turn into town bonus? What about creature-specific bonuses from hordes?

gives resources

 "provides" : { "gold" : 500 } 

gives guild spells

 "guildSpells" : [5, 0, 0, 0, 0] 

gives thieves guild

 "thievesGuildLevels" : 1 

gives fortifications

 "fortificationLevels" : 1 

gives war machine

 "warMachine" : "ballista" 

simple bonuses

Bonuses that can be made part of CBuilding. Note that due to how bonus system works this bonuses won't be stackable.

TODO: how to handle stackable bonuses like Necromancy Amplifier?


  • bonus to defender
  • bonus to alliance
  • bonus to scouting range
  • bonus to player
"bonuses" :
    "moraleToDefenders" :
        "type": "MORALE",
        "val" : 1,
        "propagator" : ["VISITED_TOWN_AND_VISITOR"]
    "luckToTeam" :
        "type" : "LUCK",
        "val" : 2,
        "propagator" : [ "TEAM_PROPAGATOR" ]


Some other properties of town building that does not fall under "bonus" category.

unique building

Possible issue - with removing of fixed ID's buildings in different town may no longer share same ID. However Capitol must be unique across all town. Should be fixed somehow.

 "onePerPlayer" : true 

chance to be built on start

 "prebuiltChance" : 75