mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
Deprecate previously hardcoded buildings
This commit is contained in:
@@ -50,7 +50,6 @@
|
|||||||
// Previously hardcoded buildings that might be used by mods
|
// Previously hardcoded buildings that might be used by mods
|
||||||
// Section 1 - building with bonuses during sieges
|
// Section 1 - building with bonuses during sieges
|
||||||
"brotherhoodOfSword" : {
|
"brotherhoodOfSword" : {
|
||||||
"upgradeReplacesBonuses" : true,
|
|
||||||
"bonuses": [
|
"bonuses": [
|
||||||
{
|
{
|
||||||
"type": "MORALE",
|
"type": "MORALE",
|
||||||
@@ -63,7 +62,6 @@
|
|||||||
"bonuses": [
|
"bonuses": [
|
||||||
{
|
{
|
||||||
"type": "LUCK",
|
"type": "LUCK",
|
||||||
"subtype": "primarySkill.knowledge",
|
|
||||||
"val": 2
|
"val": 2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -73,7 +71,7 @@
|
|||||||
"bonuses": [
|
"bonuses": [
|
||||||
{
|
{
|
||||||
"type": "PRIMARY_SKILL",
|
"type": "PRIMARY_SKILL",
|
||||||
"subtype": "primarySkill.knowledge",
|
"subtype": "primarySkill.spellpower",
|
||||||
"val": 2
|
"val": 2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -83,7 +81,7 @@
|
|||||||
"bonuses": [
|
"bonuses": [
|
||||||
{
|
{
|
||||||
"type": "PRIMARY_SKILL",
|
"type": "PRIMARY_SKILL",
|
||||||
"subtype": "primarySkill.knowledge",
|
"subtype": "primarySkill.attack",
|
||||||
"val": 2
|
"val": 2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -93,7 +91,7 @@
|
|||||||
"bonuses": [
|
"bonuses": [
|
||||||
{
|
{
|
||||||
"type": "PRIMARY_SKILL",
|
"type": "PRIMARY_SKILL",
|
||||||
"subtype": "primarySkill.knowledge",
|
"subtype": "primarySkill.defence",
|
||||||
"val": 2
|
"val": 2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -170,13 +170,43 @@
|
|||||||
"resourceSilo": { "produce": { "ore": 1, "wood": 1 } },
|
"resourceSilo": { "produce": { "ore": 1, "wood": 1 } },
|
||||||
"blacksmith": { },
|
"blacksmith": { },
|
||||||
|
|
||||||
"special1": { "type" : "lighthouse", "requires" : [ "shipyard" ] },
|
"special1": {
|
||||||
|
"bonuses": [
|
||||||
|
{
|
||||||
|
"propagator": "PLAYER_PROPAGATOR",
|
||||||
|
"type": "MOVEMENT",
|
||||||
|
"subtype": "heroMovementSea",
|
||||||
|
"val": 500
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requires" : [ "shipyard" ]
|
||||||
|
},
|
||||||
"horde1": { "id" : 18, "upgrades" : "dwellingLvl3" },
|
"horde1": { "id" : 18, "upgrades" : "dwellingLvl3" },
|
||||||
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl3", "requires" : [ "horde1" ], "mode" : "auto" },
|
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl3", "requires" : [ "horde1" ], "mode" : "auto" },
|
||||||
"ship": { "id" : 20, "upgrades" : "shipyard" },
|
"ship": { "id" : 20, "upgrades" : "shipyard" },
|
||||||
"special2": { "type" : "stables", "requires" : [ "dwellingLvl4" ],
|
"special2": {
|
||||||
|
"requires" : [ "dwellingLvl4" ],
|
||||||
|
"configuration" : {
|
||||||
|
"visitMode" : "bonus",
|
||||||
|
"rewards" : [
|
||||||
|
{
|
||||||
|
"message" : "@core.genrltxt.580",
|
||||||
|
"movePoints" : 400,
|
||||||
|
"bonuses" : [ { "type" : "MOVEMENT", "subtype" : "heroMovementLand", "val" : 400, "valueType" : "ADDITIVE_VALUE", "duration" : "ONE_WEEK"} ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"special3": {
|
||||||
|
"upgradeReplacesBonuses" : true,
|
||||||
|
"bonuses": [
|
||||||
|
{
|
||||||
|
"type": "MORALE",
|
||||||
|
"val": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"upgrades" : "tavern"
|
||||||
},
|
},
|
||||||
"special3": { "type" : "brotherhoodOfSword", "upgrades" : "tavern" },
|
|
||||||
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 }, "bonuses": [ { "type": "MORALE", "val": 2, "propagator": "PLAYER_PROPAGATOR" } ] },
|
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 }, "bonuses": [ { "type": "MORALE", "val": 2, "propagator": "PLAYER_PROPAGATOR" } ] },
|
||||||
|
|
||||||
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
||||||
|
|||||||
@@ -174,9 +174,37 @@
|
|||||||
"special1": { "type" : "artifactMerchant", "requires" : [ "marketplace" ] },
|
"special1": { "type" : "artifactMerchant", "requires" : [ "marketplace" ] },
|
||||||
"horde1": { "id" : 18, "upgrades" : "dwellingLvl1" },
|
"horde1": { "id" : 18, "upgrades" : "dwellingLvl1" },
|
||||||
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl1", "requires" : [ "horde1" ], "mode" : "auto" },
|
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl1", "requires" : [ "horde1" ], "mode" : "auto" },
|
||||||
"special2": { "type" : "manaVortex", "requires" : [ "mageGuild1" ] },
|
"special2": {
|
||||||
|
"requires" : [ "mageGuild1" ],
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"special3": { "type" : "portalOfSummoning" },
|
"special3": { "type" : "portalOfSummoning" },
|
||||||
"special4": { "type" : "experienceVisitingBonus" },
|
"special4": {
|
||||||
|
"configuration" : {
|
||||||
|
"visitMode" : "hero",
|
||||||
|
"rewards" : [
|
||||||
|
{
|
||||||
|
"message" : "@core.genrltxt.583",
|
||||||
|
"heroExperience" : 1000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
||||||
"bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primarySkill.spellpower", "val": 12 } ] },
|
"bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primarySkill.spellpower", "val": 12 } ] },
|
||||||
|
|
||||||
|
|||||||
@@ -169,12 +169,41 @@
|
|||||||
"resourceSilo": { "produce": { "wood": 1, "ore": 1 } },
|
"resourceSilo": { "produce": { "wood": 1, "ore": 1 } },
|
||||||
"blacksmith": { },
|
"blacksmith": { },
|
||||||
|
|
||||||
"special1": { "type" : "defenceVisitingBonus", "requires" : [ "allOf", [ "townHall" ], [ "special2" ] ] },
|
"special1": {
|
||||||
|
"requires" : [ "allOf", [ "townHall" ], [ "special2" ] ],
|
||||||
|
"configuration" : {
|
||||||
|
"visitMode" : "hero",
|
||||||
|
"rewards" : [
|
||||||
|
{
|
||||||
|
"message" : "@core.genrltxt.585",
|
||||||
|
"primary" : { "defence" : 1 }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"horde1": { "id" : 18, "upgrades" : "dwellingLvl1" },
|
"horde1": { "id" : 18, "upgrades" : "dwellingLvl1" },
|
||||||
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl1", "requires" : [ "horde1" ], "mode" : "auto" },
|
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl1", "requires" : [ "horde1" ], "mode" : "auto" },
|
||||||
"ship": { "id" : 20, "upgrades" : "shipyard" },
|
"ship": { "id" : 20, "upgrades" : "shipyard" },
|
||||||
"special2": { "type" : "defenseGarrisonBonus", "requires" : [ "fort" ] },
|
"special2": {
|
||||||
"special3": { "type" : "attackGarrisonBonus", "requires" : [ "special2" ] },
|
"bonuses": [
|
||||||
|
{
|
||||||
|
"type": "PRIMARY_SKILL",
|
||||||
|
"subtype": "primarySkill.defence",
|
||||||
|
"val": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requires" : [ "fort" ]
|
||||||
|
},
|
||||||
|
"special3": {
|
||||||
|
"bonuses": [
|
||||||
|
{
|
||||||
|
"type": "PRIMARY_SKILL",
|
||||||
|
"subtype": "primarySkill.defence",
|
||||||
|
"val": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requires" : [ "special2" ]
|
||||||
|
},
|
||||||
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
||||||
"bonuses": [
|
"bonuses": [
|
||||||
{ "type": "PRIMARY_SKILL", "subtype": "primarySkill.attack", "val": 10 },
|
{ "type": "PRIMARY_SKILL", "subtype": "primarySkill.attack", "val": 10 },
|
||||||
|
|||||||
@@ -173,9 +173,29 @@
|
|||||||
|
|
||||||
"horde1": { "id" : 18, "upgrades" : "dwellingLvl1" },
|
"horde1": { "id" : 18, "upgrades" : "dwellingLvl1" },
|
||||||
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl1", "requires" : [ "horde1" ], "mode" : "auto" },
|
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl1", "requires" : [ "horde1" ], "mode" : "auto" },
|
||||||
"special2": { "type" : "spellPowerGarrisonBonus", "requires" : [ "fort" ] },
|
"special2": {
|
||||||
|
"bonuses": [
|
||||||
|
{
|
||||||
|
"type": "PRIMARY_SKILL",
|
||||||
|
"subtype": "primarySkill.spellpower",
|
||||||
|
"val": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requires" : [ "fort" ]
|
||||||
|
},
|
||||||
"special3": { "type" : "castleGate", "requires" : [ "citadel" ] },
|
"special3": { "type" : "castleGate", "requires" : [ "citadel" ] },
|
||||||
"special4": { "type" : "spellPowerVisitingBonus", "requires" : [ "mageGuild1" ] },
|
"special4": {
|
||||||
|
"requires" : [ "mageGuild1" ],
|
||||||
|
"configuration" : {
|
||||||
|
"visitMode" : "hero",
|
||||||
|
"rewards" : [
|
||||||
|
{
|
||||||
|
"message" : "@core.genrltxt.582",
|
||||||
|
"primary" : { "spellpower" : 1 }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"horde2": { "id" : 24, "upgrades" : "dwellingLvl3" },
|
"horde2": { "id" : 24, "upgrades" : "dwellingLvl3" },
|
||||||
"horde2Upgr": { "id" : 25, "upgrades" : "dwellingUpLvl3", "requires" : [ "horde2" ], "mode" : "auto" },
|
"horde2Upgr": { "id" : 25, "upgrades" : "dwellingUpLvl3", "requires" : [ "horde2" ], "mode" : "auto" },
|
||||||
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 }},
|
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 }},
|
||||||
|
|||||||
@@ -177,7 +177,15 @@
|
|||||||
"special1": { "type" : "mysticPond" },
|
"special1": { "type" : "mysticPond" },
|
||||||
"horde1": { "id" : 18, "upgrades" : "dwellingLvl2" },
|
"horde1": { "id" : 18, "upgrades" : "dwellingLvl2" },
|
||||||
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl2", "requires" : [ "horde1" ], "mode" : "auto" },
|
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl2", "requires" : [ "horde1" ], "mode" : "auto" },
|
||||||
"special2": { "type" : "fountainOfFortune", "upgrades" : "special1" },
|
"special2": {
|
||||||
|
"bonuses": [
|
||||||
|
{
|
||||||
|
"type": "LUCK",
|
||||||
|
"val": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"upgrades" : "special1"
|
||||||
|
},
|
||||||
"special3": { "type" : "treasury", "requires" : [ "horde1" ] },
|
"special3": { "type" : "treasury", "requires" : [ "horde1" ] },
|
||||||
"horde2": { "id" : 24, "upgrades" : "dwellingLvl5" },
|
"horde2": { "id" : 24, "upgrades" : "dwellingLvl5" },
|
||||||
"horde2Upgr": { "id" : 25, "upgrades" : "dwellingUpLvl5", "requires" : [ "horde2" ], "mode" : "auto" },
|
"horde2Upgr": { "id" : 25, "upgrades" : "dwellingUpLvl5", "requires" : [ "horde2" ], "mode" : "auto" },
|
||||||
|
|||||||
@@ -172,7 +172,6 @@
|
|||||||
"special2": { "type" : "freelancersGuild", "requires" : [ "marketplace" ] },
|
"special2": { "type" : "freelancersGuild", "requires" : [ "marketplace" ] },
|
||||||
"special3": { "type" : "ballistaYard", "requires" : [ "blacksmith" ] },
|
"special3": { "type" : "ballistaYard", "requires" : [ "blacksmith" ] },
|
||||||
"special4": {
|
"special4": {
|
||||||
"type" : "configurable",
|
|
||||||
"requires" : [ "fort" ],
|
"requires" : [ "fort" ],
|
||||||
"configuration" : {
|
"configuration" : {
|
||||||
"visitMode" : "hero",
|
"visitMode" : "hero",
|
||||||
|
|||||||
@@ -172,9 +172,20 @@
|
|||||||
"special1": { "type" : "artifactMerchant", "requires" : [ "marketplace" ] },
|
"special1": { "type" : "artifactMerchant", "requires" : [ "marketplace" ] },
|
||||||
"horde1": { "id" : 18, "upgrades" : "dwellingLvl2" },
|
"horde1": { "id" : 18, "upgrades" : "dwellingLvl2" },
|
||||||
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl2", "requires" : [ "horde1" ], "mode" : "auto" },
|
"horde1Upgr": { "id" : 19, "upgrades" : "dwellingUpLvl2", "requires" : [ "horde1" ], "mode" : "auto" },
|
||||||
"special2": { "type" : "lookoutTower", "height" : "high", "requires" : [ "fort" ] },
|
"special2": { "height" : "high", "requires" : [ "fort" ] },
|
||||||
"special3": { "type" : "library", "requires" : [ "mageGuild1" ] },
|
"special3": { "type" : "library", "requires" : [ "mageGuild1" ] },
|
||||||
"special4": { "type" : "knowledgeVisitingBonus", "requires" : [ "mageGuild1" ] },
|
"special4": {
|
||||||
|
"requires" : [ "mageGuild1" ],
|
||||||
|
"configuration" : {
|
||||||
|
"visitMode" : "hero",
|
||||||
|
"rewards" : [
|
||||||
|
{
|
||||||
|
"message" : "@core.genrltxt.581",
|
||||||
|
"primary" : { "knowledge" : 1 }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"grail": { "height" : "skyship", "produce" : { "gold": 5000 }, "bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primarySkill.knowledge", "val": 15 } ] },
|
"grail": { "height" : "skyship", "produce" : { "gold": 5000 }, "bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primarySkill.knowledge", "val": 15 } ] },
|
||||||
|
|
||||||
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
},
|
},
|
||||||
"type" : {
|
"type" : {
|
||||||
"type" : "string",
|
"type" : "string",
|
||||||
"enum" : [ "mysticPond", "artifactMerchant", "freelancersGuild", "magicUniversity", "castleGate", "creatureTransformer", "portalOfSummoning", "ballistaYard", "lookoutTower", "library", "brotherhoodOfSword", "fountainOfFortune", "spellPowerGarrisonBonus", "attackGarrisonBonus", "defenseGarrisonBonus", "escapeTunnel", "lighthouse", "treasury", "thievesGuild", "bank", "configurable", "stables", "manaVortex", "attackVisitingBonus", "defenceVisitingBonus", "spellPowerVisitingBonus", "knowledgeVisitingBonus", "experienceVisitingBonus" ],
|
"enum" : [ "mysticPond", "artifactMerchant", "freelancersGuild", "magicUniversity", "castleGate", "creatureTransformer", "portalOfSummoning", "ballistaYard", "library", "escapeTunnel", "treasury", "thievesGuild", "bank" ],
|
||||||
"description" : "Subtype for some special buildings"
|
"description" : "Subtype for some special buildings"
|
||||||
},
|
},
|
||||||
"mode" : {
|
"mode" : {
|
||||||
@@ -57,6 +57,10 @@
|
|||||||
"description" : "Optional, indicates that this building upgrades another base building",
|
"description" : "Optional, indicates that this building upgrades another base building",
|
||||||
"type" : "string"
|
"type" : "string"
|
||||||
},
|
},
|
||||||
|
"upgradeReplacesBonuses" : {
|
||||||
|
"description" : "If set to true, this building will replace all bonuses from base building, leaving only bonuses defined by this building",
|
||||||
|
"type" : "boolean"
|
||||||
|
},
|
||||||
"configuration" : {
|
"configuration" : {
|
||||||
"description" : "Optional, configuration of building that can be activated by visiting hero",
|
"description" : "Optional, configuration of building that can be activated by visiting hero",
|
||||||
"$ref" : "rewardable.json"
|
"$ref" : "rewardable.json"
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ namespace BuildingSubID
|
|||||||
MYSTIC_POND,
|
MYSTIC_POND,
|
||||||
FOUNTAIN_OF_FORTUNE,
|
FOUNTAIN_OF_FORTUNE,
|
||||||
ARTIFACT_MERCHANT,
|
ARTIFACT_MERCHANT,
|
||||||
LOOKOUT_TOWER,
|
|
||||||
LIBRARY,
|
LIBRARY,
|
||||||
PORTAL_OF_SUMMONING,
|
PORTAL_OF_SUMMONING,
|
||||||
ESCAPE_TUNNEL,
|
ESCAPE_TUNNEL,
|
||||||
|
|||||||
@@ -185,7 +185,6 @@ namespace MappedKeys
|
|||||||
{ "creatureTransformer", BuildingSubID::CREATURE_TRANSFORMER },//only skeleton transformer yet
|
{ "creatureTransformer", BuildingSubID::CREATURE_TRANSFORMER },//only skeleton transformer yet
|
||||||
{ "portalOfSummoning", BuildingSubID::PORTAL_OF_SUMMONING },
|
{ "portalOfSummoning", BuildingSubID::PORTAL_OF_SUMMONING },
|
||||||
{ "ballistaYard", BuildingSubID::BALLISTA_YARD },
|
{ "ballistaYard", BuildingSubID::BALLISTA_YARD },
|
||||||
{ "lookoutTower", BuildingSubID::LOOKOUT_TOWER },
|
|
||||||
{ "library", BuildingSubID::LIBRARY },
|
{ "library", BuildingSubID::LIBRARY },
|
||||||
{ "fountainOfFortune", BuildingSubID::FOUNTAIN_OF_FORTUNE },//luck garrison bonus
|
{ "fountainOfFortune", BuildingSubID::FOUNTAIN_OF_FORTUNE },//luck garrison bonus
|
||||||
{ "escapeTunnel", BuildingSubID::ESCAPE_TUNNEL },
|
{ "escapeTunnel", BuildingSubID::ESCAPE_TUNNEL },
|
||||||
|
|||||||
Reference in New Issue
Block a user