Mercurial > hg > early-roguelike
comparison rogue4/monsters.c @ 225:4f6e056438eb
Merge the GCC5 and build fix branches.
author | John "Elwin" Edwards |
---|---|
date | Wed, 02 Mar 2016 21:28:34 -0500 |
parents | 1b73a8641b37 |
children | e52a8a7ad4c5 |
comparison
equal
deleted
inserted
replaced
224:4d0f53998e8a | 225:4f6e056438eb |
---|---|
12 | 12 |
13 #include <curses.h> | 13 #include <curses.h> |
14 #include <string.h> | 14 #include <string.h> |
15 #include <ctype.h> | 15 #include <ctype.h> |
16 #include "rogue.h" | 16 #include "rogue.h" |
17 | |
18 int exp_add(THING *tp); | |
17 | 19 |
18 /* | 20 /* |
19 * List of monsters in rough order of vorpalness | 21 * List of monsters in rough order of vorpalness |
20 * | 22 * |
21 * NOTE: This not initialized using strings so that xstr doesn't set up | 23 * NOTE: This not initialized using strings so that xstr doesn't set up |
37 /* | 39 /* |
38 * randmonster: | 40 * randmonster: |
39 * Pick a monster to show up. The lower the level, | 41 * Pick a monster to show up. The lower the level, |
40 * the meaner the monster. | 42 * the meaner the monster. |
41 */ | 43 */ |
42 randmonster(wander) | 44 char |
43 bool wander; | 45 randmonster(bool wander) |
44 { | 46 { |
45 register int d; | 47 register int d; |
46 register char *mons; | 48 register char *mons; |
47 | 49 |
48 mons = wander ? wand_mons : lvl_mons; | 50 mons = wander ? wand_mons : lvl_mons; |
59 | 61 |
60 /* | 62 /* |
61 * new_monster: | 63 * new_monster: |
62 * Pick a new monster and add it to the list | 64 * Pick a new monster and add it to the list |
63 */ | 65 */ |
64 new_monster(tp, type, cp) | 66 void |
65 register THING *tp; | 67 new_monster(THING *tp, char type, coord *cp) |
66 char type; | |
67 register coord *cp; | |
68 { | 68 { |
69 register struct monster *mp; | 69 register struct monster *mp; |
70 register int lev_add; | 70 register int lev_add; |
71 | 71 |
72 if ((lev_add = level - AMULETLEVEL) < 0) | 72 if ((lev_add = level - AMULETLEVEL) < 0) |
107 | 107 |
108 /* | 108 /* |
109 * expadd: | 109 * expadd: |
110 * Experience to add for this monster's level/hit points | 110 * Experience to add for this monster's level/hit points |
111 */ | 111 */ |
112 exp_add(tp) | 112 int |
113 register THING *tp; | 113 exp_add(THING *tp) |
114 { | 114 { |
115 register int mod; | 115 register int mod; |
116 | 116 |
117 if (tp->t_stats.s_lvl == 1) | 117 if (tp->t_stats.s_lvl == 1) |
118 mod = tp->t_stats.s_maxhp / 8; | 118 mod = tp->t_stats.s_maxhp / 8; |
127 | 127 |
128 /* | 128 /* |
129 * wanderer: | 129 * wanderer: |
130 * Create a new wandering monster and aim it at the player | 130 * Create a new wandering monster and aim it at the player |
131 */ | 131 */ |
132 wanderer() | 132 void |
133 wanderer(void) | |
133 { | 134 { |
134 register int i; | 135 register int i; |
135 register struct room *rp; | 136 register struct room *rp; |
136 register THING *tp; | 137 register THING *tp; |
137 coord cp = {0,0}; | 138 coord cp = {0,0}; |
164 /* | 165 /* |
165 * wake_monster: | 166 * wake_monster: |
166 * What to do when the hero steps next to a monster | 167 * What to do when the hero steps next to a monster |
167 */ | 168 */ |
168 THING * | 169 THING * |
169 wake_monster(y, x) | 170 wake_monster(int y, int x) |
170 int y, x; | |
171 { | 171 { |
172 register THING *tp; | 172 register THING *tp; |
173 register struct room *rp; | 173 register struct room *rp; |
174 register char ch; | 174 register char ch; |
175 | 175 |
224 | 224 |
225 /* | 225 /* |
226 * genocide: | 226 * genocide: |
227 * Wipe one monster out of existence (for now...) | 227 * Wipe one monster out of existence (for now...) |
228 */ | 228 */ |
229 genocide() | 229 void |
230 genocide(void) | |
230 { | 231 { |
231 register THING *mp; | 232 register THING *mp; |
232 register char c; | 233 register char c; |
233 register int i; | 234 register int i; |
234 register THING *nmp; | 235 register THING *nmp; |
268 | 269 |
269 /* | 270 /* |
270 * give_pack: | 271 * give_pack: |
271 * Give a pack to a monster if it deserves one | 272 * Give a pack to a monster if it deserves one |
272 */ | 273 */ |
273 give_pack(tp) | 274 void |
274 register THING *tp; | 275 give_pack(THING *tp) |
275 { | 276 { |
276 if (rnd(100) < monsters[tp->t_type-'A'].m_carry) | 277 if (rnd(100) < monsters[tp->t_type-'A'].m_carry) |
277 attach(tp->t_pack, new_thing()); | 278 attach(tp->t_pack, new_thing()); |
278 } | 279 } |