Custom objects
The utility supports custom objects in modules. Authors can create ready-made abilities, heroes, or entire races. Map developers who use these modules can override parts of those objects' parameters.
Field overrides
For example: you added a custom blessing to your project — everything works and the ability exists — but you want to change the mana cost of the spell. How do you do that?
The project has a dedicated data folder with subfolders for different object types. For example, there is an abilities folder where you can create abilities without editing the map itself. Inside that folder you can create an overwrite folder that will contain your overrides.
Alarm!
Currently all custom .ini files must contain only one object; the parser for multiple objects is not yet implemented.
Example .ini file in a module:
[SHhb]
_parent = "ANcl"
-- Cooldown
Cool = 1.0
-- Mana Cost
Cost = 0
-- Follow Through Time
DataA = 0.01
-- Target Type
DataB = 1
-- Options
DataC = 1
-- Art Duration
DataD = 0.01
-- Disable Other Abilities
DataE = 0
-- Base Order ID
DataF = "corrosivebreath"
-- Editor Suffix
EditorSuffix = "[Paladin]"
-- Name
Name = "Holybolt"
-- Tooltip - Normal
Tip = "Holybolt"
-- Hero Ability
hero = 0
-- Levels
levels = 1
-- Targets Allowed
targs = "enemies,friend,notself,organic,allies"
Suppose I want to change the mana cost (it's currently zero). To do that I need to create a file at data/abilities/overwrite/name.ini. The filename doesn't matter and can be anything.
The file should contain the following:
This will replace the Cost parameter from 0 to 100 in the object with ID SHhb. During compilation the utility will also warn you that a replacement is taking place.
Tip
Comments (lines starting with --) are optional; they're just notes to help you orient yourself.