-+-+-+-+-+-+-+-+ START OF PART 38 -+-+-+-+-+-+-+-+ X 'X' : prt('X - ???.',1,1); X 'Y' : prt('Y - ???.',1,1); X 'Z' : prt('Z - Zarg!!.',1,1); X '`5B' : prt('`5B - Hard armor.',1,1); X '`5D' : prt('`5D - Misc. armor.',1,1); X '`5E' : prt('`5E - A trap.',1,1); X '_' : prt('_ - An alien device.',1,1); X `7B'`60' : prt('`60 - Not used.',1,1);`7D X 'a' : prt('a - Animals.',1,1); X 'b' : prt('b - Bats.',1,1); X 'c' : prt('c - cloister.',1,1); X 'd' : prt('d - Droids.',1,1); X 'e' : prt('e - Ectoplasms.',1,1); X 'f' : prt('f - Walking Fungi.',1,1); X 'g' : prt('g - Gang Members.',1,1); X 'h' : prt('h - Hackers.',1,1); X 'i' : prt('i - Insect (swarms).',1,1); X 'j' : prt('j - ???.',1,1); X 'k' : prt('k - Kitchen Utensils.',1,1); X 'l' : prt('l - Lasers.',1,1); X 'm' : prt('m - Machinery.',1,1); X 'n' : prt('n - ???.',1,1); X 'o' : prt('o - Orbs.',1,1); X 'p' : prt('p - Person (Humanoid).',1,1); X 'q' : prt('q - ???.',1,1); X 'r' : prt('r - Rodents.',1,1); X 's' : prt('s - Snakes.',1,1); X 't' : prt('t - Ticks.',1,1); X 'u' : prt('u - ???.',1,1); X 'v' : prt('v - Vogons.',1,1); X 'w' : prt('w - Worms.',1,1); X 'x' : prt('x - Spiders.',1,1); X 'y' : prt('y - ???.',1,1); X 'z' : prt('z - Zippy.',1,1); X '`7B' : prt('`7B - Ammo.',1,1); X '`7C' : prt('`7C - A sword or dagger.',1,1); X '`7D' : prt('`7D - Gun.',1,1); X '`7E' : prt('`7E - Miscellaneous item.',1,1); X otherwise prt('Not Used.',1,1); X end X END; X`20 X`20 X `7B Help for available commands`7D X`5Bpsect(misc2$code)`5D procedure help; X begin X clear(1,1); Xprt('B Bash (object/creature)`7C q Quaff a potion.',1,1); Xprt('C Display character. `7C r Run a disk program.',2,1); Xprt('D Disarm a trap/chest. `7C s Search for hidden doors.',3 V,1); Xprt('E Eat some food. `7C t Take off an item.',4,1); Xprt('F Put D-cell in lantern.`7C u Use an alien device.',5,1); Xprt('L Current location. `7C V Version and credits.',6,1); Xprt('P Print map. `7C w Wear/Wield an item.',7,1); Xprt('R Rest for a period. `7C x Exchange weapon.',8,1); Xprt('S Search Mode. `7C / Identify a character.',9,1) V; Xprt('T Tunnel. `7C ? Display this panel.',10,1); Xprt('a Aim & fire a ray gun. `7C k Display the Kill list.)',11 V,1); Xprt('b Browse a book. `7C H Get Help on a subject.',12, V1); Xprt('c Close a door. `7C `5EM Repeat the last message.' V,13,1); Xprt('d Drop an item. `7C `5ER Redraw the screen.',14,1) V; Xprt('e Equipment list. `7C `5EY Quit the game.',15,1); Xprt('f Fire a gun. `7C `5EZ Save character and quit.' V,16,1); Xprt('h Hurl an item. `7C',17,1); Xprt('i Inventory list. `7C < Go up an up-staircase.',18,1); Xprt('j Jam a door with spike.`7C > Go down a down-staircase.',19,1); Xprt('l Look given direction. `7C . Move in direction.',20,1); Xprt('m Do skill from manual. `7C Movement: 7 8 9',21,1); Xprt('o Open a door/chest. `7C 4 6 5 = Rest',22,1) V; Xprt('p Read a prayer. `7C 1 2 3',23,1); X pause(24); X draw_cave; X end; X`20 X X`7BDisplays the list of all the monsters -NBT`7D X`5Bpsect(misc2$code)`5D procedure do_all_mons; X XBegin X Clear(1,1); Xprt(' Note: A "*" in front of the symbol denotes that more than one',3,1); Xprt(' type of creature uses that symbol.',4,1); Xprt('*$ Coins *a Animals *b Bats',6,1); Xprt(' c Cloister *d Droids *e Ectoplasms ', V7,1); Xprt('*f Walking Fungi *g Gangs *h Hackers',8,1) V; Xprt('*i Insects (swarm) j Jackal *k Kitchen Utens Vils',9,1); Xprt('*l Lasers *m Machinery n ???',10,1); Xprt('*o Orbs *p Humanoid q ???',11,1); Xprt('*r Rodent *s Snakes *t Tick',12,1); Xprt('*v Vortexes *w Worm(s) y ???',13,1); Xprt('*z Zippy *`7C Evil Sword *A Aliens',14, V1); Xprt(' B The Boss C Acidic Cube *D Droids',15,1) V; Xprt('*E Evil Things F Mind Flayer *G Guards',16,1) V; Xprt('*H Hound, Horse I A Lad Insane *J Jelly',17,1); Xprt(' L ??? *M Mutants',18,1); Xprt('*O Ooze *P Giant Humanoid *R Robots',19,1) V; Xprt(' S ??? T ??? U ???',20,1); Xprt('*V Vortexes *W Warbots X ???',21,1); Xprt(' Y ???`09`09`09 Z Zarg!!',22,1); X End; X X`7BDisplays a particular monster's "character sheet" -NBT`7D X`5Bpsect(misc2$code)`5D procedure do_mon_out (moncode : integer); X XVar`20 X nbt_out_val, otw, attstr, attx : vtype; X cur_line, xpos, atype, adesc,i : integer; X damstr`09`09`09 : dtype; X XBEGIN X clear (1,1); X with c_list`5Bmoncode`5D do X BEGIN X prt (name,1,1); X prt ('Screen Code:',1,60); X prt (cchar,1,72); X prt_num ('Cur. Creature Number:',moncode,1,30); X prt_num ('Speed =',speed,2,3); X prt_num ('Level =',level,2,13); X prt_num ('Exp =',mexp,2,24); X prt_num ('AC =',ac,2,36); X prt_num ('Eye-sight =',aaf,2,44); X nbt_out_val := 'HD = ' + hd; X prt (nbt_out_val,2,58); X cur_line := 5; X if (uand(%X'80000000',cmove) <> 0) then X begin X cur_line := 7; X prt ('This creature is a ***Win Creature***',3,20); X end; X if (uand(%X'00080000',cmove) <> 0) then X begin X prt('Creature eats/kills other creatures.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0001',cdefense) <> 0) then X begin X prt('Creature is an Alien.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0002',cdefense) <> 0) then X begin X prt('Creature is a Creature.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0004',cdefense) <> 0) then X begin X prt('Creature is Scum.',((cur_line + 1) div 2),(41 - 40*(cur_line m Vod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0008',cdefense) <> 0) then X begin X prt('Creature is a Mutant.',((cur_line + 1) div 2),(41 - 40*(cur_li Vne mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0010',cdefense) <> 0) then X begin X prt('Creature harmed by cold.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0020',cdefense) <> 0) then X begin X prt('Creature harmed by fire.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0040',cdefense) <> 0) then X begin X prt('Creature harmed by poison.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0080',cdefense) <> 0) then X begin X prt('Creature harmed by acid.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0100',cdefense) <> 0) then X begin X prt('Creature harmed by blue light.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'0200',cdefense) <> 0) then X begin X prt('Creature harmed by erosion',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'1000',cdefense) <> 0) then X begin X prt('Creature can''t be charmed/slept.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'2000',cdefense) <> 0) then X begin X prt('Creature seen with Infra-Vision.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'4000',cdefense) <> 0) then X begin X prt('hit points',2,69); X prt('Creature has MAX hit points',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (cur_line mod 2) = 0 then cur_line := cur_line + 1; X if (uand(%X'00010000',cmove) <> 0) then X begin X prt('Creature is invisible.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00100000',cmove) <> 0) then X begin X prt('Creature picks up objects.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00200000',cmove) <> 0) then X begin X prt('Creature multiplies.',((cur_line + 1) div 2),(41 - 40*(cur_lin Ve mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'01000000',cmove) <> 0) then X begin X prt('Creature carries objects.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'02000000',cmove) <> 0) then X begin X prt('Creature carries gold, gems, etc.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'04000000',cmove) <> 0) then X begin X prt('Has object/gold 60% of time.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'08000000',cmove) <> 0) then X begin X prt('Has object/gold 90% of time.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'10000000',cmove) <> 0) then X begin X prt('Has 1d2 object(s)/gold.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'20000000',cmove) <> 0) then X begin X prt('Has 2d2 object(s)/gold.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'40000000',cmove) <> 0) then X begin X prt('Has 4d2 object(s)/gold.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (cur_line mod 2) = 0 then cur_line := cur_line + 1; X prt('--- Creature Skills ---',((cur_line + 1) div 2),1); X cur_line := cur_line + 2; X nbt_out_val := ' Uses skills 1 out of every turns.'; X prt(nbt_out_val,((cur_line + 1) div 2),1); X prt_num('',int(uand(%X'F',spells)),((cur_line + 1) div 2),33); X cur_line := cur_line + 2; X if (uand(%X'00000010',spells) <> 0) then X begin X prt('Can teleport short.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00000020',spells) <> 0) then X begin X prt('Can teleport long.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00000040',spells) <> 0) then X begin X prt('Teleport player to itself.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00000080',spells) <> 0) then X begin X prt('Cause light wounds.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00000100',spells) <> 0) then X begin X prt('Cause serious wounds.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00000200',spells) <> 0) then X begin X prt('Hold person.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00000400',spells) <> 0) then X begin X prt('Cause blindness.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00000800',spells) <> 0) then X begin X prt('Cause confusion.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00001000',spells) <> 0) then X begin X prt('Cause fear.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00002000',spells) <> 0) then X begin X prt('Summon a creature.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00004000',spells) <> 0) then X begin X prt('Summon a mutant.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00008000',spells) <> 0) then X begin X prt('Slow person.',((cur_line + 1) div 2), X (41 - 40*(cur_line mod 2))); X cur_line := cur_line + 1; X end; X if (uand(%X'00010000',spells) <> 0) then +-+-+-+-+-+-+-+- END OF PART 38 +-+-+-+-+-+-+-+-