USURPER 0.25/Web out now

Repairs

What 0.25 repairs

Usurper 0.25 is the original game, converted line for line from its Pascal source into PHP, with 398 defects repaired along the way. Every one is listed here, grouped by the part of the game it touches. The same list applies to 0.25/Web and 0.25/ATDT.

How this port was made

Usurper is Jakob Dangarden's 1993 door game. Before 0.25, the last release anyone shipped was 0.24, in 2015. The Pascal source kept getting small fixes on GitHub until February 16, 2025, and that's still the latest code in September 2026. Both versions of 0.25 follow it, written fresh in PHP one routine at a time.

The port was built as a 1:1 copy first, faults and misspellings included, so a game here would play exactly like the real thing. Then the bug fixes started. Where the original code plainly doesn't do what it was written to do, 0.25 now does it.

The balance stayed put. The numbers, the prices, the drop rates and the game's data tables were left alone on purpose. A weapon costs what it always cost and a monster hits as hard as it always hit. The odds at every counter in town are still the author's. Everything below is broken machinery or a broken sentence.

Each repair is cited in the port's own source code, at the exact place it was made, against the Pascal it corrects. That source ships in the download under the GPL. Anyone can check a repair against what Jakob Dangarden actually wrote, in the original source on GitHub as it stood in September 2026.

noticeable marks a repair your regular players will see and ask about. The rest are quieter, like a message that reads properly or an item that no longer goes missing.

Fighting: the dungeon and the duel

15 repairs7 noticeable

The heaviest repairs are here, and several change how long a fight lasts.

WasArmor, Shield, Fog of War, Power Hat, Transformation and the Prismatic Cage took your mana and announced that they were up. Then they soaked none of a monster's blow, and every hit underground landed in full.

NowThe spell's shielding is now subtracted from a monster's blow along with your armor, the way it has always worked in fights against other players. Casters are noticeably harder to kill in the dungeon.

WasThe haunt demon and the summoned undead were given a set of armor. So was every scripted ambush. Then the game checked the wrong thing and let your blow through whole.

NowThe armor's strength is what counts now, so an armored monster soaks part of each hit. Armored fights, the haunt demon above all, run roughly twice as long.

WasIn team fights, king challenges, the bank robbery's guard fights and the royal prison's fights the damage was rolled twice, so the move burned its full price in hitpoints and delivered about a quarter of what the same move delivered in a face to face duel.

NowIt's rolled once everywhere now, as it always was in a duel, so the move is worth its cost wherever it's thrown. Veteran paladins will feel this immediately.

WasWhen an enemy paladin hit you with a soulstrike, the line on screen named the hitpoints he had burned rather than the damage you took, so the number never matched the health you lost.

NowThe damage dealt is printed now, which is usually a much smaller number than the one players were used to seeing.

WasOne of the eight ways the paper could report your death said you had attacked somebody and then named that somebody as the corpse, even though you were the one who fell.

NowIt names the dead player.

WasTaking an unclaimed town always printed the lone wolf message, ending with the suggestion that you go and find some gang members, even with four of them standing right beside you.

NowYour gang is named in the takeover and you congratulate each other. A leader who really is standing alone still hears the old line.

WasA character being run by the game with a weapon in each hand could never swap in something better: the two upgrades written for it couldn't be reached from any fight, so good blades sat in the pack for good.

NowThose characters upgrade their weapon when they loot a better one, and the old blade goes into the pack. Offline opponents slowly become better armed over a season.

WasWhen a character being run by the game won a fight and picked up a ring with both of its own fingers full, it looked at the rings you were wearing rather than its own, so against a ringless opponent it never upgraded however good the loot.

NowIt looks at its own hands now. A better ring gets worn and the old one goes into its pack.

WasThe author wrote three lines for the paper when you execute a foe who has begged for mercy, but the toss that picks between them could only ever reach two of the three.

NowAll three turn up now, so the news has a little more variety.

WasThe line that tells you how much of a blow a monster's armor soaked up dropped the possessive, on your own blows and on a teammate's.

NowPossessive restored.

WasWhen a character nobody was playing picked up a better weapon, it moved its old one across to the empty hand. The test for the second hand compared the new weapon rather than the old one it was about to put there, so a worse piece could end up in the hand. Rings had the same fault.

NowThe piece that would go on is the one compared.

WasThe wounded warrior's scene spelled lying as 'laying' and said his people were 'teared apart in a civilwar'. It also called the raiders an 'orchish' band.

NowSpelled correctly. Nothing else changed.

WasA caller who begged for mercy and was killed anyway got a Your Death letter that left a blank where the monster's name belongs, because the killer is recorded only on the other path to death.

NowThe letter names the monster.

WasA character nobody was playing who won a piece of equipment put it on without the class test that governs everything else it wears, even though the same character could neither buy that piece nor be handed it.

NowThe class test applies, and a forbidden piece stays in the pack.

Back to the contents

Casting

10 repairs3 noticeable

Spells now land where they were meant to land, and the messages about them speak to you properly.

WasMonsters listed with no magic resistance at all, thirty-two of them including Godzilla and the Supreme Balrog, plus every monster the game summons during a fight, shrugged off everything: the mana went and nothing happened. No message explained why.

NowNo resistance now means the spell always lands. Monsters that really do resist magic still get their saving throw, exactly as before.

WasYour name was filled into spell messages with the bare words your and you, which produced 'yours missiles', 'your disappears out of sight!', 'A duplicate of your suddenly arrives!' and, when a spell landed on you, 'you seems to be blinded!'.

NowThose messages speak to you properly now: 'You disappear out of sight!' and 'You seem to be blinded!'. The theft line reads 'You manage to steal 4,120 gold from Goblin!'. Messages about monsters and other players read exactly as they always did.

WasEvery damage spell was written with two different lines to describe the hit, and the coin toss that chooses between them handed back the same line both times, so the second line was never seen at a single target and never seen at all against another player.

NowThe toss works, and both lines now turn up.

WasMagic Missile read 'Goblin staggers under the impact from yours missiles!' when you cast it, and 'you staggers under the impact...' when another player's missiles hit you.

NowIt reads 'your missiles' when you cast, and 'You stagger under the impact from Bortaks missiles!' when you're the one hit.

WasCasting Disease where every monster in the fight was already sick took fifty mana and then announced 'A disease struck !' with a blank where a name belonged.

NowIt says plainly that the disease finds nobody left to infect, and it no longer describes a strike that didn't happen.

WasThe line saying a monster had been poisoned was skipped when it resisted the spell, but the venom was applied anyway, so the resisted spell went on hurting it every round.

NowResisted means not poisoned.

WasThe Magician's summoned Demon went for a fixed slot rather than the monster the round was aimed at, so it could claw an empty slot or the wrong foe.

NowIt attacks the round's target.

Back to the contents

What your screens tell you

6 repairs4 noticeable

Four of these are cosmetic. The fifth will have your players writing to you on the first morning.

WasThe classic status sheet multiplied both figures by eleven: a weapon worth 66 was printed as 726, armor worth 13 as 143. The fighting always used the real, smaller numbers, so the sheet had been lying to players for thirty years.

NowIt prints the numbers the game fights with. Only the display changed, but be ready for it: in a game that's been running a while, every one of these numbers will look eleven times smaller than it did the day before.

WasEvery character who found a treasure chest in the dungeon could read the writing on the lid, so everybody knew what was inside, poison gas included, before opening it. The elf-only reading was worked out and then thrown away one step before it was used.

NowOnly an Elf reads what the runes mean. Everyone else sees the runes themselves and opens the chest blind, which is the gamble the game intended.

WasThe dungeon decided whether robes and the other around-body gear could be found by reading the setting for carrying a second weapon in your left hand. With second weapons off, no around-body item could ever be found; with around-body items off, the dungeon kept handing them out and the game then refused to let you wear them.

NowEach setting now governs its own kind of gear, so what you switch off is what stops appearing.

WasPlayers who turn on the short menus see a single line of letters instead of the full street, and that line didn't carry the key for the Healing Hut, even though pressing 1 has always taken you there.

NowThe key is on the line, so an expert can see every stop in town again.

WasJust above your mail at login the game prints one of five little lines, but a counting mistake meant it could only ever pick from the first four. The fifth was written and never once shown to a player.

NowIt's back in the rotation, with its spelling put right: it reads 'You're being observed ...'.

