Do Run Run STWRITER.PRGB„!B„!12 4 0 5 0 10 70 2 12 132ST Hack Version 1.03a@ /-\ |@| You are being digested by a mysterious monster --More-- \-/ Welcome to ....ST HACK version 1.03 for Atari ST computersMSDOS versionby Don Kneller2 Panoramic Way #204Berkeley, CA 94704October 30, 1985modified for ST computers by:Rodney Black149 South Carter CourtLouisville, CO 80027June 12, 1986Introduction HACK is a display oriented dungeons and dragons type game. It is similar in style to ROGUE played on UNIX(tm) systems but HACK is much richer in character. HACK has many more monsters and highly varied magic. The motivation in HACK is to descend through the dungeon to find the Amulet of Yendor, then return to the surface. As you travel you will meet various creatures (most of them nasty), find objects (some having magical proper- ties), and experience many hazards in the dungeon itself. ST HACK is the Atari 520 version of UNIX HACK which was originally written by several people at the Stichting Mathematisch Centrum in Amsterdam. This ST version is called ST HACK v1.03 since it is derived from version 1.03 for MSDOS computers. For all those who have played HACK on UNIX, this is a complete version 1.03 with a few enhancements:1) You can specify the characters used to draw the dungeon instead of the -|+#. See the GRAPHICS variable below.2) The numeric keypad can be used for moving as well as the usual "yuhjklbn" keys. See the option "BIOSok".3) New options available through the 'O' command. 15 "confirm" If you try to hit tame or peaceful monsters (like your dog) HACK asks for confirmation."silent" You can turn off the bell for a quieter game."sortpack" Your pack can be sorted by object class (ie. all weapons will be displayed together."packorder" The order to sort your pack in can be specified."pickup" Rather than always picking up objects you step on, you can change the option "pickup" so you only look at what is below you. Handy for scare monster scrolls and avoiding picking up dead cockatrices. Also handy for looking around in shops without picking items up."BIOSok" lets you use the numeric keypad for moving."Confirm", "sortpack", and "pickup" are ON by default. 104) There is a more than one way to counter cockatrices -- it is no longer instant death when they hiss at you.5) Floppy, HardDisk and RAMdisk support. Protection from disk full problems.Major changes from PC HACK 1.0.1E: HACK v1.03 uses time and date information in the game. You should set the time and date when you boot up TOS.Commands new to HACK v1.03 (both UNIX, PC, and ST versions): 15 e 'eat' now lets you eat something you're standing on; you no longer have to be able to pick something up before you eat it.I selective inventories. For example I= shows which rings you have in your inventory.: look at what you're standing on without picking it up.# lets you enter an extended command. The only ones are "dip" and "pray". Dip lets you put objects in potions. Pray doesn't do anything except take up some of your time. 10Commands new to ST HACK: 15 @ Toggles the "pickup" option so you don't have to do "O pickup" and "O !pickup". 10System requirementsTo play ST HACK you need the following:1) Atari 520 or 1040 ST computer (I don't know if TOS must be in ROM for 520's). The display must be in medium or high resolution.2) 2-virtual disk drives (a virtual disk drive is a real single sided drive or a RAM disk. A double sided drive is roughly 2 virtual disks and a hard disk is many virtual disks).Configuration of HACK for your ST computer.The configuration of HACK is controlled by the configuration file, HACK103.CNF. Place it and the support files in the same directory as the program file (HACK103.TTP). The support files are: 15HELP A description of commands and options.HH An abridged version of the above.DATA Information about monsters and objects in the game.RECORD The score file (it may be empty, but it should exist). The top score for each name and player class are saved, but only the top 100 scores are kept.RUMORS Fortune cookie messages (some are true, some are not).HACK103.CNF The ST HACK configuration file. 10Configuration comes from the HACK103.CNF file. Look at this file for some sample configurations for both a 2 floppy system and a hard disk system.The important variables in the HACK103.CNF file are: 15LEVELS 20This is the directory where some of the level files get left as bones files (a description of previous games). Also, if the RAMDISK variable is not set, this is the directory where temporary level files are made. 25example: LEVELS=C:\games\hackdefault: the HACKDIR directory 15SAVE 20This is the directory where any saved games will be kept. 25example: SAVE=c:\games\hackdefault: the HACKDIR directory 20If your player name is JOE, and the SAVE variable is C:\games\hack, then your saved game will be in C:\games\hack\joe.sav. The path can be absolute or relative to the HACKDIR directory.If you append ";noprompt" or just ";n" to the name of the save path, the program won't prompt you to insert the diskette used for saving. This is useful if you have a hard disk. 25example: SAVE=;n 15RAMDISK 20This is the directory where your RAMdisk is. 25example: RAMDISK=D:default: none 20Before starting HACK, the bones files from previous games are copied from LEVELS to RAM. After finishing HACK, the bones files are copied back. Since ST HACK checks the free disk space on the RAMdisk (and on the LEVEL disk), and warns you when you're running out, you should play with a RAMdisk if you have the extra memory. Even a RAMdisk as small as 100K bytes is very effective in speeding up the game. To override the RAMDISK variable, use the -R command line option. 15GRAPHICS 20This is a new feature for ST HACK v1.03. Rather than use -, |, +, # for drawing the dungeon you can use any characters from the printablecharacter set (hexadecimal 20 to FF). The GRAPHICS variable has 9 arguments that describe the the rooms and corridors. The arguments are all integers in the range from 0 to 255 and correspond to the ASCII values of the characters you want to use. The order of the variables is: 25vertical wall, horizontal wall, top left corner, top right corner, bottom left corner, bottom right corner, door, floor, corridor 20The HACK103.CNF file has an example of the use of this variable for drawing the dungeon in ST graphics characters. Check the BASIC manual pages E-1,2,3 for a complete list of the character set and their ASCII values. 15OPTIONS 20Determines many smaller aspects of the game. There are two kinds of options: 251) boolean, which can be either TRUE or FALSE2) compound, which has a value or several values. 20Options can be set before the game in the HACK103.CNF file and can be modified during the game with the 'O' command. You can change several options at a time by separating the options with commas.As an example, a boolean option is "sortpack". To turn it ON, do 'O sortpack' while playing or have an "OPTIONS=sortpack" line in your HACK103.CNF file. To turn it OFF, do 'O !sortpack' while playing or have "OPTIONS=!sortpack" in your HACK103.CNF file. Generally, 4 characters are sufficient to identify the option, so 'O sort' is the same as 'O sortpack'.An example of a compound option is "packorder". To change the ordering of the pack when it is displayed in an inventory, you might do 'O pack:%)!?'. Alternatively, have an "OPTIONS=pack:%)!?" line in your HACK103.CNF file. The compound option "name" can only be set in your HACK103.CNF file. Also, "name" should not have any spaces in it and will be truncated to 10 characters in the RECORD file.When playing, type 'O help' to get a little help on these options. The HELP file has a short description of all options. 10Options new to HACK v1.03 (both UNIX, PC, and ST versions) 15fixinvWhenever possible, once an object has a particular inventory letter (ie. you've had it in your pack), it keeps that letter even if you put it down and pick it up again. By default, TRUE 10Options only in ST and PC HACK v1.03 15confirm Whether you want confirmation before hitting tame monsters. This can be very helpful if you have the problem that you hit your dog and the shopkeepers by accident. If you are blind or confused, though, you don't get this protection! By default, TRUE.silent If this is TRUE, the bell doesn't ring when you make an input error. By default, FALSE.sortpack Whether your pack should be ordered by object class when listed in an inventory. By default, TRUE.packorder The order to display your inventory in. By default, ")[%?/=!(*0 To change the order, use 'O pack:' where is a set of characters representing the various object types. For example, if you do 'O pack:)[/=' then when you do an inventory with the 'i' command your pack will be displayed with weapons ')' first, then armor '[', then wands '/' then rings '='.Note that the default packorder has more letters than the example given here. As in this example, if you don't give a letter for each object type, the other object types are automatically filled in. Thus the next objects in your pack will be amulets '"', then food '%', then scrolls '?', potions '!', etc.pickup Whether you pick up things you step on. If pickup is FALSE, you can look at things you step on without picking them up. This option can be toggled between TRUE and FALSE with the '@' command. By default, TRUE.BIOSok If TRUE, you will be able to use the numeric pad for movement. The translation from numeric pad keys to keyboard keys is: 25 Numeric Pad Keyboard 7 8 9 - y k u m \ | / \ | / 4 -5- 6 + to h -.- l p / | \ / | \ 1 2 3 b j nThe '7' on the numeric pad is translated to a 'y', which is the keyboard key for moving diagonally up and left. Control modifies the translation like this:Numeric Pad: 7 8 9 - 4 5 6 + 1 2 3no Control: y k u m h . l p b j nControl: ^Y ^K ^U ^P ^H . ^L P ^B ^J ^N'^' means control, so '^H' is control-H. By default, FALSE. 15To play the "exact" UNIX version your options should be: OPTIONS=!confirm,!sortpackSample configurationsHard disk system: SAVE=;n (;n -- no prompt required) RAMDISK=d: OPTIONS=name:Bert-C, silent- notice that no LEVELS variable was set. ST HACK will then default to the same directory as HACK103.TTP. Bert-C means your name is "Bert" and you'll play as a cave-person.Two floppy systems: SAVE=a:\ LEVELS=b:\ RAMDISK=c: OPTIONS=name:Gerty-T, female, silent, timeWith the above 2 floppy configuration, if you put HACK103.TTP and its support files on one disk, then use it in drive A whenever you want to play HACK. The savefile will then also be on drive A and the level files will be on drive B. You will be prompted to put in the disk with the savefile on it at the appropriate moments. When the game starts, it will copy the bones files from drive B (the LEVELS directory) onto the RAMdisk, then use the RAMdisk for the temporary level files. (NOTE: the current version crashes at the end of the game in trying to copy the LEVELS files back to a real disk drive.)It is possible to use the same diskette for storing bones files and for saving games since ST HACK checks if there is enough room in the SAVE directory before trying to write out the saved game. If there is not enough room, you can change diskettes. However, if you have to change diskettes, the diskette you're removing MUST NOT have the level files on it! In order to save a game, ST HACK must have access to the save file and all the level files at the same time.This means that if you are using a RAMdisk for the level files it is safe for you to use the same diskette for both bones and saved games since even if the saved game would be too big for this diskette you can change to another diskette. The advantage of using the same diskette is that you won't have to keep swapping diskettes whenever HACK tries to find a save file. If you want to try this, your HACK103.CNF file should look something like: LEVELS=b:\ SAVE=b:\ (perhaps with ;n for no prompting) RAMDISK=c: (You MUST have a RAMdisk) OPTIONS=whateverIf you don't have enough extra memory for a RAMdisk, or you want to keep several saved games on several floppies, please use separate floppies for the game diskette (HACK103.TTP and support files), for the levels and bones diskette, and for the save diskette. Start with: GAME DISK: COMMAND.COM, HACK103.EXE, HACK103.CNF, RUMORS, DATA, HELP, HH, RECORD others (autoexec.bat, config.sys, etc) LEVELS DISK: empty (or with previous bones files) SAVE DISK: emptyNOTES for all systems:Games are saved in the SAVE directory with filename NAME.sav where NAME refers to name you are using to play. Thus it is possible to have several games saved under different names provided you have enough disk space.Since ST HACK checks how much memory is available on a disk before trying to write to it, even a relatively small RAMdisk can be used to greatly speed up the game. A reasonable size might be: (size of all bones files) + about 60KThis will let you get to about level 10 in the dungeon. ST HACK will warn you when it's running out of disk space (which happens if you get deep into the dungeon). At this time you should save the game, then restart with the -R command line option which tells ST HACK not to use the RAMdisk.How to play HACK -- command line optionsST HACK v1.03 has several command line options: 15-u name Specifies the name to use other than the value of the OPTIONS name. ex: A> hack103 -uTerminator or A> hack103 -u TerminatorYou can append -C, -W, -S, -F, -K, or -T to the name to select the type of character you want to be. ex: A> hack103 -uTerminator-KThis means you will play with the name Terminator and you will be a Knight.-C, -W, -S, -F, -K, or -TSelect the character you will be playing as. This option can be lower or upper case (except for -S which must be upper). Thus: A> hack103 -Tmeans get your name from the OPTIONS line in the HACK103.CNF file, and play as a tourist. If ST HACK can't get your name from the HACK103.CNF file, you will be asked "Who are you?".-s [name]List the scores of the person with this name. If the name is not given, uses the value of the OPTIONS name. If the name is "all", list all scores in the record file. You can erase the contents of the record file if you wish, but there must be a record file in your directory if you want ST HACK to keep track of scores.-RThis tells ST HACK to ignore the RAMDISK variable in HACK103.CNF. This option is useful for restarting a saved game after ST HACK warned you it was running out of disk space and you saved the game. ex: A> hack103 -uFuzzy -Rmeans let my name be "Fuzzy" and play without using a RAMdisk.Once you have started ST HACK, type a '?' to get help on the available commands. Long help will show you the HELP file, short help will show you the HH file. You can also print the HELP file and keep it for a handy reference. Other useful commands are '/' which describes the things you see on the screen, and '\' which shows you which objects have been discovered so far.ScoringWhen the game ends, either by your death, when you quit, or if you escape from the caves, HACK will give you (a fragment of) the list of top scorers. The scoring is based on many aspects of your behavior but a rough estimate is obtained by taking the amount of gold you've found in the cave plus four times your (real) experience. Precious gems may be worth a lot of gold when brought to the exit. There is a 10% penalty for getting yourself killed.Hints for beginner HACKERSHACK is a Dungeons and Dragons like game where the object is to descend into a dungeon to retrieve the Amulet of Yendor and return to the surface. Along the way you will find many items and monsters and you will have to learn how to deal with each thing. Your characterYou can be one of several character classes when you start the game. Each character starts with different attributes (strength, hit points) and a different inventory of items (armor, weapons, etc). You should try the different classes to see which is best for you. The class most likely to survive the first few dungeon levels is probably the cave-person. However, each class has its strong and weak points so you should try them all.The status lineAt the bottom of the screen is displayed information about your state of being. You see the dungeon level you are on, how many hit points you have now (and will have when fully recovered), what your armor class is (the lower the better), your strength, experience level and the state of your stomach. If you have the "time" option ON, you will also see the number of moves you have taken.The little dogYou start out being accompanied by a little dog (nameable with the 'C' command) who can be very useful to you -- try not to kill him! Your dog will follow you to some extent -- if you carry tripe rations, he will follow you even better. Sometimes he gets in your way. Either move around him, or wait (with the '.' command) until he moves. If you want him to follow you to the next dungeon level, he must be on a square next to you when you descend or ascend the stairs. Sometimes he gets hungry and confused and hits you. You can feed him by throwing food at him with the 't' command.Your dog may get mad at you if you move to a different dungeon level without taking him with you. Although he may not hit you, he won't help you either. You'll have to appease him somehow.Your dog is useful for his fighting ability and because he can pick up and carry objects. Of course, your dog might be a female, so change all "he" and "him" to "she" and "her". The dungeonThe dungeon is an interconnected system of rooms and corridors. The rooms have doors that lead to the corridors. You must walk straight through a door -- no diagonals allowed. Some doors (and some corridors) are hidden and you must search for them (with the 's' command). Usually you must search several times, so use a repeat count (eg '5s'). Some rooms are special and have no doors or connecting corridors. There is a way to get in, though, but you will have to experiment.Some rooms have special contents -- some are shops (but be aware that the shopkeeper expects payment (the 'p' command) for the items you get there) and some are zoos, full of interesting monsters. Some rooms are lit and you can see the entire room, and some rooms are dark so you can see only the floor near you.MonstersTo fight monsters, move to occupy the same square they are in. You can also throw things at them, or zap them with wands. It is best to leave some monsters alone.ObjectsThe objects you find may be enchanted (that's good) or cursed (that's bad) or normal. Cursed items are generally less effective than normal and also, once you have them on your body they are impossible to remove unless you remove their curse. You use different objects in different ways:) WEAPONS are wielded ('w') or thrown ('t') 15Some weapons are more effective when used together. For example, you get more effect by wielding a bow before throwing arrows. 'w-' means to wield nothing; ie. be barehanded 10[ ARMOR is worn ('W') and taken off ('T') 15You can wear more than 1 piece of armor, but there are some restrictions on the combinations. For example, you can only wear 1 SUIT of armor, but you can always wear an elven cloak. 10! POTIONS are quaffed ('q')= RINGS are put on ('P') and removed ('R') 15You only can only wear 2 rings at a time, one on each hand. Also, wearing rings makes you to use up more food, so use them sparingly. 10/ WANDS are zapped ('z') 15Some wands need a direction to be zapped in, but others do not. 10? SCROLLS are read ('r')( TOOLS are applied ('a') 15For example, to use a whistle, you apply it. 10Initially you will not know what the potions, rings, wands or scrolls do until you use them. They will have names like "XIXIXI". Some of these objects are identified as soon as you use them (for example, a scroll of light causes a dark room to be lit).Other objects have no noticeable effect. If it's not immediately obvious what a scroll or potion does the first time you use it, you may be asked to give it a name. HACK does this so that if you have an idea about what the object does you can name it something appropriate so the next time you find it you will know something about it. Whenever HACK asks for a name it is possible to use ^H or back-arrow to erase the previous character, ^U to erase the entire line, and to quit without supplying a name.Using some objects gives a message like "You have a strange feeling for a moment, but it passes". This means the object would have done something but couldn't do it now (for example, some scrolls affect your weapon, but if you're not wielding a weapon you'll get this message).The call command 'c' can be used to name individual objects, or all objects of a certain type. When you do a 'c', HACK asks if you want to name an individual object. Answer 'y' if you do and 'n' if you want to name all objects of the same type. Then HACK will prompt you for the inventory letter of the object you want to name. For example, if you put on a silver ring that has inventory letter 's' and notice your strength increases by two then you do: 'c' 'n' 's' 'strength' (call all objects with the same type as item 's' "strength"). then 'c' 'y' 's' '+2' (call individual inventory item 's' "+2")When you do an inventory you will see s) a ring called strength named +2The next time you pick up a silver ring it will be called strength so you will know what it does. However, you will not know if it will increase or decrease your strength! You will have to put it on to find out or you will have to identify it.Cursed objectsRings, armor, and weapons can be cursed -- if you put them on or wield them, you will not be able to take them off or wield something else. If you enchant an object, it will be better than it was before. Enchanting armor changes your armor class by 1 (eg. you could go from an armor class of 7 to a class of 6 -- the less positive the number, the better the armor class, as in Dungeons and Dragons). For weapons, the more positive the number, the better. Thus a +2 mace is better than a +1 mace. Some armor is better than others -- normal plate mail is better than normal ring mail.Cursed rings can be a severe problem because it is not possible to remove them and they cause you to use up food faster.Identifying objectsThe scroll of identify will help you to identify many objects, but generally you just have to use them and see what happens. Occasionally a scroll of identify will have the ability to identify several objects. So it is to your advantage to have several unidentified objects before you use an identify scroll. When you read a scroll of identify HACK will ask you which classes of objects you want identified. If, for example, you answer '=/' then for each ring in your pack you will be asked if you want to identify it. After going through all rings, you will be asked about the wands. If you do not identify any of these objects you will get back to the question about which classes of objects you want identified.Since it is difficult to determine what rings do because their effect may not be obvious, and because cursed rings can't be removed unless you remove their curse, scrolls of identify are probably best used to identify rings.What is "--More--"?Whenever there is a lot of information for you to see, HACK waits for you to read it all by giving you a "--More--". If the "--More--" is displayed on the normal response line (the top line that most messages are shown on), then HACK is waiting for you to enter ' ' (the space character) or (the ENTER key).If HACK has printed out a list of information (eg. you did an 'i' command), then HACK will accept ' ' or as well as the inventory letter of anything in the list. Where is this useful? An example is when you want to quaff a potion but you can't remember the letter of the potion you want. You do 'q' then '?' and HACK gives you the list of all your potions followed by a "--More--" message. If you type ' ' or you get back to the prompt about which potion you want to quaff. If you type the inventory letter of the potion, you immediately quaff that potion.If the screen is completely cleared to give you information (eg. you're looking at the help documentation with the '?' command), then there will be more than one screen full of information. In this case, ' ' or mean "show the next screen" and 'q' or ESC mean "stop".FinallyOf course, there is much about HACK to discover yourself. The RUMORS file provides helpful clues for playing. Also, saved games have no special protection so you can save a game and make a copy of the savefile. Then if you die trying something risky you can use the copy to restart your game from the same place.If the dungeon collapses ....On rare occasions HACK gets an error and quits with a collapsing dungeon. This is usually due to a disk error or lack of enough memory (or, perhaps even a program bug!). Even though there may be "level.*" files left behind, the game cannot be recovered because the information that was in ram is lost. You can delete the old level.* files before playing a new game, or HACK will do it for you next game. However, if you do leave the level.* files behind, HACK will void the next game you play, then remove the old files. You will then be able to play again.PitchIn order to improve your luck when playing PC HACK you should throw some '$' or '*' to: Don Kneller 2 Panoramic Way #204 Berkeley, CA 94704Your contribution would be much appreciated and provide encouragement to maintain and update PC HACK.With that aside, you are encouraged to copy this program and give it to your friends and post it to BBS's. You can send me mail on FIDOnet at node 125/84 (SCI-Fido 415-655-0667 300/1200 baud, 24 hours, 7 days). People on USENET or ARPANET can reach me at: UUCP: ucbvax!ucsfcgl!kneller ARPA: ucsfcgl!kneller@Berkeley.arpaIf you find a bug in PC HACK, or you just want to drop me a line with a comment or improvement suggestion, please let me know at any of the above locations. Good Luck and Happy Hacking!!!!!!!as