Mutation system expansion — catalog, themes, rewards, and proc fixes #2

Closed
opened 2026-07-09 08:28:21 +00:00 by denise · 3 comments
Owner

Summary

Expand the enemy mutation system beyond the original 5 prototype mutations into a broader catalog with stat-boost auras, combat procs, reward-influencing "jackpot" encounters, and zone-theme differentiation. Companion work spans mod-illidari-difficulty, IllidariAffix (addon), and mod-random-enchants (loot/pity).

Branch: feature/pity-instability (ready for merge after smoke test)


Resolved decisions (2026-07-09)

Question Decision
Pity API Defer GrantBonusPityProgress — no API in illidari_pity.h. Use rewardWeight → loot tier + RewardWeightCacheBonus → cache drop chance for now.
Skittish semantics Once per fightskittishUsed gate restored for mutation id 4 only.
Zone theme tags Accept vanilla 27-zone set; Badlands changed mountainbarren. BC/WotLK themes deferred.
Catalog scope Ship ids 6–21 now — themed combat mutations + synergy framework in follow-up PRs.
on_death procs Fixed in #2 — killer routes cast when creature is dead; Volatile spell corrected to 36127 (Shadow Nova).

Implementation status

Done

Area Status
New mutations ids 6–21 SQL migration
Zone theme assignments ~27 vanilla zones (Badlands → barren)
Proc engine fixes on_cc, on_combat_start, low_health, on_death
Theme + creature-type filtering with ThemeFiltering.Enable config
Reward weight system loot tier (std::round) + cache bonus
Bugbot findings all four resolved
Skittish once-per-fight
Unstable one-shot enrage spell 8599, procCooldownMs = 3600000
Spell audit Volatile 36127, Unstable 8599; see MUTATION_CATALOG.md
Documentation MUTATION_CATALOG.md, MUTATION_SCALING.md
IllidariAffix sync MutationData.lua ids 6–21

Follow-up (out of scope for this merge)

  • Phase 3 synergy framework (vengeful, pack_hunter, bloodlink)
  • Theme-specific combat mutations (Festering, Emberkin, etc.)
  • BC/WotLK zone theme SQL pass
  • GrantBonusPityProgress in mod-random-enchants
  • #3 Profession framework / #4 Crystalline
  • Vampiric aura spell 52723 revisit (pre-existing prototype)

Pre-merge smoke test checklist

Run on feature/pity-instability after applying SQL updates:

  1. Auras at spawn.mutation roll on a target in Westfall; confirm Frenzy/Fortified visual buffs
  2. Combat procs — Frostbite roots, Soulleech drains, Dread fears in tier 3+ zone
  3. Low health — Unstable enrages once below 40% HP; Renewal heals with 15s CD
  4. Skittish — blinks once on first CC, not again on second CC within same fight
  5. Volatile — Volatile mob explodes (Shadow Nova) on death, hitting killer
  6. Gilded loot.mutation inspect shows elevated loot tier; cache drop chance bonus in bounty
  7. Theme filtering — themed mutation only rolls in Duskwood (shadow), not Elwynn (NULL theme)
  8. ThemeFiltering.Enable = 0 — themed mutations roll in all zones when disabled