WasThe classic status picture asks for the caster's mana with a code the game's picture reader never learned, so every caster saw the code itself where the numbers belong.

NowMana and maximum both show.

Back to the contents

The backpack and what you wear

10 repairs5 noticeable

Gear that was quietly destroyed, health that didn't add up, a ring that was confiscated and the bottle that sold magic by the glass.

WasA Blue Bottle added 1,500 to your maximum mana every single time you bought and drank one, with no limit at all, so gold could buy unlimited magic.

NowThe bottle costs the same and is sold at the same counter, but the permanent rise happens the first time you drink one. Every bottle after that refills the mana you have instead of pushing your ceiling higher, and the game tells you so.

WasChoosing an item you aren't allowed to use during a player fight, and being told so, still cost you that round's attack and any special your race or class would have used.

NowA refusal costs you nothing now and your blow still lands.

WasTaking off a helmet or any other piece that raises your maximum hitpoints left your current hitpoints above the new maximum, so you walked around healthier than the gear allowed until something wounded you.

NowYour hitpoints drop to the new maximum the moment the piece comes off.

WasWhen a sysop switched off one half of a pair of slots, such as the second weapon hand or one finger, the piece sitting there was destroyed at everyone's next login, even though that kind of item was still perfectly legal.

NowIt's handed back into the backpack instead. Only a kind of item you have banned outright is destroyed, and a piece still has nowhere to go if the backpack is completely full.

WasIn a game with both finger slots switched off, a ring still went on the right finger and gave you its powers, and was then quietly taken away and destroyed at your next login.

NowThe game says you can't use that kind of item, and the ring stays in your backpack.

WasEating a Pomegranate or drinking a Dusty Bottle when you were nearly out of health left you on a hitpoint total below zero that nothing in the game recognized, and you kept playing down there.

NowIt stops at one hitpoint.

WasWith both neck slots switched off, choosing to use a necklace printed nothing whatsoever, so you couldn't tell whether the key had even been read.

NowIt says you can't use that kind of item.

WasPutting on a piece that adds hitpoints announced that your hitpoints had increased, when only your maximum had moved and your current health hadn't changed at all.

NowBoth putting on and taking off now say maximum hitpoints.

WasIn the backpack listing the right hand column didn't start in the same place on every line: it jumped about nine spaces left on the last line, and food and drink entries never lined up with gear at all.

NowThe left column is measured by what you see on the screen, so both columns start in the same place on every line.

Back to the contents

The Inn, the bars, the Church and dark deeds

35 repairs15 noticeable

The daily allowances were leaking into each other, and one of the leaks paid for unlimited virtue. Bob's brawl and its beer contest had faults of their own, and so did the Dormitory's soul ladder and the chest thief.

WasThe Church never counted your good deeds for the day, so you could donate one coin over and over and collect virtue forever, and your deed count quietly went into the minus, which other parts of the game share.

NowThe Blessing answers with the realm's own out of deeds line once the day's deeds are spent. So do Give to the poor and the collection.

WasThe beer drinking contest quietly spent the daily good deeds the Church hands out, and told you that you were too exhausted from being virtuous: three donations to the poor closed the contest for the day, and a contest closed the Church.

NowThe two are separate now. The contest draws on the bar's own daily allowance, the same one your brawls come from.

WasStorming a room at the Inn let you in with one player fight left and then charged two, leaving your fight count showing a negative number.

NowThe Inn tells you plainly that an assault takes two player fights, and it costs exactly that.

WasMurdering a sleeper in the dormitory asked you to have a player fight in hand and then never used one up, so a single fight paid for an unlimited number of murders and the status screen never moved.

NowA successful murder pays the one fight the menu demands.

WasTroll Rum in a cocktail killed assassins, when the game's own notes say it's elves who can't touch the stuff: an elf could drink a cup of neat troll rum and stroll out, while an assassin of any race died of a drop.

NowTroll rum is deadly to elves now, and still to assassins.

WasPaying the Court Magician to send a demon against a barbarian could never work: the misfire was certain, and your gold and your dark deed went with it every single time.

NowA barbarian is still the hardest target in town, but the summon has a real chance of landing.

WasIn a bar duel, a missed nerve punch said on screen that the other man had countered and hit you, and then took the damage off him instead of you.

NowA missed nerve punch hurts you, exactly as the words on the screen say.

WasThe stranger at the bar took one of your dark deeds for the day the moment he walked up to you, before you had answered him, so turning him down cost you a deed for nothing.

NowYou only pay when you follow him out into the alley.

WasA burglary took one of the day's dark deeds as soon as you picked which item to steal, so backing out at the last question still cost you a night's daring, while backing out one question earlier was free.

NowBoth ways of walking away cost nothing, and the deed is spent when you open the window.

WasIf your backpack filled up during a burglary the prize was wiped out of the world: it left the owner's chest and nobody ever held it. The owner's letter still reported a theft.

NowThe item stays in the chest and the game tells you that you can't carry it. Neither the paper nor the victim's letter claims a theft that didn't happen.

WasWhen a summoned demon went astray it could never pick the first or the last character in the realm, so two accounts were quietly immune to a hazard everyone else lived with.

NowIt can land on anybody.

WasThe move you train and pick from the list as the Knifehand was called a Nifehand in one fight and a Nicehand in another, so the move's own name never appeared in the blow by blow, whoever threw it.

NowBoth fights say Knifehand.

WasA misplaced bracket turned the stamina a kick costs a stunned caller into stamina gained, so being kicked on the floor left you fresher.

NowIt costs one or two points.

WasWhen the beer contest couldn't find enough drinkers and was called off, the ones it had already seated were never let go, and stayed marked as busy in the Realm.

NowThe cancellation releases them.

WasSorting the drinkers by score moved their names and scores but not their sex, so the lines about each drinker's beer used the wrong pronoun.

NowEach drinker keeps their own.

WasThe bar duel and the brawl carried a run of misspellings (recieve, trow, chokeholt, neately, forearmes, lycky, rudness, 'You take run', 'a uppercut', 'laying' for lying) and several possessives without their apostrophe.

NowMended, keeping the brawlers' way of talking.

WasA drink sent anonymously was signed '*Unknown*' where a poisoned one is signed '*Anonymous*', so the game's own rule that the two must look alike was broken and a free drink could be told from a poisoned one.

NowBoth are signed *Anonymous*.

WasThe scale that names a character's soul by their darkness had one range written as a single number, so everyone past 27,001 read 'devils right hand' and 'extremely evil' never appeared. The kindness scale beside it had the step right.

NowStep restored.

WasEvery line in the Dormitory that names a sleeper's bed, hand, head or teammate dropped its apostrophe, and so did 'a cowards deed'. The kindness scale said 'extremely virtous'.

NowAll mended.

WasThe chest thief was handed the item first and the chest emptied afterward, so two thieves at the same moment, or an owner taking the item out during the fight, left two copies.

NowThe item comes out of the chest first and is handed over only if it was still there.

WasThe dice that pick a stray demon's victim could never land on the first or the last player, and in a realm with one player it couldn't pick anyone.

NowAnyone qualifies.

WasA run of slips across the Shady Shops' lines: intensely, 'Foul Deed!', side effects, its contours, realities, junkie, 'class make', 'Disease Spellupon', a stray bracket, 'laying' for lying, and 'Be more specific!' run into the next sentence.

NowMended.

WasThe settings reader filled in the Inn-Keeper's name only when that line was blank, so a game that named him, as the stock settings file does with Garth, still showed the built-in Grull.

NowHe goes by the name the sysop set, Garth unless changed.

Back to the contents

The markets and the Beggars Wall

13 repairs3 noticeable

Two whole pieces of the market that the game had the words for but never asked about, and a shelf that wouldn't sell its last row.

WasThe market always had room for a private sale or a sale to your own gang, and the board even had the words ready to print for them, but nothing ever asked the seller, so neither kind of sale could exist.

NowWhen you hand an item to Ugly Joe he asks whether anyone may buy it. If not, you pick your teammates or one person you name. The board says so, the counter enforces it, anyone who may not buy it is told why, and you can still buy your own listing back to take it off the shelf.

WasAn item nobody bought disappeared when its days on the shelf were up: it never came back to you and nobody else got it. No message ever explained why.

NowUgly Joe takes it off the board and sends it home, into your pack or, if your pack is full, into your chest at home, with a letter telling you what happened. If there's no room anywhere he holds on to it rather than let it vanish.

