# Sanctum: Revolutions 1.50 SP6 ## Release Notes # #### March 2004 http://sanctum.nioga.net http://www.nioga.net

Welcome to Sanctum: Revolutions, NIOGA, LLC’s third major release for the online collectible card game Sanctum. This release provides:

- Revolutions – 3rd Expansion Set for Sanctum
- Very Rare Cards – Sanctum has always had them. NIOGA makes this information public

- New DeckBuilder – using standard Windows controls and Multiple Document Interface
- New Lobby – with many bug fixes, and a Withdraw Challenge command

- Game checksum phase – to pinpoint Out-of-Sync (OOS) errors
- Alpha 2 Rating System – based on work by Ian Schreiber and Genetic Anomalies

### Release History

03/2004 | 1.50 SP6 | NIOGA publishes the Sanctum Rules and FAQ pages, with all-new content
02/2004 | 1.50 SP6 | NIOGA releases Service Pack 6 for Sanctum: Revolutions
01/2004 | 1.50 SP5 | NIOGA releases Service Pack 5 for Sanctum: Revolutions
10/2003 | 1.50 SP4 | NIOGA releases Service Pack 4 for Sanctum: Revolutions
09/2003 | 1.50 SP3 | NIOGA releases Service Pack 3 for Sanctum: Revolutions
08/2003 | 1.50 SP2 | NIOGA releases Service Pack 2 for Sanctum: Revolutions
07/2003 | 1.50 SP1 | NIOGA releases Service Pack 1 for Sanctum: Revolutions
07/2003 | 1.50 | NIOGA releases Sanctum: Revolutions
03/2002 | 1.25.3 | NIOGA releases “Bug Fix” 1.25.3 (Builds 81-82)
1.25.2 | NIOGA releases “Bug Fix” 1.25.2 (Builds 76-80)
02/2002 | 1.25.1 | NIOGA releases “Bug Fix” 1.25.1 (Builds 35-74)
08/2001 | 1.25.0 | NIOGA releases “Bug Fix” 1.25.0 (Builds 01-34)
03/2001 | 1.24 | NIOGA releases Sanctum 1.24 Card Text Revision
12/2000 | 1.24 | NIOGA acquires Sanctum
05/1999 | 1.22 | Digital Addition releases Sanctum: Oppositions and Whispers
1.21
1.20
12/1998 | 1.10 | Digital Addiction releases Sanctum: Bloodlines
07/1998 | 1.00 | Digital Addiction releases Sanctum (Classic)

## 1.50 SP6 Release Notes

#### February 16, 2004

Service Pack 6 (SP6) provides several bug fixes and text changes. It also eliminates one major security hole that could have allowed cheating since Revolutions first shipped. (Numbers in parentheses are NIOGA’s Beta bug tracking IDs.)

#### Major Fixes

- (0471) Log expose. Game log files no longer contain local deck contents or remote orders in plain text. This information had been present in game log files throughout Sanctum: Revolutions development, from 2001 up through SP5. It could have been abused by waiting for your opponent to press Confirm Orders first, then peeking into your game log file to read his orders.
- Any confirmed abuses of this bug will result in termination of the guilty accounts for cheating.

#### New Paradigm

- Colony helper spell. Sanctum: Oppositions (May 1999) introduced the new game element of colony, and a new game rule, A colony is destroyed when it is dispelled. SP6 now explicitly represents this rule as a new visible helper spell named Colony, whose text always reads:

  > “When this spell expires, or is dispelled, the colony is destroyed.”

  This makes it clear that the spell and the colony are inseparable.

