mirror of
https://github.com/vcmi/vcmi.git
synced 2025-01-24 03:47:18 +02:00
74a4a10f48
- Markdown will now be validated as part of Github CI - Applied auto-fix to most common issues (mostly whitespace related) - Fixed manually some of more complex cases Some valid markdownlint rules are currently disabled, to avoid failing CI, can be enabled in future
174 lines
2.9 KiB
Markdown
174 lines
2.9 KiB
Markdown
# 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.
|
|
|
|
Includes:
|
|
|
|
- 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:
|
|
|
|
``` jsonc
|
|
"function" : "castleGates"
|
|
```
|
|
|
|
### trade-related
|
|
|
|
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.
|
|
|
|
Includes:
|
|
|
|
- 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
|
|
|
|
``` jsonc
|
|
"guildLevels" : 1
|
|
```
|
|
|
|
#### unlock hero recruitment
|
|
|
|
``` jsonc
|
|
"allowsHeroPurchase" : true
|
|
```
|
|
|
|
#### unlock ship purchase
|
|
|
|
``` jsonc
|
|
"allowsShipPurchase" : true
|
|
```
|
|
|
|
#### unlock building purchase
|
|
|
|
``` jsonc
|
|
"allowsBuildingPurchase" : true
|
|
```
|
|
|
|
#### unlocks creatures
|
|
|
|
``` jsonc
|
|
"dwelling" : { "level" : 1, "creature" : "archer" }
|
|
```
|
|
|
|
#### creature growth bonus
|
|
|
|
Turn into town bonus? What about creature-specific bonuses from hordes?
|
|
|
|
#### gives resources
|
|
|
|
``` jsonc
|
|
"provides" : { "gold" : 500 }
|
|
```
|
|
|
|
#### gives guild spells
|
|
|
|
``` jsonc
|
|
"guildSpells" : [5, 0, 0, 0, 0]
|
|
```
|
|
|
|
#### gives thieves guild
|
|
|
|
``` jsonc
|
|
"thievesGuildLevels" : 1
|
|
```
|
|
|
|
#### gives fortifications
|
|
|
|
``` jsonc
|
|
"fortificationLevels" : 1
|
|
```
|
|
|
|
#### gives war machine
|
|
|
|
``` jsonc
|
|
"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?
|
|
|
|
Includes:
|
|
|
|
- bonus to defender
|
|
- bonus to alliance
|
|
- bonus to scouting range
|
|
- bonus to player
|
|
|
|
``` jsonc
|
|
"bonuses" :
|
|
{
|
|
"moraleToDefenders" :
|
|
{
|
|
"type": "MORALE",
|
|
"val" : 1,
|
|
"propagator" : ["VISITED_TOWN_AND_VISITOR"]
|
|
},
|
|
"luckToTeam" :
|
|
{
|
|
"type" : "LUCK",
|
|
"val" : 2,
|
|
"propagator" : [ "TEAM_PROPAGATOR" ]
|
|
}
|
|
```
|
|
|
|
### misc
|
|
|
|
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.
|
|
|
|
``` jsonc
|
|
"onePerPlayer" : true
|
|
```
|
|
|
|
#### chance to be built on start
|
|
|
|
``` jsonc
|
|
"prebuiltChance" : 75
|
|
```
|