## Summary Expand the enemy mutation system beyond the original 5 prototype mutations into a broader catalog with stat-boost auras, combat procs, reward-influencing "jackpot" encounters, and zone-theme differentiation. Companion work spans `mod-illidari-difficulty`, `IllidariAffix` (addon), and `mod-random-enchants` (loot/pity). **Branch:** `feature/pity-instability` (ready for merge after smoke test) --- ## Resolved decisions (2026-07-09) | Question | Decision | |----------|----------| | **Pity API** | Defer `GrantBonusPityProgress` — no API in `illidari_pity.h`. Use `rewardWeight` → loot tier + `RewardWeightCacheBonus` → cache drop chance for now. | | **Skittish semantics** | **Once per fight** — `skittishUsed` gate restored for mutation id 4 only. | | **Zone theme tags** | Accept vanilla 27-zone set; Badlands changed `mountain` → `barren`. BC/WotLK themes deferred. | | **Catalog scope** | **Ship ids 6–21 now** — themed combat mutations + synergy framework in follow-up PRs. | | **`on_death` procs** | **Fixed in #2** — killer routes cast when creature is dead; Volatile spell corrected to 36127 (Shadow Nova). | --- ## Implementation status ### Done | Area | Status | |------|--------| | New mutations ids 6–21 | ✅ SQL migration | | Zone theme assignments | ✅ ~27 vanilla zones (Badlands → `barren`) | | Proc engine fixes | ✅ `on_cc`, `on_combat_start`, `low_health`, `on_death` | | Theme + creature-type filtering | ✅ with `ThemeFiltering.Enable` config | | Reward weight system | ✅ loot tier (`std::round`) + cache bonus | | Bugbot findings | ✅ all four resolved | | Skittish once-per-fight | ✅ | | Unstable one-shot enrage | ✅ spell 8599, `procCooldownMs = 3600000` | | Spell audit | ✅ Volatile 36127, Unstable 8599; see `MUTATION_CATALOG.md` | | Documentation | ✅ `MUTATION_CATALOG.md`, `MUTATION_SCALING.md` | | IllidariAffix sync | ✅ `MutationData.lua` ids 6–21 | ### Follow-up (out of scope for this merge) - [ ] Phase 3 synergy framework (`vengeful`, `pack_hunter`, `bloodlink`) - [ ] Theme-specific combat mutations (Festering, Emberkin, etc.) - [ ] BC/WotLK zone theme SQL pass - [ ] `GrantBonusPityProgress` in mod-random-enchants - [ ] [#3 Profession framework](https://vcs.ablationsystems.com/denise/mod-illidari-difficulty/issues/3) / [#4 Crystalline](https://vcs.ablationsystems.com/denise/mod-illidari-difficulty/issues/4) - [ ] Vampiric aura spell 52723 revisit (pre-existing prototype) --- ## Pre-merge smoke test checklist Run on `feature/pity-instability` after applying SQL updates: 1. [ ] **Auras at spawn** — `.mutation roll` on a target in Westfall; confirm Frenzy/Fortified visual buffs 2. [ ] **Combat procs** — Frostbite roots, Soulleech drains, Dread fears in tier 3+ zone 3. [ ] **Low health** — Unstable enrages once below 40% HP; Renewal heals with 15s CD 4. [ ] **Skittish** — blinks once on first CC, not again on second CC within same fight 5. [ ] **Volatile** — Volatile mob explodes (Shadow Nova) on death, hitting killer 6. [ ] **Gilded loot** — `.mutation inspect` shows elevated loot tier; cache drop chance bonus in bounty 7. [ ] **Theme filtering** — themed mutation only rolls in Duskwood (`shadow`), not Elwynn (NULL theme) 8. [ ] **ThemeFiltering.Enable = 0** — themed mutations roll in all zones when disabled --- ## Related - [#3 — Profession framework](https://vcs.ablationsystems.com/denise/mod-illidari-difficulty/issues/3) - [#4 — Crystalline mining](https://vcs.ablationsystems.com/denise/mod-illidari-difficulty/issues/4) - `~/git/IllidariAffix` · `~/git/mod-random-enchants`
denise added reference feature/pity-instability 2026-07-09 08:29:50 +00:00
denise self-assigned this 2026-07-09 08:38:53 +00:00
Author
Owner

There is a recurring bug wherein cast_on_death does not proc.

There is a recurring bug wherein cast_on_death does not proc.
Author
Owner

Another expansion for consideration: adding crystalline mobs that drop blacksmithing materials. This train of thought should be followed through to encompass all professions, giving a high-risk/high-reward way of farming materials in larger quantities with a hidden chance of getting affixed gear and Instability Caches on top.

We could reasonably extrapolate from this that mutations can encompass utility use cases, which in turn means our pool grows larger, and therefore, non-combat affixes existing should increase our caps for mutations. However, it would be near-sighted to simply add these resource-gathering and utility multipliers without also meaningfully increasing the challenge. A crystalline mob or enemy should, for example, have increased defense stats or a chance to daze the player on attack.

Another expansion for consideration: adding **crystalline** mobs that drop blacksmithing materials. This train of thought should be followed through to encompass all professions, giving a high-risk/high-reward way of farming materials in larger quantities with a hidden chance of getting affixed gear and Instability Caches on top. We could reasonably extrapolate from this that mutations can encompass utility use cases, which in turn means our pool grows larger, and therefore, non-combat affixes existing should increase our caps for mutations. However, it would be near-sighted to simply add these resource-gathering and utility multipliers without also meaningfully increasing the challenge. A **crystalline** mob or enemy should, for example, have increased defense stats or a chance to daze the player on attack.
Author
Owner

Smoke test passed on azeroth.internal.illidari.eu @ 7172ffe. Catalog expansion (ids 6–21), proc fixes, themes, reward weights, and instability cache wiring are all included in PR #8 (feature/profession-mutationsmaster).

Closing as complete — follow-up work tracked in #9 (zone tier audit) and profession framework #3 phase 5 polish.

Smoke test passed on `azeroth.internal.illidari.eu` @ `7172ffe`. Catalog expansion (ids 6–21), proc fixes, themes, reward weights, and instability cache wiring are all included in [PR #8](https://vcs.ablationsystems.com/denise/mod-illidari-difficulty/pulls/8) (`feature/profession-mutations` → `master`). Closing as complete — follow-up work tracked in #9 (zone tier audit) and profession framework #3 phase 5 polish.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
denise/mod-illidari-difficulty#2
No description provided.