Source-first reverse engineering of a mainline Battle for Wesnoth campaign
20 — Return of the Fleet
A large coastal rendezvous battle where Jevyan imposes fog, Jessene returns from cross-scenario storage, optional regions create aquatic and Saurian threats, and the refugee fleet becomes the strategic prize.
Haldric reaches the fleet’s return site. Several damaged ships have docked, while most remain offshore after seeing smoke from the orc invasion. The refugees must clear the frontier before their people starve at sea or Jevyan arrives with his own fleet.
On turn 5, Jevyan and his Familiar appear. Jevyan realizes that Haldric has concealed the Ruby’s power but remains confident that Haldric’s corpse will lead him to it. He curses the battlefield with darkness, departs, and leaves Chocobone reinforcements behind. Jessene returns on turn 7 after successfully hiding the artifact.
Map description
The 42 × 42 battlefield combines a broad northern land frontier with a large western and southern coastal zone. Haldric begins in the south at 28,37. Two orc chiefs occupy northern keeps at 14,7 and 36,7, while undead General Heravan holds the western-central keep at 5,21. Four red refugee galleons are staged along the southwestern coast.
Map element
Design role
Four docked ships
Make the returning fleet a visible strategic asset.
Large water and coast region
Supports the Cuttle Fish encounter and maritime stakes.
Two northern orc fronts
Create paired leader funding and a Saurian reinforcement opportunity.
Western undead keep
Separates Jevyan’s organized undead from his orc allies.
Southern player keep
Places the refugees between the coast they must protect and the northern invasion.
Objectives and sides
Victory
Defeat all three enemy leaders.
Defeat
Death of Haldric, Aethyr, or Jessene after she has returned; turns expire.
Carryover
40%, with early-finish bonus.
Side
Leader / roster
Gold and income
AI
1 — Refugees
Haldric and available companions; Jessene absent until turn 7
280 / 250 / 220; income 2 / 1 / 0
Human controlled
2 — Undead
General Heravan, Draug
120 / 160 / 200; income 6 / 9 / 12
Passive leader; aggression 0.4, rising to 0.7 at night
3 — Orcs
Tan-Halg, Orcish Warlord
200 / 250 / 300; income 6 / 10 / 14
Night aggression 0.75; zero caution; no grouping
4 — Orcs
Tan-Rinak, Orcish Warlord
200 / 250 / 300; income 6 / 10 / 14
Mirrors side 3
The Jessene defeat objective is wrapped in [show_if][have_unit], so it is not displayed while she remains off-map.
Turn-5 Jevyan intervention
Familiar and Jevyan Cloaked enter through fake movement.
Jevyan observes that the Ruby’s magical power has been concealed.
Haldric condemns Jevyan’s use of both orcs and humans as disposable pawns.
Jevyan departs rather than fighting.
Three Chocobones appear for side 4; Normal adds one for side 3, Hard adds two.
Side 1 is changed to fog=yes and the map redraws.
Scenario-wide curse. Fog is introduced in the middle of a previously visible battle, making Jevyan’s spell mechanically alter information rather than merely adding dialogue.
Jessene’s return
On turn 7, the scenario animates the unit type stored in jessica_store, unstores Lady Jessene near 14,38, clears the stored variable, and runs the reunion dialogue.
This completes a cross-scenario stored-unit lifecycle:
19 The Vanguard
└── Lady Jessene stored with kill=yes in jessica_store
20 Return of the Fleet, turn 7
├── fake movement uses $jessica_store.type
├── unit unstored into a vacant nearby hex
└── jessica_store cleared
Geographic encounter triggers
Region approached
Encounter
Difficulty scaling
Within radius 10 of 11,17
Cuttle Fish appears for side 3.
1 / 2 / 3 Cuttle Fish
Within radius 10 of 34,15
Flixta and Saurian allies appear for side 4.
Three core leaders/healers, plus 0 / 2 / 3 Skirmishers
The Saurian event also unlocks Saurian Skirmisher recruitment for both orc sides; Hard additionally unlocks Saurian Ambushers. Flixta explicitly frames the attack as revenge for Shek’kahan and the Naga alliance, tying an optional Ka’lian branch back into the linear campaign.
Leader-economy link
Leader killed by side 1
Surviving orc side receives
Tan-Halg
Side 4 gains 60 / 70 / 80 gold.
Tan-Rinak
Side 3 gains 60 / 70 / 80 gold.
Special events
Trigger
Behavior
prestart
Places four ships and a signpost, recalls companions except Jessene, and installs objectives.
start
Explains the damaged fleet and the need to clear the frontier.
Turn 5
Jevyan scene, Chocobones, and battlefield fog.
Turn 7
Jessene returns from jessica_store.
Signpost movement
Displays evacuation instructions and permits undo.
Cuttle Fish region
Creates 1 / 2 / 3 aquatic monsters.
Saurian region
Creates revenge force and extends enemy recruit lists.
Enemies defeated
Begins a private discussion of the plan to confront Jevyan.
Time over
Aethyr sees Jevyan’s fleet on the horizon.
Lessons for campaign authors
Pattern
Reuse lesson
Add fog during play
Let a villain’s magic change the player’s information model.
Hide a defeat objective until the unit exists
Keep objectives accurate during delayed recalls and stored-unit absences.
Use stored type for entrance animation
Animate a returning unit correctly even if it advanced before storage.
Reconnect optional branch history to the main path
Use a later encounter to make earlier side quests feel consequential.
Add enemies through geographic exploration
Make a large map’s peripheral regions tactically meaningful.