USURPER Playable on the demo board

Repairs

What 0.25 repairs

Usurper 0.25 is the original game, converted line for line from its Pascal source into PHP, with 373 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. The last release anyone shipped was 0.24, in 2015. The Pascal source kept getting small fixes on GitHub until 16 February 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 first rule of the port was to copy the original's faults along with everything else, misspellings included, so a game here would play exactly like the real thing. That rule changed. Where the original code plainly does not do what it was written to do, 0.25 now does what it was written to do.

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

13 repairs7 noticeable

The heaviest repairs are here. Several of them 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. Every hit underground landed in full.

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

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

NowThe armour's strength is what counts now, so an armoured monster soaks part of each hit. Armoured 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 is rolled once everywhere now, as it always was in a duel, so the move is worth its cost wherever it is 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 actually 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.

NowThe story names the player who actually died.

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 could not 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 armour soaked up dropped the possessive, on your own blows and on a team-mate's.

NowThe possessive is there.

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 actually 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 about the scene changed.

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!', 'You seem to be blinded!', '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 are 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 did not 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.

NowA monster that resists is 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

5 repairs3 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, armour 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 actually fights with. Nothing about any character changed, only what is shown, but be ready for it: in a game that has been running a while, every one of these numbers will suddenly 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 did not 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 is back in the rotation, with its spelling put right: it reads 'You're being observed ...'.

Back to the contents

The backpack and what you wear

10 repairs5 noticeable

Gear that was quietly destroyed, health that did not 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 simply 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 are not 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 is 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 simply says you cannot 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 recognised, and you kept playing down there.

NowThe loss stops at one hitpoint.

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

NowIt says you cannot 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 had not changed at all.

NowBoth putting on and taking off now say maximum hitpoints.

WasIn the backpack listing the right hand column did not 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 actually 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

34 repairs14 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.

NowGive to the poor, the collection and the Blessing all answer with the realm's own out of deeds line once the day's deeds are spent.

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 is elves who cannot 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 actually 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 actually 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, and the owner's letter still reported a theft.

NowThe item stays in the chest and the game tells you that you cannot carry it. Neither the paper nor the victim's letter claims a theft that did not 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.

NowA loose demon 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.

WasThe man in robes sold you a vitamin cure and announced the strength it gave you, but never added it.

NowThe strength is added.

WasWhen the beer contest could not 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.

NowThey are released when the contest is called off.

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.

NowThe step is there.

WasEvery line in the Dormitory that names a sleeper's bed, hand, head or team-mate 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 afterwards, 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 could not pick anyone.

NowAnyone can be picked.

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.

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 would not 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, only your team-mates, 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 simply 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 is 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 actually on his shelf, and he checked it too strictly, so when the shelf was well stocked the last listing could not be bought and he said nothing at all.

NowEvery number he lists works.

WasThe letter a beggar sent after you gave him alms did not 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 towards 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 is not built yet, so for now it is 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 and the note that recorded it as deliberate went with it.

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

NowThey are 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

10 repairs4 noticeable

Money that went to the wrong place, and a shopkeeper who was not 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 cannot 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 roads pay exactly the same, so the convenience option costs you nothing.

WasWhen you asked the armour 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 are 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 could not 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 armour 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 full stop.

Now'Too bad. Goodbye!'

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

NowIt matches the troll's other refusal.

WasThe weapon and armour 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

8 repairs4 noticeable

A crown that was cheaper to take than it should have been, and two menu keys that had nothing behind them.

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 cannot 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 is 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 simply 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 are spelled properly. Nothing else about those screens changed.

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

NowThey read 'you are', 'nobody can have a go' and 'get past the guards'.

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

NowAll spelled right.

Back to the contents

Marriage and the Gift Shop

17 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, and it 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, the counter the shop actually asks about, and nothing else. 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 roads, 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 has its own 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.

Back to the contents

Gangs and sending things to team-mates

14 repairs6 noticeable

Three ways a gift to a team-mate 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.

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

NowThe gift goes into their backpack, and 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 team-mate 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 do not want to put on.

WasA team-mate 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 actually use. 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 towards the gang's record, and a bribed character did not inherit the gang's Gym.

NowBoth roads 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 is compared against the gang that actually 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 copies ask about the winner.

WasThe game keeps a count of who has killed whom. In a gang war you lead, the fights your team-mates 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 road.

NowIt names the attacking gang.

Back to the contents

The night watch

5 repairs1 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, the letter telling a guard he had been sacked, and the king's tax income letter each carried one.

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 Birthday letter for that day, the Child Lost letter and the Grownup news were all 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 exactly as the original wrote them. Nothing about how often a birthday comes, or what a child costs, changed.

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, the old fashioned voice and the line breaks are exactly as they were.

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

