Rogue Patches for the Grab

I have developed two patches for ElwinR’s Early Roguelike Collection. I intended to have them merged upstream, but ElwinR has been missing so far and not answering emails or bug tickets. Therefore, I have uploaded my patches to my gopherhole.

There you will find two patches that solve the infamous ISRUN bug that affected some Unix versions of the game Rogue.

Unix Rogue V4 and Unix Rogue V5 implemented a mechanism to simulate sneak attack bonuses. Any creature that was not “awake” when attacked would give its attacker a +4 bonus to hit. In other words, if either the hero of the creature were impeded or unaware of each other, they were more vulnerable to surprise attacks.

Unfortunately, this mechanism was badly broken. In both versions of the game, the flag which was taken as a reference to decide whether a target was vulnerable was applied inconsistently. The flag, called ISRUN, was turned off by default for the hero, so monsters always got the bonus when attacking the hero. Worst yet, the bonus never applied to the monsters, even if you caught them off-guard.

In addition, the flag could be turned on and off for random reasons, such as becoming hungry or eating an item.

Unix Rogue V3 is unaffected since it didn’t implement the sneak attack bonus mechanic.

For the sake of convenience, I host there a copy of the Early Roguelikes Collection, by ElwinR. It includes many Rogue versions, but keep in mind that Ultrarogue is in a non-working state.

This collection was built from resources hosted by the Rogue Restoration Project. ElwinR’s take on the ISRUN bug is that the developers intended the monsters to always have a +4 bonus to hit the player. He patched his collection to prevent the ISRUN flag from changing for arbitrary or bogus reasons, but he left the player perpetually vulnerable to sneak attacks on purpose. The games are therefore much difficult.

You may play the games unpatched if you feel like taking a challenge. If you want to play as I believe the developers intended, get the patches, download the Collection, unpack it, patch it and build the game you intend to play. There are specific instructions in my gopherhole.