-+-+-+-+-+-+-+-+ 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 +-+-+-+-+-+-+-+-