1 /* omega copyright (c) 1987,1988,1989 by Laurence Raphael Brothers */
2 /* extern.h -- function declarations */
3 
4 #ifdef __STDC__
5 #define ARGS(x) x
6 #else
7 #define ARGS(x) ()
8 #endif
9 
10 /* omega.c functions */
11 
12 int main ARGS((int,char *[]));
13 int game_restore ARGS((int,char *[]));
14 void init_world ARGS((void));
15 void inititem ARGS((int));
16 void initrand ARGS((int, int));
17 void signalexit ARGS((void));
18 void signalsave ARGS((void));
19 
20 /* abyss.c functions */
21 
22 #ifdef MSDOS_SUPPORTED_ANTIQUE
23 void check_memory ARGS((void));
24 void kill_all_levels ARGS((void));
25 void kill_levels ARGS((char *));
26 void msdos_init ARGS((void));
27 plv msdos_changelevel ARGS((plv,int,int));
28 #endif
29 void load_abyss ARGS((void));
30 
31 /* aux1.c functions */
32 
33 char *levelname ARGS((int));
34 char *mstatus_string ARGS((struct monster *));
35 char *trapid ARGS((int));
36 int getdir ARGS((void));
37 int goberserk ARGS((void));
38 int p_country_moveable ARGS((int,int));
39 int p_moveable ARGS((int,int));
40 int player_on_sanctuary ARGS((void));
41 void calc_melee ARGS((void));
42 int damage_item ARGS((pob));
43 void describe_player ARGS((void));
44 void fight_monster ARGS((struct monster *));
45 void foodcheck ARGS((void));
46 void gain_experience ARGS((int));
47 void p_damage ARGS((int,int,char *));
48 void p_death ARGS((char *));
49 void roomcheck ARGS((void));
50 void searchat ARGS((int,int));
51 void setspot ARGS((int *,int *));
52 void showroom ARGS((int));
53 void surrender ARGS((struct monster *));
54 void threaten ARGS((struct monster *));
55 void tunnelcheck ARGS((void));
56 
57 /* aux2.c functions */
58 
59 long expval ARGS((int));
60 long item_value ARGS((pob));
61 long true_item_value ARGS((pob));
62 char *actionlocstr ARGS((char));
63 int p_immune ARGS((int));
64 int player_hit ARGS((int,char,struct monster *));
65 int statmod ARGS((int));
66 void break_weapon ARGS((void));
67 void change_environment ARGS((char));
68 void drop_weapon ARGS((void));
69 void enter_site ARGS((Symbol));
70 void gain_level ARGS((void));
71 void minute_status_check ARGS((void));
72 void moon_check ARGS((void));
73 void movecursor ARGS((int *,int *,int,int));
74 void p_drown ARGS((void));
75 void p_fumble ARGS((int));
76 void p_hit  ARGS((struct monster *,int,int));
77 void p_win ARGS((void));
78 void player_miss ARGS((struct monster *,int));
79 void tacplayer ARGS((struct monster *));
80 void tenminute_status_check ARGS((void));
81 void toggle_item_use ARGS((int));
82 void torch_check ARGS((void));
83 void weapon_use ARGS((int,pob,struct monster *));
84 
85 /* aux3.c functions */
86 
87 char *citysiteid ARGS((int));
88 char *countryid ARGS((Symbol));
89 char getlocation ARGS((void));
90 int hostilemonstersnear ARGS((void));
91 int magic_resist ARGS((int));
92 int maneuvers ARGS((void));
93 int parsecitysite ARGS((void));
94 int stonecheck ARGS((int));
95 void alert_guards ARGS((void));
96 void countrysearch ARGS((void));
97 void default_maneuvers ARGS((void));
98 void destroy_order ARGS((void));
99 void hourly_check ARGS((void));
100 void indoors_random_event ARGS((void));
101 void outdoors_random_event ARGS((void));
102 void showknownsites ARGS((int, int));
103 void tenminute_check ARGS((void));
104 void terrain_check ARGS((int));
105 
106 /* char.c functions */
107 
108 long calcmana ARGS((void));
109 FILE *omegarc_check ARGS((void));
110 int competence_check ARGS((int));
111 int fixnpc ARGS((int));
112 void initplayer ARGS((void));
113 void initstats ARGS((void));
114 void omegan_character_stats ARGS((void));
115 void save_omegarc ARGS((void));
116 void user_character_stats ARGS((void));
117 
118 /* city.c functions */
119 
120 void assign_city_function ARGS((int,int));
121 void load_city ARGS((int));
122 void make_justiciar ARGS((int,int));
123 void make_major_undead ARGS((int,int));
124 void make_minor_undead ARGS((int,int));
125 void mazesite ARGS((int,int,int));
126 void randommazesite ARGS((int,int,int));
127 void repair_jail ARGS((void));
128 void resurrect_guards ARGS((void));
129 
130 /* command1.c functions */
131 
132 void p_country_process ARGS((void));
133 void p_process ARGS((void));
134 
135 /* command2.c functions */
136 
137  void pickup ARGS((void));
138 void activate ARGS((void));
139 void bash_item ARGS((void));
140 void bash_location ARGS((void));
141 void callitem ARGS((void));
142 void closedoor ARGS((void));
143 void disarm ARGS((void));
144 void downstairs ARGS((void));
145 void drop ARGS((void));
146 void eat ARGS((void));
147 void floor_inv ARGS((void));
148 void give ARGS((void));
149 void magic ARGS((void));
150 void movepincountry ARGS((int,int));
151 void moveplayer ARGS((int,int));
152 void opendoor ARGS((void));
153 void peruse ARGS((void));
154 void quaff ARGS((void));
155 void rest ARGS((void));
156 void save ARGS((int, int));
157 void search ARGS((int *));
158 void setoptions ARGS((void));
159 void talk ARGS((void));
160 void upstairs ARGS((void));
161 void zapwand ARGS((void));
162 
163 /* command3.c functions */
164 
165 void abortshadowform ARGS((void));
166 void charid ARGS((void));
167 void city_move ARGS((void));
168 void dismount_steed ARGS((void));
169 void examine ARGS((void));
170 void fire ARGS((void));
171 void frobgamestatus ARGS((void));
172 void help ARGS((void));
173 void hunt ARGS((Symbol));
174 void nap ARGS((void));
175 void pickpocket ARGS((void));
176 void quit ARGS((void));
177 void rename_player ARGS((void));
178 void tacoptions ARGS((void));
179 void tunnel ARGS((void));
180 void vault ARGS((void));
181 void version ARGS((void));
182 void wizard ARGS((void));
183 
184 /* country.c functions */
185 
186 void load_country ARGS((void));
187 void load_dlair ARGS((int,int));
188 void load_misle ARGS((int,int));
189 void load_speak ARGS((int,int));
190 void load_temple ARGS((int,int));
191 void make_high_priest ARGS((int,int,int));
192 void random_temple_site ARGS((int,int,int,int));
193 
194 /* effect1.c functions */
195 
196 int random_item ARGS((void));
197 void acquire ARGS((int));
198 void ball ARGS((int,int,int,int,int,int));
199 void bless ARGS((int));
200 void bolt ARGS((int,int,int,int,int,int,int));
201 void enchant ARGS((int));
202 void fball ARGS((int,int,int,int,int));
203 void fbolt ARGS((int,int,int,int,int,int));
204 void heal ARGS((int));
205 void identify ARGS((int));
206 void lball ARGS((int,int,int,int,int));
207 void lbolt ARGS((int,int,int,int,int,int));
208 void manastorm ARGS((int,int,int));
209 void mondet ARGS((int));
210 void nbolt ARGS((int,int,int,int,int,int));
211 void objdet ARGS((int));
212 void snowball ARGS((int,int,int,int,int));
213 void wish ARGS((int));
214 
215 /* effect2.c functions */
216 
217 void accuracy ARGS((int));
218 void alert ARGS((int));
219 void augment ARGS((int));
220 void breathe ARGS((int));
221 void displace ARGS((int));
222 void flux ARGS((int));
223 void haste ARGS((int));
224 void i_chaos ARGS((pob));
225 void i_law ARGS((pob));
226 void invisible ARGS((int));
227 void knowledge ARGS((int));
228 void recover_stat ARGS((int));
229 void regenerate ARGS((int));
230 void sanctify ARGS((int));
231 void warp ARGS((int));
232 
233 /* effect3.c functions */
234 
235 int itemlist ARGS((int,int));
236 int monsterlist ARGS((void));
237 void acid_cloud ARGS((void));
238 void aggravate ARGS((void));
239 void amnesia ARGS((void));
240 void annihilate ARGS((int));
241 void apport ARGS((int));
242 void clairvoyance ARGS((int));
243 void cleanse ARGS((int));
244 void cure ARGS((int));
245 void deflection ARGS((int));
246 void disease ARGS((int));
247 void disintegrate ARGS((int,int));
248 void dispel ARGS((int));
249 void disrupt ARGS((int,int,int));
250 void drain ARGS((int));
251 void drain_life ARGS((int));
252 void hellfire ARGS((int,int,int));
253 void hero ARGS((int));
254 void hide ARGS((int,int));
255 void illuminate ARGS((int));
256 void inflict_fear ARGS((int,int));
257 void learnspell ARGS((int));
258 void level_drain ARGS((int,char *));
259 void level_return ARGS((void));
260 void levitate ARGS((int));
261 void p_poison ARGS((int));
262 void p_teleport ARGS((int));
263 void polymorph ARGS((int));
264 void sanctuary ARGS((void));
265 void shadowform ARGS((void));
266 void sleep_monster ARGS((int));
267 void sleep_player ARGS((int));
268 void strategic_teleport ARGS((int));
269 void summon ARGS((int,int));
270 void truesight ARGS((int));
271 
272 /* env.c functions */
273 
274 void load_arena ARGS((void));
275 void load_circle ARGS((int));
276 void load_court ARGS((int));
277 void make_archmage ARGS((int,int));
278 void make_prime ARGS((int,int));
279 
280 /* etc.c functions */
281 
282 char *nameprint ARGS((void));
283 char *slotstr ARGS((int));
284 char *wordnum ARGS((int));
285 void hint ARGS((void));
286 void learnclericalspells ARGS((int,int));
287 
288 /* file.c functions */
289 
290 #ifndef MSDOS
291 void lock_score_file ARGS((void));
292 void unlock_score_file ARGS((void));
293 #endif
294 FILE *checkfopen ARGS((char *,char *));
295 int filecheck ARGS((void));
296 int test_file_access ARGS((char *, char));
297 void abyss_file ARGS((void));
298 void adeptfile ARGS((void));
299 void checkhigh ARGS((char *,int));
300 void cityguidefile ARGS((void));
301 void combat_help ARGS((void));
302 void commandlist ARGS((void));
303 void copyfile ARGS((char *));
304 void displayfile ARGS((char *));
305 void displaycryptfile ARGS((char *));
306 void extendlog ARGS((char *,int));
307 void filescanstring ARGS((FILE *,char *));	/* in util.c if MSDOS defined */
308 void inv_help ARGS((void));
309 void save_hiscore_npc ARGS((int));
310 void show_license ARGS((void));
311 void showmotd ARGS((void));
312 void showscores ARGS((void));
313 void theologyfile ARGS((void));
314 void user_intro ARGS((void));
315 void wishfile ARGS((void));
316 
317 /* gen1.c functions */
318 
319 char *roomname ARGS((int));
320 plv findlevel ARGS((struct level *,char));
321 void build_room ARGS((int,int,int,char,int));
322 void build_square_room ARGS((int,int,int,char,int));
323 void cavern_level ARGS((void));
324 void change_level ARGS((char,char,char));
325 void clear_level ARGS((struct level *));
326 void corridor_crawl ARGS((int *,int *,int,int,int,Symbol,char));
327 void find_stairs ARGS((char,char));
328 void free_dungeon ARGS((void));
329 void install_specials ARGS((void));
330 void install_traps ARGS((void));
331 void makedoor ARGS((int,int));
332 void sewer_corridor ARGS((int,int,int,int,Symbol));
333 void sewer_level ARGS((void));
334 void straggle_corridor ARGS((int,int,int,int,Symbol,char));
335 
336 /* gen2.c functions */
337 
338 void make_country_screen ARGS((Symbol));
339 void make_general_map ARGS((char *));
340 void make_forest ARGS((void));
341 void make_jungle ARGS((void));
342 void make_mountains ARGS((void));
343 void make_plains ARGS((void));
344 void make_river ARGS((void));
345 void make_road ARGS((void));
346 void make_stairs ARGS((int));
347 void make_swamp ARGS((void));
348 void maze_corridor ARGS((int,int,int,int,char,char));
349 void maze_level ARGS((void));
350 void room_corridor ARGS((int,int,int,int,int));
351 void room_level ARGS((void));
352 
353 /* guild1.c functions */
354 
355 void l_arena ARGS((void));
356 void l_castle ARGS((void));
357 void l_merc_guild ARGS((void));
358 
359 /* guild2.c functions */
360 
361 void l_college ARGS((void));
362 void l_order ARGS((void));
363 void l_sorcerors ARGS((void));
364 void l_thieves_guild ARGS((void));
365 
366 /* house.c functions */
367 
368 void load_house ARGS((int,int));
369 void make_house_npc ARGS((int,int));
370 void make_mansion_npc ARGS((int,int));
371 
372 /* inv.c functions */
373 
374 void do_inventory_control ARGS((void));
375 int  key_to_index ARGS((signed char));
376 signed char index_to_key ARGS((int));
377 long get_money ARGS((long));
378 char *cashstr ARGS((void));
379 char *itemid ARGS((pob));
380 int baditem ARGS((int));
381 int badobject ARGS((char));
382 int cursed ARGS((pob));
383 int find_and_remove_item ARGS((int,int));
384 int find_item ARGS((pob *,int,int));
385 int get_inventory_slot ARGS((void));
386 int get_item_number ARGS((pob));
387 int get_to_pack ARGS((pob));
388 int getitem ARGS((Symbol));
389 int item_useable ARGS((pob,int));
390 int objequal ARGS((struct object *,struct object *));
391 int slottable ARGS((pob,int));
392 int take_from_pack ARGS((int,int));
393 pob detach_money ARGS((void));
394 pob split_item ARGS((int,pob));
395 void add_to_pack ARGS((pob));
396 void conform_lost_object ARGS((pob));
397 void conform_lost_objects ARGS((int,pob));
398 void conform_unused_object ARGS((pob));
399 void dispose_lost_objects ARGS((int,pob));
400 void drop_at ARGS((int,int,pob));
401 void drop_from_slot ARGS((int));
402 void drop_money ARGS((void));
403 void fixpack ARGS((void));
404 void gain_item ARGS((pob));
405 void give_money ARGS((struct monster *));
406 void givemonster ARGS((struct monster *, struct object *));
407 void inventory_control ARGS((void));
408 void item_inventory ARGS((int));
409 void lose_all_items ARGS((void));
410 void merge_item ARGS((int));
411 void p_drop_at ARGS((int,int,int,pob));
412 void pack_extra_items ARGS((pob));
413 void pickup_at ARGS((int,int));
414 void put_to_pack ARGS((int));
415 void setchargestr ARGS((pob,char *));
416 void setnumstr ARGS((pob,char *));
417 void setplustr ARGS((pob,char *));
418 void show_inventory_slot ARGS((int,int));
419 void switch_to_slot ARGS((int));
420 void top_inventory_control ARGS((void));
421 
422 /* item.c functions */
423 
424 void shuffle ARGS((int [], int));
425 char *bootname ARGS((int));
426 char *cloakname ARGS((int));
427 char *grotname ARGS((void));
428 char *potionname ARGS((int));
429 char *ringname ARGS((int));
430 char *scrollname ARGS((int));
431 char *stickname ARGS((int));
432 int itemblessing ARGS((void));
433 int itemcharge ARGS((void));
434 int itemplus ARGS((void));
435 int twohandedp ARGS((int));
436 pob create_object ARGS((int));
437 void item_use ARGS((struct object *));
438 void make_armor ARGS((pob, int));
439 void make_artifact ARGS((pob, int));
440 void make_boots ARGS((pob, int));
441 void make_cash ARGS((pob, int));
442 void make_cloak ARGS((pob, int));
443 void make_corpse ARGS((pob, struct monster *));
444 void make_food ARGS((pob, int));
445 void make_potion ARGS((pob, int));
446 void make_ring ARGS((pob, int));
447 void make_scroll ARGS((pob, int));
448 void make_shield ARGS((pob, int));
449 void make_stick ARGS((pob, int));
450 void make_thing ARGS((pob, int));
451 void make_weapon ARGS((pob, int));
452 
453 /* itemf1.c functions */
454 
455 void i_accuracy ARGS((pob));
456 void i_acquire ARGS((pob));
457 void i_alert ARGS((pob));
458 void i_augment ARGS((pob));
459 void i_azoth ARGS((pob));
460 void i_bless ARGS((pob));
461 void i_breathing ARGS((pob));
462 void i_charge ARGS((pob));
463 void i_clairvoyance ARGS((pob));
464 void i_corpse ARGS((pob));
465 void i_cure ARGS((pob));
466 void i_deflect ARGS((pob));
467 void i_displace ARGS((pob));
468 void i_enchant ARGS((pob));
469 void i_fear_resist ARGS((pob));
470 void i_flux ARGS((pob));
471 void i_food ARGS((pob));
472 void i_heal ARGS((pob));
473 void i_hero ARGS((pob));
474 void i_id ARGS((pob));
475 void i_illuminate ARGS((pob));
476 void i_immune ARGS((pob));
477 void i_invisible ARGS((pob));
478 void i_jane_t ARGS((pob));
479 void i_key ARGS((pob));
480 void i_knowledge ARGS((pob));
481 void i_lembas ARGS((pob));
482 void i_levitate ARGS((pob));
483 void i_mondet ARGS((pob));
484 void i_neutralize_poison ARGS((pob));
485 void i_no_op ARGS((pob));
486 void i_nothing ARGS((pob));
487 void i_objdet ARGS((pob));
488 void i_pepper_food ARGS((pob));
489 void i_perm_accuracy ARGS((pob));
490 void i_perm_agility ARGS((pob));
491 void i_perm_displace ARGS((pob));
492 void i_perm_hero ARGS((pob));
493 void i_perm_illuminate ARGS((pob));
494 void i_perm_invisible ARGS((pob));
495 void i_perm_levitate ARGS((pob));
496 void i_perm_negimmune ARGS((pob));
497 void i_perm_protection ARGS((pob));
498 void i_perm_speed ARGS((pob));
499 void i_perm_truesight ARGS((pob));
500 void i_pick ARGS((pob));
501 void i_poison_food ARGS((pob));
502 void i_pow ARGS((pob));
503 void i_raise_portcullis ARGS((pob));
504 void i_regenerate ARGS((pob));
505 void i_restore ARGS((pob));
506 void i_sleep_self ARGS((pob));
507 void i_speed ARGS((pob));
508 void i_spells ARGS((pob));
509 void i_stim ARGS((pob));
510 void i_teleport ARGS((pob));
511 void i_trap ARGS((pob));
512 void i_truesight ARGS((pob));
513 void i_warp ARGS((pob));
514 void i_wish ARGS((pob));
515 
516 /* itemf2.c functions */
517 
518 void i_defend ARGS((pob));
519 void i_demonblade ARGS((pob));
520 void i_desecrate ARGS((pob));
521 void i_lightsabre ARGS((pob));
522 void i_mace_disrupt ARGS((pob));
523 void i_normal_armor ARGS((pob));
524 void i_normal_shield ARGS((pob));
525 void i_normal_weapon ARGS((pob));
526 void i_perm_breathing ARGS((pob));
527 void i_perm_burden ARGS((pob));
528 void i_perm_deflect ARGS((pob));
529 void i_perm_energy_resist ARGS((pob));
530 void i_perm_fear_resist ARGS((pob));
531 void i_perm_fire_resist ARGS((pob));
532 void i_perm_gaze_immune ARGS((pob));
533 void i_perm_knowledge ARGS((pob));
534 void i_perm_poison_resist ARGS((pob));
535 void i_perm_regenerate ARGS((pob));
536 void i_perm_strength ARGS((pob));
537 void i_victrix ARGS((pob));
538 void weapon_acidwhip ARGS((int, pob, struct monster *));
539 void weapon_arrow ARGS((int, pob, struct monster *));
540 void weapon_bare_hands ARGS((int, struct monster *));
541 void weapon_bolt ARGS((int, pob, struct monster *));
542 void weapon_defend ARGS((int, pob, struct monster *));
543 void weapon_demonblade ARGS((int, pob, struct monster *));
544 void weapon_desecrate ARGS((int, pob, struct monster *));
545 void weapon_firestar ARGS((int, pob, struct monster *));
546 void weapon_lightsabre ARGS((int, pob, struct monster *));
547 void weapon_mace_disrupt ARGS((int, pob, struct monster *));
548 void weapon_normal_hit ARGS((int, pob, struct monster *));
549 void weapon_scythe ARGS((int, pob, struct monster *));
550 void weapon_tangle ARGS((int, pob, struct monster *));
551 void weapon_victrix ARGS((int, pob, struct monster *));
552 void weapon_vorpal ARGS((int, pob, struct monster *));
553 
554 /* itemf3.c functions */
555 
556 int orbcheck ARGS((char));
557 void i_antioch ARGS((pob));
558 void i_apport ARGS((pob));
559 void i_crystal ARGS((pob));
560 void i_death ARGS((pob));
561 void i_disintegrate ARGS((pob));
562 void i_dispel ARGS((pob));
563 void i_disrupt ARGS((pob));
564 void i_enchantment ARGS((pob));
565 void i_fear ARGS((pob));
566 void i_fireball ARGS((pob));
567 void i_firebolt ARGS((pob));
568 void i_helm ARGS((pob));
569 void i_hide ARGS((pob));
570 void i_juggernaut ARGS((pob));
571 void i_kolwynia ARGS((pob));
572 void i_lball ARGS((pob));
573 void i_lbolt ARGS((pob));
574 void i_life ARGS((pob));
575 void i_missile ARGS((pob));
576 void i_orbair ARGS((pob));
577 void i_orbdead ARGS((pob));
578 void i_orbearth ARGS((pob));
579 void i_orbfire ARGS((pob));
580 void i_orbmastery ARGS((pob));
581 void i_orbwater ARGS((pob));
582 void i_planes ARGS((pob));
583 void i_polymorph ARGS((pob));
584 void i_sceptre ARGS((pob));
585 void i_sleep_other ARGS((pob));
586 void i_snowball ARGS((pob));
587 void i_stargem ARGS((pob));
588 void i_summon ARGS((pob));
589 void i_symbol ARGS((pob));
590 
591 /* lev.c functions */
592 
593 int difficulty ARGS((void));	/* this function in util.c if MSDOS defined */
594 pmt m_create ARGS((int,int,int,int));
595 pmt make_creature ARGS((int));
596 void make_country_monsters ARGS((Symbol));
597 void make_site_monster ARGS((int,int,int));
598 void make_site_treasure ARGS((int,int,int));
599 void make_specific_treasure ARGS((int,int,int));
600 void populate_level ARGS((int));
601 void stock_level ARGS((void));
602 void wandercheck ARGS((void));
603 
604 /* mmelee.c functions */
605 
606 char random_loc ARGS((void));
607 int monster_hit ARGS((struct monster *,char,int));
608 void m_hit ARGS((struct monster *,int));
609 void monster_melee ARGS((struct monster *,char,int));
610 void tacmonster ARGS((struct monster *));
611 void transcribe_monster_actions ARGS((struct monster *));
612 
613 /* mmove.c functions */
614 
615 void m_confused_move ARGS((struct monster *));
616 void m_flutter_move ARGS((struct monster *));
617 void m_follow_move ARGS((struct monster *));
618 void m_move_animal ARGS((struct monster *));
619 void m_normal_move ARGS((struct monster *));
620 void m_random_move ARGS((struct monster *));
621 void m_scaredy_move ARGS((struct monster *));
622 void m_simple_move ARGS((struct monster *));
623 void m_smart_move ARGS((struct monster *));
624 void m_spirit_move ARGS((struct monster *));
625 void m_teleport ARGS((struct monster *));
626 void m_vanish ARGS((struct monster *));
627 void m_move_leash ARGS((struct monster *));
628 
629 /* mon.c functions */
630 
631 char *mantype ARGS((void));
632 void determine_npc_behavior ARGS((pmt,int,int));
633 void m_abyss ARGS((struct monster *));
634 void m_altar ARGS((struct monster *));
635 void m_damage ARGS((struct monster *,int,int));
636 void m_death ARGS((struct monster *));
637 void m_dropstuff ARGS((struct monster *));
638 void m_fire ARGS((struct monster *));
639 void m_lava ARGS((struct monster *));
640 void m_no_op ARGS((struct monster *));
641 void m_pickup ARGS((struct monster *,struct object *));
642 void m_pulse ARGS((struct monster *));
643 void m_trap_abyss ARGS((struct monster *));
644 void m_trap_acid ARGS((struct monster *));
645 void m_trap_blade ARGS((struct monster *));
646 void m_trap_dart ARGS((struct monster *));
647 void m_trap_disintegrate ARGS((struct monster *));
648 void m_trap_door ARGS((struct monster *));
649 void m_trap_fire ARGS((struct monster *));
650 void m_trap_manadrain ARGS((struct monster *));
651 void m_trap_pit ARGS((struct monster *));
652 void m_trap_sleepgas ARGS((struct monster *));
653 void m_trap_snare ARGS((struct monster *));
654 void m_trap_teleport ARGS((struct monster *));
655 void m_water ARGS((struct monster *));
656 void make_hiscore_npc ARGS((pmt,int));
657 void make_log_npc ARGS((struct monster *));
658 void monster_action ARGS((struct monster *,int));
659 void monster_move ARGS((struct monster *));
660 void monster_special ARGS((struct monster *));
661 void monster_strike ARGS((struct monster *));
662 void monster_talk ARGS((struct monster *));
663 void movemonster ARGS((struct monster *,int,int));
664 void strengthen_death ARGS((struct monster *));
665 
666 /* move.c functions */
667 
668 void l_abyss ARGS((void));
669 void l_air_station ARGS((void));
670 void l_arena_exit ARGS((void));
671 void l_balancestone ARGS((void));
672 void l_chaos ARGS((void));
673 void l_chaostone ARGS((void));
674 void l_circle_library ARGS((void));
675 void l_drop_every_portcullis ARGS((void));
676 void l_earth_station ARGS((void));
677 void l_enter_circle ARGS((void));
678 void l_enter_court ARGS((void));
679 void l_escalator ARGS((void));
680 void l_fire ARGS((void));
681 void l_fire_station ARGS((void));
682 void l_hedge ARGS((void));
683 void l_house_exit ARGS((void));
684 void l_lava ARGS((void));
685 void l_lawstone ARGS((void));
686 void l_lift ARGS((void));
687 void l_magic_pool ARGS((void));
688 void l_mindstone ARGS((void));
689 void l_no_op ARGS((void));
690 void l_portcullis_trap ARGS((void));
691 void l_raise_portcullis ARGS((void));
692 void l_rubble ARGS((void));
693 void l_sacrificestone ARGS((void));
694 void l_tactical_exit ARGS((void));
695 void l_temple_warning ARGS((void));
696 void l_throne ARGS((void));
697 void l_tome1 ARGS((void));
698 void l_tome2 ARGS((void));
699 void l_voice1 ARGS((void));
700 void l_voice2 ARGS((void));
701 void l_voice3 ARGS((void));
702 void l_void ARGS((void));
703 void l_void_station ARGS((void));
704 void l_voidstone ARGS((void));
705 void l_water ARGS((void));
706 void l_water_station ARGS((void));
707 void l_whirlwind ARGS((void));
708 void stationcheck ARGS((void));
709 
710 /* movef.c functions */
711 
712 void m_movefunction ARGS((struct monster *,int));
713 void p_movefunction ARGS((int));
714 void sign_print ARGS((int,int,int));	/* this function in site1.c if MSDOS defined */
715 
716 /* mspec.c functions */
717 
718 void m_aggravate ARGS((struct monster *));
719 void m_huge_sounds ARGS((struct monster *));
720 void m_illusion ARGS((struct monster *));
721 void m_sp_acid_cloud ARGS((struct monster *));
722 void m_sp_angel ARGS((struct monster *));
723 void m_sp_av ARGS((struct monster *));
724 void m_sp_blackout ARGS((struct monster *));
725 void m_sp_bogthing ARGS((struct monster *));
726 void m_sp_court ARGS((struct monster *));
727 void m_sp_demon ARGS((struct monster *));
728 void m_sp_demonlover ARGS((struct monster *));
729 void m_sp_dragonlord ARGS((struct monster *));
730 void m_sp_eater ARGS((struct monster *));
731 void m_sp_escape ARGS((struct monster *));
732 void m_sp_explode ARGS((struct monster *));
733 void m_sp_ghost ARGS((struct monster *));
734 void m_sp_lair ARGS((struct monster *));
735 void m_sp_lw ARGS((struct monster *));
736 void m_sp_mb ARGS((struct monster *));
737 void m_sp_merchant ARGS((struct monster *));
738 void m_sp_mirror ARGS((struct monster *));
739 void m_sp_mp ARGS((struct monster *));
740 void m_sp_ng ARGS((struct monster *));
741 void m_sp_poison_cloud ARGS((struct monster *));
742 void m_sp_prime ARGS((struct monster *));
743 void m_sp_raise ARGS((struct monster *));
744 void m_sp_seductor ARGS((struct monster *));
745 void m_sp_servant ARGS((struct monster *));
746 void m_sp_spell ARGS((struct monster *));
747 void m_sp_surprise ARGS((struct monster *));
748 void m_sp_swarm ARGS((struct monster *));
749 void m_sp_were ARGS((struct monster *));
750 void m_sp_whistleblower ARGS((struct monster *));
751 void m_summon ARGS((struct monster *));
752 void m_thief_f ARGS((struct monster *));
753 
754 /* mstrike.c functions */
755 
756 void m_blind_strike ARGS((struct monster *));
757 void m_fireball ARGS((struct monster *));
758 void m_firebolt ARGS((struct monster *));
759 void m_lball ARGS((struct monster *));
760 void m_nbolt ARGS((struct monster *));
761 void m_snowball ARGS((struct monster *));
762 void m_strike_sonic ARGS((struct monster *));
763 
764 /* mtalk.c functions */
765 
766 void m_talk_animal ARGS((struct monster *));
767 void m_talk_archmage ARGS((struct monster *));
768 void m_talk_assassin ARGS((struct monster *));
769 void m_talk_beg ARGS((struct monster *));
770 void m_talk_burble ARGS((struct monster *));
771 void m_talk_demonlover ARGS((struct monster *));
772 void m_talk_druid ARGS((struct monster *));
773 void m_talk_ef ARGS((struct monster *));
774 void m_talk_evil ARGS((struct monster *));
775 void m_talk_gf ARGS((struct monster *));
776 void m_talk_greedy ARGS((struct monster *));
777 void m_talk_guard ARGS((struct monster *));
778 void m_talk_hint ARGS((struct monster *));
779 void m_talk_horse ARGS((struct monster *));
780 void m_talk_hungry ARGS((struct monster *));
781 void m_talk_hyena ARGS((struct monster *));
782 void m_talk_im ARGS((struct monster *));
783 void m_talk_man ARGS((struct monster *));
784 void m_talk_merchant ARGS((struct monster *));
785 void m_talk_mimsy ARGS((struct monster *));
786 void m_talk_mp ARGS((struct monster *));
787 void m_talk_ninja ARGS((struct monster *));
788 void m_talk_parrot ARGS((struct monster *));
789 void m_talk_prime ARGS((struct monster *));
790 void m_talk_robot ARGS((struct monster *));
791 void m_talk_scream ARGS((struct monster *));
792 void m_talk_seductor ARGS((struct monster *));
793 void m_talk_servant ARGS((struct monster *));
794 void m_talk_silent ARGS((struct monster *));
795 void m_talk_slithy ARGS((struct monster *));
796 void m_talk_stupid ARGS((struct monster *));
797 void m_talk_thief ARGS((struct monster *));
798 void m_talk_titter ARGS((struct monster *));
799 
800 /* priest.c functions */
801 
802 int check_sacrilege ARGS((int));
803 void answer_prayer ARGS((void));
804 void hp_req_print ARGS((void));
805 void hp_req_test ARGS((void));
806 int increase_priest_rank ARGS((int));
807 void l_altar ARGS((void));
808 void make_hp ARGS((pob));
809 
810 /* save.c functions */
811 
812 int ok_outdated ARGS((int));
813 int restore_game ARGS((char *));
814 void restore_hiscore_npc ARGS((pmt, int));
815 pob restore_item ARGS((FILE *, int));
816 pol restore_itemlist ARGS((FILE *, int));
817 void restore_country ARGS((FILE *, int));
818 void restore_level ARGS((FILE *, int));
819 void restore_monsters ARGS((FILE *,plv, int));
820 void restore_player ARGS((FILE *, int));
821 int save_game ARGS((int,char *));
822 int save_country ARGS((FILE *));
823 int save_item ARGS((FILE *,pob));
824 int save_itemlist ARGS((FILE *,pol));
825 int save_level ARGS((FILE *,plv));
826 int save_monsters ARGS((FILE *,pml));
827 int save_player ARGS((FILE *));
828 void signalsave ARGS((void));
829 
830 /* scr.c functions */
831 
832 int mcigetc ARGS((void));
833 long parsenum ARGS((void));
834 char *msgscanstring ARGS((void));
835 Symbol getspot ARGS((int,int,int));
836 char lgetc ARGS((void));
837 char menugetc ARGS((void));
838 char mgetc ARGS((void));
839 int ynq ARGS((void));
840 int ynq1 ARGS((void));
841 int ynq2 ARGS((void));
842 int getnumber ARGS((int));
843 int litroom ARGS((int,int));
844 int move_slot ARGS((int,int,int));
845 int stillonblock ARGS((void));
846 void blankoutspot ARGS((int,int));
847 void blotspot ARGS((int,int));
848 void buffercycle ARGS((char *));
849 int bufferappend ARGS((char *));
850 void bufferprint ARGS((void));
851 void checkclear ARGS((void));
852 void clear_if_necessary ARGS((void));
853 void clear_screen ARGS((void));
854 void clearmsg ARGS((void));
855 void clearmsg1 ARGS((void));
856 void clearmsg3 ARGS((void));
857 void colour_on ARGS((void));
858 void colour_off ARGS((void));
859 void commanderror ARGS((void));
860 void comwinprint ARGS((void));
861 void dataprint ARGS((void));
862 void deathprint ARGS((void));
863 void display_bigwin ARGS((void));
864 void display_death ARGS((char *));
865 void display_inventory_slot ARGS((int,int));
866 void display_option_slot ARGS((int));
867 void display_options ARGS((void));
868 void display_pack ARGS((void));
869 void display_possessions ARGS((void));
870 void display_quit ARGS((void));
871 void display_win ARGS((void));
872 void dobackspace ARGS((void));
873 void dodrawspot ARGS((int,int));
874 void draw_explosion ARGS((Symbol,int,int));
875 void drawmonsters ARGS((int));
876 void drawomega ARGS((void));
877 void drawplayer ARGS((void));
878 void drawscreen ARGS((void));
879 void drawspot ARGS((int,int));
880 void drawvision ARGS((int,int));
881 void endgraf ARGS((void));
882 void erase_level ARGS((void));
883 void erase_monster ARGS((struct monster *));
884 void hide_line ARGS((int));
885 void initgraf ARGS((void));
886 void levelrefresh ARGS((void));
887 void lightspot ARGS((int,int));
888 void locprint ARGS((char *));
889 void maddch ARGS((char));
890 void menuaddch ARGS((char));
891 void menuclear ARGS((void));
892 void menulongprint ARGS((long));
893 void menunumprint ARGS((int));
894 void menuprint ARGS((char *));
895 void menuspellprint ARGS((int));
896 void showmenu ARGS((void));
897 void mlongprint ARGS((long));
898 void mnumprint ARGS((int));
899 void morewait ARGS((void));
900 void mprint ARGS((char *));
901 void nprint1 ARGS((char *));
902 void nprint2 ARGS((char *));
903 void nprint3 ARGS((char *));
904 void phaseprint ARGS((void));
905 void plotchar ARGS((Symbol,int,int));
906 void plotmon ARGS((struct monster *));
907 void plotspot ARGS((int,int,int));
908 void print1 ARGS((char *));
909 void print2 ARGS((char *));
910 void print3 ARGS((char *));
911 void putspot ARGS((int,int,Symbol));
912 void redraw ARGS((void));
913 void screencheck ARGS((int));
914 void setlastxy ARGS((int, int));
915 void show_screen ARGS((void));
916 void omshowcursor ARGS((int,int));
917 void showflags ARGS((void));
918 void spreadroomdark ARGS((int,int,int));
919 void spreadroomlight ARGS((int,int,int));
920 void timeprint ARGS((void));
921 void title ARGS((void));
922 void xredraw ARGS((void));
923 
924 /* site1.c functions */
925 
926 void buyfromstock ARGS((int,int));
927 void l_alchemist ARGS((void));
928 void l_armorer ARGS((void));
929 void l_bank ARGS((void));
930 void l_casino ARGS((void));
931 void l_club ARGS((void));
932 void l_commandant ARGS((void));
933 void l_crap ARGS((void));
934 void l_diner ARGS((void));
935 void l_dpw ARGS((void));
936 void l_gym ARGS((void));
937 void l_healer ARGS((void));
938 void l_library ARGS((void));
939 void l_pawn_shop ARGS((void));
940 void l_statue_wake ARGS((void));
941 void l_tavern ARGS((void));
942 void statue_random ARGS((int,int));
943 void wake_statue ARGS((int,int,int));
944 
945 /* site2.c functions */
946 
947 void cureforpay ARGS((void));
948 void gymtrain ARGS((int *,int *));
949 void healforpay ARGS((void));
950 void l_adept ARGS((void));
951 void l_brothel ARGS((void));
952 void l_cartographer ARGS((void));
953 void l_charity ARGS((void));
954 void l_condo ARGS((void));
955 void l_countryside ARGS((void));
956 void l_house ARGS((void));
957 void l_hovel ARGS((void));
958 void l_mansion ARGS((void));
959 void l_oracle ARGS((void));
960 void l_safe ARGS((void));
961 void l_trifid ARGS((void));
962 void l_vault ARGS((void));
963 void pacify_guards ARGS((void));
964 void send_to_jail ARGS((void));
965 
966 /* spell.c functions */
967 
968 char *spellid ARGS((int));
969 int getspell ARGS((void));
970 int spellparse ARGS((void));
971 void cast_spell ARGS((int));
972 void initspells ARGS((void));
973 void s_accuracy ARGS((void));
974 void s_alert ARGS((void));
975 void s_apport ARGS((void));
976 void s_bless ARGS((void));
977 void s_breathe ARGS((void));
978 void s_clairvoyance ARGS((void));
979 void s_cure ARGS((void));
980 void s_desecrate ARGS((void));
981 void s_disintegrate ARGS((void));
982 void s_dispel ARGS((void));
983 void s_disrupt ARGS((void));
984 void s_drain ARGS((void));
985 void s_enchant ARGS((void));
986 void s_fear ARGS((void));
987 void s_firebolt ARGS((void));
988 void s_haste ARGS((void));
989 void s_heal ARGS((void));
990 void s_hellfire ARGS((void));
991 void s_hero ARGS((void));
992 void s_identify ARGS((void));
993 void s_invisible ARGS((void));
994 void s_knowledge ARGS((void));
995 void s_lball ARGS((void));
996 void s_levitate ARGS((void));
997 void s_missile ARGS((void));
998 void s_mondet ARGS((void));
999 void s_objdet ARGS((void));
1000 void s_polymorph ARGS((void));
1001 void s_regenerate ARGS((void));
1002 void s_restore ARGS((void));
1003 void s_return ARGS((void));
1004 void s_ritual ARGS((void));
1005 void s_sanctify ARGS((void));
1006 void s_sanctuary ARGS((void));
1007 void s_shadowform ARGS((void));
1008 void s_sleep ARGS((void));
1009 void s_summon ARGS((void));
1010 void s_teleport ARGS((void));
1011 void s_truesight ARGS((void));
1012 void s_warp ARGS((void));
1013 void s_wish ARGS((void));
1014 void showknownspells ARGS((int, int));
1015 
1016 /* time.c functions */
1017 
1018 void fix_phantom ARGS((struct monster *));
1019 void time_clock ARGS((int));
1020 
1021 /* trap.c functions */
1022 
1023 void l_trap_abyss ARGS((void));
1024 void l_trap_acid ARGS((void));
1025 void l_trap_blade ARGS((void));
1026 void l_trap_dart ARGS((void));
1027 void l_trap_disintegrate ARGS((void));
1028 void l_trap_door ARGS((void));
1029 void l_trap_fire ARGS((void));
1030 void l_trap_manadrain ARGS((void));
1031 void l_trap_pit ARGS((void));
1032 void l_trap_siren ARGS((void));
1033 void l_trap_sleepgas ARGS((void));
1034 void l_trap_snare ARGS((void));
1035 void l_trap_teleport ARGS((void));
1036 
1037 /* util.c functions */
1038 
1039 long calc_points ARGS((void));
1040 char *getarticle ARGS((char *));
1041 char *month ARGS((void));
1042 char *ordinal ARGS((int));
1043 char *salloc ARGS((char *));
1044 char inversedir ARGS((int));
1045 void init_perms ARGS((void));
1046 int confirmation ARGS((void));
1047 char cryptkey ARGS((char*));
1048 int day ARGS((void));
1049 int distance ARGS((int,int,int,int));
1050 int hitp ARGS((int,int));
1051 int hour ARGS((void));
1052 int inbounds ARGS((int,int));
1053 int los_p ARGS((int,int,int,int));
1054 int m_unblocked ARGS((struct monster *,int,int));
1055 int nighttime ARGS((void));
1056 int offscreen ARGS((int));
1057 int ok_to_free ARGS((plv));
1058 void free_level ARGS((plv));
1059 void free_mons_and_objs ARGS((pml));
1060 void free_objlist ARGS((pol));
1061 void *checkmalloc ARGS((unsigned int));
1062 int random_range ARGS((int));
1063 int screenmod ARGS((int));
1064 int showhour ARGS((void));
1065 int showminute ARGS((void));
1066 int strmem ARGS((char,char *));
1067 int strprefix ARGS((char *,char *));
1068 int unblocked ARGS((int,int));
1069 int view_los_p ARGS((int,int,int,int));
1070 int view_unblocked ARGS((int,int));
1071 void calc_weight ARGS((void));
1072 void change_to_game_perms ARGS((void));
1073 void change_to_user_perms ARGS((void));
1074 void do_los ARGS((Symbol,int *,int *,int,int));
1075 void do_object_los ARGS((int,int *,int *,int,int));
1076 void findspace ARGS((int *,int *,int));
1077 void initdirs ARGS((void));
1078 #ifdef NO_USLEEP
1079 void usleep ARGS((int));
1080 #endif
1081 
1082 /* village.c functions */
1083 
1084 void assign_village_function ARGS((int,int,int));
1085 void load_village ARGS((int, int));
1086 void make_food_bin ARGS((int,int));
1087 void make_guard ARGS((int,int));
1088 void make_horse ARGS((int,int));
1089 void make_merchant ARGS((int,int));
1090 void make_sheep ARGS((int,int));
1091 void special_village_site ARGS((int,int,int));
1092