Mercurial > hg > early-roguelike
view arogue5/arogue58.html @ 234:c10fe421b8fb
Fix various overlooked causes of warnings.
GCC5 now produces under 300 lines of warnings, but the remaining ones
will require more complex solutions.
author | John "Elwin" Edwards |
---|---|
date | Sun, 06 Mar 2016 21:02:59 -0500 |
parents | 0ed67132cf10 |
children |
line wrap: on
line source
<!-- Advanced Rogue --> <!-- Copyright (C) 1984, 1985, 1986 Michael Morgan, Ken Dalka and AT&T --> <!-- All rights reserved. --> <!-- --> <!-- Based on "Rogue: Exploring the Dungeons of Doom" --> <!-- Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman --> <!-- All rights reserved. --> <!-- --> <!-- See the file LICENSE.TXT for full copyright and licensing information. --> <!-- Creator : groff version 1.18.1 --> <!-- CreationDate: Sat Jan 21 09:55:23 2006 --> <h1 align="center"><a href="http://roguelike.sourceforge.net/arogue77">The Dungeons of Doom</a></h1> <br> <h2 align="center">AT&T Bell Laboratories</h2> <h3 align="center"><A href="http://roguelike.sourceforge.net/arogue58">http://roguelike.sourceforge.net/arogue58</A></h3> <br> <table border="0" cellpadding="3" cellspacing="3" style="BORDER-COLLAPSE: collapse" id="table1" align="center"> <tr> <td nowrap> Advanced Rogue<br> Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka and AT&T<br> All rights reserved. </td> </tr> <tr> <td nowrap> Based on "Rogue: Exploring the Dungeons of Doom"<br> Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman<br> All rights reserved. </td> </tr> </table> <p align="center">See the file LICENSE.TXT for full copyright and licensing information.</p> <p align="center"> </p> <p align="center"><b>ABSTRACT</b></p> <blockquote> <blockquote> <p align="justify">Rogue was first introduced by Michael Toy at the University of California at Berkeley as a screen-oriented fantasy game. The game had 26 types of monsters that the player could meet while exploring a dungeon generated by the computer. Scrolls, potions, rings, wands, staves, armor, and weapons helped the player to battle these monsters and to gain gold, the basis for scoring.</p> <p align="justify">The version of Rogue described in this guide has been expanded to include over 110 monsters with many new capabilities. Many of the monsters are intelligent, and they, like the player, must avoid traps and decide when it is better to fight or to run. The player chooses a character class at the beginning of the game which defines the player's abilities. Experience, rather than gold, decides the player's score.</p> </blockquote> </blockquote> <h2 align="justify"> </h2> <h3 align="justify">1. INTRODUCTION</h3> <p align="justify"> Rogue is a screen-oriented fantasy game set in the ever-changing Dungeons of Doom. The game comes complete with monsters, spells, weapons, armor, potions, and other magical items. The dungeon's geography changes with every game, and although many magical items have certain identifiable properties, such as turning the player invisible, the physical manifestation of the magic changes each game. A red potion, for example, will cause the same reaction throughout a given game, but it may be a completely different potion in a new game.</p> <p align="justify"> Entering the dungeon with only a little food, armor, and a weapon, the player must develop a good strategy of when to fight, when to run, and how to best use any magical items found in the dungeon. To make things interesting, the player has a quest to return one of several unique artifacts, rumored to lie deep in the dungeon's bowels. Returning with this artifact brings great glory and the title of Complete Winner. But even after finding the artifact, the player may wish to continue further to match wits with an arch-devil, demon prince, or even a deity found far down in the dungeon. Defeating such a creature will gain the player many experience points, the basis for scoring in Rogue.</p> <p align="justify"> It is very difficult to return from the Dungeons of Doom. Few people ever make it out alive. Should this unlikely event occur, the player would be proclaimed a complete winner and handsomely rewarded for any booty removed from the dungeon.</p> <h3 align="justify">2. CHARACTER CLASSES AND ATTRIBUTES</h3> <p align="justify"> Before placing the player in the dungeon, the game requests the player to select a character class: a fighter, a magic user, a cleric, or a thief.</p> <p align="justify"><span style="FONT-VARIANT: small-caps"><strong>2.1 The Fighter</strong></span></p> <p align="justify"> A fighter is very strong and will have a high strength rating. This great strength gives a fighter the best odds of winning a battle with a monster. At high experience levels the fighter also gets to attack multiple times in a single turn. This obviously further increases his chances at winning battles. Intrinsic to the fighter class is a robustness which results in 1 to 10 extra hit points for every new experience level.</p> <p align="justify"><span style="FONT-VARIANT: small-caps"><strong>2.2 The Magician</strong></span></p> <p align="justify"> A magician's major attribute is intelligence, which enables the magician to cast spells. The number and variety of spells increases as the magician gains experience and intelligence. Other types of characters can cast spells, but only if they manage to gain extraordinarily high intelligence. Magic users are not as hearty as fighters; they receive 1 to 8 extra hit points for every new experience level.</p> <p align="justify"><strong><span style="FONT-VARIANT: small-caps">2.3 The Cleric</span></strong></p> <p align="justify"> A cleric has a high wisdom rating and can thus pray. The number and variety of prayers which the gods are willing to grant to a cleric increase as the cleric gains experience and wisdom. Other character types can pray only if they manage to gain extraordinary wisdom.</p> <p align="justify"> Because of their religious nature, clerics can also affect the "undead" beings, like zombies and ghouls, which became monsters after they died. If an "undead" creature is next to a cleric, the cleric may try to turn it and cause it to flee. If the cleric is sufficiently powerful relative to the monster, the cleric will destroy it. This ability increases as the character gains experience levels.</p> <p align="justify"> Clerics can gain from 1 to 8 extra hit points on reaching a new experience level.</p> <p align="justify"><strong><span style="FONT-VARIANT: small-caps">2.4 The Thief</span></strong></p> <p align="justify"> A thief is exceptionally dextrous and has a good chance to set a trap or rob a monster. Any type of character can try to set a trap or steal from a monster standing next to the character, but the chances of success are low compared to a thief's chances. </p> <p align="justify"> By their nature, thieves can automatically detect all the gold on the current level of the dungeon. They are also good at detecting hidden traps. Because thieves slink along, they are not as likely as other characters to wake sleeping monsters. If a thief manages to sneak up on a creature without waking it, he will get a chance to backstab the monster. When this is done, the damage done by the thief greatly increases based on his experience level.</p> <p align="justify"> Thieves gain from 1 to 6 extra hit points from a new experience level. </p> <p align="justify"><strong><span style="FONT-VARIANT: small-caps">2.5 CONSTITUTION</span></strong></p> <p align="justify">Every character has a constitution rating. A character with an exceptionally good constitution will gain more than the normal amount of hit points associated with the character's class when the character reaches a new experience level. Exceptional constitution also provides better protection versus poison-based attacks and diseases.</p> <p align="justify"><strong><span style="FONT-VARIANT: small-caps">2.6 Experience Levels</span></strong></p> <p align="justify"> Characters gain experience for killing monsters, stealing from monsters, and turning monsters. Each character class has a set of thresholds associated with it. When a character reaches a threshold, the character attains the next experience level. This new level brings extra hit points and a greater chance of success in performing the abilities associated with the character's class. Magicians receive new spells, and clerics receive new prayers.</p> <p align="justify"> Thieves have the lowest threshold for gaining experience levels, followed by clerics. Fighters are next, and magicians have the highest threshold.</p> <h3 align="justify"> 3. THE SCREEN</h3> <p align="justify"> During the normal course of play, the screen consists of three separate sections: the top line of the terminal, the bottom two lines of the terminal, and the remaining middle lines. The top line reports actions which occur during the game, the middle section depicts the dungeon, and the bottom lines describe the player's current condition.</p> <p align="justify"><strong><span style="FONT-VARIANT: small-caps">3.1 The Top Line</span></strong> <p align="justify"> Whenever anything happens to the player, such as finding a scroll or hitting or being hit by a monster, a short report of the occurrence appears on the top line of the screen. When such reports occur quickly, one right after another, the game displays the notice followed by the prompt '--More--.' After reading this notice, the player can press a space to display the next message. At such a point, the game ignores all commands until the player presses a space.</p> <p align="justify"> <strong> <span style="FONT-VARIANT: small-caps">3.2 The Dungeon Section</span></strong> <p align="justify"> The large middle section of the screen displays the player's surroundings using the following symbols: </p> <p> <table border="0" cellpadding="3" style="BORDER-COLLAPSE: collapse" id="table3" cellspacing="3"> <tr> <td align="middle">|</td> <td> </td> <td>A wall of a room.</td> </tr> <tr> <td align="middle">-</td> <td> </td> <td>A wall of a room.</td> </tr> <tr> <td align="middle">*</td> <td> </td> <td>A pile of gold.</td> </tr> <tr> <td align="middle">%</td> <td> </td> <td>A way to the next level.</td> </tr> <tr> <td align="middle">+</td> <td> </td> <td>A doorway.</td> </tr> <tr> <td align="middle">.</td> <td> </td> <td>The floor in a room.</td> </tr> <tr> <td align="middle">@</td> <td> </td> <td>The player.</td> </tr> <tr> <td align="middle">_</td> <td> </td> <td>The player, when invisible.</td> </tr> <tr> <td align="middle">#</td> <td> </td> <td>The floor in a passageway.</td> </tr> <tr> <td align="middle">!</td> <td> </td> <td>A flask containing a potion.</td> </tr> <tr> <td align="middle">?</td> <td> </td> <td>A sealed scroll.</td> </tr> <tr> <td align="middle">:</td> <td> </td> <td>Some food.</td> </tr> <tr> <td align="middle">)</td> <td> </td> <td>A weapon.</td> </tr> <tr> <td align="middle"> </td> <td nowrap> </td> <td nowrap>Solid rock (denoted by a space).</td> </tr> <tr> <td align="middle">]</td> <td> </td> <td>Some armor.</td> </tr> <tr> <td align="middle">;</td> <td> </td> <td>A miscellaneous magic item.</td> </tr> <tr> <td align="middle">,</td> <td> </td> <td>An artifact.</td> </tr> <tr> <td align="middle">=</td> <td> </td> <td>A ring.</td> </tr> <tr> <td align="middle">/</td> <td> </td> <td>A wand or a staff.</td> </tr> <tr> <td align="middle">^</td> <td> </td> <td>The entrance to a trading post.</td> </tr> <tr> <td align="middle">></td> <td> </td> <td>A trapdoor leading to the next level</td> </tr> <tr> <td align="middle">{</td> <td> </td> <td>An arrow trap</td> </tr> <tr> <td align="middle">$</td> <td> </td> <td>A sleeping gas trap</td> </tr> <tr> <td align="middle">}</td> <td> </td> <td>A beartrap</td> </tr> <tr> <td align="middle">~</td> <td> </td> <td>A trap that teleports you somewhere else</td> </tr> <tr> <td align="middle">`</td> <td> </td> <td>A poison dart trap</td> </tr> <tr> <td align="middle">"</td> <td> </td> <td>a shimmering magic pool</td> </tr> <tr> <td align="middle">'</td> <td> </td> <td>An entrance to a maze</td> </tr> <tr> <td align="middle">$</td> <td> </td> <td>Any magical item. (During magic detection)</td> </tr> <tr> <td align="middle">></td> <td nowrap> </td> <td nowrap>A blessed magical item. (During magic detection)</td> </tr> <tr> <td align="middle"><</td> <td> </td> <td>A cursed magical item. (During magic detection)</td> </tr> <tr> <td align="middle">A letter</td> <td> </td> <td>A monster. Note that a given letter may signify<br> multiple monsters, depending on the level of the<br> dungeon. The player can always identify a current<br> monster by using the identify command ('/').</td> </tr> </table> </p> <p align="justify"><strong><span style="FONT-VARIANT: small-caps">3.3 The Status Section</span></strong></p> <p align="justify"> The bottom two lines of the screen describe the player's current status. The first line gives the player's characteristics: </p> <ul> <li> <p align="justify">Intelligence (Int)</p> <li> <p align="justify">Strength (Str)</p> <li> <p align="justify">Wisdom (Wis)</p> <li> <p align="justify">Dexterity (Dxt)</p> <li> <p align="justify">Constitution (Const)</p> <li> <p align="justify">Charisma (Char)</p> <li> <p align="justify">Encumbrance (Carry)</p> </li> </ul> <p align="justify"> Intelligence, strength, wisdom, dexterity, and constitution have a normal maximum of 25, but can be higher when augmented by a ring. Encumbrance is a measurement of how much the player can carry versus how much he is currently carrying. The more you carry relative to your maximum causes you to use more food.</p> <p align="justify"> The second status line provides the following information: </p> <ul> <li> <p align="justify">The current level (Lvl) in the dungeon. This number increases as the player goes further down.</p> <li> <p align="justify">How much gold (Au) the player is carrying.</p> <li> <p align="justify">The player's current number of hit points (Hp), followed in parentheses by the player's current maximum number of hit points. Hit points express the player's health. As a player heals by resting, the player's current hit points gradually increase until reaching the current maximum. This maximum increases each time a player attains a new experience level. If the player's current hit points reach 0, the player dies.</p> <li> <p align="justify">The player's armor class (Ac). This number describes the amount of protection provided by the armor and rings currently worn by the player. Wearing no armor is equivalent to an armor class of 10. The protection level increases as the armor class decreases.</p> <li> <p align="justify">The player's current experience level (Exp) followed by the player's experience points. The player can gain experience points by killing monsters, successfully stealing from monsters, and turning monsters. When a player gains enough experience points to surpass a threshold that depends on the player's character type, the player reaches a new experience level. A new experience level brings extra hit points and possibly added abilities, such as a new spell for a magician or a new prayer for a cleric.</p> <li> <p align="justify">A description of the player's character. This description depends on the player's character type and experience level.</p> </li> </ul> <h3 align="justify">4. COMMANDS</h3> <p align="justify"> A player can invoke most Rogue commands by typing a single character. Some commands, however, require a direction, in which case the player types the command character followed by a directional command. Many commands can be prefaced by a number, indicating how many times the command should be executed.</p> <p align="justify"> When the player invokes a command referring to an item in the player's pack (such as reading a scroll), the game prompts for the item. The player should then type the letter associated with the item, as displayed by the inventory command. Typing a '*' at this point produces a list of the eligible items.</p> <p align="center"><b><i>Rogue understands the following commands:</i></b></p> <p> <table border="0" cellpadding="3" style="BORDER-COLLAPSE: collapse" id="table4" cellspacing="3"> <tr> <td align="middle" valign="top">?</td> <td> </td> <td>Preceding a command by a '?' produces a brief explanation of the command. The command '?*' gives an explanation of all the commands.</td> </tr> <tr> <td align="middle" valign="top">/</td> <td> </td> <td>Preceding a symbol by a '/' identifies the symbol.</td> </tr> <tr> <td align="middle" valign="top">h</td> <td> </td> <td>Move one position to the left.</td> </tr> <tr> <td align="middle" valign="top">j</td> <td> </td> <td>Move one position down.</td> </tr> <tr> <td align="middle" valign="top">k</td> <td> </td> <td>Move one position up.</td> </tr> <tr> <td align="middle" valign="top">l</td> <td> </td> <td>Move one position to the right.</td> </tr> <tr> <td align="middle" valign="top">y</td> <td height="21"> </td> <td height="21">Move one position to the top left.</td> </tr> <tr> <td align="middle" valign="top">u</td> <td> </td> <td>Move one position to the top right.</td> </tr> <tr> <td align="middle" valign="top">b</td> <td> </td> <td>Move one position to the bottom left.</td> </tr> <tr> <td align="middle" valign="top">n</td> <td> </td> <td>Move one position to the bottom right</td> </tr> <tr> <td align="middle" valign="top">H</td> <td> </td> <td>Run to the left until reaching something interesting.</td> </tr> <tr> <td align="middle" valign="top">J</td> <td> </td> <td>Run down until reaching something interesting.</td> </tr> <tr> <td align="middle" valign="top">K</td> <td> </td> <td>Run up until reaching something interesting.</td> </tr> <tr> <td align="middle" valign="top">L</td> <td> </td> <td>Run to the right until reaching something interesting.</td> </tr> <tr> <td align="middle" valign="top">Y</td> <td> </td> <td>Run to the top left until reaching something interesting.</td> </tr> <tr> <td align="middle" valign="top">U</td> <td> </td> <td>Run to the top right until reaching something interesting.</td> </tr> <tr> <td align="middle" valign="top">B</td> <td> </td> <td>Run to the bottom left until reaching something interesting.</td> </tr> <tr> <td align="middle" valign="top">N</td> <td> </td> <td>Run to the bottom right until reaching something interesting</td> </tr> <tr> <td align="middle" valign="top">t</td> <td> </td> <td>This command, followed by a directional command, prompts for an object from the players pack. The player then throws the object in the specified direction.</td> </tr> <tr> <td align="middle" valign="top">f</td> <td> </td> <td>When this command precedes a directional command, the player moves in the specified direction until passing something interesting.</td> </tr> <tr> <td align="middle" valign="top">z</td> <td> </td> <td>This command must be followed by a directional command. Rogue then prompts for a wand or staff from the player's pack and zaps it in the specified direction.</td> </tr> <tr> <td align="middle" valign="top">></td> <td> </td> <td>Go down to the next level.</td> </tr> <tr> <td align="middle" valign="top"><</td> <td> </td> <td>Go up to the next level.</td> </tr> <tr> <td align="middle" valign="top">s</td> <td> </td> <td>Search for a secret door or a trap in the circle surrounding the player.</td> </tr> <tr> <td align="middle" valign="top">.</td> <td> </td> <td>This command (a dot) causes the player to rest a turn.</td> </tr> <tr> <td align="middle" valign="top">i</td> <td> </td> <td>Display an inventory of the player's pack.</td> </tr> <tr> <td align="middle" valign="top">I</td> <td> </td> <td>This command prompts for an item from the player's pack and displays the inventory information for that item.</td> </tr> <tr> <td align="middle" valign="top">q</td> <td> </td> <td>Quaff a potion from the player's pack.</td> </tr> <tr> <td align="middle" valign="top">r</td> <td> </td> <td>Read a scroll from the player's pack.</td> </tr> <tr> <td align="middle" valign="top">e</td> <td> </td> <td>Eat some food from the player's pack.</td> </tr> <tr> <td align="middle" valign="top">w</td> <td> </td> <td>Wield a weapon from the player's pack.</td> </tr> <tr> <td align="middle" valign="top">W</td> <td> </td> <td>Wear some armor or miscellaneous magic item from the player's pack.</td> </tr> <tr> <td align="middle" valign="top">T</td> <td> </td> <td>Take off whatever the player is wearing.</td> </tr> <tr> <td align="middle" valign="top">P</td> <td> </td> <td>Put on a ring from the player's pack. The player can wear a maximum of eight rings.</td> </tr> <tr> <td align="middle" valign="top">R</td> <td> </td> <td>Remove a ring from the player's hand.</td> </tr> <tr> <td align="middle" valign="top">^U</td> <td> </td> <td>Use a miscellaneous magic item in the player's pack.</td> </tr> <tr> <td align="middle" valign="top">d</td> <td> </td> <td>Drop an item from the player's pack.</td> </tr> <tr> <td align="middle" valign="top">c</td> <td> </td> <td>When the player types this command, Rogue prompts for an item from the player's pack and a one-line name. Rogue then calls all similar items (such as all the blue potions) by the specified name.</td> </tr> <tr> <td align="middle" valign="top">m</td> <td> </td> <td>When the player types this command, Rogue prompts for an item from the player's pack and a one-line name. Rogue then marks the specified item with the given name.</td> </tr> <tr> <td align="middle" valign="top">o</td> <td> </td> <td>Typing this command causes Rogue to display all the settable options. The player can then merely examine the options or change any or all of them.</td> </tr> <tr> <td align="middle" valign="top">C</td> <td> </td> <td>This command, restricted to magicians and characters with exceptionally high intelligence, produces a listing of the magician's current supply of spells. The player can select one of the displayed spells and, if the player's energy level is sufficiently high, cast it. The more complicated the spell, the more energy it takes.</td> </tr> <tr> <td align="middle" valign="top">p</td> <td> </td> <td>This command, restricted to clerics and characters with exceptionally high wisdom, produces a listing of the cleric's known prayers. The player can then offer one of these prayers to the character's deity. Deities are not known for favoring characters which continually pray to them, and they are most likely to answer the least "ambitious" prayers.</td> </tr> <tr> <td align="middle" valign="top">a</td> <td> </td> <td>This command is restricted to clerics and characters with exceptionally high wisdom and must be followed by a directional command. If there is an "undead" monster standing next to the player in the specified direction, there is a chance the player will affect the monster by causing it to flee or possibly even destroying it.</td> </tr> <tr>