1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-04 09:42:40 +02:00
vcmi/config/buildingsLibrary.json
Ivan Savenko 36c1ed670f Support for configurable town fortifications
Removed most of hardcoded checks for fort level or for presence of fort/
citadel/castle buildings.

It is now possible to define which parts of town fortifications are
provided by town buildings

Configuration for H3-like fortifications is provided in
buildingsLibrary.json and will be used automatically by mods as long as
mods have buidings named "fort", "citadel" and "castle".

Alternatively, mods can separately define:
- hitpoints of walls (shared value for all sections)
- hitpoints of central, upper and lower towers (separate values)
- presence of moat
- shooters for each tower (separate values)
2024-08-28 19:42:14 +00:00

266 lines
4.7 KiB
JSON

{
"mageGuild1": { "id" : 0 },
"mageGuild2": { "id" : 1, "upgrades" : "mageGuild1" },
"mageGuild3": { "id" : 2, "upgrades" : "mageGuild2" },
"mageGuild4": { "id" : 3, "upgrades" : "mageGuild3" },
"mageGuild5": { "id" : 4, "upgrades" : "mageGuild4" },
"tavern": {
"id" : 5,
"bonuses": [
{
"type": "MORALE",
"val": 1
},
{
"propagator": "PLAYER_PROPAGATOR",
"type": "THIEVES_GUILD_ACCESS",
"val": 1
}
]
},
"shipyard": { "id" : 6 },
"fort": {
"id" : 7,
"fortifications" : {
"wallsHealth" : 2
}
},
"citadel": {
"id" : 8,
"upgrades" : "fort",
"fortifications" : {
"citadelHealth" : 2,
"hasMoat" : true
}
},
"castle": {
"id" : 9,
"upgrades" : "citadel",
"fortifications" : {
"wallsHealth" : 3,
"upperTowerHealth" : 2,
"lowerTowerHealth" : 2
}
},
"villageHall": {
"id" : 10,
"mode" : "auto",
"produce": { "gold": 500 }
},
"townHall": {
"id" : 11,
"upgrades" : "villageHall",
"requires" : [ "tavern" ],
"produce": { "gold": 1000 }
},
"cityHall": {
"id" : 12,
"upgrades" : "townHall",
"requires" : [ "allOf", [ "mageGuild1" ], [ "marketplace" ], [ "blacksmith" ] ],
"produce": { "gold": 2000 }
},
"capitol": {
"id" : 13,
"upgrades" : "cityHall",
"requires" : [ "castle" ],
"produce": { "gold": 4000 }
},
"marketplace": {
"id" : 14,
"marketModes" : ["resource-resource", "resource-player"]
},
"resourceSilo": { "id" : 15, "requires" : [ "marketplace" ] },
"blacksmith": { "id" : 16 },
// Previously hardcoded buildings that might be used by mods
// Section 1 - building with bonuses during sieges
"brotherhoodOfSword" : {
"bonuses": [
{
"type": "MORALE",
"val": 2
}
]
},
"fountainOfFortune" : {
"bonuses": [
{
"type": "LUCK",
"val": 2
}
]
},
"spellPowerGarrisonBonus" : {
"bonuses": [
{
"type": "PRIMARY_SKILL",
"subtype": "primarySkill.spellpower",
"val": 2
}
]
},
"attackGarrisonBonus" : {
"bonuses": [
{
"type": "PRIMARY_SKILL",
"subtype": "primarySkill.attack",
"val": 2
}
]
},
"defenseGarrisonBonus" : {
"bonuses": [
{
"type": "PRIMARY_SKILL",
"subtype": "primarySkill.defence",
"val": 2
}
]
},
"lighthouse" : {
"bonuses": [
{
"propagator": "PLAYER_PROPAGATOR",
"type": "MOVEMENT",
"subtype": "heroMovementSea",
"val": 500
}
]
},
// Section 2 - buildings that are visitable by hero
"stables": {
"configuration" : {
"visitMode" : "bonus",
"rewards" : [
{
"message" : "@core.genrltxt.580",
"movePoints" : 400,
"bonuses" : [ { "type" : "MOVEMENT", "subtype" : "heroMovementLand", "val" : 400, "valueType" : "ADDITIVE_VALUE", "duration" : "ONE_WEEK"} ]
}
]
}
},
"manaVortex": {
"configuration" : {
"resetParameters" : {
"period" : 7,
"visitors" : true
},
"visitMode" : "hero", // Should be 'once' to match (somewhat buggy) H3 logic
"rewards" : [
{
"limiter" : {
"noneOf" : [ { "manaPercentage" : 200 } ]
},
"message" : "@core.genrltxt.579",
"manaPercentage" : 200
}
]
}
},
"attackVisitingBonus": {
"configuration" : {
"visitMode" : "hero",
"rewards" : [
{
"message" : "@core.genrltxt.584",
"primary" : { "attack" : 1 }
}
]
}
},
"defenceVisitingBonus": {
"configuration" : {
"visitMode" : "hero",
"rewards" : [
{
"message" : "@core.genrltxt.585",
"primary" : { "defence" : 1 }
}
]
}
},
"spellPowerVisitingBonus": {
"configuration" : {
"visitMode" : "hero",
"rewards" : [
{
"message" : "@core.genrltxt.582",
"primary" : { "spellpower" : 1 }
}
]
}
},
"knowledgeVisitingBonus": {
"configuration" : {
"visitMode" : "hero",
"rewards" : [
{
"message" : "@core.genrltxt.581",
"primary" : { "knowledge" : 1 }
}
]
}
},
"experienceVisitingBonus": {
"configuration" : {
"visitMode" : "hero",
"rewards" : [
{
"message" : "@core.genrltxt.583",
"heroExperience" : 1000
}
]
}
},
// Section 3 - markets
"artifactMerchant" : {
"requires" : [ "marketplace" ],
"marketModes" : ["resource-artifact", "artifact-resource"]
},
"freelancersGuild" : {
"requires" : [ "marketplace" ],
"marketModes" : ["creature-resource"]
},
"magicUniversity" : {
"marketModes" : ["resource-skill"]
},
"creatureTransformer" : {
"marketModes" : ["creature-undead"]
},
// Section 4 - buildings that now have dedicated mechanics
"ballistaYard": {
"blacksmith" : "ballista"
},
"thievesGuild" : {
"bonuses": [
{
"propagator": "PLAYER_PROPAGATOR",
"type": "THIEVES_GUILD_ACCESS",
"val": 2
}
]
}
}