# Warlock/Mage Soul Brand (498705) ## Source and decision - [Current Chronicles of Arcadia special skills](https://chroniclesofarcadia.com/wiki/skills/list/9-4) identifies Soul Brand as the Warlock/Mage elite skill and describes its current behavior: any Fire damage inflicted applies Soul Brand, increasing damage taken from elemental magic by 2% per stack, up to four stacks, for 20 seconds, and restoring Psi. - [CoA patch 10.7.1.6000](https://chroniclesofarcadia.com/patch/10-7-1-6000) confirms the broader Fire-damage trigger. Its historical 3% value is not used because the current skill entry says 2%. - [CoA patch 11.1.1.3000](https://chroniclesofarcadia.com/patch/11-1-1-3000) specifies that each trigger restores 1 Psi. RuneWaker's generated entry for the same 498705 name and Warlock/Mage pairing triggers only from skills 497964, 497960, or 498545, buffs only Dark/Flame damage taken, and uses a 9% value. The current CoA entry matches the exact skill identity and pairing, so its newer explicit behavior is the chosen target. The generated RuneWaker payload is retained as source evidence; these differences are intentional. ## Modeled behavior `src/game/romWarlockMageSoulBrand.ts` describes a landed Fire damage event as eligible, including periodic Fire damage. It returns a target debuff with a 20-second duration, additive stacks capped at four, and +2% damage taken per stack for the simulator's five modeled elemental schools: Fire, Frost, Nature, Holy, and Shadow. These stand in for RoM Fire, Water, Earth/Wind, Light, and Dark. At four stacks, the aura engine therefore resolves +8% damage taken from each of those five schools. Physical and Arcane damage remain unaffected. Each eligible helper result also includes +1 Psi. `romWarlockMageSoulBrandAuraSemantics.test.ts` verifies the aura payload's stack cap, refresh time, expiry boundary, affected schools, and unaffected Physical/Arcane schools. `romWarlockMageCoaRuntime.integration.test.ts` covers player direct and periodic Fire damage, generated-companion deterministic direct Fire damage, and companion periodic Fire damage. ## Runtime integration boundary `combatStore.ts` now invokes the helper after a positive landed Fire result in the shared damage resolver. That covers player hits and centralized player/companion periodic ticks, refreshes the target's capped aura through the aura engine, and grants 1 Psi to the exact Warlock/Mage source. `partyRuntime.ts` adds the equivalent post-landed hook for generated companions whose direct damage uses the deterministic no-roll path; hits already sent through the shared resolver are not processed twice. Regression coverage verifies player and companion direct/periodic events, excludes a non-Fire hit, and confirms that Psi goes to the triggering owner. The simulator has no Arcane elemental school distinct from the five mapped RoM elemental types; CoA's listed elemental categories are represented by the five available mappings above. This note does not infer a range, cost, chance, or alternate stack rule.