|
|
Line 1: |
Line 1: |
− | Work-in-progress page do describe all bonuses provided by town buildings for future configuration.
| + | {{Template:MovedToWebpage|https://vcmi.eu/modders/Building_Bonuses/}} |
− | ==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:
| |
− | <syntaxhighlight lang="javascript"> "function" : "castleGates" </syntaxhighlight>
| |
− | | |
− | ==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===
| |
− | <syntaxhighlight lang="javascript"> "guildLevels" : 1 </syntaxhighlight>
| |
− | ===unlock hero recruitment===
| |
− | <syntaxhighlight lang="javascript"> "allowsHeroPurchase" : true </syntaxhighlight>
| |
− | ===unlock ship purchase===
| |
− | <syntaxhighlight lang="javascript"> "allowsShipPurchase" : true </syntaxhighlight>
| |
− | ===unlock building purchase===
| |
− | <syntaxhighlight lang="javascript"> "allowsBuildingPurchase" : true </syntaxhighlight>
| |
− | ===unlocks creatures===
| |
− | <syntaxhighlight lang="javascript"> "dwelling" : { "level" : 1, "creature" : "archer" } </syntaxhighlight>
| |
− | ===creature growth bonus===
| |
− | Turn into town bonus? What about creature-specific bonuses from hordes?
| |
− | ===gives resources===
| |
− | <syntaxhighlight lang="javascript"> "provides" : { "gold" : 500 } </syntaxhighlight>
| |
− | ===gives guild spells===
| |
− | <syntaxhighlight lang="javascript"> "guildSpells" : [5, 0, 0, 0, 0] </syntaxhighlight>
| |
− | ===gives thieves guild===
| |
− | <syntaxhighlight lang="javascript"> "thievesGuildLevels" : 1 </syntaxhighlight>
| |
− | ===gives fortifications===
| |
− | <syntaxhighlight lang="javascript"> "fortificationLevels" : 1 </syntaxhighlight>
| |
− | ===gives war machine===
| |
− | <syntaxhighlight lang="javascript"> "warMachine" : "ballista" </syntaxhighlight>
| |
− | | |
− | ==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
| |
− | <syntaxhighlight lang="javascript">
| |
− | "bonuses" :
| |
− | {
| |
− | "moraleToDefenders" :
| |
− | {
| |
− | "type": "MORALE",
| |
− | "val" : 1,
| |
− | "propagator" : ["VISITED_TOWN_AND_VISITOR"]
| |
− | },
| |
− | "luckToTeam" :
| |
− | {
| |
− | "type" : "LUCK",
| |
− | "val" : 2,
| |
− | "propagator" : [ "TEAM_PROPAGATOR" ]
| |
− | }
| |
− | </syntaxhighlight>
| |
− | ==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.
| |
− | <syntaxhighlight lang="javascript"> "onePerPlayer" : true </syntaxhighlight>
| |
− | ===chance to be built on start===
| |
− | <syntaxhighlight lang="javascript"> "prebuiltChance" : 75 </syntaxhighlight>
| |