Active Abilities
31 hotbar abilities, choice tiers, triggered passives, and Souls-style dodge counterattack
Overview
Active abilities ship in v1.0.0 — the plugin previously only granted passive stat rewards through skill trees. This release adds 31 hotbar abilities across 11 skills, plus a triggered-passive lattice on every combat tree, a flat-first damage rebalance, real-momentum dashes with i-frames, and Souls-style dodge counterattack.
How abilities work
- Unlock through the skill tree — abilities live as
ABILITY_UNLOCKrewards on tier nodes, just like any other reward. Admins can re-home an ability to a different skill or level with a single config edit. - Bind via
/mmoabilities— open the bind page, drag any unlocked ability onto hotbar slot 7, 8, or 9. - Press hotkey to cast — a cooldown pip appears on the HUD; your held item stays where it was (the slot snaps back automatically after a brief revert).
- Fully tunable — every numeric and asset-shaped value lives in
mods/mmoskilltree/abilities.json. Server owners can retune damage, cooldowns, radii, projectile models, sounds, animations, on-hit effects, and XP routing without a plugin rebuild.
The 31-ability roster
Acrobatics — 1
| Ability | Lv | Effect |
|---|---|---|
| Dodge | 4 | Roll in your movement direction (8-way WASD, stationary defaults to backward). 100 ms i-frames, 3.5 s cooldown, 5 stamina. Free, low-stakes "get out" button. |
Magic — 9
| Ability | Lv | Effect |
|---|---|---|
| Arcane Missiles | 8 | Quick-tap single-target projectile salvo for early-game spellcasters. |
| Poison Dart | 17 | Fling a poisoned dart that hits for 2 and ticks 8 damage/sec for 10 s. Awards Magic XP regardless of held weapon. |
| Fireball vs Ice Bolt | 22 (Pick 1 of 2) | Burst (45 damage, 4-block AoE) vs control (28 damage, 2.5-block splash, 3 s Slow). |
| Frost Nova vs Renewal | 32 (Pick 1 of 2) | Self-centered ice burst (28 damage, 4.5-block radius, 4 s Slow on every enemy hit) vs instant heal (20 HP) plus 5 s regen. |
| Flame Stream | 43 | Sustained 5-second flame torrent: 50 ticks of 4 damage at 1 mana / tick, pierces 3, scorches with Burn. Channel breaks if you walk too far from the cast origin. |
| Meteor | 67 | Mark a spot, wait 2.5 s, then a meteor lands dealing 70 damage in a 5-block radius (35 s cooldown). Headline late-game burst. |
Archery — 5
| Ability | Lv | Effect |
|---|---|---|
| Hunter's Mark | 13 | Tag a target; your next 4 hits deal +20% for 10 s. |
| Piercing Shot vs Scatter Shot | 28 (Pick 1 of 2) | Long-range single line (35 damage, 20 m, pierces 3) vs short-range buckshot (4 raycast pellets at 18 damage, 10 m, wide spray). |
| Volley | 42 | Arrow rain at a target point: 4-block radius, 6 ticks of 10 damage over 3 s. |
| Paralyzing Dart | 55 | Arms your next ranged hit; on landing, the target is stunned for 1.5 s. 8 s armed window, 30 s cooldown. Costs mana (10) — the only archery ability that taps mana, so bow players have a reason to invest in mana tier rewards. |
Swords — 3
| Ability | Lv | Effect |
|---|---|---|
| Power Strike | 22 | Empowered swing: 30 damage in a 2.5-block burst at swing time AND arms your next melee hit with a 2× multiplier for 5 s. |
| Leap Strike | 32 | Dash 8 blocks forward, damaging every enemy you pass through for 35 each. |
| Rallying Cry | 47 | Party buff: you AND every ally within 6 blocks arm a 1.5× next-hit for 8 s. |
Axes — 3
| Ability | Lv | Effect |
|---|---|---|
| Whirlwind | 22 | 5-block radius spin, 22 damage to every enemy in reach. |
| Berserker Charge | 32 | Dash 6 blocks (gated to ≤ 50% HP), then arm your next melee hit with a 1.5× multiplier for 5 s. |
| Sunder | 47 | Brand a target for 6 s; your next 5 hits deal 1.25× (armor-shred drag-out tax). |
Daggers — 4
| Ability | Lv | Effect |
|---|---|---|
| Shadowstep vs Vanish | 18 (Pick 1 of 2) | Blink 8 blocks forward (drops mob aggro in a 30-block radius) vs short-duration aggro suppression that mobs treat as IGNORE for the window. Both require Perfect Utils for the actual aggro mutation. |
| Vampiric Strike | 42 | Dagger lifesteal hit (12 s cooldown), applies a Bleed for 8 over 4 ticks. |
| Shadow Pounce | 47 | Dash 10 blocks forward, then arm your next hit with a 2.25× multiplier for 3 s. |
Defense — 3
| Ability | Lv | Effect |
|---|---|---|
| Shield Bash | 22 | Stuns the foe in front of you (within ~3 blocks) on cast for 1.5 s, AND arms your next melee hit with a flat +20 damage bonus for 4 s. 8 s cooldown, 5 stamina. |
| Shield Slam | 38 | Dash 6 blocks with a shield-first sweep, damaging enemies on the path and stunning each for 1.5 s. |
| Guardian's Call | 47 | Tank-flavored 1.4× next-hit aura on self + allies within 6 blocks for 10 s. |
Mining / Woodcutting / Harvesting / Fishing — 4
| Ability | Skill, Lv | Effect |
|---|---|---|
| Seismic Slam | Mining, 32 | Aim at the ground, wait 0.6 s, then a tremor erupts dealing 45 damage in a 4-block radius. |
| Lumberjack Leap | Woodcutting, 32 | Dash 7 blocks with an axe-leap sweep, 28 damage per enemy on the path. |
| Thorn Patch | Harvesting, 32 | Plant a toxic herb patch at your aimed point: 3-block radius, 6 ticks of 10 poison damage over 6 s. |
| Tide Caller | Fishing, 32 | Cast a turquoise tide pool that drowns and chills anything caught in it for 4 s (8 damage / sec); 16 s cooldown, requires a fishing rod. |
Choice tiers — Pick 1 of 2
Four "Choice — Pick 1" nodes sit in the skill tree, forcing a build-shaping decision between two opposite abilities at a single level threshold. Pick one and the other locks out for that skill until you reset:
- Daggers Lv 18 — Shadowstep vs Vanish (mobility flavor)
- Magic Lv 22 — Fireball vs Ice Bolt (burst vs control)
- Archery Lv 28 — Piercing Shot vs Scatter Shot (long-range line vs short-range cone)
- Magic Lv 32 — Frost Nova vs Renewal (control AoE vs sustain)
The skill-tree page sorts tiers by level requirement so each choice node renders right between adjacent stat tiers, with a "Choice — Pick 1" header above the two ability cards.
Triggered passives — combat trees + Lv 100 capstones
On top of the 31 hotbar abilities, every combat tree (Swords, Daggers, Polearms, Staves, Axes, Blunt, Unarmed, Archery, Magic, Artillery, Defense) grants:
- One triggered passive at low / mid level on each tree — fires automatically on
on_hit_dealt,on_kill, oron_finisherevents. Examples: Coup de Grâce (Daggers Lv 11) lands a 2× execute swing when you hit a target ≤ 25% HP; Cleaver (Axes Lv 25) detonates a 4-block ground burst on every combo finisher; Pyromaniac (Magic Lv 57) buffs your next Fireball hit. - Two Lv 100 capstones (Pick 1 of 2) per combat tree — augment specific abilities, apply real status effects to the victim, or drop damage zones at the kill site instead of generic % multipliers. Examples: Cataclysm (Staves) makes meteor leave a 4-second burning crater; Multishot (Archery) gives every Scatter Shot pellet its own bleed; Stagger (Blunt) stuns for 0.75 s on every hit.
Plus Wind Dancer (Acrobatics Lv 67) — a passive that auto-arms a 2.5× next-hit damage buff for 4 s with a chained 1.4× follow-up when you successfully dodge an incoming hit during the perfect-dodge window. No hotbar slot, no cast — pure dodge-and-counter feel.
Dodge Counterattack — Acrobatics + Defense
Time a dodge so a hit lands inside the i-frame window and your next swing hits harder. Souls-style parry-then-execute, built into the skill tree as a passive you unlock and scale per-skill.
- Generalist "+25% Dodge Counterattack" options at Acrobatics Tier 4 (Lv 30), Acrobatics Tier 6 (Lv 50), and Defense Tier 4 (Lv 30). A fully-invested generalist hits 1.75× damage on every successful dodge counter.
- Specialist tiers that only apply to a specific ability — Shadow Counterstrike (Acrobatics Tier 8, Lv 80, +50% extra when you dodge with Shadow Pounce) and Bulwark Counterstrike (Defense Tier 7, Lv 65, +50% extra on Shield Slam dodges). A Shadow Pounce specialist with full investment caps at 2.25×; a Shield Slam tank tops out at 2.0×.
The dodge timing window (50 ms by default) and how long the counterattack stays armed (750 ms) are server-tunable in mods/mmoskilltree/abilities.json.
Dashes — momentum + i-frames
The five DASH abilities — Leap Strike, Berserker Charge, Shield Slam, Shadow Pounce, Lumberjack Leap — write a one-shot velocity impulse that physics carries through the world, slowing on collisions and decaying with air resistance. Dashes also grant i-frames — a brief invulnerability window during the slide. Hits that connect mid-dodge are cancelled outright, and any incoming knockback is stripped.
Defaults: 200 ms for most dashes, 300 ms on Shield Slam (longest, tank-flavored), 150 ms on Shadow Pounce (briefer, assassin timing). Server owners can tune every value (velocityHorizontal, iframesDurationMs) per ability from mods/mmoskilltree/abilities.json.
Active vs Passive labeling
Every ABILITY_UNLOCK reward in the skill tree wears a clear [ACTIVE] or [PASSIVE] tag so you can tell at a glance which abilities go on your hotbar vs. which trigger on their own. Active abilities bind to slots 7/8/9 and cast on hotkey. Passive abilities don't appear on the bind page, can't be assigned to a slot, and trigger automatically when their condition is met.
Held-weapon gating
Many abilities require the appropriate weapon category — Power Strike + Leap Strike + Rallying Cry need a sword, Whirlwind + Sunder hold an axe, Shield Bash + Shield Slam + Guardian's Call need a shield, Vampiric Strike + Shadow Pounce need daggers, Hunter's Mark + Piercing Shot + Volley need a bow. Hot-swap to the wrong weapon mid-fight and the cast aborts cleanly — no cost, no cooldown.
Two ways to cast — keyboard or inventory item
Hotkey casting on slots 7/8/9 is the default. Players who prefer mousewheel-friendly hotbar navigation can opt into inventory-item casting on the abilities page (or in /settings): toggle "Cast Abilities via Inventory Item" on, and three new items appear in your inventory — one per ability slot. Use an item to cast the ability bound to that slot. The items are reusable (don't get consumed), and while the mode is on, hotbar slots 7-9 work as ordinary hotbar slots. If you ever lose an item, click "Restore Missing Items" on the abilities page (15-minute cooldown).
Cooldown HUD & bind page
- Cooldown HUD — pip-style cooldown bar shows your bound abilities and their remaining cooldowns. Each pip displays the ability's icon (the same one shown on the bind page) with its hotbar key above and a seconds counter below — hover to see the ability name. A subtle blue fill behind the icon drains as the cooldown ticks down. Configurable from the Admin Config menu (vertical anchor / horizontal align / X-Y offsets).
- MultipleHUD compatibility — if the MultipleHUD mod (Buuz135) is installed, the ability HUD coexists with other HUD-using mods (Coordinates HUD, Block Information, Equipment Plus HUD) instead of replacing them. Auto-detected at startup; falls back to the standard slot if not installed.
- Bind page filtering — search box (filters by name or flavor text), sort buttons (Name / Level / Skill), skill filter dropdown, category chips (Combat / Gathering / Crafting / Misc), Hide Locked toggle, empty-state messages.
- Distinct icons for every ability — each ability shows its own thematically picked Hytale item icon on the bind page.
Configuration
- Fully tunable abilities.json — damage, cooldowns, radii, projectile models, sounds, damage causes, animations, on-hit effects, XP routing, and nested behaviors all live in the config.
- Configurable damage cap — server admins can tune the pre-defense ability multiplier ceiling via
mods/mmoskilltree/skill-config.json(maxPreDefenseMultiplier, default 4.0). Raise it for bigger combo numbers, lower it for tighter PvE balance. reward-icons.jsonoverride config — server admins can remap any reward icon. Three precedence layers: per-skill overrides (highest), per-combat-target overrides, and per-reward-type defaults. Set a value to"__DISABLED__"to suppress an icon entirely.
Ability localization
Active ability names, flavor text, and the dynamic damage/radius/duration summary are translated into the player's chosen language. Numeric values come straight from the ability's config, so balance changes propagate to every language without re-translation.