WasAlabat checked the number you typed against how many foods and drinks exist in the game rather than what was on his shelf, and he checked it too strictly, so when the shelf was well stocked the last listing couldn't be bought and he said nothing at all.

NowEvery number he lists works.

WasThe letter a beggar sent after you gave him alms didn't name the amount you gave, because the amount had been overwritten before the letter was written.

NowThe letter thanks you for exactly what you handed over.

WasA gift of more than 500 coins was meant to warm a beggar toward you, and the test could never be true, because the amount had already been replaced with a small unrelated number. No gift, however large, ever did anything.

NowA gift over 500 has a one in two chance of winning him over, and he says so. The keeping of how the beggars feel about you belongs to a part of the game that isn't built yet, so for now it's his words that change.

WasThe Beggars Wall carried a misspelled word, and a note in this port's own code said the misspelling was kept on purpose, so nobody would tidy it away.

NowThe word is spelled correctly. The note went with it.

WasOffering Alabat a cursed item in the sell everything sweep printed two sentences with no space between them.

NowThey're parted, and it reads 'NAME is cursed! I don't buy cursed items!, Alabat says.'

WasA murdered beggar lay 'laying in a pool of blood', he 'reach for' something and 'grasp for air', a grateful beggar would 'bless you for your kindness', and one sentence opened with a lower-case he.

NowAll mended.

WasAlabat's bulk sale printed the plural for a single coin, where his single sale already used the singular.

NowSingular for one.

Back to the contents

The town: the bank, the shops, the haggling and the level masters

12 repairs4 noticeable

Money that went to the wrong place, and a shopkeeper who wasn't doing the job he was written to do.

WasMoney you sent to another player's bank account was dropped into his pocket instead of his account, and if his pockets were already as full as the game allows the coins were thrown away while you still paid for them.

NowThe money goes into the account the menu named. A transfer that can't be delivered refuses whole and you keep your gold.

WasSaying yes to raising several levels together quietly paid less than raising them one at a time: under certain masters, three levels taken together gave one point on some stats where three separate visits gave three.

NowBoth paths pay exactly the same, so the convenience option costs you nothing.

WasWhen you asked the armor keeper to pick out gear for you, he handed you whichever suitable piece happened to sit last on his shelf rather than the best one your money could buy, so a rich customer walked out in a worse robe than he could afford.

NowHe picks the best piece your budget allows, which is what he was always supposed to do and what the weapon shop already did.

WasA character past the ceiling on maximum hitpoints stopped gaining them while healthy, but started gaining again if he walked in wounded, which also handed him a free full heal.

NowThe ceiling looks at your maximum hitpoints, the way it looks at every other stat, so it behaves the same whether you're hurt or not.

WasThe shopkeepers' willingness to haggle was written as a list of charisma ranges that stopped at 999, so a character charming enough to pass that number couldn't talk a single coin off any price, which is the opposite of what charisma should do.

NowThe top of the list has no upper end now, and every step below it is exactly as it always was.

WasWhen the magic shop offered to buy your ring or amulet, the sentence snapped in the middle: one line ended with the number of coins and the next line began with the word coins.

NowIt reads as one sentence, the way the weapon and armor shops already printed the same offer.

WasThe bank's reply to a caller who declines the guard job ended in both an exclamation mark and a period.

Now'Too bad. Goodbye!'

WasAfter a haggle, the weapon troll's refusal to a caller who couldn't pay read without the comma it carries everywhere else.

NowIt matches his other refusal.

WasThe weapon and armor shops' offer for a piece you sell broke onto a second row in the middle of the sentence, where the magic shop prints it whole.

NowOne sentence, on one row.

Back to the contents

The castle and the prison

16 repairs4 noticeable

A crown that was cheaper to take than it should have been, and two menu keys that had nothing behind them. The townsfolk's night storm of the Castle and the prison's rescues and releases had faults of their own.

WasWhen you stormed a castle that already had a ruler, you only ever had to beat one royal guard, no matter how many the King or Queen was paying for out of the treasury.

NowEvery guard on duty must be beaten, one after another, before you reach the royal bedroom. Guards who are dead or in prison still can't answer the call, and neither can guards who are awake and playing. The crown still hears about each of them.

WasA prisoner broken out of jail by somebody else was let out still carrying the rest of his sentence and still bleeding from his stay, while a prisoner who escaped on his own, or walked out of an unlocked door, left with a clean sheet and his health restored.

NowA rescue works the same way as every other way out of the cells.

WasThe King's Special Tax Menu offered a tax refund, and pressing that key did nothing at all. There's no refund screen anywhere in the original game.

NowRather than invent a feature the game never had, the menu stops advertising it. The other four keys are untouched.

WasThe Royal Office listed a Level-Masters option, and pressing it answered that the part was still under construction.

NowThe entry is gone and the key redraws the office, like any other unused key.

WasWhose, released, won't, that's, magician, conjunction, throne and ruler's were all written wrong, and the Court Magician was misnamed on the line directly under his own correctly spelled title.

NowThey're spelled properly, the challenge screen's too, and nothing else about those screens changed.

WasThe Great Hall greeted you with 'upon your arrival your are' and the crown challenge said 'nobody can can have a go'. The jail break briefing said you must 'get pass' the guards.

NowThey read 'you are' and 'nobody can have a go'. The briefing says 'get past'.

WasThe treasury and the tax notices wrote 'transfered' twice, and also carried 'They Royal Purse' and 'releieved'.

NowAll spelled right.

WasA monarch who tried to break a prisoner out was told that it wouldn't do, and then the break-in went ahead regardless: the refusal never cleared the choice, where the Royal Guard's does.

NowThe refusal ends the attempt.

WasWhen the monarch gave up waiting to fetch a prisoner for release or execution, only the waiting was canceled and the order stood, so a prisoner who answered later still walked free, or was beheaded after the Crown had moved on, losing a resurrection if the order had been signed.

NowThe order goes with it.

WasThe prisoner was moved out of the cell before the game checked whether the Crown's release still stood, so a prisoner told the door had closed was out of the cell at the next save all the same.

NowThe prisoner leaves only on a release that stands.

WasWhen a rescuer knocked and the prisoner, awake in the cell, refused to go, the rescuer was told 'refused to leave the cell!' and then 'walked out of the cell!' straight after it.

NowOnly a yes prints it.

WasThe night's walk that sends a townsperson to storm the Castle never asked whether it was alive, or a real record at all, so a corpse could swim the moat, and on a lucky roll clear it of every creature, before it was turned back.

NowOnly active, living townsfolk storm.

WasWhen the night's storm lost its moat roll the paper printed the Fatal Swim story and the monarch was written that the challenger had died, but its hitpoints were never touched, so it walked on to the guards and the royal bedroom.

NowA challenger who drowns is dead, as a caller who drowns is.

WasThe night's guard fights went on after the challenger had died, so every guard after the fatal fight wrote another FAILED DUTY letter and fought the corpse again for another Infiltration story in the paper.

NowThe fights stop when the challenger falls, as a caller's do.

WasWith nobody on the throne the night's storm fell back on the last townsperson in the file. It soured that character's feelings toward the challenger and healed it to full, then fought it in the royal bedroom as the monarch.

NowAn empty throne is taken, with the usurper's story and its line in the List of Monarchs, as it is when a caller walks in.

Back to the contents

Marriage and the Gift Shop

21 repairs6 noticeable

A present that cost you the wrong kind of deed, and a marriage the Crown could end without ending it. The Love Corner brought faults of its own. Its poison charged you twice and its milestone chain only ever praised the shortest marriage. It also told couples they were cheating on each other.

WasThe Gift Shop asked whether you had a good deed left for the day, and then charged you a dark deed for the chocolate, and a good one further down as well. Buying a present for somebody you love spent the darkness you were saving for the shady side of town, and spent it twice over. The branch had been copied from the box of scorpions above it, where a dark deed is the right price.

NowChocolate costs one good deed and nothing else, and that's the counter the shop asks about. The scorpions still cost a dark one.

WasWhen the ruler dissolved a marriage, the record between the two was rewritten with the ban, but each character kept the married mark on their own sheet. The two went on being shown as a married couple everywhere that mark is read, after the Church had declared the marriage unlawful.

NowThe mark comes off both of them with the marriage. The ban on that pair marrying each other again stands, which is what the dissolution was for.

WasThe dinner date's own line lost the word that makes it a sentence.

