Mercurial > hg > early-roguelike
annotate urogue/daemon.c @ 264:778938a5c21d
UltraRogue: add location for character files.
When using the -n option, UltraRogue will look for character files in a
single location, similar to save files.
The location is chosen by defining CHRDIR in getplay.c, at least until
UltraRogue gets integrated with the build systems.
| author | John "Elwin" Edwards | 
|---|---|
| date | Sun, 19 Feb 2017 19:47:09 -0500 | 
| parents | c495a4f288c6 | 
| children | d815c40c3753 | 
| rev | line source | 
|---|---|
| 
256
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
2 daemon.c - functions for dealing with things that happen in the future | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
3 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
4 UltraRogue: The Ultimate Adventure in the Dungeons of Doom | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
5 Copyright (C) 1985, 1986, 1992, 1993, 1995 Herb Chong | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
6 All rights reserved. | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
7 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
8 Based on "Advanced Rogue" | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
9 Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
10 All rights reserved. | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
11 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
12 Based on "Rogue: Exploring the Dungeons of Doom" | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
13 Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
14 All rights reserved. | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
15 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
16 See the file LICENSE.TXT for full copyright and licensing information. | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
17 */ | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
18 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
19 /* | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
20 Needs to be rewritten again to work on a per creature basis. | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
21 Either each monster will have a list of effect, or each | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
22 fuse will take a creature pointer and multiple entries | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
23 for each fuse will be allowed. I tend to want to attach | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
24 the effects to the creature. | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
25 */ | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
26 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
27 #include "rogue.h" | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
28 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
29 int demoncnt; | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
30 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
31 struct daemon daemons[DAEMON_MAX] = | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
32 { | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
33 { DAEMON_NULL, NULL }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
34 { DAEMON_DOCTOR, doctor }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
35 { DAEMON_ROLLWAND, rollwand }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
36 { DAEMON_STOMACH, stomach }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
37 { DAEMON_RUNNERS, runners } | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
38 }; | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
39 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
40 struct fuse fuses[FUSE_MAX] = | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
41 { | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
42 { FUSE_NULL, NULL }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
43 { FUSE_SWANDER, swander }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
44 { FUSE_UNCONFUSE, unconfuse }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
45 { FUSE_UNSCENT, unscent }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
46 { FUSE_SCENT, scent }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
47 { FUSE_UNHEAR, unhear }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
48 { FUSE_HEAR, hear }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
49 { FUSE_UNSEE, unsee }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
50 { FUSE_UNSTINK, unstink }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
51 { FUSE_UNCLRHEAD, unclrhead }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
52 { FUSE_UNPHASE, unphase }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
53 { FUSE_SIGHT, sight }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
54 { FUSE_RES_STRENGTH, res_strength }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
55 { FUSE_NOHASTE, nohaste }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
56 { FUSE_NOSLOW, noslow }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
57 { FUSE_SUFFOCATE, suffocate }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
58 { FUSE_CURE_DISEASE, cure_disease }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
59 { FUSE_UNITCH, un_itch }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
60 { FUSE_APPEAR, appear }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
61 { FUSE_UNELECTRIFY, unelectrify }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
62 { FUSE_UNBHERO, unbhero }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
63 { FUSE_UNSHERO, unshero }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
64 { FUSE_UNXRAY, NULL }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
65 { FUSE_UNDISGUISE, undisguise }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
66 { FUSE_SHERO, shero }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
67 { FUSE_WGHTCHK, wghtchk }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
68 { FUSE_UNSUMMON, unsummon }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
69 { FUSE_UNGAZE, ungaze }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
70 { FUSE_UNCOLD, uncold }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
71 { FUSE_UNHOT, unhot }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
72 { FUSE_UNFLY, unfly }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
73 { FUSE_UNBREATHE, unbreathe }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
74 { FUSE_UNREGEN, unregen }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
75 { FUSE_UNSUPEREAT, unsupereat }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
76 { FUSE_UNSHIELD, unshield }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
77 { FUSE_UNMSHIELD, unmshield }, | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
78 { FUSE_UNTRUESEE, untruesee } | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
79 }; | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
80 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
81 /* | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
82 d_slot() | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
83 Find an empty slot in the daemon/fuse list | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
84 */ | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
85 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
86 struct delayed_action * | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
87 d_slot(void) | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
88 { | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
89 int i; | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
90 struct delayed_action *dev; | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
91 | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
 
John "Elwin" Edwards 
parents:  
diff
changeset
 | 
92 for (i = 0, dev = d_list; i < MAXDAEMONS; i++, dev++) | 
| 
 
c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)  | 
