annotate rogue4/extern.c @ 315:ad2570b5b21f

Advanced Rogue 5, 7: fix some trading post messages. When attempting to buy an unaffordable object, messages were often of the form "You can't afford that a scroll of hold monster !", because the object description (stored in curpurch) was the same text used in inventory displays. This has been worked around by inspecting the contents of curpurch and using different message templates.
author John "Elwin" Edwards
date Sun, 24 Oct 2021 20:26:21 -0400
parents acc3718f50ab
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
1 /*
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
2 * global variable initializaton
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
3 *
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
4 * @(#)extern.c 4.32 (Berkeley) 4/1/82
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
5 *
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
6 * Rogue: Exploring the Dungeons of Doom
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
7 * Copyright (C) 1980, 1981, 1982 Michael Toy, Ken Arnold and Glenn Wichman
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
8 * All rights reserved.
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
9 *
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
10 * See the file LICENSE.TXT for full copyright and licensing information.
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
11 */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
13 #include <curses.h>
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
14 #include "rogue.h"
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
15
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
16 bool after; /* True if we want after daemons */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
17 bool noscore; /* Was a wizard sometime */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
18 bool s_know[MAXSCROLLS]; /* Does he know what a scroll does */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
19 bool p_know[MAXPOTIONS]; /* Does he know what a potion does */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
20 bool r_know[MAXRINGS]; /* Does he know what a ring does */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
21 bool ws_know[MAXSTICKS]; /* Does he know what a stick does */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
22 bool amulet = FALSE; /* He found the amulet */
15
7ef854484e08 rogue4: ask about unidentified objects by default
edwarj4
parents: 13
diff changeset
23 bool askme = TRUE; /* Ask about unidentified things */
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
24 bool door_stop = FALSE; /* Stop running when we pass a door */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
25 bool fight_flush = FALSE; /* True if toilet input */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
26 bool firstmove = FALSE; /* First move after setting door_stop */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
27 bool in_shell = FALSE; /* True if executing a shell */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
28 bool jump = FALSE; /* Show running as series of jumps */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
29 bool passgo = FALSE; /* Follow passages */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
30 bool playing = TRUE; /* True until he quits */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
31 bool running = FALSE; /* True if player is running */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
32 bool save_msg = TRUE; /* Remember last msg */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
33 bool slow_invent = FALSE; /* Inventory one line at a time */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
34 bool terse = FALSE; /* True if we should be short */
13
63b9fd7d70ce rogue4: add -n option and system savedir
edwarj4
parents: 12
diff changeset
35 bool use_savedir = FALSE; /* True if using system savefile area */
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
36 #ifdef WIZARD
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
37 bool wizard = FALSE; /* True if allows wizard commands */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
38 #endif
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
39
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
40 char take; /* Thing the rogue is taking */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
41 char prbuf[MAXSTR]; /* Buffer for sprintfs */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
42 char outbuf[BUFSIZ]; /* Output buffer for stdout */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
43 char runch; /* Direction player is running */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
44 char *s_names[MAXSCROLLS]; /* Names of the scrolls */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
45 const char *p_colors[MAXPOTIONS]; /* Colors of the potions */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
46 const char *r_stones[MAXRINGS]; /* Stone settings of the rings */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
47 const char *w_names[MAXWEAPONS + 1] = { /* Names of the various weapons */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
48 "mace",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
49 "long sword",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
50 "short bow",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
51 "arrow",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
52 "dagger",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
53 "two handed sword",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
54 "dart",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
55 "crossbow",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
56 "crossbow bolt",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
57 "spear",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
58 NULL /* fake entry for dragon's breath */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
59 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
60 const char *a_names[MAXARMORS] = { /* Names of armor types */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
61 "leather armor",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
62 "ring mail",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
63 "studded leather armor",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
64 "scale mail",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
65 "chain mail",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
66 "splint mail",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
67 "banded mail",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
68 "plate mail",
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
69 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
70 const char *ws_made[MAXSTICKS]; /* What sticks are made of */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
71 char whoami[MAXSTR]; /* Name of player */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
72 char fruit[MAXSTR]; /* Favorite fruit */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
73 char huh[MAXSTR]; /* The last message printed */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
74 char *s_guess[MAXSCROLLS]; /* Players guess at what scroll is */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
75 char *p_guess[MAXPOTIONS]; /* Players guess at what potion is */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
76 char *r_guess[MAXRINGS]; /* Players guess at what ring is */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
77 char *ws_guess[MAXSTICKS]; /* Players guess at what wand is */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
78 char *ws_type[MAXSTICKS]; /* Is it a wand or a staff */
112
ee250e3646fd Don't truncate player name in savefile name or log message.
John "Elwin" Edwards
parents: 26
diff changeset
79 char file_name[256]; /* Save file name */
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
80 char home[MAXSTR]; /* User's home directory */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
81 char _level[MAXLINES*MAXCOLS]; /* Level map */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
82 char _flags[MAXLINES*MAXCOLS]; /* Flags for each space on the map */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
83
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
84 int max_level; /* Deepest player has gone */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
85 int ntraps; /* Number of traps on this level */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
86 int dnum; /* Dungeon number */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
87 int level = 1; /* What level rogue is on */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
88 int purse = 0; /* How much gold the rogue has */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
89 int mpos = 0; /* Where cursor is on top line */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
90 int no_move = 0; /* Number of turns held in place */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
91 int no_command = 0; /* Number of turns asleep */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
92 int inpack = 0; /* Number of things in pack */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
93 int total = 0; /* Total dynamic memory bytes */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
94 int lastscore = -1; /* Score before this turn */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
95 int no_food = 0; /* Number of levels without food */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
96 int count = 0; /* Number of times to repeat command */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
97 int fung_hit = 0; /* Number of time fungi has hit */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
98 int quiet = 0; /* Number of quiet turns */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
99 int food_left; /* Amount of food in hero's stomach */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
100 int group = 2; /* Current group number */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
101 int hungry_state = 0; /* How hungry is he */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
102 int a_chances[MAXARMORS] = { /* Chance for each armor type */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
103 20,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
104 35,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
105 50,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
106 63,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
107 75,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
108 85,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
109 95,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
110 100
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
111 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
112 int a_class[MAXARMORS] = { /* Armor class for each armor type */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
113 8,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
114 7,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
115 7,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
116 6,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
117 5,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
118 4,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
119 4,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
120 3,
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
121 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
122
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
123 long seed; /* Random number seed */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
124
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
125 coord oldpos; /* Position before last look() call */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
126 coord delta; /* Change indicated to get_dir() */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
127
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
128 THING player; /* The rogue */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
129 THING *cur_armor; /* What a well dresssed rogue wears */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
130 THING *cur_weapon; /* Which weapon he is weilding */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
131 THING *cur_ring[2]; /* Which rings are being worn */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
132 THING *lvl_obj = NULL; /* List of objects on this level */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
133 THING *mlist = NULL; /* List of monsters on the level */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
134 THING *_monst[MAXLINES*MAXCOLS]; /* Pointers for monsters at each spot */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
135
279
d3968e9cb98d Use C stdio functions for score files and save files.
John "Elwin" Edwards
parents: 245
diff changeset
136 FILE *score_file = NULL; /* Scoreboard */
d3968e9cb98d Use C stdio functions for score files and save files.
John "Elwin" Edwards
parents: 245
diff changeset
137 FILE *log_file = NULL; /* Log file */
d3968e9cb98d Use C stdio functions for score files and save files.
John "Elwin" Edwards
parents: 245
diff changeset
138
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
139 WINDOW *hw; /* Used as a scratch window */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
140
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
141 #define INIT_STATS { 16, 0, 1, 10, 12, "1d4", 12 }
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
142
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
143 struct stats max_stats = INIT_STATS; /* The maximum for the player */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
144
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
145 struct room *oldrp; /* Roomin(&oldpos) */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
146 struct room rooms[MAXROOMS]; /* One for each room -- A level */
300
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
147 #define NON {0, 0}
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
148 #define NON12 { NON, NON, NON, NON, NON, NON, NON, NON, NON, NON, NON, NON }
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
149 struct room passages[MAXPASS] = /* One for each passage */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
150 {
300
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
151 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
152 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
153 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
154 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
155 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
156 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
157 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
158 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
159 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
160 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
161 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
162 { {0, 0}, {0, 0}, {0, 0}, 0, ISGONE|ISDARK, 0, NON12 }
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
163 };
300
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
164 #undef NON12
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
165 #undef NON
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
166
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
167 #define ___ 1
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
168 #define XX 10
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
169 struct monster monsters[26] =
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
170 {
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
171 /* Name CARRY FLAG str, exp, lvl, amr, hpt, dmg */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
172 { "giant ant", 0, ISMEAN, { XX, 9, 2, 3, ___, "1d6" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
173 { "bat", 0, 0, { XX, 1, 1, 3, ___, "1d2" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
174 { "centaur", 15, 0, { XX, 15, 4, 4, ___, "1d6/1d6" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
175 { "dragon", 100, ISMEAN, { XX,6800, 10, -1, ___, "1d8/1d8/3d10" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
176 { "floating eye",0, 0, { XX, 5, 1, 9, ___, "0d0" } },
245
e7aab31362af Rogue V[345], Super-Rogue: Fix violet fungi/venus flytraps.
John "Elwin" Edwards
parents: 112
diff changeset
177 { "violet fungi",0, ISMEAN, { XX, 80, 8, 3, ___, "0d0" } },
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
178 { "gnome", 10, 0, { XX, 7, 1, 5, ___, "1d6" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
179 { "hobgoblin", 0, ISMEAN, { XX, 3, 1, 5, ___, "1d8" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
180 { "invisible stalker",0,ISINVIS,{ XX,120, 8, 3, ___, "4d4" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
181 { "jackal", 0, ISMEAN, { XX, 2, 1, 7, ___, "1d2" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
182 { "kobold", 0, ISMEAN, { XX, 1, 1, 7, ___, "1d4" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
183 { "leprechaun", 0, 0, { XX, 10, 3, 8, ___, "1d1" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
184 { "mimic", 30, 0, { XX,100, 7, 7, ___, "3d4" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
185 { "nymph", 100, 0, { XX, 37, 3, 9, ___, "0d0" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
186 { "orc", 15, ISGREED,{ XX, 5, 1, 6, ___, "1d8" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
187 { "purple worm", 70, 0, { XX,4000, 15, 6, ___, "2d12/2d4" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
188 { "quasit", 30, ISMEAN, { XX, 32, 3, 2, ___, "1d2/1d2/1d4" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
189 { "rust monster",0, ISMEAN, { XX, 20, 5, 2, ___, "0d0/0d0" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
190 { "snake", 0, ISMEAN, { XX, 2, 1, 5, ___, "1d3" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
191 { "troll", 50, ISREGEN|ISMEAN,{ XX, 120, 6, 4, ___, "1d8/1d8/2d6" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
192 { "umber hulk", 40, ISMEAN, { XX,200, 8, 2, ___, "3d4/3d4/2d5" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
193 { "vampire", 20, ISREGEN|ISMEAN,{ XX,350, 8, 1, ___, "1d10" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
194 { "wraith", 0, 0, { XX, 55, 5, 4, ___, "1d6" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
195 { "xorn", 0, ISMEAN, { XX,190, 7, -2, ___, "1d3/1d3/1d3/4d6" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
196 { "yeti", 30, 0, { XX, 50, 4, 6, ___, "1d6/1d6" } },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
197 { "zombie", 0, ISMEAN, { XX, 6, 2, 8, ___, "1d8" } }
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
198 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
199 #undef ___
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
200 #undef XX
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
201
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
202 struct magic_item things[NUMTHINGS] = {
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
203 { 0, 27 }, /* potion */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
204 { 0, 30 }, /* scroll */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
205 { 0, 17 }, /* food */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
206 { 0, 8 }, /* weapon */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
207 { 0, 8 }, /* armor */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
208 { 0, 5 }, /* ring */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
209 { 0, 5 }, /* stick */
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
210 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
211
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
212 struct magic_item s_magic[MAXSCROLLS] = {
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
213 { "monster confusion", 8, 140 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
214 { "magic mapping", 5, 150 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
215 { "hold monster", 3, 180 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
216 { "sleep", 5, 5 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
217 { "enchant armor", 8, 160 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
218 { "identify", 27, 100 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
219 { "scare monster", 4, 200 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
220 { "gold detection", 4, 50 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
221 { "teleportation", 7, 165 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
222 { "enchant weapon", 10, 150 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
223 { "create monster", 5, 75 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
224 { "remove curse", 8, 105 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
225 { "aggravate monsters", 4, 20 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
226 { "blank paper", 1, 5 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
227 { "genocide", 1, 300 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
228 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
229
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
230 struct magic_item p_magic[MAXPOTIONS] = {
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
231 { "confusion", 8, 5 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
232 { "paralysis", 10, 5 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
233 { "poison", 8, 5 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
234 { "gain strength", 15, 150 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
235 { "see invisible", 2, 100 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
236 { "healing", 15, 130 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
237 { "monster detection", 6, 130 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
238 { "magic detection", 6, 105 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
239 { "raise level", 2, 250 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
240 { "extra healing", 5, 200 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
241 { "haste self", 4, 190 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
242 { "restore strength", 14, 130 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
243 { "blindness", 4, 5 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
244 { "thirst quenching", 1, 5 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
245 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
246
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
247 struct magic_item r_magic[MAXRINGS] = {
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
248 { "protection", 9, 400 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
249 { "add strength", 9, 400 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
250 { "sustain strength", 5, 280 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
251 { "searching", 10, 420 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
252 { "see invisible", 10, 310 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
253 { "adornment", 1, 10 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
254 { "aggravate monster", 10, 10 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
255 { "dexterity", 8, 440 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
256 { "increase damage", 8, 400 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
257 { "regeneration", 4, 460 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
258 { "slow digestion", 9, 240 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
259 { "teleportation", 5, 30 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
260 { "stealth", 7, 470 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
261 { "maintain armor", 5, 380 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
262 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
263
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
264 struct magic_item ws_magic[MAXSTICKS] = {
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
265 { "light", 12, 250 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
266 { "striking", 9, 75 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
267 { "lightning", 3, 330 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
268 { "fire", 3, 330 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
269 { "cold", 3, 330 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
270 { "polymorph", 15, 310 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
271 { "magic missile", 10, 170 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
272 { "haste monster", 9, 5 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
273 { "slow monster", 11, 350 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
274 { "drain life", 9, 300 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
275 { "nothing", 1, 5 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
276 { "teleport away", 5, 340 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
277 { "teleport to", 5, 50 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
278 { "cancellation", 5, 280 },
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
279 };
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
280
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
281 struct h_list helpstr[] = {
300
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
282 { '?', " prints help" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
283 { '/', " identify object" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
284 { 'h', " left" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
285 { 'j', " down" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
286 { 'k', " up" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
287 { 'l', " right" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
288 { 'y', " up & left" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
289 { 'u', " up & right" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
290 { 'b', " down & left" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
291 { 'n', " down & right" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
292 { 'H', " run left" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
293 { 'J', " run down" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
294 { 'K', " run up" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
295 { 'L', " run right" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
296 { 'Y', " run up & left" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
297 { 'U', " run up & right" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
298 { 'B', " run down & left" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
299 { 'N', " run down & right" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
300 { 't', "<dir> throw something" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
301 { 'f', "<dir> forward until find something" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
302 { 'z', "<dir> zap a wand in a direction" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
303 { '^', "<dir> identify trap type" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
304 { 's', " search for trap/secret door" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
305 { '>', " go down a staircase" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
306 { '<', " go up a staircase" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
307 { '.', " rest for a while" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
308 { 'i', " inventory" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
309 { 'I', " inventory single item" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
310 { 'q', " quaff potion" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
311 { 'r', " read paper" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
312 { 'e', " eat food" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
313 { 'w', " wield a weapon" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
314 { 'W', " wear armor" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
315 { 'T', " take armor off" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
316 { 'P', " put on ring" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
317 { 'R', " remove ring" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
318 { 'd', " drop object" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
319 { 'c', " call object" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
320 { 'D', " recall what's been discovered" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
321 { 'o', " examine/set options" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
322 { CTRL('L'), " redraw screen" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
323 { CTRL('R'), " repeat last message" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
324 { ESCAPE, " cancel command" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
325 { '!', " shell escape" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
326 { 'S', " save game" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
327 { 'Q', " quit" },
0250220d8cdd Fix an assortment of compiler warnings.
John "Elwin" Edwards
parents: 279
diff changeset
328 { 0, 0 }
12
9535a08ddc39 Import Rogue 5.2 from the Roguelike Restoration Project (r1490)
edwarj4
parents:
diff changeset
329 };