1 module monsterCyberdemon is "monster" "Cyberdemon";
7 // setup actor animations
8 public void initializeAnim () {
10 animClearFrames("monster", "Cyberdemon", "sleep");
12 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybra1.vga");
13 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybra1.vga");
14 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybra1.vga");
15 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybrb1.vga");
16 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybrb1.vga");
17 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybrb1.vga");
19 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybra2.vga");
20 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybra2.vga");
21 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybra2.vga");
22 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybrb2.vga");
23 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybrb2.vga");
24 animAddFrame("monster", "Cyberdemon", "sleep", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybrb2.vga");
26 animClearFrames("monster", "Cyberdemon", "go");
28 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybra1.vga");
29 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybra1.vga");
30 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybrb1.vga");
31 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybrb1.vga");
32 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/go/cybrd1.vga");
33 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/go/cybrd1.vga");
34 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/go/cybrc1.vga");
35 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/go/cybrc1.vga");
36 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/go/cybrd1.vga");
37 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/go/cybrd1.vga");
38 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybrb1.vga");
39 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybrb1.vga");
41 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybra2.vga");
42 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybra2.vga");
43 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybrb2.vga");
44 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybrb2.vga");
45 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/go/cybrd2.vga");
46 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/go/cybrd2.vga");
47 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/go/cybrc2.vga");
48 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/go/cybrc2.vga");
49 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/go/cybrd2.vga");
50 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/go/cybrd2.vga");
51 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybrb2.vga");
52 animAddFrame("monster", "Cyberdemon", "go", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybrb2.vga");
54 animClearFrames("monster", "Cyberdemon", "pain");
56 animAddFrame("monster", "Cyberdemon", "pain", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/pain/cybrg1.vga");
58 animAddFrame("monster", "Cyberdemon", "pain", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/pain/cybrg2.vga");
60 animClearFrames("monster", "Cyberdemon", "wait");
62 animAddFrame("monster", "Cyberdemon", "wait", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/shared/cybra1.vga");
64 animAddFrame("monster", "Cyberdemon", "wait", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/shared/cybra2.vga");
66 animClearFrames("monster", "Cyberdemon", "attack");
68 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/attack/cybre1.vga");
69 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/attack/cybre1.vga");
70 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/attack/cybre1.vga");
71 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/attack/cybre1.vga");
72 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/attack/cybre1.vga");
73 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/attack/cybrf1.vga");
75 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/attack/cybre2.vga");
76 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/attack/cybre2.vga");
77 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/attack/cybre2.vga");
78 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/attack/cybre2.vga");
79 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/attack/cybre2.vga");
80 animAddFrame("monster", "Cyberdemon", "attack", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/attack/cybrf2.vga");
82 animClearFrames("monster", "Cyberdemon", "die");
84 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrh0.vga");
85 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrh0.vga");
86 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrh0.vga");
87 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybri0.vga");
88 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybri0.vga");
89 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybri0.vga");
90 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrj0.vga");
91 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrj0.vga");
92 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrj0.vga");
93 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrk0.vga");
94 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrk0.vga");
95 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrk0.vga");
96 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrl0.vga");
97 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrl0.vga");
98 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrl0.vga");
99 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrm0.vga");
100 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrm0.vga");
101 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrm0.vga");
102 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrn0.vga");
103 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrn0.vga");
104 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybrn0.vga");
105 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybro0.vga");
106 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybro0.vga");
107 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/die/cybro0.vga");
109 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrh0.vga");
110 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrh0.vga");
111 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrh0.vga");
112 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybri0.vga");
113 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybri0.vga");
114 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybri0.vga");
115 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrj0.vga");
116 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrj0.vga");
117 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrj0.vga");
118 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrk0.vga");
119 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrk0.vga");
120 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrk0.vga");
121 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrl0.vga");
122 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrl0.vga");
123 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrl0.vga");
124 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrm0.vga");
125 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrm0.vga");
126 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrm0.vga");
127 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrn0.vga");
128 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrn0.vga");
129 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybrn0.vga");
130 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybro0.vga");
131 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybro0.vga");
132 animAddFrame("monster", "Cyberdemon", "die", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/die/cybro0.vga");
134 animClearFrames("monster", "Cyberdemon", "slop");
138 animClearFrames("monster", "Cyberdemon", "dead");
140 animAddFrame("monster", "Cyberdemon", "dead", ACTOR_DIR_LEFT, "monsters/cyberdemon/graphics/dead/cybrp0.vga");
142 animAddFrame("monster", "Cyberdemon", "dead", ACTOR_DIR_RIGHT, "monsters/cyberdemon/graphics/dead/cybrp0.vga");
144 animClearFrames("monster", "Cyberdemon", "mess");
150 // change actor animation
151 public void setAnim (Actor me, string state) {
154 case "sleep": me.animname = "sleep"; me.animstr = "AAABBB"; break;
155 case "go": me.animname = "go"; me.animstr = "AABBDDCCDDBB"; break;
156 case "pain": me.animname = "pain"; me.animstr = "G"; break;
157 case "wait": me.animname = "wait"; me.animstr = "A"; break;
158 case "attack": me.animname = "attack"; me.animstr = "EEEEEF"; break;
159 case "die": me.animname = "die"; me.animstr = "HHHIIIJJJKKKLLLMMMNNNOOO"; break;
160 case "slop": me.animname = "slop"; me.animstr = ""; break;
161 case "dead": me.animname = "dead"; me.animstr = "P"; break;
162 case "mess": me.animname = "mess"; me.animstr = ""; break;
163 case "run": me.animname = "go"; me.animstr = "AABBDDCCDDBB"; break;
164 case "climb": me.animname = "go"; me.animstr = "AABBDDCCDDBB"; break;
165 case "runout": me.animname = "go"; me.animstr = "AABBDDCCDDBB"; break;
166 case "shoot": me.animname = "attack"; me.animstr = "EEEEEF"; break;
167 case "revive": me.animname = "revive"; me.animstr = "OOONNNMMMLLLKKKJJJIIIHHH"; break;
168 default: me.animname = "sleep"; me.animstr = "AAABBB"; break;
170 me.actorSetAnimation(state);
174 // setup actor properties
175 public void initialize (Actor me) {
176 // `classname` and `classtype` will be set by the engine
177 //me.classname = "Cyberdemon";
178 //me.classtype = "monster";
181 me.hitpoints = me.life = 500;
193 public void think (Actor me) {