Now'You have dinner with Ann and enjoy yourself!'

WasCourting a married townsperson printed 'is married to  his wife!!' with a double space where the spouse's name belonged, on all four courting paths, and the faithful line had the same gap.

NowThe spouse is named, and the faithful line reads cleanly.

WasThe Gift Shop took a dark deed the moment you picked a name for the poison, and another when it went out, so sending it cost two and changing your mind still cost one.

NowOne dark deed, taken when the poison is sent.

WasComing home, a married caller is congratulated on how long the marriage has lasted. The checks ran from the smallest number up, so the first one always matched and the longer milestones were never reached.

NowEach milestone gets its words.

WasThe married-days line used the singular for everything up to one, so a wedding-day marriage was '0 day.' old.

Now'0 days.'

WasJealousy letters had no check for the pair being married to each other, and the surprise box of chocolates has no marriage check either, so a spouse opening chocolates their own husband or wife sent had both of them mailed that the other was cheating.

NowA couple married to each other is never told the other is cheating with them.

WasThe History Room's lists of who is most loved and most hated searched the names already counted only from the second one on, so the first character named started a second row at its next mention, and both rows counted everything after it.

NowOne row a character.

WasThe news story about a box of chocolates named the sender twice, as the one who gobbled them and the one they came from.

NowIt names the one who ate them and the one who sent them.

WasTwo cocktail names read 'Raving Lunetic' and 'Ramapant Evil', and a detected poison was 'the poison the Drink'. The broadcast notices ended 'experience points!.'.

NowLunatic, Rampant, 'the poison in the Drink', and no stray period.

Back to the contents

Gangs and sending things to teammates

16 repairs7 noticeable

Three ways a gift to a teammate could be destroyed on its way, and two halves of a gang standing that were never both handed over. A gang war also credited the wrong fighter with a kill and wrote to the wrong gang. In the fights the game runs by itself, the casters' wards and binding spells were wasted.

WasSending a teammate food or drink destroyed it, and so did sending an around-body piece such as a robe: your own copy disappeared and nothing ever reached them.

NowThe gift goes into their backpack. When their backpack is full they say out loud what they dropped instead of the gift vanishing without a word.

WasA ring sent to a teammate who already wore a ring on each hand, both better than yours, was destroyed on the spot with no message.

NowIt goes into their backpack like any other gift they don't want to put on.

WasA teammate would wear whatever you sent for an empty slot, even gear far too heavy for them or gear that cost them hitpoints or fighting power, and then carried the penalty.

NowThey only put on what they can use, and anything else goes into their backpack.

WasThe two ways of adding somebody to your gang handed over different halves of the same standing: a hired character never counted as holding the town, so they got no share of the nightly town money and built up no days toward the gang's record, and a bribed character didn't inherit the gang's Gym.

NowBoth paths hand over the whole gang standing.

WasThe all-time record for holding the town was checked against a random bystander instead of the gang being looked at, so the holders kept breaking their own record in the paper night after night, and now and then a genuine new record was thrown away and never printed.

NowIt's compared against the gang that holds the town.

WasWhen two characters the computer runs fight, the rules for each side falling are written twice, once per side. One copy decided whether the winner could strip the body by asking whether you, the caller, were alive, instead of the winner. So in the night's gang wars a winner who had died in the same blow could still go through the loser's belongings, and in a war where you had fallen a living winner took nothing.

NowBoth ask about the winner.

WasThe game keeps a count of who has killed whom. In a gang war you lead, the fights your teammates won were counted on your record against the dead, as though you had struck the blow, and the mate got nothing.

NowThe mate who won the fight is counted as the killer.

WasIn a gang war, the letter to a defender who killed his attacker named the defender's own team as the one he had beaten, or nothing at all on the leader's path.

NowIt names the attacking gang.

WasIn the fights the game runs without you, gang wars, the bank guards' duels, bounty hunts and the townsfolk's own quarrels, the attacking side's Armor, Shield, Fog of War, Power Hat, Invisibility, Transformation or Prismatic Cage was credited and then cleared just before its armor was counted, so none of it ever stopped a point.

NowThe attacking side's wards count on its armor line, the way they count in your own fights. The defending side's wards were never read at all in these fights, and are left as the original has them.

WasFog of War, the three freezes, Web, Fear, Escape and the Prismatic Cage switched themselves on only inside the lines that print the fight, so in every fight the game ran unseen the caster paid the mana and the turn for nothing.

NowThey take effect whether the fight is shown or not, as they do when you cast them.

Back to the contents

The night watch

6 repairs2 noticeable

The chores the game runs overnight. Letters went out that never should have, and no child ever grew up.

WasThe five long standing characters the game runs bought new gear in the night that raised the most hitpoints they could have, then woke up filled only to yesterday's smaller maximum and walked around hurt all day.

NowThey get the same full night's rest the rest of the townsfolk already had, so they wake at full strength with their new gear counted.

WasThe potion bottles of the characters the game runs were refilled each night and then counted against yesterday's number, which left every one of them over the limit and mailed each of them a letter about spoiled potions, every single night.

NowThe count reads the refilled bottles, so they sit exactly at the limit and nobody is told about spoilage that never happened. A human hoarder still loses half his overage.

WasEvery night the game wrote letters to characters it runs itself, who have no mailbox to open, and those dead letters sat in the post office for a month getting in the way.

NowA letter nobody can ever read is refused at the door, exactly as the original game did.

WasThe birthday story for an ailing character carried one. So did the letter telling a guard he'd been sacked, and the king's tax income letter.

Now'isn't feeling to well' reads too well, and two sentences that said payed now say paid. Nothing else about those messages changed.

WasThe night's child maintenance gave a child a birthday only while it was younger than eighteen, and sent it out into the world only once it was older than eighteen. A child who reached eighteen stopped aging, so the second test could never follow the first: no child ever left home, and the day's Birthday and Child Lost letters, like the Grownup news, were written for a day that never came.

NowThe birthday gate is now younger than nineteen, so an eighteen year old child has one more birthday, the one the author's own test waits for. The parents get the Birthday and Child Lost letters and the news reports the grownup. The child's record is retired, all as the original wrote it. Nothing about how often a birthday comes, or what a child costs, changed.

WasA fresh game comes with a king already on the throne, but the game's reset never wrote his name into the night's own royal record. The paper cheered his reign every night, yet the tax was collected only under a king named there, and the royal upkeep that keeps a computer king's tax moving ran only for a king in the townsfolk's file. Until somebody took the throne, no tax was collected and the crown did nothing at night but be cheered.

NowThe starting king reigns like any other: the tax is collected and his upkeep runs. A judgment call.

Back to the contents

Spelling in the game's data

3 repairs0 noticeable

Typing mistakes in the game's own lists of monsters and gear, corrected in both the shipped lists and the tool that rebuilds them.

WasSeveral of the built in help screens and background stories were misspelled, the worst of them being the character creation help that called Paladins Paldins in the very paragraph explaining the class.

NowThose words are spelled correctly, along with excel, indisputably, ramshackle and Sorcerer. The wording and the line breaks are exactly as they were, old fashioned voice included.

WasMonster battle cries and item descriptions carried the original authors' typing mistakes: monsters asked 'Do you belive in God?' and promised to 'stay forver'. Armor was praised for its 'absorbation capability'.

NowThey're corrected. Because a sysop can rebuild these lists from their own game data, the same corrections went into the rebuilding tool, so a rebuild produces the corrected wording instead of quietly bringing the old mistakes back.

WasThe game keeps one list of gear for classic games and another for new style games, and four items were spelled differently in each: the same 13,000,000 gold club was Aboslyms Club in one and Absolyms Club in the other. Lion's Thooth and Thooths of Asa were among them, along with Claws of Hipppolyt with three p's.

NowBoth lists use the correct spelling. Prices and power are exactly as they were, so nothing about the items themselves has changed.

Back to the contents

The game's own data files

1 repair1 noticeable

One name the original hands to a newborn, which hasn't aged well.

WasThe townsfolk name their newborns from two lists the original writes out the first time it needs them, three hundred and one boys' names and two hundred and ninety-one girls'. The seventh name on the boys' list is a word that was merely dated when Usurper was written in 1993 and is a racial slur in English today. Nothing in the game filters it. A computer character has a baby overnight and the name is drawn. It appears in the newspaper and on the Child Producers board, and stays in that family's list from then on, under your game's name.

