1 module monsterDemon is "monster" "Demon";
7 // setup actor animations
8 public void initializeAnim () {
10 animClearFrames("monster", "Demon", "sleep");
12 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sarga1a2.vga");
13 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sarga1a2.vga");
14 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sarga1a2.vga");
15 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sargb1b2.vga");
16 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sargb1b2.vga");
17 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sargb1b2.vga");
19 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sarga1a2_mirrored.vga");
20 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sarga1a2_mirrored.vga");
21 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sarga1a2_mirrored.vga");
22 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sargb1b2_mirrored.vga");
23 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sargb1b2_mirrored.vga");
24 animAddFrame("monster", "Demon", "sleep", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sargb1b2_mirrored.vga");
26 animClearFrames("monster", "Demon", "go");
28 animAddFrame("monster", "Demon", "go", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sarga1a2.vga");
29 animAddFrame("monster", "Demon", "go", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sarga1a2.vga");
30 animAddFrame("monster", "Demon", "go", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sargb1b2.vga");
31 animAddFrame("monster", "Demon", "go", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sargb1b2.vga");
32 animAddFrame("monster", "Demon", "go", ACTOR_DIR_LEFT, "monsters/demon/graphics/go/sargc1c2.vga");
33 animAddFrame("monster", "Demon", "go", ACTOR_DIR_LEFT, "monsters/demon/graphics/go/sargc1c2.vga");
34 animAddFrame("monster", "Demon", "go", ACTOR_DIR_LEFT, "monsters/demon/graphics/go/sargd1d2.vga");
35 animAddFrame("monster", "Demon", "go", ACTOR_DIR_LEFT, "monsters/demon/graphics/go/sargd1d2.vga");
37 animAddFrame("monster", "Demon", "go", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sarga1a2_mirrored.vga");
38 animAddFrame("monster", "Demon", "go", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sarga1a2_mirrored.vga");
39 animAddFrame("monster", "Demon", "go", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sargb1b2_mirrored.vga");
40 animAddFrame("monster", "Demon", "go", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sargb1b2_mirrored.vga");
41 animAddFrame("monster", "Demon", "go", ACTOR_DIR_RIGHT, "monsters/demon/graphics/go/sargc1c2_mirrored.vga");
42 animAddFrame("monster", "Demon", "go", ACTOR_DIR_RIGHT, "monsters/demon/graphics/go/sargc1c2_mirrored.vga");
43 animAddFrame("monster", "Demon", "go", ACTOR_DIR_RIGHT, "monsters/demon/graphics/go/sargd1d2_mirrored.vga");
44 animAddFrame("monster", "Demon", "go", ACTOR_DIR_RIGHT, "monsters/demon/graphics/go/sargd1d2_mirrored.vga");
46 animClearFrames("monster", "Demon", "pain");
48 animAddFrame("monster", "Demon", "pain", ACTOR_DIR_LEFT, "monsters/demon/graphics/pain/sargh1.vga");
50 animAddFrame("monster", "Demon", "pain", ACTOR_DIR_RIGHT, "monsters/demon/graphics/pain/sargh2.vga");
52 animClearFrames("monster", "Demon", "wait");
54 animAddFrame("monster", "Demon", "wait", ACTOR_DIR_LEFT, "monsters/demon/graphics/shared/sarga1a2.vga");
56 animAddFrame("monster", "Demon", "wait", ACTOR_DIR_RIGHT, "monsters/demon/graphics/shared/sarga1a2_mirrored.vga");
58 animClearFrames("monster", "Demon", "attack");
60 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_LEFT, "monsters/demon/graphics/attack/sarge1.vga");
61 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_LEFT, "monsters/demon/graphics/attack/sarge1.vga");
62 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_LEFT, "monsters/demon/graphics/attack/sargf1.vga");
63 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_LEFT, "monsters/demon/graphics/attack/sargf1.vga");
64 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_LEFT, "monsters/demon/graphics/attack/sargg1.vga");
65 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_LEFT, "monsters/demon/graphics/attack/sargg1.vga");
67 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_RIGHT, "monsters/demon/graphics/attack/sarge2.vga");
68 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_RIGHT, "monsters/demon/graphics/attack/sarge2.vga");
69 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_RIGHT, "monsters/demon/graphics/attack/sargf2.vga");
70 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_RIGHT, "monsters/demon/graphics/attack/sargf2.vga");
71 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_RIGHT, "monsters/demon/graphics/attack/sargg2.vga");
72 animAddFrame("monster", "Demon", "attack", ACTOR_DIR_RIGHT, "monsters/demon/graphics/attack/sargg2.vga");
74 animClearFrames("monster", "Demon", "die");
76 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargi0.vga");
77 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargi0.vga");
78 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargi0.vga");
79 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargj0.vga");
80 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargj0.vga");
81 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargj0.vga");
82 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargk0.vga");
83 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargk0.vga");
84 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargk0.vga");
85 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargl0.vga");
86 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargl0.vga");
87 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargl0.vga");
88 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargm0.vga");
89 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargm0.vga");
90 animAddFrame("monster", "Demon", "die", ACTOR_DIR_LEFT, "monsters/demon/graphics/die/sargm0.vga");
92 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargi0.vga");
93 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargi0.vga");
94 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargi0.vga");
95 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargj0.vga");
96 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargj0.vga");
97 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargj0.vga");
98 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargk0.vga");
99 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargk0.vga");
100 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargk0.vga");
101 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargl0.vga");
102 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargl0.vga");
103 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargl0.vga");
104 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargm0.vga");
105 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargm0.vga");
106 animAddFrame("monster", "Demon", "die", ACTOR_DIR_RIGHT, "monsters/demon/graphics/die/sargm0.vga");
108 animClearFrames("monster", "Demon", "slop");
112 animClearFrames("monster", "Demon", "dead");
114 animAddFrame("monster", "Demon", "dead", ACTOR_DIR_LEFT, "monsters/demon/graphics/dead/sargn0.vga");
116 animAddFrame("monster", "Demon", "dead", ACTOR_DIR_RIGHT, "monsters/demon/graphics/dead/sargn0.vga");
118 animClearFrames("monster", "Demon", "mess");
124 // change actor animation
125 public void setAnim (Actor me, string state) {
128 case "sleep": me.animname = "sleep"; me.animstr = "AAABBB"; break;
129 case "go": me.animname = "go"; me.animstr = "AABBCCDD"; break;
130 case "pain": me.animname = "pain"; me.animstr = "H"; break;
131 case "wait": me.animname = "wait"; me.animstr = "A"; break;
132 case "attack": me.animname = "attack"; me.animstr = "EEFFGG"; break;
133 case "die": me.animname = "die"; me.animstr = "IIIJJJKKKLLLMMM"; break;
134 case "slop": me.animname = "slop"; me.animstr = ""; break;
135 case "dead": me.animname = "dead"; me.animstr = "N"; break;
136 case "mess": me.animname = "mess"; me.animstr = ""; break;
137 case "run": me.animname = "go"; me.animstr = "AABBCCDD"; break;
138 case "climb": me.animname = "go"; me.animstr = "AABBCCDD"; break;
139 case "runout": me.animname = "go"; me.animstr = "AABBCCDD"; break;
140 case "shoot": me.animname = "attack"; me.animstr = "EEFFGG"; break;
141 case "revive": me.animname = "revive"; me.animstr = "MMMLLLKKKJJJIII"; break;
142 default: me.animname = "sleep"; me.animstr = "AAABBB"; break;
144 me.actorSetAnimation(state);
148 // setup actor properties
149 public void initialize (Actor me) {
150 // `classname` and `classtype` will be set by the engine
151 //me.classname = "Demon";
152 //me.classtype = "monster";
155 me.hitpoints = me.life = 60;
167 public void think (Actor me) {