- Every colony in the game shall have a Colony helper spell at all times. (Civilize, Dracha, Encampment, Found City, Settlement)
- If a town changes to a colony, it shall gain a Colony helper spell. (Ghost Town)
- If a colony changes to a town, it shall lose its Colony helper spell. (Auberol's Grace)

- (0468) Civilized dispel, revisited. A colony created by Civilize is now properly destroyed when it is dispelled.
  - Note that Perfection dispels Civilized but not Colony, while Auberol's Grace dispels Colony but not Civilized. Both effects are correct, according to the text on all 3 cards.

#### Game Fixes

- (0464) Sanctum refresh. Your opponent's Census or Pestilence now properly erases your Sanctum's green aura, if you had any novices there.
- (0465) Rene Bear. Great Bear no longer causes a crash when it kills a Renegaded group of 2+ Djinn by combined strike.
- (0467) Bro blame. Brother Wolf's withdrawal effect is no longer triggered by a non-combat death, e.g. Disintegrate.
- (0472) Rak wait. Awaiting no longer affects Rakshasa.
- (0473) Sphinx sit. Sand Sphinx now seeks the opposing Sanctum properly.

#### Text Fixes

- “structure”. Most uses of the keyword “town” have been changed to “structure”, except in the targeting restriction phrase “Cast on town or colony”. (~60 cards)
- “while in structure”. The awkward phrase “While in town, X in town get Y” has been changed to “X get Y while in structure”. (Bolstering Spirit, Fortify, Limbo, Palisade, Rust, Stronghold, Valiant Stand)
- “still produce mana normally”. The phrase “(Mana-generating spells ... are not affected.)” has been changed to “(Mana-generating spells ... still produce mana normally.)” (Corrosion, Djinni Debate, Dracha's Trade, False Prophet, Panopticon)
- Justicars. Rewritten as: “When group begins moving into a square, that square, and any town or colony in that square, have all spells dispelled (which destroys colony), and that square becomes plains, before group enters.” The phrase “before group enters” makes it more clear that Justicars wins any race with any spell effect that says “when group enters”, e.g. Leechwood, Parted Sea, etc.

## 1.50 SP5 Release Notes

#### January 13, 2004 (Development completed: Oct. 15, 2003) (Released: Jan. 29, 2004)

Service Pack 5 (SP5) adds several minor bug fixes and text clarifications. (Numbers in parentheses are NIOGA’s Beta bug tracking IDs.)

#### Lobby Fixes

- (0437) Challenge race conditions. SP5 fixes a legacy race condition in accepting challenges.
  - (c) After you accept a challenge, your Return button and Realms list are disabled until the game begins, or times out. This prevents a race condition that could strand the challenger in the game alone.

#### Minor Fixes

- (0447) Lienna hop. Lienna now keeps Initiative for her caster properly even when she is off the board.
- (0448) Ill Winds helper. Ill Winds' helper square spells are now non-visible, and cannot be dispelled.
- (0454) Siren Song/Undine hop. Siren Song and Undine's effect now ceases properly when Siren Song's host or Undine leaves the board. The effect resumes properly when the host returns. This means the effect “relocates” properly when its host is teleported (since a teleportation is equivalent to a hop off board + hop on board).
- (0455) Armistice skip. Armistice no longer skips “after movement” spell effects. This includes: Implosion's effect, Gatemouth's teleportation, Jumping Lands' jumping, and Gnome/Juggernaut/Sand Sphinx's terrain-changing.
- (0458) Civilized dispel. Civilized is now properly dispelled by Perfection (which says it dispels), and is no longer dispelled by Auberol's Grace (which doesn't).
- (0460) Campus Debates. Usam University now pays proper mana, even if you cast it while Djinn Debate is in effect (whether friendly or enemy).
- (0461) Gorgon's Gorgon's Gaze. When a Gorgon gives you Gorgon's Gaze, the Gaze helper spells now properly shows “Gorgon's Gaze” name and text, instead of “Gorgon's Head”. (Gorgon's Gaze from a Shield of Vela showed the correct name and text, and still does.)

#### Graphics and User Interface Fixes

- (0451) Odd yellow dot. A blue town (not colony) with novices no longer draws a yellow dot in the center of the square to its southeast. Cause: Legacy error in that one bitmap file: It did, indeed, have two yellow pixels right there, since 1998!
- (0459d) Justicars/Juggernaut paving. Justicars and Juggernaut now properly erase all tall graphics, like forest treetops, whenever they dispel a square by moving into it.
- (0457) Spell help window order. The spell help window no longer appears behind the Choose Minion dialog.
- (0462) Multiple Gazes. Gorgon's Gaze and Cockatrice's Gaze helper spells now show a single entry in the spell list, with the quantity in parentheses, e.g. “Gorgon's Gaze (x2)”. When you double-click this entry, the large card shows a new Quantity line that says e.g. “Quantity: 2”.

#### Card Changes

- (0452) Volunteers: Waiting period waived. Volunteers now adds its bonus Vision archers immediately (in the same turn phase) when responding to new recruits created by other spells or spell effects. This includes:
  - Other spells during the spell execution phase, e.g. Heroes, Dark Minion, Dragon's Teeth;
  - Combat-triggered effects, i.e. Zana's Blessing (and the Volunteer archers are permanent!)
  - Start-of-turn effects like Nomadic Tribe.
  - For new recruits created by training during the player orders phase, Volunteers still waits until the “before movement” phase before adding the new Vision archers. This behavior is the same as before.

####

#### Text Changes