NowThey are 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, and there were a Lion's Thooth, Thooths of Asa, and 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 has not 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, which 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 roads 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 colour codes as visible characters, and its header labels did not 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 actually 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. The dump is not 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 road, that a party 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 road below it, pasted in by mistake. Nothing told him what had actually 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 road 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 roads test the name and the kidnapper's id, and check where the child actually 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 is cleared with the kidnapper.

WasThe refusal when custody is already shared printed the name of your spouse, and the road 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 road beside it did the same work in the right order.

NowNothing is written unless the child is really yours to hand over.

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 is 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 colour 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 is the one repair here that moves money into a townsperson's pocket.

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

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

WasFour lines in the chapter opened a name's colour 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 colour. One more re-opened red where the original went back to the text colour.

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 could not 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, then print 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 simply 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, and 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 while the shop counters and the Love Corner's screens were rebuilt to match the original.

WasOn the same road 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.

NowThe sentence prints whole 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 neighbouring 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 no road 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.

WasThe masseur's lines printed a second sentence hard against the first, with no space between them: 'Ahhh..nice feeling...Your Hitpoints maxed out!' and three of its kind.

NowEach sentence takes the space it needs.

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

NowThe stray full stop 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 is 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 was not 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 was not 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 round: 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 fighters are mustered, 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 is 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 are released before the news goes out.

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 road printed its heading and stopped.

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

WasThe routine that turns a Quest's difficulty into a word has no answer for zero and handed back whatever the machine happened to be holding at the time. No living Quest carries zero, so no player ever met it.

NowZero answers with an empty word, and no eleventh difficulty is invented.

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

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

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

7 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 does not 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 the 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.

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 is not 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 is nowhere gets a blank status and the level the poster itself recorded.

WasThe sort refuses a swap only between two rows it is 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 is no caller in the fight at all.

NowThe winner's name, like the lines around it.

WasYou are 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, one marked for townsfolk by townsfolk, and 'Anyone' by 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.

NowExpired posters are retired in the nightly sweep.

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

NowEvery payment goes through the one road, once.

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 road that arrives by letter, and not the one that arrives while you are online, so a caller who was playing got the whole errand while one who was not got nothing. It is the same errand by two roads.

NowBoth roads ask the same question.

WasThe dropped possessive, in the Team Corner's revival of a dead team-mate.

NowThe apostrophe is there.

WasWrong English, and the same author wrote 'an' on the other road 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 is 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 team-mates

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 team-mate 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. Mates two, three and four hit with somebody else's weapon and strength.

NowEach mate swings with 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

19 repairs3 noticeable

The original lets you take up to four team-mates into the Dungeons. This port had not built that road 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 team-mates 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 the mates who actually came get it.

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 team-mates 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.

NowThe team is written on both roads.

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 actually banked.

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

NowThey are 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'.

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 team-mate 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 team-mate 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, the bones money and the loot. Playing it perfectly was punished.

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

WasThe raid's state, the team-mate 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.

NowEvery raid starts 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 the paper already said it did. 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's gains go through the same road as everybody's.

WasThe who-is-here line sits on the expert branch of the room's menu alone, and expert mode is off by default, so the Online Ear did nothing in this one room. It is the only room in the game built that way.

NowIt shows on both branches, as the Whore House does.

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 afterwards always passed and its else-branch was the author's own empty stub. Dead code; the two roads the die selects are built directly.

NowThe two roads 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 is said when the sentence is passed.

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 colours the second character of a row as the hotkey; this row was written 'R(O)b!' so the parenthesis was lit and the O was not.

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 does not 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.

NowThe computer loader checks the way the player loader does. A judgment call: robbery is harder now.

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.

NowIt stops at four.

WasOn the success road only the living and the paired mates are written to disk, so a mate who fell to the Captain, a Guard or the Pitbull 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.

NowThe pitch quotes what the job pays.

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 is on the menu and in the wire protocol, and neither side had a line of code for it. It spent your turn, healed nothing and showed your opponent nothing.

NowIt quaffs and prints the game's own healing line. 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 armour 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 duellists, 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. 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 is written.

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.

NowThe plain number, 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 is 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 is 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 road 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 of words.

Was'Unexepected Sacrifce!', 'immmortal', 'untolarable', a sentence opening in lower case after a full stop, and a bracket that is 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. The road 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.

NowBoth files are read to their own end.

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 cannot 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 roads 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 road 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 is untrue for anyone who got as far as the list.

NowThe abort is silent.

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.

NowAn online mortal is told as well.

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 full stop: 'return tomorrow.' and 'try again later!'

NowChoose, whose, tongues, and both sentences capitalised.

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 were not true.

WasA god's status sheet, the Followers column of the god list and the night's own pay all read a stored counter. Only one road 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 road has an arm for power exactly at the level's threshold 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 simply did nothing.

NowBelow the threshold gives the refusal the threshold 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, an apostrophe and an s, which is the form this port uses throughout.

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

NowThe row 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 carries its own number.

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 round. 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 was not 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 cannot 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 on the demo board