NowThat one entry now reads Spike. It sits in the same register as the names the author wrote around it (Bull, Flicker, Wasp, Butch). The list keeps all three hundred and one entries, so the odds of every other name are unchanged, and every other name is the author's own. This is the only place in the port where a data table has been altered for anything other than a transcription error. It was a judgment call.

Back to the contents

The children: the nursery, the cellar, the orphanage and the Care-House

24 repairs6 noticeable

The whole family half of the game, where the lists were unreadable and two whole paths did nothing at all.

WasYour own family's list numbered its first row three rather than one. Every list of children in the game (your own family, the realm's children, the orphanage roster, a kidnapper's victims) padded its columns by counting the color codes as visible characters, and its header labels didn't sit over the columns they named. The kidnapped list also broke every row in half after the ransom figure.

NowThe numbering starts at one, every cell is measured on what a caller sees, the labels sit over their columns, and a victim takes one row.

WasThe lists worked out each child's marks (the flags that say a child is adopted, kidnapped, in the orphanage or of royal blood) and widened the name column to make room for them. Then they printed the name without them. The orphanage roster also printed a parent whose name had been cleared as 'the human'.

NowThe marks print beside the name, and a parent with no name reads as Unknown, the way the realm list already wrote it.

WasPressing K at Home printed, before deciding anything, four lines for every kidnapped child in the realm: the kidnapper's name, that kidnapper's internal id, the ransom, and your own id. It was left in from debugging and it showed other players' business to anybody who pressed the key.

NowThe key answers the question it asks, and the dump isn't in this port.

WasThe nursery's party moved each child's soul, up for a good party and down for a bad one, in memory only: no child was ever written back to the file. The whole point of the party, that it marks your children, did nothing at all.

NowA party is saved, so the souls of the children who came really do move. The amounts are the original's.

WasWhen your child won a fight in the nursery, the experience for the other child's parents was handed out by comparing the child's parent-is-a-computer marker with your own. Two human parents never differ there, so the letter and the experience went to the wrong side, or to nobody.

NowIt goes to the child's other parent, found by name, which is what the sibling routine in the same file already did.

WasHanding your child to the Royal Care-House can cost you a marriage to a townsperson. On the father's side the check compared a one-character field with a fifteen-character id, so it could never be true and a townsfolk father never reacted.

NowBoth sides compare the ids, so the marriage is at risk whichever of you is the father.

WasAfter an abortion the father got a letter headed 'Spies!' saying the mother had spied on his personal relations: the text of the branch below it, pasted in by mistake. Nothing told him what had happened.

NowHe gets a letter headed Abortion, carrying the line the same piece of code shouts to everybody else in the realm.

WasHome's kidnapped-children key and its pay-a-ransom path both decided what to show by the kidnapper's name alone. A name left on a record after the child came home opened an empty cellar and offered a ransom for a child who was standing in the room.

NowBoth paths test the name and the kidnapper's id, and check where the child lives, which is the test the cellar's own list already used.

WasReleasing a child or sending one to the Royal Orphanage cleared the kidnapper but left the ransom standing on the record, so the figure followed the child around.

NowThe ransom clears too.

WasThe refusal when custody is already shared printed the name of your spouse, and that path exists only for the divorced, whose spouse name is empty. It always read 'You already share custody with !'

NowIt names the child's other parent, which is who the sentence is about.

WasHanding a child to the Royal Orphanage while somebody else had that child in hand failed, but by then your own access was gone and the record written. The other caller's hold had been torn down as well. The abandon path beside it did the same work in the right order.

NowNothing is written unless the child is yours.

WasThe Royal Orphanage's expenses line multiplied the number of wards by the daily cost. The night charges each ward its age times that cost, so the King was told a figure that had nothing to do with the bill, and it's the only warning before an unpaid ward is thrown to the wolves.

NowThe line quotes what the night will really charge.

WasThe two lines that say whose parents are being informed of a ransom asked for each parent's race with a flag that overrides the answer with Human. Whatever the parents were, both lines said human.

NowEach parent's real race is printed, as the child lists print it.

WasThe board of the realm's most prolific parents padded each row to a fixed width counting the color codes as characters, so the dots and the count sat in a different place on every line, and the two doors into it (the Score Corner and the Love Corner's History Room) painted different screens for what is one board.

NowThe counts sit under their heading and both doors open the same board.

WasThe original kept players and townsfolk in two files and paid a ransom only into the players' one, which its author noted in a comment at the spot. A ransom paid for a child held by a townsperson left your purse and arrived nowhere.

NowThis port keeps every character in one file, so the coin arrives. It's the one repair here that moves money into a townsperson's pocket.

WasWhere a child had only one parent on record, the paths that tell 'the other parent' still posted a letter to an empty name.

NowNo letter is written when there's nobody to write to.

WasFour lines in the chapter opened a name's color and never closed it, so the rest of the sentence, and in one case the rest of the letter, came out in the name's color. One more re-opened red where the original went back to the text color.

NowEvery one of them closes at the name, as the rest of the game does.

WasPaied for paid in four places, exhange for exchange in three, transfered for transferred in twelve, Orphange for Orphanage, expanditures amounts to for expenditures amount to, a evil for an evil, all they way for all the way, box for boxes, a kidnapper's plural taking a singular verb in five lines, a king's title run into his name, a lower-case pronoun opening a sentence, and eleven possessives written without their apostrophe.

NowAll corrected, and nothing else about those lines changed.

Back to the contents

The ending: the Final Quest

3 repairs1 noticeable

The last fight of a mortal career, at the bottom of the dungeon: one typo and two checks that couldn't fire.

WasWhen the winner of the final fight wore the crown, the game was meant to sack the Royal Guard and burn the king's orders before printing the abdication in the Royal News. But it cleared the winner's crown as part of retiring the character before it looked to see whether they wore one, so that whole passage could never run and the throne went quiet.

NowThe crown is checked before the character is retired, so a reigning hero abdicates in full. The guards are told and the orders go. The Royal News carries the line.

WasA hero choosing to become a god may not take the name SYSOP or the name of the supreme creator. The check for those two names sat inside the loop over the existing gods, so in a realm with no god yet, the loop never ran and either name was accepted.

NowThe two reserved names are refused first, then the existing gods' names, in a fresh realm and a full one alike.

Back to the contents

The shop counters and the Love Corner

8 repairs8 noticeable

Eight typos and slips, found during the rebuild of these screens.

WasOn the same path the line 'I have exactly what you are looking for!' ended its row, and ', Tully says.' began the next one by itself. The new-mode shop's copy of the passage keeps the sentence whole, so the break was a slip in the classic one.

NowIt prints on one row.

WasThe Love Corner's personal summary had its singular and plural swapped for trust: 'N people trust you.' for one person and 'N person trusts you.' for more, against every neighboring sentence of the same summary.

Now'1 person trusts you.' and 'N people trust you.'

WasThe Personal screen's record of defeats tested its plural one step late on the second line, so two defeats read '2 time!' where the first line already counted its own the right way.

Now'2 times!'

Back to the contents

The Gym: the barrels and the rope

20 repairs11 noticeable

The Gym's keys, its barrels, its masseur and its tug-of-war, with twenty of the original's own faults repaired along the way.

WasWhen a member burned his membership card, the Gym's owners were all told except one: the routine that writes to a crew was asked to skip the first owner it found instead of the member who was leaving, so one owner never heard.

NowThe member who left is the one skipped, so every owner of the crew gets the letter.

WasHanding a club-card to somebody who already had one said '<name> is a already a member!'.

NowIt reads 'is already a member!'.

WasThe letter telling a caller he had been given a club-card said 'You a place to work out!'.

NowIt reads 'You have a place to work out!'.

WasLifting beer barrels at the Gym always said 'barrels', even for one, where the hall of fame beside it says 'barrel' for one.

NowOne barrel is one barrel.

WasThe barrel champions' file carries a flag for a record that no longer belongs to anybody, and nothing in the game ever set it: a character who was deleted or who left the world kept his place on the board for good.

NowThe flag is set when a character is retired, so the board lists the living.

WasA crew leaving the rope after a tug-of-war left 'the Gym triumphantly!.', with a period after the exclamation mark.

NowThe stray period is gone.

WasThe letter to the other side dropped the possessive altogether: 'You were selected to fight against <Name> Team.'.

NowIt reads 'against <Name>'s Team.'.