- (0453) Teleportation clarification. Now reads: “Before movement, for all new recruits created this turn in other friendly towns and colonies, and which remain in their groups, ...” This makes clear that if you train one or more new recruits into a group, and immediately cast Ch'tai Exchange on all of the new trainees, the remaining group won't teleport, because the new recruits didn't remain in their group.
- (0456a) Ice wording. All-new text now reads: “When group enters ice, group slides in its direction of travel to the first non-ice square, or the first square that blocks movement. A sliding group ignores other groups in all squares except the last square, and all spells in squares except the first ice square and the last square.”Rationale: This is how ice has always worked. At last, the text is accurate!
- (0456b) Novice effect wording. New, consistent wording for all novice creation and elimination effects. This makes it clear that these spells don't prevent the novices from being created in the first place. That means they don't prevent other spells that respond to a novice-creation - including each other! For example, Civilized doesn't prevent Kumatru Academy from responding. This is why Civ/Acad has always worked.

  New Text | Old Text | Affected Cards
  “when town/colony creates any novices, those novices are eliminated” | “when any novices would be created in town, ...” | Altar of Blood
  Kumatru Academy
  “does not generate novices” | Civilize/Civilized
  Encampment/Encamped
  “no longer creates novices” | Insurrection
  Runts
  “... all novices are eliminated.” | “... all novices are destroyed.” | Census

## 1.50 SP4 Release Notes

#### October 6, 2003

Service Pack 4 (SP4) provides one critical bug fix, and a few minor fixes. (Numbers in parentheses are NIOGA’s Beta bug tracking IDs.)

#### Critical Fix

- (0449) Mouse drag/click crash. Mouse handling has been substantially improved. This should eliminate all random crashes when clicking on towns or your Sanctum, dragging groups or spells, and all other mouse actions.

#### Minor Fixes

- (0446) Misfit avatar. The Misfit avatar (Edit Account page, row 5 column 1, 152.gif) now displays properly in the Lobby, instead of displaying the Gargoyle avatar. (Legacy)
- (0450) Graphics glitches. (a) Movement arrows are now fully erased when you double-click a group, or during movement execution. (b) Group cursors no longer flicker when you drag them along the edges of the map.
- (0456c) If at first your Hero squanders, try, try again. You may cast each Hero multiple times, until you succeed once. (The word "cast" now means the same thing for all cards in the game, namely "cast successfully". A spell that squanders is not considered to have been cast.)

## 1.50 SP3 Release Notes

#### September 16, 2003

Service Pack 3 (SP3) comprises several bug fixes. (Numbers in parentheses are NIOGA’s Beta bug tracking IDs.)

#### Critical Fixes

- (0418) Lobby MotD crash. The Message of the Day window no longer causes lobby messages to be processed out of sequence. This eliminates sporadic crashes when first entering the lobby.
- (0436) Draw disco. All end-of-game messages are now queued and handled sequentially. This fixes many legacy errors in handling multiple end-of-game messages.
  - (a) Offer Draw + Confirm Orders no longer causes opponent to disconnect.
  - (b) Offer Draw + Concede no longer strands opponent in game.
- (0444) Uptown hang. Mouse left button up is now quietly ignored after both sets of orders have been received. This eliminates a potential game hang after the first combat animation, but before combat begins.

#### Lobby Fixes

- (0437) Challenge race conditions. SP3 fixes several legacy race conditions in sending and accepting challenges.
  - (a) After you withdraw a challenge, you can't edit a new challenge until after you receive an automatic ack from your opponent's computer, which takes about 1 second. This eliminates a potential out-of-sync (OOS) error.
  - (b) After you send a challenge, your Return button and Realms list are disabled until your challenge is accepted, declined, or times out. This prevents a race condition that could strand your opponent in a game alone.

#### Minor Fixes

- (0438) DeckBuilder shrinks to fit. DeckBuilder now shrinks card title font sizes as necessary to fit the entire quantity + title in the available space. This works for up to 9999 of each card.
- (0440) Trainer shows initiative. Trainer scenarios 2 through 6 now display initiative properly in the lower left corner.
- (0441) Card text fixes.
  - (a) Capitalized all race names consistently. Affects: Amok, Berserker Blade, Chamberlain, City-State, Gnax, Prohibition, Salamander, Second Chance, Sentinel, Vision Quest, Vivant, Warlord, Weapon Master.
  - (b) Changed all occurrences of "monster spells" to "summoning spells", to properly handle the special case of Rakshasa, which is a summoning spell, but is not a monster. Affects: Golden Grove, Instability, Itrokos Gate, Justicars' Reserve, and Vale/Glen of Peace.

#### Game Fixes

- (0439) Teleportation/Volunteers. Teleportation and Volunteers now respond properly to all instant recruit creation effects. This includes start-of-turn effects like Kumatru Academy or Nomadic Tribe, spell effects like Dragon's Teeth, and combat-triggered effects like Zana's Blessing.
- (0443) Generous Grove. Golden Grove now changes sides properly when captured, and no longer pays mana to both players.
- (0445) Blasting Caps. Sanctum no longer crashes when an Icecaps group dies from walking into an active Minefield.

## 1.50 SP2 Release Notes

#### August 23, 2003

Service Pack 2 (SP2) includes several bug fixes, and two major policy changes. (Numbers in parentheses are NIOGA’s Beta bug tracking IDs.)

