Major artifacts through Scenario 13

ArtifactStory acquisitionMechanical implementationPersistence model
Ruby of FireRecovered from Lich-Lord Lenvan’s temple in Scenario 06Scenario 12 attaches a permanent 14×4 magical fire ranged attack to HaldricPermanent unit object; no campaign flag required afterward
Book of Fire and DarknessRecovered from Lich-Lord Caror in Scenario 09Enables Jessene to translate how the Ruby is usedTemporary have_book gates Scenario 09 exit, then is cleared because every victory guarantees possession
Lord Typhon’s Storm TridentGranted as part of his scripted Scenario 12 creationPermanent 14×2 magical fire ranged attack with lightning animationsEmbedded directly in the hero’s modifications
Island Storm TridentOptional pickup in Scenario 13Core OBJ_TRIDENT_STORM macro gives an eligible merfolk unit the same 14×2 attackPermanent pickup object; one-use item state managed by the core macro
Holy WaterFound in Scenario 06Core pickup appends arcane behavior to eligible melee attacksScenario-duration effect only

Ruby of Fire implementation

PropertyValue
Owner filterid=Prince Haldric
Durationforever
Attack14 damage × 4 strikes, ranged fire
SpecialMagical
Animation reuseCore fireball missile frame, fireball icon, fire.wav

The campaign creates no “Ruby Haldric” unit type. The ordinary Noble Commander receives an additional attack through an object, preserving all advancement and recall behavior.

Two Storm Trident authoring patterns

PatternScenario 12Scenario 13
How grantedGuaranteed inside Typhon’s scripted hero creationOptional map pickup
Eligible bearerLord Typhon onlyAny merfolk unit lacking the attack
Interaction UINone; automatically equippedCore take/leave/cannot-use dialogue
Effect14×2 magical ranged fire, lightning icon and animations
Use caseSignature named-character equipmentPlayer-selected persistent reward

When to use a variable, object, or unit type

NeedBest mechanismCampaign example
Gate a local objectiveTemporary variableHave_Ruby in Scenario 06; have_book in Scenario 09
Permanently add an attack to one existing unitForever-duration objectRuby of Fire and Storm Tridents
Create a complete advancement identityCustom unit typeHaldric’s Noble line
Provide a reusable map pickupCore pickup macroHoly Water and optional Storm Trident
State-minimization principle. A narrative fact does not always need a permanent variable. Once all valid campaign paths guarantee the same fact, later code can treat it as an invariant.

Ruby acquisition · Book acquisition · Ruby and Typhon trident · Optional trident · Core item macros

Holy water revisited on Cursed Isle

Scenario 17d reuses the same core OBJ_POTION_HOLY_ALT pattern previously seen in Temple in the Deep. One pickup is always present at 29,24; Easy adds a second at 28,26.

DifficultyHoly-water pickupsTemple rewards
Easy2Queen + two 50-gold temples
Normal / Hard1Queen + one 50-gold temple + one empty temple

This is a clean difficulty adjustment through player tools and exploration rewards rather than weakened undead statistics.

Ruby concealment

StageMechanical representation
Scenario 12Haldric receives permanent object ruby_of_fire.
Scenario 19[remove_object] object_id=ruby_of_fire removes the attack from Haldric.
Scenario 19Jessene leaves the battlefield to hide the physical artifact.
Scenario 20Jevyan detects only that the Ruby’s magical power has been concealed.
Artifact-model lesson. A permanent object can later be removed just as explicitly as it was added. The unit’s attack list is part of campaign state.

Final Ruby state

StageArtifact state
12 — A Final SpringPermanent ruby_of_fire attack attached to Haldric.
19 — The VanguardObject removed; Jessene takes the Ruby to the Troll Hole.
22 — Final battleForged treaty claims the elves received it; Jevyan never recovers it.
23 — EpilogueJessene confirms it remains hidden; Haldric’s attack is not restored.