Abilities, Shaman & Mobs
Abilities, shaman nodes, mobs and bosses run on the game's code, and it is closed. A mod cannot add new abilities or enemies, but it can change all their numbers: damage, charges, cooldowns, prices, health, speed, loot.
1. Abilities — balance/abilities.synx
abilities
phantom_cross
damage 60
charges 2
cooldown_sec 8
charge_sec 8| Field | What it does |
|---|---|
damage | Damage per use; 0 — the ability does not hit |
damage_type | physical, magic or none: which modifier raises it — physical_damage or spell_damage |
damage_kind | The damage label in tooltips and the book: physical, magic, mixed, none. Does not affect the calculation |
charges | How many times in a row it can be used |
charge_sec | While not all charges are spent, they come back one at a time every this many seconds (faster with recharge) |
cooldown_sec | The last charge spent — a cooldown, then all charges return (faster with cooldown) |
Many abilities also have their own block of numbers further down the same file — radii, durations, shares. The block's key is the id of the ability or of its card; the fields are explained by comments in the game's file.
2. The shaman's trees — balance/skills.synx
An ability has two branches, left and right, sometimes a heresy alt and a fork fork — lists of nodes from top to bottom.
The nodes themselves are in the same ability's nodes block:
skills
blood_dash
nodes
long_stride
price_souls 10
range 0.08| Field | What it does |
|---|---|
shape | diamond — a simple upgrade, square — a new mode with an icon |
price_souls | Price of the node, souls |
| Other fields | What the node gives: range, cooldown, charges, haste_move, fury_damage… The list and meanings are in the header of the game's skills.synx |
You can reorder nodes in a branch and swap them for the game's other nodes. New nodes with their own action cannot be made.
3. Mobs — balance/mobs.synx
mobs
swarm
base_hp 20
speed_mps 7.5| Field | What it does |
|---|---|
base_hp, base_damage | Health and damage on the first floor; deeper, threat multiplies them |
speed_mps | Running speed, m/s |
radius_m, height_m | Body size for hits and crowding |
base_souls | Souls per kill |
card_chance | Chance to drop a card, 0…1 |
attack_range_m, attack_cooldown_sec, windup_sec | Attack reach, pause between attacks and wind-up |
strike_arc_deg, lunge_m | Width of the strike and the lunge during it |
is_tracking | true — the mob keeps turning towards its target during the wind-up |
projectile_speed_mps, preferred_range_m, muzzle_height_m | Shooters: projectile speed, the distance it keeps, shot height |
min_zone, spawn_weight | From which zone it appears and how often compared to others |
max_alive | How many alive at once; 0 — no limit |
Mini-bosses are in balance/minibosses.synx, floor bosses in the balance/bosses/ folder, the labyrinth's difficulty per floor in
balance/endless.synx. Their fields are explained by comments in the game's files.
4. Example: a "Hard Hell" mod
More rooms and mobs on every floor and enemies that grow stronger with each threat step — two files, only the numbers you change:
# balance/endless.synx — rooms on floor f: rooms_base + rooms_per_floor × (f − 1); mobs per wave: base + per_floor × (f − 1)
floor
rooms_base 9
rooms_per_floor 3
waves
base 6
per_floor 1.2# balance/threat.synx — how many times mob health and damage grow with each threat step
hp_growth 1.5
damage_growth 1.5