WasThe tug-of-war tested for the time running out before it tested whether a side had won, so a crew that pulled the rope all the way over on the very last of the eighty pulls was told the contest ended even.

NowA win on the last pull is a win; a draw is a rope that never moved far enough.

WasMarching your own crew onto the rope checked the OTHER side's roster to decide whether there was still room, so it could stop while your own side had empty places, or keep going when it had none.

NowThe side being filled is the side that's counted.

WasWhen a crew was marched to the rope, each member was claimed for the contest before there was a place for him. If no place was left, the claim stayed: the character was busy in a contest he wasn't in, and nothing ever said so.

NowA member no place takes is released again, and not announced.

Back to the contents

The Gym: the fight for control

11 repairs5 noticeable

The brawl between the crew that wants the Gym and the crew that holds it, where six of the eleven repairs change who walks out owning the place.

WasA challenger who took one look at the odds and fled wasn't in the fight at all, and yet the routine walked on to the part that writes the ownership across both crews with the outcome never decided: the coward took the Gym.

NowFleeing costs the fight and changes nothing: the Gym stays where it was.

WasAfter the challenger was knocked out his crew could still win, and the game then read the two crews the wrong way around: it printed YOU LOST!, listed the wrong crew as the new owners, crossed the letters to both crews and left the Gym where it was.

NowThe verdict is read from the side the challenger came in on, so a win after he goes down is a win.

WasThe brawl for the Gym holds five a side, and the muster that fills it stopped one short of the ten places, so with two full crews the last character in file order was left outside.

NowTen muster, five a side.

WasA fighter with no stamina left is skipped by the brawl and can never be a target, so a challenger in that state stood through every round untouched and every ending handed him the Gym.

NowHe is put on his feet with a point of stamina when he is mustered, and fights like anybody else.

WasThe choke-hold line in the brawl spelled devastating with an e.

NowIt's spelled devastating.

WasWhen a computer fighter pulled somebody's hair the line read '<Name> grab hold of ...'.

NowIt reads 'grabs hold of'.

WasWhen nobody defended the Gym, the mates the muster had called were never released, and stayed marked as busy in the Realm.

NowThey're released before the news.

Back to the contents

The Royal Quests: the Hall and the Crown

13 repairs3 noticeable

The Quest Hall and the journey itself. Three of these decide whether the Quest you were handed exists at all, and what the paper and your purse say when it goes wrong.

WasThe news item that says a Quest has been taken up was written after the test that decides whether it was, and outside both answers to it. A caller told 'Unable to claim this Quest!' still had the story printed: the paper carried an event that never happened.

NowThe announcement is written where the shout beside it already was, under the arm that succeeded.

WasThe penalty for failing a Quest set in money printed 'The PENALTY ... is N gold coins!' and then took that number in experience points. The same kind of reward, a few lines further down, pays money properly.

NowThe money penalty takes money, and never past zero.

WasThe letter offering a Quest to a named player was posted before the monarch was asked whether to save the Quest at all. Answer No, and the letter named a Quest that had never entered the file: the reader was shown a blank page.

NowThe letter is posted when the Quest is saved, which is where the original posts it.

WasThe line sits inside the walk over the Quest file, so it needs the walk to run, and on a realm with no Quests the walk never runs. The key printed its heading and stopped.

NowThe line prints whenever the walk found nothing, an empty realm included.

WasThe same fault one level up, on the board that lists the Quests on offer: a fresh realm answered (L) with a bare heading and a rule, and (A) and (C) the same way, with no word about why.

NowThe board says so when it has nothing to show.

WasThe possessive apostrophe is missing from the line that greets you in the Quest Master's chambers, and the name had lost its color with it.

NowThe apostrophe is there, inside the name's own color.

WasAfter a Quest was completed the counter it had been checked against was reused for loading monsters, so a later Quest whose count matched was offered at once, past the day's limit.

NowOne Quest at a time, within the limit.

Back to the contents

Talking to the other callers

9 repairs1 noticeable

The line you send to somebody else online and the trade you strike with them. The Inn's chat rooms are here too.

WasThe door into the potion trade refused only a receiver who was already at the ceiling, and the amount itself was then capped at two thousand million. A receiver one potion short of the limit could be handed thousands. The same gift sent by letter counts properly.

NowYou may send what fits under the ceiling, and no more.

WasTyping a number outside the list of rooms, or a word, left the choice at the value it started with: you were seated in The Round Table without a word about it.

NowA pick the list doesn't carry is refused, and asked again.

WasThe routine that picks a random online caller counted the right callers and then took a record from the whole online file by that number, so its line could go to a fake, a god, a shadow or nobody.

NowIt picks among matching callers.

WasThe letter editor's check for doubled quotes counted its own passes instead of the quote marks, so every line that already carried a quote was dropped from a reply.

NowIt counts quote marks.

WasThe sysop's bad-word filter searched the whole line again after every replacement, so a list that turned a word into something that still contained it, 'ass' into 'class', never finished and the caller's node hung.

NowOne pass per line.

WasReplying to a letter whose sender was playing at that moment threw you out of the mailbox. The letter was never asked about for deletion and came back unread the next time, and any letters after it waited for another visit. The same fault in a god's mailbox is listed under Life as an Immortal.

NowThe reply goes and the letter comes back with its Delete question. Then the reading carries on.

Back to the contents

The Bounty Office and the hunt

19 repairs8 noticeable

The wall of posters, the bounty you put on somebody's head, the Most Wanted board and the townsfolk who go hunting at night. Eight of these decide who gets paid, or whether the wall works at all.

WasThe test for a full board read the size of the file instead of counting the posters on it, and the file never shrinks: a collected bounty leaves its slot behind for the next one to reuse. Once fifty posters had ever been written, every further attempt was answered 'currently full', with the wall empty.

NowThe fifty are counted live.

WasThe refusal was decided by the sum you typed together with a counter left over from listing the board, which isn't even set on the first bounty of a call. The right refusal came up by chance, and the wrong one the rest of the time.

NowThe sum you type is measured against the gold you have.

WasThe board looked each name up twice without ever testing whether it had been found, so a name in neither the players' nor the townsfolk's file left the character before it standing: that stranger's whereabouts and health were printed under the wanted name, level and all.

NowOne lookup, and a name that's nowhere gets a blank status and the level the poster itself recorded.

WasThe sort refuses a swap only between two rows it's already comparing in the same pass, so two heads worth the same sum could change places from one night to the next for no reason.

NowEqual bounties keep the order they were in, highest first.

WasThe line telling the poster who had collected was built from the caller instead of the winner, while every other line in the same block names the winner. Where the caller lost the fight, the poster was told the dead man had collected the bounty on his own head; during the night watch there's no caller in the fight at all.

NowIt names the winner.

WasYou're asked which of three ways a bounty may be collected, and charged for the answer. The answer was written into the poster and read nowhere: whoever killed the target collected, whichever of the three you had paid for.

NowA bounty marked for players is collected by players, and one marked for townsfolk by townsfolk. 'Anyone' means anybody.

WasThe realm's setting for how long a poster lasts was applied only in memory, and only while choosing which old slot a new poster should overwrite. Nothing was ever saved, so an expired bounty stayed on both boards and stayed claimable.

NowThe nightly sweep retires them.

WasThe hunt paid the hunter itself, after the fight had already paid the same hunter through the usual route, and it tested neither whether the bounty had already been collected nor whether the hunter had survived.

NowOne route, one payment.

Back to the contents

Odds and ends about the town

18 repairs2 noticeable

The Crown's Angel and its Dark Avenger, the level masters' Crystal Ball and their summoning, the graveyard, the records and the screens that read the realm's own settings back to you.

WasThe test that stops an errand from a monarch who has lost the throne guards the path that arrives by letter, and not the one that arrives while you're online, so a caller who was playing got the whole errand while one who wasn't got nothing. It's the same errand by two routes.

NowBoth ask the same question.

WasThe dropped possessive, in the Team Corner's revival of a dead teammate.

NowApostrophe restored.

WasWrong English, and the same author wrote 'an' on the other path of the same errand.

NowAn Angel.

WasThe realm has a setting that allows same-sex courting and marriage, and the game's own name for it is a word that reads as a slur in present-day English. It's printed on the settings screen a player can read, and on the sysop's panel.

