# 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](Rewardable.md) Deprecated in 1.6. Please use [Rewardable Objects](Rewardable.md) 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](Rewardable.md) for detailed documentation of these properties. ```json { "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](Rewardable.md) documentation for description of new fields - If your object type has defined `handler`, change its value from `bank` to `configurable` - If your object has non-zero `resetDuration`, replace with `resetParameters` entry - For each possible level, replace `chance` with `appearChance` entry - If you have `combat_value` or `field` entries inside 'reward' - remove them. These fields are unused in both 1.5 and in 1.6 - Rename `levels` entry to `rewards` - 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) ```json { /// 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 } ] } } ] } ```