#### Policy Change: Very Rare

- Sanctum has always had a 4th rarity category, Very Rare. NIOGA has decided to make this information public.

- This is primarily to enable newer players to more accurately evaluate a card’s worth, and ensure fair trading.

- Note that players have already identified most of the “Very Rares” on their own, through years of trading experience. Very Rares are, for the most part, exactly those cards which have already commanded high trade and resale value. Hence, we expect that this information will come as no real surprise to most players.

- Very Rares are, and have always been, distributed in the ratio of 5% Very Rare to 95% Rare. In other words, 1 in 20 “Rares” was actually a Very Rare instead, and it randomly selected from the Very Rare pool of cards in its card set.

- The Very Rares for each card set are as follows:

  1. Classic: Dracha’s Trade, Pages to Dust.

  2. Bloodlines: Chalice of Hope, Renegades.

  3. Oppositions: Phantom, Questing Beast, Revelers, Tornado, Volgaris.

  4. Revolutions: Day of the Dead, Juggernaut, Maelstrom, Narh’u’ha, Spirit Binding.

- New DeckBuilder’s Very Rare filter button now works properly.

- Note: All Out-of-Print (OOP), Never-in-Print (NIP), and Whispers cards are currently also included in the “Very Rare” category.

#### Policy Change: Alpha 2 Rating System

- (0407) The Alpha 2 rating system is now fully supported, including giving a win for a disconnection.

#### Critical Fixes

- (0403) Remove Cards. (b) The “Remove Cards to Play” button now removes the proper quantities of all specified cards. (c) “Build Me a Deck” during game deck selection now adds the proper number of duplicates of each card type. (This is called when you press “Cancel” at the “Select a Deck” window.)
- (0417) Color dialog crash. When you leave the lobby to start a game, your font color selection dialog is automatically closed, if it was open.
- (0423) Teleportation + Blessing crash. Teleportation no longer crashes after the other player’s Zana’s Blessing is triggered in combat. (This may also fix the same crash bug in Volunteers, although nobody reported that.)
- (0434) Captured Encampment crash. A captured Encampment colony no longer crashes on expiration.

#### Game Fixes

- (0431) Ch’tai Wolves. Ch’tai Exchange + Lycanthropy no longer creates a wolf group friendly to Lycanthropy’s caster.
- (0432) Hidden Carpet. New recruits who join or are created in a group with Flying Carpet now always get a visible copy, even when its remaining duration is 1 turn.

#### Lobby Fixes

- (0414) Whisper stays checked. The “Whisper to” button is now properly unchecked when you click on another avatar.
- (0420) Can’t counter a challenge. You may now always counter a challenge, even if the challenger has auto-decline enabled, or has muted you. Declining a counter-offer no longer gives a spurious timeout message.
- (0426) “Has left the realm”. Challenging an account named $A now works normally even when a longer account name $A$B is, or has been, in the same realm. Example: Joe and Joe2.

#### Minor Fixes

- (0416) Build Me Eight OOPs. “Build Me a Deck” now adds only 4 total copies of Apocalypse/Apocalypse II, Bleak Isle/Bleak Isle II, or Sword of Zana/Sword of Zana II. It adds the original Out-of-Print (OOP) Classic versions first (up to 4 copies) from the player’s collection, then the reprinted Whisper versions, until it reaches 4 total of both versions.
- (0419) Rev dragging blues. Domesticated Revolutions monsters, and Narh’u’ha with Possession, no longer show a blue box glitch when you drag them to give movement orders.
- (0421) Trainer. (a) You no longer see novices in neutral and enemy towns. (b) Scenario 4 now works exactly as its text describes: You must train 1 World mana, and you will be left with 1 Clarity mana.
- (0422) Choose Minion spell list. The “Choose a Minion” dialog now properly shows the selected minion’s spell list.
- (0430) Green grid tile. The grid tile in a deck now changes back to yellow after a click with no dragging motion.

## 1.50 SP1 Release Notes

#### July 27, 2003

Service Pack 1 (SP1) fixes several urgent and minor game bugs. (Numbers in parentheses are NIOGA’s Beta bug tracking IDs.)

#### Critical Fixes

- (0394) Double-click OOS. Double-clicking spells after you press Confirm Orders no longer causes out-of-sync (OOS) errors.
- (0403) Remove Cards window. The “Remove Cards to Play” and “Choose Another Deck” buttons now work properly. (You would see this window when choosing a deck for a game if your deck contains any cards that you don’t own.)
- (0409) Djibari crash. Djibari’s Legacy no longer crashes the game when the remote player trains an Imp recruit in his Sanctum.
- (0410) HP-capping OOS. Dispelling multiple spells that raise and lower maximum HP no longer causes OOS. (Example: Cyclops with Rite of Growth (+4) and Plague (-2), dispelled by Cleansing Light.)
- (0411) Zana crash. Zana’s effect helper spell is now properly non-visible on the globe. It is no longer dispelled by The Unmagicking or Back to Nature. Zana no longer crashes when she leaves play.
- (0413) Training OOS. Recruits can now be trained and untrained in any order, interleaving across multiple towns, without causing OOS.