NowThe setting does exactly what it always did, and nothing about who may court or marry whom has changed. Only the word on the screen is different: the settings screen now reads 'Same-sex relations are allowed', or not allowed, and the sysop's panel names it the same way.

Back to the contents

Fighting beside your teammates

5 repairs2 noticeable

The fight engine now carries up to four mates on a raid, which is what the bank robbery needs. Building it showed what the original did to the mates it already had.

WasWhen a teammate fights beside you the game copies that mate's record for everything it needs, then rolls the blow from the FIRST mate's record whichever mate is swinging. The other three mates hit with somebody else's weapon and strength.

NowEach swings their own.

WasThe test for whether a mate is armed reads the two-handed gear that only exists in the new mode, so in classic mode a mate Assassin was always judged unarmed and never got their backstab. Your own backstab test asks the right question two hundred lines up.

NowThe mate's test asks the same question yours does.

Back to the contents

Taking your team into the Dungeons

21 repairs3 noticeable

The original lets you take up to four teammates into the Dungeons. This port hadn't built that part until now, and building it turned up ten faults of the original's own and nine slips in its letters.

WasThe letter to a mate who died beside you read the killer's name from the wrong slot, one place out, so the first mate was told the name of whatever killed you, the second the name of what killed the first, and so on.

NowEach mate's own killer travels with them, and the letter and the paper name it.

WasThe wounded stranger's event worked on a copy of your team, so a mate who handed over potions kept them, and everything the troll war party did to your mates, wounds, deaths, experience and gold, was thrown away when the event ended, while the letters told the mates it had happened.

NowThe gift leaves the mate's pack and the fight's results are saved like any other fight's.

WasWith four teammates available, the search for townsfolk mates still ran and claimed one more, written past the end of the list: that character was held for your whole visit and never appeared on it.

NowThe gathering stops at four.

WasThe 'took you to the Dungeons' letter went out before the mates you refused were dropped from the party, so a mate who stayed home was told they had gone.

NowOnly mates who came.

WasThe lot for which mate finds an item counted only the mates who could act, and then read the number as a place on the full list, so with the first mate down the item could go to the empty slot: a line with no name, and the item gone.

NowThe lot picks a mate who can act.

WasAfter robbing the graves, the letters telling your mates they had fought hordes of the Undead were sent off values that were only set if the Guardian woke, so a quiet dig could still write to them about a battle.

NowThe letters go out after that fight, to the mates who stood when it began.

WasA caller killed while running away left the game before the team was saved, so the wounds and deaths of that fight were never written, and neither were the kill shares.

NowEvery death saves the team first.

WasThe last fight of the game saved your teammates when you lost it and not when you won it, so their wounds and deaths in the greatest fight of all were thrown away, along with their share of the reward.

NowSaved either way.

WasBefore buying potions a mate's purse went into the bank, and the purse was emptied whether or not the bank, full to its two billion ceiling, accepted the deposit.

NowThe purse is emptied only when the gold is banked.

WasA mate the gas trap killed had no killer recorded, so the paper and the letter home named an empty monster.

NowThey're named killed by a poisonous trap, as you are when it gets you.

WasThe letter to a mate ordered to buy a treasure map used the wrong past tense.

Now'You paid'.

WasWhen a teammate took a monster's piece of equipment the screen said he put it in his backpack, and then he was saved only if he had worn it, so a packed piece was lost unless a later mate wore it.

NowThe first mate who keeps the piece, worn or packed, keeps it.

Back to the contents

Steal Beer: the Inn's barrels

12 repairs4 noticeable

The raid on Garth's beer, with its watch-dogs, its bones, its teammate and its storage room. Three of these decide whether a well-played raid can succeed at all.

WasYour stamina for the raid is set in exactly one place: inside the fight with the dogs. Bring a teammate who lures them all away, or pay for enough bones, and you reach the storage room with no stamina at all, collapse on the first barrel and lose the deed and the bones money along with the loot. Playing it perfectly was punished.

NowYour stamina is set when the raid starts, before the approach.

WasThe raid's state, the teammate included, is cleared only when the room's menu repaints, and an expert (or anyone with auto-menus off) never repaints it between raids. The second raid counted a ghost mate's barrels and halved your gold and experience to pay them. Then it named them in the paper.

NowRaids start clean.

WasRun out of stamina among the barrels and the call ends. Your mate is sent a letter saying you died, and the paper calls you Pathetic Thieves who were finished off by the watchdogs. Nothing wrote a death. You logged in the next day untouched, having been reported dead in print. The three other ways to collapse on the same raid all kill.

NowIt kills, as the letter and paper said. A judgment call.

WasA mate's body 'laying on the ground' and a son 'LAYING STUNNED ON THE GROUND'. Fixed in both places or neither, so the raid stays consistent with itself.

NowLying, both times.

Back to the contents

The Hall of Dreams and the Whore House

8 repairs1 noticeable

The two houses, ported as the author wrote them. The Hall was the less finished of the twins, and most of these bring it level with its sibling.

WasEvery other darkness gain in the game, the Whore House's included, goes through the routine that burns your chivalry down before your darkness rises and caps it at thirty thousand. The Hall's nine gains were added straight onto the darkness field. A chivalrous woman came out of the Hall both holy and dark.

NowThe Hall now uses the same routine.

WasThe selection list names her Sonya; her own room sets the name to Sony and prints it six times on screen and once in the paper.

NowSonya, everywhere. A judgment call.

WasThe Whore House mails a married caller's wife about the visit, and hands the mail routine a hard-coded 'human' instead of the wife's own kind, which bypasses the gate that routine exists to apply. The author's own comment says he knew.

NowThe letter goes only to a human spouse, like every letter in the game.

Back to the contents

The murder alleys

6 repairs1 noticeable

The alleys, the arrest, the trial and the gallows.

WasThe Execute flag is set and cleared inside a block that ends the program, so the test on it afterward always passed and its else-branch was the author's own empty stub. Dead code; the two branches the die selects are built directly.

NowThe two branches are built without the flag.

WasThe moment you were caught, every other caller was told you had been sent to PRISON. You then chose whether to fight the guards or surrender; fighters could walk free, and of those who surrendered two in three were hanged. The line was true on one outcome of three.

NowIt's said at sentencing.

Wascarelesness, notorius, miltia, thightened, feets, 'and and', 'gallow' for gallows twice, 'The executioner take you', 'the lame womans', 'the childs', 'townpeoples', 'offer you to guide him', 'as he was going to get a reward', a lower-case I, and a story that began 'he was arrested, and short after executed'.

NowSpelled and punctuated properly.

Back to the contents

The bank robbery

12 repairs4 noticeable

The vault, the guards, the fight, the player guards and the loot. Four of these decide who is told what, and one decides who defends the bank.

WasThe menu painter colors the second character of a row as the hotkey; this row was written 'R(O)b!' so the parenthesis was lit and the O wasn't.

NowThe O is lit, like every other key in the room.

WasThe loader for computer bank guards excludes a guard whose team matches yours, and doesn't check that the guard has a team at all. A teamless robber and a teamless guard match on empty strings, so every guard without a gang was excluded, for the commonest kind of robber there is. The loader for player guards one block above checks properly.

NowNow it checks the same way, a judgment call that makes robbery harder.

WasThe Escape! letter, which tells a surviving mate the leader was killed, was sent before the game checked whether the leader was killed. A leader who won posted it and then posted the same mate the Successful Robbery letter.

NowIt goes out only when the leader really fell.

WasIt fills mate slots without a cap; a fifth qualifying mate writes past the end of a four-slot array. Latent, because the game's team size is five including you.

NowStops at four.

WasOn the success path only the living and the paired mates are written to disk, so a mate who fell to the Pitbull or any of the guards, Captain included, kept the hit points and record they had before the robbery.

NowEvery named mate is written, alive or dead.

WasApplying for guard duty quotes level times one thousand plus strength times nine; the night watch pays level times fifteen hundred plus strength times nine. The pay is unchanged; the quote was wrong.

NowIt quotes the real pay.

Back to the contents

The online duel and your setup screen

16 repairs9 noticeable

Two callers fighting each other live, plus the phrases and the description you set on the setup screen. Half of these are things the duel promised and never did.

WasIt's on the menu and in the wire protocol, and neither side had a line of code for it. It spent your turn for no healing, and your opponent saw nothing.

NowIt quaffs and prints the game's own healing line, and your opponent sees the quaff. At full health it says so and still spends the turn, as the offline engine does.

