Looks like website only recognizes javascript & json, and is not aware of jsonc or json5. Will result in small regression on Github web view - comments will show up as red (since comments are not part of json format), but syntax highlight would work both on website and on Github. Alternative is using javascript for syntax highlight, however syntax highlighter for json looks better on both website and Github (since it uses separate highlighting for json keys, separate from strings in values)
5.3 KiB
Creature Bank
Reward types for clearing creature bank are limited to resources, creatures, artifacts and spell. Format of rewards is same as in Rewardable Objects
Deprecated in 1.6. Please use Rewardable Objects instead. See Conversion from 1.5 format section below for help with migration
Example
This example defines a rewardable object with functionality similar of H3 creature bank. See Rewardable Objects for detailed documentation of these properties.
{
"name" : "Cyclops Stockpile",
// Generic message to ask player whether he wants to attack a creature bank, can be replaced with custom string
"onGuardedMessage" : 32,
// Generic message to inform player that bank was already cleared
"onVisitedMessage" : 33,
// As an alternative to a generic message you can define 'reward'
// that will be granted for visiting already cleared bank, such as morale debuff
"onVisited" : [
{
"message" : 123, // "Such a despicable act reduces your army's morale."
"bonuses" : [ { "type" : "MORALE", "val" : -1, "duration" : "ONE_BATTLE", "description" : 99 } ]
}
],
"visitMode" : "once", // Banks never reset
// Defines layout of guards. To emulate H3 logic,
// use 'creatureBankNarrow' if guardian units are narrow (1-tile units)
// or, 'creatureBankWide' if defenders are double-hex units
"guardsLayout" : "creatureBankNarrow",
"rewards" : [
{
"message" : 34,
"appearChance" : { "min" : 0, "max" : 30 },
"guards" : [
{ "amount" : 4, "type" : "cyclop" },
{ "amount" : 4, "type" : "cyclop" },
{ "amount" : 4, "type" : "cyclop", "upgradeChance" : 50 },
{ "amount" : 4, "type" : "cyclop" },
{ "amount" : 4, "type" : "cyclop" }
],
"resources" : {
"gold" : 4000
}
},
{
"message" : 34,
"appearChance" : { "min" : 30, "max" : 60 },
"guards" : [
{ "amount" : 6, "type" : "cyclop" },
{ "amount" : 6, "type" : "cyclop" },
{ "amount" : 6, "type" : "cyclop", "upgradeChance" : 50 },
{ "amount" : 6, "type" : "cyclop" },
{ "amount" : 6, "type" : "cyclop" }
],
"resources" : {
"gold" : 6000
}
},
{
"message" : 34,
"appearChance" : { "min" : 60, "max" : 90 },
"guards" : [
{ "amount" : 8, "type" : "cyclop" },
{ "amount" : 8, "type" : "cyclop" },
{ "amount" : 8, "type" : "cyclop", "upgradeChance" : 50 },
{ "amount" : 8, "type" : "cyclop" },
{ "amount" : 8, "type" : "cyclop" }
],
"resources" : {
"gold" : 8000
}
},
{
"message" : 34,
"appearChance" : { "min" : 90, "max" : 100 },
"guards" : [
{ "amount" : 10, "type" : "cyclop" },
{ "amount" : 10, "type" : "cyclop" },
{ "amount" : 10, "type" : "cyclop", "upgradeChance" : 50 },
{ "amount" : 10, "type" : "cyclop" },
{ "amount" : 10, "type" : "cyclop" }
],
"resources" : {
"gold" : 10000
}
}
]
},
Conversion from 1.5 format
This is a list of changes that needs to be done to bank config to migrate it to 1.6 system. See Rewardable Objects documentation for description of new fields
-
If your object type has defined
handler
, change its value frombank
toconfigurable
-
If your object has non-zero
resetDuration
, replace withresetParameters
entry -
For each possible level, replace
chance
withappearChance
entry -
If you have
combat_value
orfield
entries inside 'reward' - remove them. These fields are unused in both 1.5 and in 1.6 -
Rename
levels
entry torewards
-
Add property
"visitMode" : "once"
-
Add property
"onGuardedMessage" : 119
, optionally - replace with custom message for object visit -
Add property
"onVisitedMessage" : 33
, optionally - custom message or morale debuff -
Add property
"message" : 34
, to every level of your reward, optionally - replace with custom message
Old format (1.5 or earlier)
{
/// If true, battle setup will be like normal - Attacking player on the left, enemy on the right
"regularUnitPlacement" : true,
/// If true, bank placed on water will be visitable from coast (Shipwreck)
"coastVisitable" : true,
/// List of levels of this bank. On map loading, one of them will be randomly assigned to bank.
"levels": [
{
/// Chance for this level to be active
"chance": 30,
/// Description of guards, stacks will be ordered
/// on battlefield according to this scheme:
/// 4 7 1
///
/// 6 5
///
/// 3 2
/// Possible fields:
/// amount - size of stack
/// type - string ID of creature for this stack
/// upgradeChance - chance (in percent) for this stack to be upgraded
"guards": [
{ "amount": 4, "type": "cyclop" },
{ "amount": 4, "type": "cyclop" },
{ "amount": 4, "type": "cyclop", "upgradeChance": 50 },
{ "amount": 4, "type": "cyclop" },
{ "amount": 4, "type": "cyclop" }
],
/// Description of rewards granted for clearing bank
"reward" : {
/// Granted resources
"resources": {
"wood" : 4,
"mercury" : 4,
"ore" : 4,
"sulfur" : 4,
"crystal" : 4,
"gems" : 4,
"gold" : 0
},
/// Granted creatures, same format as guards
"creatures" : [
{ "amount": 4, "type": "wyvern" }
],
/// List of random artifacts
"artifacts": [ { "class" : "TREASURE" } ]
/// List of spells
"spells" : [ { "level" : 5 } ]
}
}
]
}