#### Major Fixes

- (0399) Skybar shift. The skybar checksum and mouse icons now refresh themselves properly, even if your map is shifted left when you receive your opponent’s checksum. (Your map would be shifted left if you reach the checksum phase first, and click on a town on the right side of the board.)
- (0406) Spell help stuck open. If the large spell window is open when a spell zoom begins, it is now closed automatically.
- (0412) Assassin vs Heroes. Assassin now properly kills all Heroes in the enemy group at the start of combat.

#### Minor Fixes

- (0402) Blank spell on globe. The globe no longer shows a blank spell “()” in its spell list.
- (0404) Tile 0 damage. Minion tiles now show proper damage, even when the minion has 0 attacks.
- (0405) Wumpus click zone. The “What Is the Wumpus?” click zone in the lower right corner of the Lobby now works properly.
- (0408) Trainer scenario 5. This scenario now loads properly, without giving a “null target” error.

## 1.50 Release Notes

#### July 19, 2003

### Major Fixes

Release 1.50 fixes several significant bugs from the “1.25.82” Bug Fix release, including the following. (Numbers in parentheses are NIOGA’s Beta bug tracking IDs.)

- Crash after combat. Sanctum no longer crashes during end-of-combat animation when the combat caused a neutral recruit group's first member to change nation, or a recruit of a different nation becomes the first group member.
- (0225) Sentinel dispels other Sentinels. When Sentinel expires, other copies of Sentinel in the same group are no longer dispelled as well.
- (0338) Socket hang. A major cause of random lobby socket closures has been eliminated. It is now possible to remain connected to the lobby for hours at a time without error.

### Legacy Fixes

Release 1.50 also fixes several major bugs that have been in Sanctum since the very beginning. Some of these bugs are so legendary that players will recognize them from just 1 spell name each!

- (0173) Hang when minimized. Sanctum no longer hangs when its main window is minimized just before a spell or mana window starts zooming.
- (0299) Possession hang. Possession and Renegades now properly cancel the group’s movement order. This is finally consistent with their text from 1998.
- (0300) The Unmagicking crash. Unmagicking no longer crashes the game when it removes an off-the-board group that has a minion with 2 or more helper spells, e.g. Loch Dweller.
- (0314) Globe conjuration lurks. Expired globe conjurations, esp. Paranoia, now cease their effects properly in the turn of expiration.
- (0361) Group helper leaks. Group helper spells: (a) If cast successfully, they leaked (were never deleted). Every group helper spell in the game leaked, until this release! (b) When we fixed (a), then squandered group helper spells crashed!
- (0381) GMSG trim. A game orders string could have its last character randomly garbled, at any time, at random. This could cause a crash, an out-of-sync error, or nothing. We estimate this happened in about 1% of all Sanctum games before this release.

### New Features

#### New Deck Builder

- Edit multiple decks at the same time
- Powerful sorting and filtering
- Standard, familiar Windows interface
- Faster scrolling, less memory usage

#### New Lobby implementation

- New Withdraw Challenge command
- Fixes numerous legacy bugs

#### Alpha 2 Rating System

- Based on work by Ian Schreiber and Genetic Anomalies

#### Checksum Phase

- A new checksum dialogue phase now occurs at the start of every game turn.
- This greatly improves NIOGA’s ability to investigate out-of-sync (OOS) bugs, under the normal situation that only one player sends his or her game log file. (The old checksum method required that both players send their log files, and NIOGA has learned that players just don’t do this often enough.)

### Changes

A significant part of NIOGA’s development effort has been to identify useful patterns, services, and other intermediate pieces of the Sanctum code, to write them correctly once, and then to re-use and build on top of them. This has vastly cleaned up many portions of Sanctum, and eliminated many legacy problem areas.

#### User Interface, Game

- Turn phase skybar: Shows the current phase of each turn in the sky above the game board.
- Minion help window: New, consistent text template.
- Spell help window: Sanctum and Deck Builder now re-use the same common code. What you see in either one is what you’ll get in the other.
- Minion tiles: Now shows both hand & missile damage, if applicable. Also, all minion tiles refresh at the start of every turn.
- End of battle: The losing group's sprite now vanishes as soon as it dies. Only the winning group shows the post-combat animation.

#### User Interface, Pipelines

- Group sprites: Now properly erases very tall heads & wide tails, in the sky and on side and bottom borders, in all situations.
- Square refresh: Now draws perfect square graphics, with no more artifacts along the edges of squares. Also runs much more efficiently, with up to 75% fewer redundant blitting operations.