WasThe routine that sends a spell's two description rows wrote them into record two of a two-record file on one side and into its own inbox on the other. Your opponent saw the spell hit and never what it was.

NowThe rows reach the other side, in the victim's own person.

WasThe loser's exit saved back a copy of their record taken BEFORE the winner emptied their purse and swapped their gear. The gold the winner took existed twice, and the swapped weapon and armor were back where they started.

NowThe winner's side owns the loser's record; the loser writes only their own experience loss.

WasA blank line in the four-line editor blanked that row and left the rest standing, against the editor's own promise. Blank line one and you kept an empty row above your three old ones.

NowA blank line ends the description there.

WasIn a game where the killed may not play again that day, the game charged BOTH duelists, printing the winner's remaining count in the middle of their own victory. The config line says 'players killed in online battles', and the author's own comment says loser.

NowOnly the loser pays, and the setting now says so on the sysop's panel.

WasEvery news item opens with the node's OWN caller as the challenger, whichever side posts it, so an item posted from the acceptor's side read 'Beta challenged Alpha!' when Alpha had challenged.

NowThe one who pressed the key is the challenger, whoever posts.

WasThe pass that lets an Angel, a Demon, a Duplicate or a Transformation strike the waiting side ran on a copy of the record and then reloaded it from disk before anything was saved.

NowThe blow lands and sticks.

WasThe classic swap screen multiplies the power by eleven for display, where the shops store and every blow uses the plain number. The status sheet had the same fault and was the first thing this port repaired; the duel's frisking, and the offline duel's, still had it.

NowPlain numbers in both duels.

Back to the contents

Sacrifices at the altar

7 repairs3 noticeable

The Temple, from the mortal's side: what you give away, and the letters your sacrifice posts to the god who receives it.

WasThe altar works out a second sentence for the letter it posts to a god after a sacrifice, then writes the letter with a blank line where that sentence belongs. The author left himself a note about it at the top of the file. Where a form of the sentence did print, it named the god who received the gift rather than the god you believe in, which is the whole point of the message: it's the complaint of a god watching a follower give gifts elsewhere.

NowThe sentence is in the letter now, on a line of its own, naming the god you follow.

WasThe room checks you have a Good Deed left once, on the way in, and then lets you sacrifice as often as you like from the menu, taking a deed each time. The counter is a small signed number, so it went negative and kept going.

NowThe deed is checked before each gift, and refused in the game's own words when there's none left.

WasTurning down the confirmation that gives up your faith still printed the heading that introduces the god list, and then put you back on the menu.

NowThe heading prints only when the picker follows it.

WasA sacrifice changes the god's experience. When the god happened to be logged on at that moment, the mortal's side skipped the write and left the change to the god's own session, which held it in memory until it ended: a dropped carrier lost it, and every other path in the meantime saw the old figure.

NowThe change is written at once, online or not, and an online god still gets the lines.

WasThe line that tells you what an item is worth adds the word gold to a number the game's own money routine has already finished with the words gold coins.

NowOne set.

Was'Unexepected Sacrifce!', 'immmortal', 'untolarable', a sentence opening in lower case after a period, and a bracket that's opened and never closed.

NowUnexpected Sacrifice, immortal, intolerable, the capital letter, and the bracket closed.

Back to the contents

A god's powers

12 repairs5 noticeable

What an immortal does to the people below: blessings and curses, prison and release, recruiting a rival's follower, and the stories the paper carries about it.

WasA god may curse a mortal's child, and the path was written and left unfinished. It asked for the child's name, then printed that nothing happened. Nothing was spent. Everything downstream of the curse was already built and waiting. The night watch carries the parents' grief for a cursed child, and the child's own record has the two fields that name who cursed it.

NowThe child's health is cursed, the god who did it is written into the child's record, the deed is spent, and the parents grieve that night. The god is told 'NAME is cursed.', which is the one sentence this round adds to the game.

WasThe key that lists a god's flock loops over the townspeople using the number of records in the player file. Where the two files differ it either stopped short of the end or ran past it.

NowEach file is read fully.

WasThe realm's release only changes where the mortal is. The castle's own release also clears the days left to serve and the state the prison left them in, so a mortal a god set free was still counted as serving time.

NowThe release does what the castle's release does.

WasWhen the game can't load the immortal a townsperson follows, it prints its own error line and returns, having already taken the acting god's deed for the day.

NowThe deed is refunded. The error line is unchanged.

WasTwo paths load a mortal's record into the variable that also holds the god, and the broadcast and the letter that follow read the name out of it. What went out was whichever record had last been read.

NowBoth lines are spoken by the god's own name.

WasThe examine key posts a letter telling the examined character that a god has looked at them. The post routine only ever delivers to human players, so a letter written about a townsperson went nowhere.

NowThe letter is written only when the examined character is a caller.

WasThe entry path offers a list of your immortals with a choice that abandons it, and treats that choice the same way it treats a caller who owns none: with a refusal that's untrue for anyone who got as far as the list.

NowSilent abort.

WasA god writing a letter tells the receiver on the wire that it has arrived, and looks for someone listening among the gods alone. A mortal is the common case.

NowOnline mortals are told too.

WasThe story written when one god takes a follower from another names, on its second line, the god who lost the follower instead of the one who recruited them. The sibling story a few hundred lines further down gets it right.

NowThe recruiting god is named, as the sibling story does.

Was'Chose category of people', "who's relation you would like to ruin", 'Evil tounges claim' in two stories, and two sentences that begin in lower case after a period: 'return tomorrow.' and 'try again later!'

NowChoose, whose, tongues, and both sentences capitalized.

Back to the contents

Life as an Immortal

10 repairs4 noticeable

The god list, the status sheet, the immortal's own town and the night that pays for a flock. Several of these are numbers a god was shown that weren't true.

WasA god's status sheet and the Followers column of the god list read a stored counter, and so did the night's own pay. Only one path of the four that move a townsperson's faith ever wrote it, so a god could be paid experience for followers who had already walked away, and the list could show a flock that no longer existed.

NowEvery reader counts the town itself. The stored number keeps its real job, which is the mark the realm compares against to tell a god they have gained or lost believers since their last visit.

WasThe Rank cell is filled with the title and the level run together with no space between them, then padded to thirteen columns. 'Lesser Spirit1' is fourteen characters, so a level one god lost its number altogether, and every other rank read as one word: 'Minor Spirit2'. The header above the column was drawn for a twenty column cell.

NowA space between the two, and the twenty columns the header was drawn for.

WasThe count was right justified in a field that ended the column before the heading's word began, so every count stood under the Rank column instead of under Followers.

NowThe count now ends under the last letter of its heading.

WasThe ask for power path has an arm for power exactly at the level's cutoff and an arm for power above it, and nothing at all for power below it. A god can lose experience at the altar, so the state is reachable and the key did nothing.

NowBelow the cutoff gives the refusal the cutoff gives.

WasLines at the altar, in the letters, among a god's powers and on the wire glue an s straight onto a name, and one drops the possessive altogether: 'Manwes Fire Wagon', 'forced into Zeuss flock', 'Zeuss powers are growing!', 'informed of Alpha decision later'.

NowEach prints the name followed by apostrophe-s, which is the form this port uses throughout.

WasThe experience row of a god's status sheet is labeled Havre, a word that appears nowhere else in the game. The record the number comes from names the field experience, power.

NowIt says Power.

WasThe tail of the line that sets how often townspeople change faith prints the number belonging to the line above it, which sets how often they change relations. A sysop reading numbers off the screen would have edited the wrong setting.

NowEach row shows its own.

WasThe god's own town takes its refresh flag by value, so the flag is set again before every prompt and the room clears the screen each time around. Anything a key had just printed went with it. The twin room in the realm uses the shared flag and behaves.

NowThe town repaints when the location changed and when you press the key that asks for it, which is what its twin does.

WasThe line describing the altars in the god's own town spells deities as deitys.

NowDeities.

Back to the contents

Where the original's intent wasn't obvious, the citation names the sibling code that settled it: the duel engine that already rolled the soulstrike once, or the author's own comment naming elves as the ones who can't drink troll rum. Nothing here was changed on taste alone.

Most of this list can also be read inside the game, on the Credits screen. The only things left out there are spelling fixes in files a player never meets at a prompt. A player who wants to know why a number on their status sheet changed overnight can look it up for themselves, without troubling you.

See for yourself in the test realm