#### Card and Kernel Changes

- Chaos Feature: Now gives 'random minion alteration or conjuration' (except Whipping Boy).
- Dying-cancels (Reanimate et al.): Now used up one at a time, instead of all at once.
- Group mother: “Its effect goes with it.” Fixes Bard, Diomesia, and many other interaction cases.
- Square mother: “It lives while any child lives.” Justicars’ Reserve’s 1-at-a-time restriction has been removed.
- Safe group iteration: “An event on me could kill my buddy.” Fixes weird interaction cases with Cannibalism and other damage-redirection spells.
- Monster AI: Now looks in the proper squares when calculating scores for movement.

#### End of Release Notes 1.50.

Sanctum 1.25.3 Release Notes

March, 2002

------------------------------------------------------------------------

Major Bug Fixes

------------------------------------------------------------------------

A.01 (81) Fixed Pyrrhic Victory infinite loop vs another Pyrrhic Victory.

------------------------------------------------------------------------

Minor Bug Fixes

------------------------------------------------------------------------

B.01 (81) Fixed Dracha not withdrawing on death.

B.02 (81) Fixed terrains not animating.

B.03 (81) Fixed "double-deaths" (damage + Touch/Dire/Vela/Gorgon's Head)

ignoring death-cancellations (Reanimate/Larval/Necromancer).

B.04 (82) Fixed Dracha's Sphere pumping armor when hit by missiles.

Sanctum 1.25.2 Release Notes

March, 2002

------------------------------------------------------------------------

Legacy Bug Fixes

------------------------------------------------------------------------

A.01 (76) Group event handling, unsafe iteration

Cannibalism + Skirmish/Zana's Blessing + "end of combat"

Group events are now applied to all members more robustly.

Previously, when an event being applied to a group member #c

causes the "next" member #c+1 to die, the iteration fails, and

skips the rest of the group.

Now, if either #c _or_ #c+1 survives, the iteration continues

normally. (There are currently no game events that can cause

both to die simultaneously.)

A.02 (77) Anchor spell handling

- Necromancer

- Shaman's Walk

- Leadership/Warlord, Bard, Mask of Woad, Pixie Dust

- Bellwether, Beobogh's Helm, Chaos Fog

- Obeisance, Sar'uli Overseer, Whipping Boy

(a) Removing anchor from its host now removes 1 copy of its helper

from the group. No longer deletes 2 copies of helper.

(b) Helpers from multiple anchors now multiply-infect all group

members properly, no matter when they join the group.

A.03 (79) Computer-controlled movement AI

All computer-controlled groups

AI movement now looks in the proper squares when evaluating a

group's movement priorities.

------------------------------------------------------------------------

Major Bug Fixes

------------------------------------------------------------------------

B.01 (78) Fixed crash on exit after a game.

B.02 (76) Trainer: Fixed crash when exiting before map finishes animation.

------------------------------------------------------------------------

Minor Bug Fixes

------------------------------------------------------------------------

C.01 (76) Ancestral Home: Now simply skips movement if all adjacent

squares are blocked.

Previously, it would wait patiently until an adjacent square

becomes empty, then move.

C.02 (77) Bard: Removed join restriction.

C.03 (76) Itrokos Gate: No longer picks Golem.

C.04 (79) Prismatic Serpent: Fixed movement AI.

C.05 (77) Sword of Zana: No longer trumps enemy death-cancellation

spells.

D.01 (77) Pyrrhic Victory: Moved large-card zoom before group kill.

D.02 (77) Sar'uli Overseer: Added large-card zoom on expiration.

E.01 (76) Gorgon's Gaze and Cockatrice's Gaze aren't cumulative.

A minion can have two of each without dying.

Sanctum 1.25.1 Release Notes

February, 2002

------------------------------------------------------------------------

This is NIOGA's second major patch to Sanctum.

This patch fixes dozens of bugs, including many legacy bugs

that were 3+ years old!

------------------------------------------------------------------------

Major New Features

------------------------------------------------------------------------

A.01 (09) Log Viewer

NIOGA can now replay a complete game from a log file. This is how we found and fixed many of the bugs listed here, as well as in 1.25.0!

A.02 (41) Self-correcting settings.

If Sanctum can't find its HOME directory, or your DeckBuilder.exe file, it now opens a file browser window and asks you to surf to the proper directory,then updates its settings.

------------------------------------------------------------------------

Legacy Bug Fixes

Some of these bugs were 3+ years old!

------------------------------------------------------------------------

B.01 (41) Kumatru Academy

No longer generates out-of-sync errors when cast on a town that

has been friendly for 16+ turns (or long enough to fill up with

8 novices).

B.02 (41) Lycanthropy

When Wolf group is dispelled in Leechwood, it no longer merges

with a monster group moving into the same Leechwood square.

B.03 (60) The Unmagicking

No longer causes infinite loop when cast after Wyrmling.

C.01 (73) Application, initialization

[Release Build:] Fixed crash when writing to a C++ string literal.

(String literals are const.)

C.02 (64) Comm/Messaging

No longer causes PING timeout and disconnection when a large-card

pop-up window is left open for 2+ minutes.

C.03 (46) Damage redirection

Deflection, Whipping Boy

[Debug Build:] No longer ASSERTs when a negative quantity from a

"deals no damage" effect is redirected by a damage-redirecting spell.

C.04 (53) Graphics, group sprites

Encampment

No longer draws ghost image of Encamped group.

C.05 (73) Graphics, initialization

[Release Build:] Fixed crash when reading an uninitialized pointer

due to an incomplete class constructor. (Debug builds initialize

new memory blocks to all-0, which works, but Release builds leave

them as garbage, which crashes.)

C.06 (62) Interface, list box selection

No longer crashes when double-clicking on the "bottom" of a spell

list box.

C.07 (66) Lobby, descriptions

[Debug Build:] No longer ASSERTs on '%' characters in players'

descriptions.

C.08 -- Minions, untraining novices

(46) Untrained novices are now properly deleted, instead of leaking memory.

(60) Messages for untrained novices are now properly deleted, instead of

leaking memory.

C.09 (39) Minions, creating recruits

Plague + Changelings

No longer crashes when unpacking orders after 7-hp recruit was

"created dead" in a town with Changelings + a group with Plague.

C.10 (41) Movement, sliding on ice

All monsters

Monsters sliding on ice into an obstacle now animate their entire

movement properly.

C.11 (62) Spells, infectious

Group spells no longer change to individual spells when infecting

new group members.

C.12 (37) Spells, infectious

Alabaster Guardian, Lycanthropy, Tindelhunden

Group spells that create monster groups now properly copy the random

number seed to all group members when cast. This fixes out-of-sync

errors caused by these spells!

------------------------------------------------------------------------

Lobby, Card, and Text Changes

Some cards now behave slightly differently!

Or, their text has changed to be more correct.

------------------------------------------------------------------------

D.01 (60) Interface, deck selection

Deck selection window now appears in the center of the main

window, not the center of the screen.

D.02 (48) Lobby, avatars

Top-12 avatar display is now handled locally.

D.03 (54) Lobby, automatic unwhisper

Now turns off automatically whenever you or your whisper target

leave the realm.

E.01 (39) Ancient King: Merged all bonuses and helper spells into new

'Ancient King' alteration.

E.02 (65) Bard: Removed 1-per-group restriction.

E.03 (66) Bleak Isle: Changed individual Waterwalk to non-visible.

E.04 (58) Fingle's Folly: On death in combat, now plays Fireball sound

and shows zoom before casting Fireball helper spell.

E.05 (46) Great Bear: (a) Now always targets a Djinn if one is present.

(b) "Combined strike" damages all Djinni in enemy group, even

if victim isn't a Djinn.

E.06 (46) Insight: (a) Benefits caster only. (b) May be cast more than once.

E.07 (60) Necromancer: -2 max HP effect is now cumulative.

(62) Necromancer: If a recruit is resurrected but has 0 or negative

max HP, he dies anyways.

E.08 (60) Prismatic Serpent: Changed to base H:4, with H:+4 vs. Death

or Despair monsters.

E.09 (39) Warlord: Merged all bonuses and helper spells into new

'Warlord' alteration.

F.01 (55) Alabaster Guardian: "Patrols the diamond centered on target group."

(74) "New recruits cannot be created in group.""

F.02 (38) Djinni Debate: "Dispelled if town is captured."

F.03 (51) Encampment: "If captured, target group is removed from the game."

F.04 (38) Goldcaps: "Goldcaps attack all groups, even if friendly."

F.05 (58) Husks: "Every other turn, __before movement,__ ..."

F.06 (52) Jumping Lands: "If mountain enters Void, it falls in."

F.07 (40) Parted Sea: "Non-friendly groups can enter __or appear in__ this

square, but ..."

F.08 (74) Questing Beast: "When target group dies, or is dispelled, Q.B.

becomes free. At start of combat, Q.B. dies unless free ..."

F.09 (54) Tindelhunden: "Humans get -1 damage ..." (both hand and missile

damage).

(74) "New recruits cannot be created in group."

------------------------------------------------------------------------

Minor Bug Fixes

------------------------------------------------------------------------

G.01 (40) Combat, new round

Karillian Arrows: Deaths from Karillian Arrows effect no longer

cause remaining enemy minions to skip their attacks.

G.02 (38) Combat, first round

Oblivion, Pacifism

First minion in group no longer gets a free attack if it had

0 attacks in the first round.

G.03 (39) Movement, group join

Alabaster Guardian

Recruits are no longer removed from the game when target group

joins another group.

G.04 (46) Spells, infectious

No longer crashes at start of next turn after a novice is

untrained from a group with a visible infectious spell.

H.01 (35) Ancient King: Legacy helper spell now displays title correctly.

H.02 (38) Encampment: No longer shows both normal zoom and squandered zoom

when cast.

(52) Colony now displays as "Square Conjuration", with remaining

duration.

H.03 (46) Furies: No longer crashes on casting if no legal squares exist.

H.04 (38) Inspiration: Is now blocked properly by Adriel's Glamour and

Intercession.

H.05 (41) Karkara: No longer crashes at start of next turn's movement

after Domesticate is dispelled off Karkara.

H.06 (49) Questing Beast: (a) Target group now hunts the QB, instead of

vice versa. (b) Target group can no longer enter structures.

H.07 (35) Sentinel: Changed duration from +2 to +3.

(41) No longer can be targeted into structures.

H.08 (38) Skirmish: Now expires properly even if combat ends before round 3.

H.09 (49) Tindelhunden: Added one-per-group restriction.

H.10 (39) Undine: On dying from not being in water, Siren Song effect

ends immediately.

I.01 (38) Spells, conjurations

Destiny Manifest, Flying Carpet, Iron Shillelagh, Xia's Walk

Added zoom on expiration.

I.02 (46) Spells, infectious

Inspiration, Memorize

After a transmuted infectious spell is cast, it properly

displays the transmuted cost while it remains in play.

I.03 (43) Graphics, small card art

[9x/Me]: Small card art no longer touches mana symbols.

J.01 (74) Disintegrate: "whirligig"

J.02 (74) Flaming Sword: "... hero. Cowards ..."

J.03 (74) Golden Grove: "structure"

J.04 (74) Haunted Forest: "Abomination"

J.05 (74) Ogi's Armor: "Armorers' ", "Fletchers' "

J.06 (74) Panopticon: "Mirrorers' "

J.07 (74) Parted Sea: "impassable"

J.08 (60) Revelers, Syzygy: Switched flavor text.

J.09 (74) Strength of Body: "..."

J.10 (74) Warlord: "+2 hand damage ...All swordsmen (including Warlord) ..."

J.11 (74) Zana: "Z'naa" (for consistency with Centaurs)

J.12 (53) Fixed capitalization and hyphenation.

Entrail Eater, Rite of Growth, Sword of Zana II, Will to Power

J.13 -- Fixed all flavor text.

(54) All Oppositions cards.

(69) All other cards.

------------------------------------------------------------------------

New Game Engine Services

These services generally handle all details of one common game action.

This greatly simplifies the writing of individual spells, and supports

future development for new expansion sets!

------------------------------------------------------------------------

K.01 (46) Damage or Heal

Healing Balm, Oasis, Spectre's Curse, Wild Plague

(a) Wild Sickness now displays title properly.

(b) Healing at start of turn now properly redraws the minion tile's.

K.02 (60) Dispel

All dispels

(a) Fuligin/Iron Shillelagh: Added zoom on every dispel.

K.03 (60) Handkill

Atonement, Pages to Dust, Tan'u'zhadhi Ploy

K.04 (52) Hop Off Board, Hop On Board

Encampment, Faerie Circle, Lost Mine, Will o' the Wisp

Handles all details of (a) removing a group, (b) holding it

for N turns, (c) returning it, and (d) destroying group inside

if dispelled.

K.05 -- Hop Across Board

Bolt of Somersaults, Gatemouth, Jumping Lands

(52) Hop Across = Hop Off + Hop On.

(60) Gatemouth: Added sound and zoom on every teleportation.

K.06 (52) Hop Into Combat

Arboriads, Citizens' Militia, Loch Dweller

Handles all details of (a) creating the hopper group,

(b) picking a landing square, (c) appearing before combat,

(d) leaving after combat, and (e) dispelling when killed.

K.07 (46) Move Twice

Fleetness, Flying Carpet, Forced March

(56) Fleetness/Forced March no longer persist if target group leaves the

board during the same spell execution phase.

K.08 (46) Relation

Alabaster Guardian, Belvario's Horn, Questing Beast, Tindelhunden

(a) Handles all details of a hunter group, a goal group, hunting

behavior, and bereavement actions.

(b) Updates properly when target group joins another group.

(c) Persists if hunter group, goal group, or both, leave the board

and return.

K.09 (46) Sounds

Spell sounds are now loaded only once. All copies of a spell share

the same sound object in memory.

K.10 (55) Temporary Terrain

Deluge, Lava Flow

Lava Flow can now create lava and barren land under adjacent groups.

End of Release Notes 1.25.