Rev 1 | Rev 8 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1 | Rev 7 | ||
---|---|---|---|
1 | /* |
1 | /* |
2 | -------------------------------------------------------------------------------- |
2 | -------------------------------------------------------------------------------- |
3 | Duke: Nuclear Winter |
3 | Duke: Nuclear Winter |
4 | By Joris Weimar |
4 | By Joris Weimar |
5 | © 1997 Simply Silly Software |
5 | © 1997 Simply Silly Software |
6 | -------------------------------------------------------------------------------- |
6 | -------------------------------------------------------------------------------- |
7 | Duke: Nuclear Winter Plus |
7 | Duke: Nuclear Winter Plus |
8 | By Hendricks266 |
8 | By Hendricks266 |
9 | -------------------------------------------------------------------------------- |
9 | -------------------------------------------------------------------------------- |
10 | */ |
10 | */ |
11 | 11 | ||
12 | definecheat 14 endepisode |
12 | definecheat 14 endepisode |
13 | definecheat 15 endlevel |
13 | definecheat 15 endlevel |
14 | definecheat 25 endvolume |
14 | definecheat 25 endvolume |
15 | 15 | ||
16 | include NWDefs.con |
16 | include NWDefs.con |
17 | include NWUser.con |
17 | include NWUser.con |
18 | 18 | ||
19 | setgamename Duke: Nuclear Winter |
19 | setgamename Duke: Nuclear Winter |
20 | 20 | ||
21 | gamevar owner 0 2 |
21 | gamevar owner 0 2 |
22 | gamevar temp2 0 2 |
22 | gamevar temp2 0 2 |
23 | gamevar temp3 0 2 |
23 | gamevar temp3 0 2 |
24 | gamevar temp4 0 2 |
24 | gamevar temp4 0 2 |
25 | gamevar ptemp 0 1 |
25 | gamevar ptemp 0 1 |
26 | gamevar musicchange 0 1 |
26 | gamevar musicchange 0 1 |
27 | gamevar skin 0 1 |
27 | gamevar skin DUKE 1 |
28 | 28 | ||
29 | gamevar LOGO_FLAGS 767 0 // default; TEN screen reenabled |
29 | gamevar LOGO_FLAGS 767 0 // default; TEN screen reenabled |
30 | 30 | ||
31 | state cutsceneambience |
31 | state cutsceneambience |
32 | getactor[THISACTOR].lotag temp |
32 | getactor[THISACTOR].lotag temp |
33 | 33 | ||
34 | switch temp |
34 | switch temp |
35 | 35 | ||
36 | case WIND_AMBIENCE |
36 | case WIND_AMBIENCE |
37 | case WIND_REPEAT |
37 | case WIND_REPEAT |
38 | setactor[THISACTOR].lotag WIND2 |
38 | setactor[THISACTOR].lotag WIND2 |
39 | break |
39 | break |
40 | 40 | ||
41 | case FLY_BY |
41 | case FLY_BY |
42 | setactor[THISACTOR].lotag FLY_BY2 |
42 | setactor[THISACTOR].lotag FLY_BY2 |
43 | break |
43 | break |
44 | 44 | ||
45 | endswitch |
45 | endswitch |
46 | ends |
46 | ends |
47 | 47 | ||
48 | onevent EVENT_LOADACTOR |
48 | onevent EVENT_LOADACTOR |
49 | getactor[THISACTOR].picnum picnum |
49 | getactor[THISACTOR].picnum picnum |
50 | switch picnum |
50 | switch picnum |
51 | 51 | ||
52 | case SNOWYDOORSHOCK |
52 | case SNOWYDOORSHOCK |
53 | spritepal 30 |
53 | spritepal 30 |
54 | cactor DOORSHOCK |
54 | cactor DOORSHOCK |
55 | break |
55 | break |
56 | 56 | ||
57 | case 3765 case 3766 case 3767 case 3768 cactor WOODENHORSE2 break |
57 | case 3765 case 3766 case 3767 case 3768 cactor WOODENHORSE2 break |
58 | 58 | ||
59 | // case PIGCOP case PIGCOPSTAYPUT case PIGCOPDIVE sizeat 48 40 break |
59 | // case PIGCOP case PIGCOPSTAYPUT case PIGCOPDIVE sizeat 48 40 break |
60 | case SOBBOTWALK case SOBBOTFLY sizeat 42 36 break |
60 | case SOBBOTWALK case SOBBOTFLY sizeat 42 36 break |
61 | case ELFUZI case ELFUZISTAYPUT sizeat 32 27 break |
61 | case ELFUZI case ELFUZISTAYPUT sizeat 32 27 break |
62 | case ELFGUN case ELFGUNSTAYPUT sizeat 32 27 break |
62 | case ELFGUN case ELFGUNSTAYPUT sizeat 32 27 break |
63 | case SNOWMAN sizeat 42 36 break |
63 | case SNOWMAN sizeat 42 36 break |
64 | 64 | ||
65 | case 1915 |
65 | case 1915 |
66 | cactor COMMANDER // failsafe fix for NWL5 bug |
66 | cactor COMMANDER // failsafe fix for NWL5 bug |
67 | break |
67 | break |
68 | 68 | ||
69 | case MUSICANDSFX |
69 | case MUSICANDSFX |
70 | state cutsceneambience |
70 | state cutsceneambience |
71 | break |
71 | break |
72 | 72 | ||
73 | case JETPACK |
73 | case JETPACK |
74 | ifspritepal 21 setvar temp 1 |
74 | ifspritepal 21 setvar temp 1 |
75 | spritepal 0 |
75 | spritepal 0 |
76 | break |
76 | break |
77 | 77 | ||
78 | /* |
78 | /* |
79 | case SNOWFLAKE |
79 | case SNOWFLAKE |
80 | cactor SNOW |
80 | cactor SNOW |
81 | sizeat 8 8 |
81 | sizeat 8 8 |
82 | break |
82 | break |
83 | */ |
83 | */ |
84 | 84 | ||
85 | case XMASPRESENT |
85 | case XMASPRESENT |
86 | case XMASPRESENT2 |
86 | case XMASPRESENT2 |
87 | getactor[THISACTOR].hitag temp |
87 | getactor[THISACTOR].hitag temp |
88 | setactor[THISACTOR].hitag 0 |
88 | setactor[THISACTOR].hitag 0 |
89 | break |
89 | break |
90 | 90 | ||
91 | endswitch |
91 | endswitch |
92 | endevent |
92 | endevent |
93 | 93 | ||
94 | onevent EVENT_EGS |
94 | onevent EVENT_EGS |
95 | ifactor APLAYER setactor[THISACTOR].mdflags 16 |
95 | ifactor APLAYER setactor[THISACTOR].mdflags 16 |
96 | ifactor DUKETORSO setactor[THISACTOR].mdflags 16 |
96 | ifactor DUKETORSO setactor[THISACTOR].mdflags 16 |
97 | ifactor DUKEGUN setactor[THISACTOR].mdflags 16 |
97 | ifactor DUKEGUN setactor[THISACTOR].mdflags 16 |
98 | ifactor DUKELEG setactor[THISACTOR].mdflags 16 |
98 | ifactor DUKELEG setactor[THISACTOR].mdflags 16 |
99 | ifactor DOORSHOCK setactor[THISACTOR].mdflags 16 |
99 | ifactor DOORSHOCK setactor[THISACTOR].mdflags 16 |
100 | 100 | ||
101 | ifactor SNOW |
101 | ifactor SNOW |
102 | { |
102 | { |
103 | sizeat 8 8 |
103 | sizeat 8 8 |
104 | 104 | ||
105 | setvar temp3 0 |
105 | setvar temp3 0 |
106 | randvar temp3 2047 |
106 | randvar temp3 2047 |
107 | setactor[THISACTOR].ang temp3 |
107 | setactor[THISACTOR].ang temp3 |
108 | 108 | ||
109 | setvar temp2 -2047 |
109 | setvar temp2 -2047 |
110 | randvar temp2 2047 |
110 | randvar temp2 2047 |
111 | 111 | ||
112 | /* |
112 | /* |
113 | setvar temp3 0 |
113 | setvar temp3 0 |
114 | ifrnd 128 addvar temp3 4 |
114 | ifrnd 128 addvar temp3 4 |
115 | ifrnd 128 addvar temp3 8 |
115 | ifrnd 128 addvar temp3 8 |
116 | setactor[THISACTOR].cstat temp3 |
116 | setactor[THISACTOR].cstat temp3 |
117 | */ |
117 | */ |
118 | } |
118 | } |
119 | endevent |
119 | endevent |
120 | 120 | ||
121 | // ----------------------------------------------------------------------------- |
121 | // ----------------------------------------------------------------------------- |
122 | 122 | ||
123 | state standard_bjibs |
123 | state standard_bjibs |
124 | guts JIBS2 1 |
124 | guts JIBS2 1 |
125 | guts JIBS3 2 |
125 | guts JIBS3 2 |
126 | guts JIBS4 3 |
126 | guts JIBS4 3 |
127 | guts JIBS5 2 |
127 | guts JIBS5 2 |
128 | guts JIBS6 3 |
128 | guts JIBS6 3 |
129 | ifrnd 6 |
129 | ifrnd 6 |
130 | { |
130 | { |
131 | guts JIBS1 1 |
131 | guts JIBS1 1 |
132 | } // a badly drawn spine |
132 | } // a badly drawn spine |
133 | ends |
133 | ends |
134 | 134 | ||
135 | state nwbreakobject |
135 | state nwbreakobject |
136 | ifaction 0 |
136 | ifaction 0 |
137 | { |
137 | { |
138 | action ANULLACTION |
138 | action ANULLACTION |
139 | cstator 257 |
139 | cstator 257 |
140 | } |
140 | } |
141 | ifhitweapon |
141 | ifhitweapon |
142 | { |
142 | { |
143 | ifdead |
143 | ifdead |
144 | { |
144 | { |
145 | ifactor WOODSLATS |
145 | ifactor WOODSLATS |
146 | { |
146 | { |
147 | sound GLASS_HEAVYBREAK |
147 | sound GLASS_HEAVYBREAK |
148 | debris SCRAP3 5 |
148 | debris SCRAP3 5 |
149 | debris SCRAP4 3 |
149 | debris SCRAP4 3 |
150 | killit |
150 | killit |
151 | } |
151 | } |
152 | else |
152 | else |
153 | ifactor RIBBON |
153 | ifactor RIBBON |
154 | { |
154 | { |
155 | sound GLASS_HEAVYBREAK |
155 | sound GLASS_HEAVYBREAK |
156 | debris SCRAP3 5 |
156 | debris SCRAP3 5 |
157 | debris SCRAP4 3 |
157 | debris SCRAP4 3 |
158 | killit |
158 | killit |
159 | } |
159 | } |
160 | else |
160 | else |
161 | ifactor MYBOX |
161 | ifactor MYBOX |
162 | { |
162 | { |
163 | sound GLASS_HEAVYBREAK |
163 | sound GLASS_HEAVYBREAK |
164 | debris SCRAP3 5 |
164 | debris SCRAP3 5 |
165 | debris SCRAP4 3 |
165 | debris SCRAP4 3 |
166 | killit |
166 | killit |
167 | } |
167 | } |
168 | else |
168 | else |
169 | ifactor SNOWGIB killit |
169 | ifactor SNOWGIB killit |
170 | else |
170 | else |
171 | ifactor DRUNKELF |
171 | ifactor DRUNKELF |
172 | { |
172 | { |
173 | sound PRED_DYING |
173 | sound PRED_DYING |
174 | guts JIBS6 2 |
174 | guts JIBS6 2 |
175 | guts JIBS6 3 |
175 | guts JIBS6 3 |
176 | guts JIBS6 4 |
176 | guts JIBS6 4 |
177 | killit |
177 | killit |
178 | } |
178 | } |
179 | else |
179 | else |
180 | ifactor CHOOCHOOSLUT |
180 | ifactor CHOOCHOOSLUT |
181 | { |
181 | { |
182 | sound GLASS_HEAVYBREAK |
182 | sound GLASS_HEAVYBREAK |
183 | debris SCRAP3 5 |
183 | debris SCRAP3 5 |
184 | debris SCRAP4 3 |
184 | debris SCRAP4 3 |
185 | killit |
185 | killit |
186 | } |
186 | } |
187 | else |
187 | else |
188 | ifactor HORSEPOWER |
188 | ifactor HORSEPOWER |
189 | { |
189 | { |
190 | sound GLASS_HEAVYBREAK |
190 | sound GLASS_HEAVYBREAK |
191 | debris SCRAP3 5 |
191 | debris SCRAP3 5 |
192 | debris SCRAP4 3 |
192 | debris SCRAP4 3 |
193 | killit |
193 | killit |
194 | } |
194 | } |
195 | else |
195 | else |
196 | ifactor TREEWITHSOMETHING |
196 | ifactor TREEWITHSOMETHING |
197 | { |
197 | { |
198 | sound GLASS_HEAVYBREAK |
198 | sound GLASS_HEAVYBREAK |
199 | debris SCRAP3 5 |
199 | debris SCRAP3 5 |
200 | ifrnd 96 |
200 | ifrnd 96 |
201 | { |
201 | { |
202 | ifrnd 64 spawn ATOMICHEALTH else spawn SHIELD |
202 | ifrnd 64 spawn ATOMICHEALTH else spawn SHIELD |
203 | } |
203 | } |
204 | else |
204 | else |
205 | { |
205 | { |
206 | ifrnd 128 spawn STEROIDS else spawn FECES |
206 | ifrnd 128 spawn STEROIDS else spawn FECES |
207 | } |
207 | } |
208 | killit |
208 | killit |
209 | } |
209 | } |
210 | else |
210 | else |
211 | ifactor SSPEAKER |
211 | ifactor SSPEAKER |
212 | { |
212 | { |
213 | debris SCRAP4 3 |
213 | debris SCRAP4 3 |
214 | killit |
214 | killit |
215 | } |
215 | } |
216 | } |
216 | } |
217 | } |
217 | } |
218 | ends |
218 | ends |
219 | 219 | ||
220 | useractor notenemy WOODSLATS MEDIUMSTRENGTH state nwbreakobject enda |
220 | useractor notenemy WOODSLATS MEDIUMSTRENGTH state nwbreakobject enda |
221 | 221 | ||
222 | useractor notenemy RIBBON WEAK state nwbreakobject enda |
222 | useractor notenemy RIBBON WEAK state nwbreakobject enda |
223 | 223 | ||
224 | useractor notenemy SSPEAKER WEAK state nwbreakobject enda |
224 | useractor notenemy SSPEAKER WEAK state nwbreakobject enda |
225 | 225 | ||
226 | useractor notenemy MYBOX WEAK state nwbreakobject enda |
226 | useractor notenemy MYBOX WEAK state nwbreakobject enda |
227 | 227 | ||
228 | useractor notenemy DRUNKELF WEAK state nwbreakobject enda |
228 | useractor notenemy DRUNKELF WEAK state nwbreakobject enda |
229 | 229 | ||
230 | useractor notenemy CHOOCHOOSLUT WEAK state nwbreakobject enda |
230 | useractor notenemy CHOOCHOOSLUT WEAK state nwbreakobject enda |
231 | 231 | ||
232 | useractor notenemy HORSEPOWER WEAK state nwbreakobject enda |
232 | useractor notenemy HORSEPOWER WEAK state nwbreakobject enda |
233 | 233 | ||
234 | useractor notenemy SNOWGIB WEAK state nwbreakobject enda |
234 | useractor notenemy SNOWGIB WEAK state nwbreakobject enda |
235 | 235 | ||
236 | useractor notenemy TREEWITHSOMETHING TOUGH state nwbreakobject enda |
236 | useractor notenemy TREEWITHSOMETHING TOUGH state nwbreakobject enda |
237 | 237 | ||
238 | actor JETPACK |
238 | actor JETPACK |
239 | fall |
239 | fall |
240 | ifmove RESPAWN_ACTOR_FLAG |
240 | ifmove RESPAWN_ACTOR_FLAG |
241 | state respawnit |
241 | state respawnit |
242 | else |
242 | else |
243 | ifp pshrunk nullop |
243 | ifp pshrunk nullop |
244 | else |
244 | else |
245 | ifp palive |
245 | ifp palive |
246 | ifpdistl RETRIEVEDISTANCE |
246 | ifpdistl RETRIEVEDISTANCE |
247 | ifcount 6 |
247 | ifcount 6 |
248 | ifpinventory GET_JETPACK JETPACK_AMOUNT |
248 | ifpinventory GET_JETPACK JETPACK_AMOUNT |
249 | ifcanseetarget |
249 | ifcanseetarget |
250 | { |
250 | { |
251 | ifvare temp 1 |
251 | ifvare temp 1 |
252 | { |
252 | { |
253 | addinventory GET_JETPACK JETPACK_NEAR_EMPTY |
253 | addinventory GET_JETPACK JETPACK_NEAR_EMPTY |
254 | quote 125 |
254 | quote 125 |
255 | } |
255 | } |
256 | else |
256 | else |
257 | { |
257 | { |
258 | addinventory GET_JETPACK JETPACK_AMOUNT |
258 | addinventory GET_JETPACK JETPACK_AMOUNT |
259 | quote 41 |
259 | quote 41 |
260 | } |
260 | } |
261 | ifspawnedby JETPACK |
261 | ifspawnedby JETPACK |
262 | state getcode |
262 | state getcode |
263 | else |
263 | else |
264 | state quikget |
264 | state quikget |
265 | } |
265 | } |
266 | enda |
266 | enda |
267 | 267 | ||
268 | action FEMHDANCE1 205 1 1 1 16 |
268 | action FEMHDANCE1 205 1 1 1 16 |
269 | action FEMHDANCE3 205 1 1 1 26 |
269 | action FEMHDANCE3 205 1 1 1 26 |
270 | action FEMHDANCE2 206 2 1 1 10 |
270 | action FEMHDANCE2 206 2 1 1 10 |
271 | 271 | ||
272 | 272 | ||
273 | 273 | ||
274 | state nwbabecode |
274 | state nwbabecode |
275 | getactor[THISACTOR].cstat temp |
275 | getactor[THISACTOR].cstat temp |
276 | ifvarand temp 1 nullop else addvar temp 1 |
276 | ifvarand temp 1 nullop else addvar temp 1 |
277 | ifactor HALFBITCH { ifvarand temp 128 nullop else addvar temp 128 } |
277 | ifactor HALFBITCH { ifvarand temp 128 nullop else addvar temp 128 } |
278 | ifvarand temp 256 nullop else addvar temp 256 |
278 | ifvarand temp 256 nullop else addvar temp 256 |
279 | 279 | ||
280 | getuserdef .lockout temp2 |
280 | getuserdef .lockout temp2 |
281 | ifvare temp2 1 |
281 | ifvare temp2 1 |
282 | { |
282 | { |
283 | ifvarand temp 32768 nullop else addvar temp 32768 |
283 | ifvarand temp 32768 nullop else addvar temp 32768 |
284 | } |
284 | } |
285 | else |
285 | else |
286 | // { |
286 | // { |
287 | ifvarand temp 32768 subvar temp 32768 |
287 | ifvarand temp 32768 subvar temp 32768 |
288 | // } |
288 | // } |
289 | 289 | ||
290 | setactor[THISACTOR].cstat temp |
290 | setactor[THISACTOR].cstat temp |
291 | 291 | ||
292 | 292 | ||
293 | 293 | ||
294 | ifactor HALFBITCH nullop else fall |
294 | ifactor HALFBITCH nullop else fall |
295 | 295 | ||
296 | ifaction FEMSHRUNK |
296 | ifaction FEMSHRUNK |
297 | { |
297 | { |
298 | ifcount SHRUNKDONECOUNT |
298 | ifcount SHRUNKDONECOUNT |
299 | { |
299 | { |
300 | action FEMANIMATE |
300 | action FEMANIMATE |
301 | cstat 257 |
301 | cstat 257 |
302 | } |
302 | } |
303 | else |
303 | else |
304 | ifcount SHRUNKCOUNT |
304 | ifcount SHRUNKCOUNT |
305 | sizeto 40 40 |
305 | sizeto 40 40 |
306 | else |
306 | else |
307 | state genericshrunkcode |
307 | state genericshrunkcode |
308 | } |
308 | } |
309 | else ifaction FEMGROW |
309 | else ifaction FEMGROW |
310 | { |
310 | { |
311 | ifcount 32 |
311 | ifcount 32 |
312 | { |
312 | { |
313 | respawnhitag |
313 | respawnhitag |
314 | guts JIBS4 20 |
314 | guts JIBS4 20 |
315 | guts JIBS6 20 |
315 | guts JIBS6 20 |
316 | spritepal 6 |
316 | spritepal 6 |
317 | soundonce LADY_SCREAM |
317 | soundonce LADY_SCREAM |
318 | ifactor SLUTASS debris SCRAP6 1 |
318 | ifactor SLUTASS debris SCRAP6 1 |
319 | sound SQUISH2 |
319 | sound SQUISH2 |
320 | killit |
320 | killit |
321 | } |
321 | } |
322 | else |
322 | else |
323 | sizeto MAXXSTRETCH MAXYSTRETCH |
323 | sizeto MAXXSTRETCH MAXYSTRETCH |
324 | } |
324 | } |
325 | 325 | ||
326 | 326 | ||
327 | else |
327 | else |
328 | ifaction FEMHDANCE1 |
328 | ifaction FEMHDANCE1 |
329 | { |
329 | { |
330 | ifactioncount 2 |
330 | ifactioncount 2 |
331 | action FEMHDANCE2 |
331 | action FEMHDANCE2 |
332 | } |
332 | } |
333 | else |
333 | else |
334 | ifaction FEMHDANCE2 |
334 | ifaction FEMHDANCE2 |
335 | { |
335 | { |
336 | ifactioncount 8 |
336 | ifactioncount 8 |
337 | action FEMHDANCE3 |
337 | action FEMHDANCE3 |
338 | } |
338 | } |
339 | else |
339 | else |
340 | ifaction FEMHDANCE3 |
340 | ifaction FEMHDANCE3 |
341 | { |
341 | { |
342 | ifactioncount 2 |
342 | ifactioncount 2 |
343 | action FEMANIMATE |
343 | action FEMANIMATE |
344 | } |
344 | } |
345 | else |
345 | else |
346 | ifaction FEMFROZEN1 |
346 | ifaction FEMFROZEN1 |
347 | { |
347 | { |
348 | ifcount THAWTIME |
348 | ifcount THAWTIME |
349 | { |
349 | { |
350 | action FEMANIMATE |
350 | action FEMANIMATE |
351 | getlastpal |
351 | getlastpal |
352 | } |
352 | } |
353 | else |
353 | else |
354 | ifcount FROZENDRIPTIME |
354 | ifcount FROZENDRIPTIME |
355 | { |
355 | { |
356 | ifactioncount 26 |
356 | ifactioncount 26 |
357 | { |
357 | { |
358 | spawn WATERDRIP |
358 | spawn WATERDRIP |
359 | resetactioncount |
359 | resetactioncount |
360 | } |
360 | } |
361 | } |
361 | } |
362 | 362 | ||
363 | ifhitweapon |
363 | ifhitweapon |
364 | { |
364 | { |
365 | ifwasweapon FREEZEBLAST |
365 | ifwasweapon FREEZEBLAST |
366 | { |
366 | { |
367 | strength 0 |
367 | strength 0 |
368 | break |
368 | break |
369 | } |
369 | } |
370 | lotsofglass 30 |
370 | lotsofglass 30 |
371 | sound GLASS_BREAKING |
371 | sound GLASS_BREAKING |
372 | respawnhitag |
372 | respawnhitag |
373 | ifrnd 84 |
373 | ifrnd 84 |
374 | spawn BLOODPOOL |
374 | spawn BLOODPOOL |
375 | killit |
375 | killit |
376 | } |
376 | } |
377 | else |
377 | else |
378 | ifp pfacing |
378 | ifp pfacing |
379 | ifpdistl FROZENQUICKKICKDIST |
379 | ifpdistl FROZENQUICKKICKDIST |
380 | pkick |
380 | pkick |
381 | break |
381 | break |
382 | } |
382 | } |
383 | else ifaction FEMFROZEN2 |
383 | else ifaction FEMFROZEN2 |
384 | { |
384 | { |
385 | ifcount THAWTIME |
385 | ifcount THAWTIME |
386 | { |
386 | { |
387 | action FEMANIMATE |
387 | action FEMANIMATE |
388 | getlastpal |
388 | getlastpal |
389 | } |
389 | } |
390 | else |
390 | else |
391 | ifcount FROZENDRIPTIME |
391 | ifcount FROZENDRIPTIME |
392 | { |
392 | { |
393 | ifactioncount 26 |
393 | ifactioncount 26 |
394 | { |
394 | { |
395 | spawn WATERDRIP |
395 | spawn WATERDRIP |
396 | resetactioncount |
396 | resetactioncount |
397 | } |
397 | } |
398 | } |
398 | } |
399 | 399 | ||
400 | ifhitweapon |
400 | ifhitweapon |
401 | { |
401 | { |
402 | ifwasweapon FREEZEBLAST |
402 | ifwasweapon FREEZEBLAST |
403 | { |
403 | { |
404 | strength 0 |
404 | strength 0 |
405 | break |
405 | break |
406 | } |
406 | } |
407 | 407 | ||
408 | lotsofglass 30 |
408 | lotsofglass 30 |
409 | 409 | ||
410 | sound GLASS_BREAKING |
410 | sound GLASS_BREAKING |
411 | ifrnd 84 |
411 | ifrnd 84 |
412 | spawn BLOODPOOL |
412 | spawn BLOODPOOL |
413 | respawnhitag |
413 | respawnhitag |
414 | 414 | ||
415 | ifrnd 128 |
415 | ifrnd 128 |
416 | sound DUKE_HIT_STRIPPER1 |
416 | sound DUKE_HIT_STRIPPER1 |
417 | else |
417 | else |
418 | sound DUKE_HIT_STRIPPER2 |
418 | sound DUKE_HIT_STRIPPER2 |
419 | 419 | ||
420 | killit |
420 | killit |
421 | } |
421 | } |
422 | else |
422 | else |
423 | ifp pfacing |
423 | ifp pfacing |
424 | ifpdistl FROZENQUICKKICKDIST |
424 | ifpdistl FROZENQUICKKICKDIST |
425 | pkick |
425 | pkick |
426 | break |
426 | break |
427 | } |
427 | } |
428 | 428 | ||
429 | ifhitweapon |
429 | ifhitweapon |
430 | { |
430 | { |
431 | ifdead |
431 | ifdead |
432 | { |
432 | { |
433 | ifwasweapon GROWSPARK |
433 | ifwasweapon GROWSPARK |
434 | { |
434 | { |
435 | cstat 0 |
435 | cstat 0 |
436 | move 0 |
436 | move 0 |
437 | sound ACTOR_GROWING |
437 | sound ACTOR_GROWING |
438 | action FEMGROW |
438 | action FEMGROW |
439 | break |
439 | break |
440 | } |
440 | } |
441 | else ifwasweapon FREEZEBLAST |
441 | else ifwasweapon FREEZEBLAST |
442 | { |
442 | { |
443 | ifaction FEMSHRUNK |
443 | ifaction FEMSHRUNK |
444 | break |
444 | break |
445 | 445 | ||
446 | action FEMFROZEN1 |
446 | action FEMFROZEN1 |
447 | 447 | ||
448 | move 0 |
448 | move 0 |
449 | spritepal 1 |
449 | spritepal 1 |
450 | strength 0 |
450 | strength 0 |
451 | 451 | ||
452 | sound SOMETHINGFROZE |
452 | sound SOMETHINGFROZE |
453 | 453 | ||
454 | break |
454 | break |
455 | } |
455 | } |
456 | 456 | ||
457 | ifrnd 128 |
457 | ifrnd 128 |
458 | sound DUKE_HIT_STRIPPER1 |
458 | sound DUKE_HIT_STRIPPER1 |
459 | else |
459 | else |
460 | sound DUKE_HIT_STRIPPER2 |
460 | sound DUKE_HIT_STRIPPER2 |
461 | 461 | ||
462 | respawnhitag |
462 | respawnhitag |
463 | state standard_bjibs |
463 | state standard_bjibs |
464 | state random_wall_jibs |
464 | state random_wall_jibs |
465 | spawn BLOODPOOL |
465 | spawn BLOODPOOL |
466 | 466 | ||
467 | ifactor HALFBITCH |
467 | ifactor HALFBITCH |
468 | money 3 |
468 | money 3 |
469 | else |
469 | else |
470 | ifactor SLUTASS |
470 | ifactor SLUTASS |
471 | money 3 |
471 | money 3 |
472 | 472 | ||
473 | 473 | ||
474 | spritepal 6 |
474 | spritepal 6 |
475 | soundonce LADY_SCREAM |
475 | soundonce LADY_SCREAM |
476 | ifactor NAKED1 |
476 | ifactor NAKED1 |
477 | debris SCRAP3 18 |
477 | debris SCRAP3 18 |
478 | else |
478 | else |
479 | ifactor PODFEM1 |
479 | ifactor PODFEM1 |
480 | debris SCRAP3 18 |
480 | debris SCRAP3 18 |
481 | killit |
481 | killit |
482 | } |
482 | } |
483 | else |
483 | else |
484 | { |
484 | { |
485 | ifwasweapon SHRINKSPARK |
485 | ifwasweapon SHRINKSPARK |
486 | { |
486 | { |
487 | sound ACTOR_SHRINKING |
487 | sound ACTOR_SHRINKING |
488 | move 0 |
488 | move 0 |
489 | action FEMSHRUNK |
489 | action FEMSHRUNK |
490 | cstat 0 |
490 | cstat 0 |
491 | break |
491 | break |
492 | } |
492 | } |
493 | else |
493 | else |
494 | ifwasweapon GROWSPARK |
494 | ifwasweapon GROWSPARK |
495 | sound EXPANDERHIT |
495 | sound EXPANDERHIT |
496 | 496 | ||
497 | 497 | ||
498 | sound SQUISH2 |
498 | sound SQUISH2 |
499 | 499 | ||
500 | guts JIBS6 1 |
500 | guts JIBS6 1 |
501 | } |
501 | } |
502 | } |
502 | } |
503 | 503 | ||
504 | 504 | ||
505 | 505 | ||
506 | ifp pfacing |
506 | ifp pfacing |
507 | ifpdistl 1280 |
507 | ifpdistl 1280 |
508 | ifhitspace |
508 | ifhitspace |
509 | { |
509 | { |
510 | tip |
510 | tip |
511 | ifrnd 128 |
511 | ifrnd 128 |
512 | soundonce DUKE_TIP1 |
512 | soundonce DUKE_TIP1 |
513 | else |
513 | else |
514 | soundonce DUKE_TIP2 |
514 | soundonce DUKE_TIP2 |
515 | ifactor HALFBITCH |
515 | ifactor HALFBITCH |
516 | action FEMHDANCE1 |
516 | action FEMHDANCE1 |
517 | } |
517 | } |
518 | ends |
518 | ends |
519 | 519 | ||
520 | useractor notenemy HALFBITCH TOUGH |
520 | useractor notenemy HALFBITCH TOUGH |
521 | state nwbabecode |
521 | state nwbabecode |
522 | enda |
522 | enda |
523 | 523 | ||
524 | useractor notenemy SLUTASS TOUGH |
524 | useractor notenemy SLUTASS TOUGH |
525 | state nwbabecode |
525 | state nwbabecode |
526 | enda |
526 | enda |
527 | 527 | ||
528 | state nwl3surprise |
528 | state nwl3surprise |
529 | ifvare VOLUME 1 |
529 | ifvare VOLUME 1 |
530 | { |
530 | { |
531 | ifvare LEVEL 2 |
531 | ifvare LEVEL 2 |
532 | { |
532 | { |
533 | getactor[THISACTOR].sectnum temp |
533 | getactor[THISACTOR].sectnum temp |
534 | switch temp |
534 | switch temp |
535 | case 220 case 221 |
535 | case 220 case 221 |
536 | ifvarn musicchange 1 |
536 | ifvarn musicchange 1 |
537 | { |
537 | { |
538 | starttrack 12 // doom |
538 | starttrack 12 // doom |
539 | setvar musicchange 1 |
539 | setvar musicchange 1 |
540 | } |
540 | } |
541 | break |
541 | break |
542 | case 563 case 564 case 565 case 566 case 567 |
542 | case 563 case 564 case 565 case 566 case 567 |
543 | ifvarn musicchange 2 |
543 | ifvarn musicchange 2 |
544 | { |
544 | { |
545 | starttrack 13 // mario |
545 | starttrack 13 // mario |
546 | setvar musicchange 2 |
546 | setvar musicchange 2 |
547 | } |
547 | } |
548 | break |
548 | break |
549 | case 192 case 193 case 194 case 195 case 196 case 197 case 198 case 237 case 238 case 239 case 240 |
549 | case 192 case 193 case 194 case 195 case 196 case 197 case 198 case 237 case 238 case 239 case 240 |
550 | case 166 case 167 case 172 case 173 case 174 case 176 case 179 |
550 | case 166 case 167 case 172 case 173 case 174 case 176 case 179 |
551 | ifvarn musicchange 0 |
551 | ifvarn musicchange 0 |
552 | { |
552 | { |
553 | starttrack 2 // level music |
553 | starttrack 2 // level music |
554 | setvar musicchange 0 |
554 | setvar musicchange 0 |
555 | } |
555 | } |
556 | break |
556 | break |
557 | endswitch |
557 | endswitch |
558 | } |
558 | } |
559 | } |
559 | } |
560 | ends |
560 | ends |
561 | 561 | ||
562 | action ACOMMSPINNW 0 1 5 1 12 |
562 | action ACOMMSPINNW 0 1 5 1 12 |
563 | 563 | ||
564 | ai AICOMMSPINNW ACOMMSPINNW COMMGETVELS spin |
564 | ai AICOMMSPINNW ACOMMSPINNW COMMGETVELS spin |
565 | 565 | ||
566 | state checkcommhitstate |
566 | state checkcommhitstate |
567 | 567 | ||
568 | ifhitweapon |
568 | ifhitweapon |
569 | { |
569 | { |
570 | debris SCRAP3 5 |
570 | debris SCRAP3 5 |
571 | ifdead |
571 | ifdead |
572 | { |
572 | { |
573 | ifwasweapon FREEZEBLAST |
573 | ifwasweapon FREEZEBLAST |
574 | { |
574 | { |
575 | break |
575 | break |
576 | } |
576 | } |
577 | else |
577 | else |
578 | ifwasweapon GROWSPARK |
578 | ifwasweapon GROWSPARK |
579 | { |
579 | { |
580 | sound ACTOR_GROWING |
580 | sound ACTOR_GROWING |
581 | ai AICOMMGROW |
581 | ai AICOMMGROW |
582 | break |
582 | break |
583 | } |
583 | } |
584 | 584 | ||
585 | addkills 1 |
585 | addkills 1 |
586 | 586 | ||
587 | ifwasweapon RADIUSEXPLOSION |
587 | ifwasweapon RADIUSEXPLOSION |
588 | { |
588 | { |
589 | debris SCRAP3 5 |
589 | debris SCRAP3 5 |
590 | sound SQUISH2 |
590 | sound SQUISH2 |
591 | killit |
591 | killit |
592 | } |
592 | } |
593 | else |
593 | else |
594 | ifwasweapon RPG |
594 | ifwasweapon RPG |
595 | { |
595 | { |
596 | sound SQUISH2 |
596 | sound SQUISH2 |
597 | debris SCRAP3 5 |
597 | debris SCRAP3 5 |
598 | state standard_jibs |
598 | state standard_jibs |
599 | killit |
599 | killit |
600 | } |
600 | } |
601 | 601 | ||
602 | debris SCRAP3 100 |
602 | debris SCRAP3 100 |
603 | sound COMM_DYING |
603 | sound COMM_DYING |
604 | ai AICOMMDYING |
604 | ai AICOMMDYING |
605 | } |
605 | } |
606 | else |
606 | else |
607 | { |
607 | { |
608 | soundonce COMM_PAIN |
608 | soundonce COMM_PAIN |
609 | ifwasweapon SHRINKSPARK |
609 | ifwasweapon SHRINKSPARK |
610 | { |
610 | { |
611 | sound ACTOR_SHRINKING |
611 | sound ACTOR_SHRINKING |
612 | ai AICOMMSHRUNK |
612 | ai AICOMMSHRUNK |
613 | } |
613 | } |
614 | else |
614 | else |
615 | ifwasweapon GROWSPARK |
615 | ifwasweapon GROWSPARK |
616 | sound EXPANDERHIT |
616 | sound EXPANDERHIT |
617 | else |
617 | else |
618 | ifrnd 24 |
618 | ifrnd 24 |
619 | ai AICOMMABOUTTOSHOOT |
619 | ai AICOMMABOUTTOSHOOT |
620 | } |
620 | } |
621 | } |
621 | } |
622 | ends |
622 | ends |
623 | 623 | ||
624 | actor COMMANDERSTAYPUT COMMANDERSTRENGTH |
624 | actor COMMANDERSTAYPUT COMMANDERSTRENGTH |
625 | cactor COMMANDER |
625 | cactor COMMANDER |
626 | ai AICOMMABOUTTOSHOOT |
626 | ai AICOMMABOUTTOSHOOT |
627 | enda |
627 | enda |
628 | 628 | ||
629 | actor COMMANDER COMMANDERSTRENGTH |
629 | actor COMMANDER COMMANDERSTRENGTH |
630 | 630 | ||
631 | state checksquished |
631 | state checksquished |
632 | 632 | ||
633 | ifaction ACOMMFROZEN |
633 | ifaction ACOMMFROZEN |
634 | { |
634 | { |
635 | fall |
635 | fall |
636 | 636 | ||
637 | ifcount THAWTIME |
637 | ifcount THAWTIME |
638 | { |
638 | { |
639 | getlastpal |
639 | getlastpal |
640 | ai AICOMMWAIT |
640 | ai AICOMMWAIT |
641 | } |
641 | } |
642 | else |
642 | else |
643 | ifcount FROZENDRIPTIME |
643 | ifcount FROZENDRIPTIME |
644 | { |
644 | { |
645 | ifactioncount 26 |
645 | ifactioncount 26 |
646 | { |
646 | { |
647 | spawn WATERDRIP |
647 | spawn WATERDRIP |
648 | resetactioncount |
648 | resetactioncount |
649 | } |
649 | } |
650 | } |
650 | } |
651 | 651 | ||
652 | ifhitweapon |
652 | ifhitweapon |
653 | { |
653 | { |
654 | ifwasweapon FREEZEBLAST |
654 | ifwasweapon FREEZEBLAST |
655 | { |
655 | { |
656 | strength 0 |
656 | strength 0 |
657 | break |
657 | break |
658 | } |
658 | } |
659 | addkills 1 |
659 | addkills 1 |
660 | 660 | ||
661 | ifrnd 84 |
661 | ifrnd 84 |
662 | spawn BLOODPOOL |
662 | spawn BLOODPOOL |
663 | lotsofglass 30 |
663 | lotsofglass 30 |
664 | sound GLASS_BREAKING |
664 | sound GLASS_BREAKING |
665 | killit |
665 | killit |
666 | } |
666 | } |
667 | ifp pfacing |
667 | ifp pfacing |
668 | ifpdistl FROZENQUICKKICKDIST |
668 | ifpdistl FROZENQUICKKICKDIST |
669 | pkick |
669 | pkick |
670 | break |
670 | break |
671 | } |
671 | } |
672 | ifai 0 |
672 | ifai 0 |
673 | ai AICOMMSHOOT |
673 | ai AICOMMSHOOT |
674 | else |
674 | else |
675 | ifai AICOMMWAIT |
675 | ifai AICOMMWAIT |
676 | { |
676 | { |
677 | ifcount 20 |
677 | ifcount 20 |
678 | { |
678 | { |
679 | ifcansee |
679 | ifcansee |
680 | { |
680 | { |
681 | ifcanshoottarget |
681 | ifcanshoottarget |
682 | { |
682 | { |
683 | ifrnd 96 |
683 | ifrnd 96 |
684 | ai AICOMMGET |
684 | ai AICOMMGET |
685 | else |
685 | else |
686 | ai AICOMMABOUTTOSHOOT |
686 | ai AICOMMABOUTTOSHOOT |
687 | } |
687 | } |
688 | } |
688 | } |
689 | else |
689 | else |
690 | ai AICOMMGET |
690 | ai AICOMMGET |
691 | } |
691 | } |
692 | } |
692 | } |
693 | else |
693 | else |
694 | ifai AICOMMABOUTTOSHOOT |
694 | ifai AICOMMABOUTTOSHOOT |
695 | { |
695 | { |
696 | ifactioncount 2 |
696 | ifactioncount 2 |
697 | { |
697 | { |
698 | ifcansee |
698 | ifcansee |
699 | ai AICOMMSHOOT |
699 | ai AICOMMSHOOT |
700 | else |
700 | else |
701 | { |
701 | { |
702 | ai AICOMMGET |
702 | ai AICOMMGET |
703 | break |
703 | break |
704 | } |
704 | } |
705 | } |
705 | } |
706 | ifrnd 32 soundonce COMM_ATTACK |
706 | ifrnd 32 soundonce COMM_ATTACK |
707 | } |
707 | } |
708 | else |
708 | else |
709 | ifai AICOMMSHOOT |
709 | ifai AICOMMSHOOT |
710 | { |
710 | { |
711 | ifcanshoottarget |
711 | ifcanshoottarget |
712 | { |
712 | { |
713 | ifcount 12 |
713 | ifcount 12 |
714 | ifrnd 16 |
714 | ifrnd 16 |
715 | ai AICOMMWAIT |
715 | ai AICOMMWAIT |
716 | ifactioncount 1 |
716 | ifactioncount 1 |
717 | { |
717 | { |
718 | shoot FREEZEBLAST |
718 | shoot FREEZEBLAST |
719 | resetactioncount |
719 | resetactioncount |
720 | } |
720 | } |
721 | 721 | ||
722 | } |
722 | } |
723 | else |
723 | else |
724 | ai AICOMMGET |
724 | ai AICOMMGET |
725 | } |
725 | } |
726 | else |
726 | else |
727 | ifai AICOMMSHRUNK |
727 | ifai AICOMMSHRUNK |
728 | { |
728 | { |
729 | ifcount SHRUNKDONECOUNT |
729 | ifcount SHRUNKDONECOUNT |
730 | ai AICOMMGET |
730 | ai AICOMMGET |
731 | else |
731 | else |
732 | ifcount SHRUNKCOUNT |
732 | ifcount SHRUNKCOUNT |
733 | sizeto 48 40 |
733 | sizeto 48 40 |
734 | else |
734 | else |
735 | state genericshrunkcode |
735 | state genericshrunkcode |
736 | } |
736 | } |
737 | else |
737 | else |
738 | ifai AICOMMGROW |
738 | ifai AICOMMGROW |
739 | state genericgrowcode |
739 | state genericgrowcode |
740 | else |
740 | else |
741 | ifai AICOMMGET |
741 | ifai AICOMMGET |
742 | { |
742 | { |
743 | ifnotmoving |
743 | ifnotmoving |
744 | ifrnd 4 |
744 | ifrnd 4 |
745 | operate |
745 | operate |
746 | ifpdistl 1024 |
746 | ifpdistl 1024 |
747 | ifp palive |
747 | ifp palive |
748 | { |
748 | { |
749 | // sound COMM_SPIN |
749 | // sound COMM_SPIN |
750 | ai AICOMMSPINNW |
750 | ai AICOMMSPINNW |
751 | break |
751 | break |
752 | } |
752 | } |
753 | 753 | ||
754 | ifcansee |
754 | ifcansee |
755 | { |
755 | { |
756 | ifp phigher |
756 | ifp phigher |
757 | move COMMGETUPVELS getv geth faceplayer |
757 | move COMMGETUPVELS getv geth faceplayer |
758 | else |
758 | else |
759 | move COMMGETVELS getv geth faceplayer |
759 | move COMMGETVELS getv geth faceplayer |
760 | } |
760 | } |
761 | ifactioncount 8 |
761 | ifactioncount 8 |
762 | ifrnd 2 |
762 | ifrnd 2 |
763 | ai AICOMMABOUTTOSHOOT |
763 | ai AICOMMABOUTTOSHOOT |
764 | } |
764 | } |
765 | else |
765 | else |
766 | ifai AICOMMSPINNW |
766 | ifai AICOMMSPINNW |
767 | { |
767 | { |
768 | soundonce COMM_SPIN |
768 | soundonce COMM_SPIN |
769 | ifcount 16 |
769 | ifcount 16 |
770 | { |
770 | { |
771 | ifpdistl 1280 |
771 | ifpdistl 1280 |
772 | { |
772 | { |
773 | addphealth CAPTSPINNINGPLAYER |
773 | addphealth CAPTSPINNINGPLAYER |
774 | sound DUKE_GRUNT |
774 | sound DUKE_GRUNT |
775 | palfrom 32 |
775 | palfrom 32 |
776 | 16 resetcount |
776 | 16 resetcount |
777 | } |
777 | } |
778 | else |
778 | else |
779 | ifpdistg 2300 |
779 | ifpdistg 2300 |
780 | ai AICOMMWAIT |
780 | ai AICOMMWAIT |
781 | } |
781 | } |
782 | ifactioncount 52 |
782 | ifactioncount 52 |
783 | ai AICOMMWAIT |
783 | ai AICOMMWAIT |
784 | ifnotmoving |
784 | ifnotmoving |
785 | ifrnd 32 |
785 | ifrnd 32 |
786 | operate |
786 | operate |
787 | } |
787 | } |
788 | 788 | ||
789 | ifai AICOMMDYING |
789 | ifai AICOMMDYING |
790 | { |
790 | { |
791 | fall |
791 | fall |
792 | strength 0 |
792 | strength 0 |
793 | 793 | ||
794 | ifhitweapon |
794 | ifhitweapon |
795 | ifwasweapon RADIUSEXPLOSION |
795 | ifwasweapon RADIUSEXPLOSION |
796 | { |
796 | { |
797 | sound SQUISH2 |
797 | sound SQUISH2 |
798 | spawn BLOODPOOL |
798 | spawn BLOODPOOL |
799 | state standard_jibs |
799 | state standard_jibs |
800 | 800 | ||
801 | killit |
801 | killit |
802 | } |
802 | } |
803 | 803 | ||
804 | ifaction ACOMMDYING |
804 | ifaction ACOMMDYING |
805 | ifactioncount 8 |
805 | ifactioncount 8 |
806 | { |
806 | { |
807 | iffloordistl 8 |
807 | iffloordistl 8 |
808 | sound THUD |
808 | sound THUD |
809 | cstat 0 |
809 | cstat 0 |
810 | action ACOMMDEAD |
810 | action ACOMMDEAD |
811 | } |
811 | } |
812 | } |
812 | } |
813 | else |
813 | else |
814 | { |
814 | { |
815 | ifrnd 2 |
815 | ifrnd 2 |
816 | soundonce COMM_ROAM |
816 | soundonce COMM_ROAM |
817 | state checkcommhitstate |
817 | state checkcommhitstate |
818 | } |
818 | } |
819 | enda |
819 | enda |
820 | 820 | ||
821 | move TANKSTOPNW |
821 | move TANKSTOPNW |
822 | 822 | ||
823 | useractor enemy TANK TANKSTRENGTH |
823 | useractor enemy TANK TANKSTRENGTH |
824 | fall |
824 | fall |
825 | 825 | ||
826 | // sizeat 45 45 |
826 | // sizeat 45 45 |
827 | ifaction 0 |
827 | ifaction 0 |
828 | { |
828 | { |
829 | action ATANKWAIT |
829 | action ATANKWAIT |
830 | cstat 257 |
830 | cstat 257 |
831 | clipdist 100 |
831 | clipdist 100 |
832 | } |
832 | } |
833 | else |
833 | else |
834 | ifaction ATANKSPIN |
834 | ifaction ATANKSPIN |
835 | { |
835 | { |
836 | soundonce TANK_ROAM |
836 | soundonce TANK_ROAM |
837 | 837 | ||
838 | ifactioncount 20 |
838 | ifactioncount 20 |
839 | { |
839 | { |
840 | ifrnd 16 |
840 | ifrnd 16 |
841 | ifcansee |
841 | ifcansee |
842 | ifcanshoottarget |
842 | ifcanshoottarget |
843 | { |
843 | { |
844 | move TANKSTOPNW geth |
844 | move TANKSTOPNW geth |
845 | action ATANKSHOOTING |
845 | action ATANKSHOOTING |
846 | stopsound TANK_ROAM |
846 | stopsound TANK_ROAM |
847 | } |
847 | } |
848 | } |
848 | } |
849 | 849 | ||
850 | ifrnd 16 |
850 | ifrnd 16 |
851 | move TANKFORWARD seekplayer |
851 | move TANKFORWARD seekplayer |
852 | } |
852 | } |
853 | else |
853 | else |
854 | ifaction ATANKSHOOTING |
854 | ifaction ATANKSHOOTING |
855 | { |
855 | { |
856 | ifactioncount 22 |
856 | ifactioncount 22 |
857 | { |
857 | { |
858 | ifpdistg 8192 |
858 | ifpdistg 8192 |
859 | { |
859 | { |
860 | sound BOS1_ATTACK2 |
860 | sound BOS1_ATTACK2 |
861 | shoot MORTER |
861 | shoot MORTER |
862 | } |
862 | } |
863 | resetcount |
863 | resetcount |
864 | move 0 action ATANKWAIT |
864 | move 0 action ATANKWAIT |
865 | } |
865 | } |
866 | else |
866 | else |
867 | ifactioncount 2 |
867 | ifactioncount 2 |
868 | { |
868 | { |
869 | ifcansee |
869 | ifcansee |
870 | { |
870 | { |
871 | ifpdistl 16384 |
871 | ifpdistl 16384 |
872 | { |
872 | { |
873 | ifrnd 128 |
873 | ifrnd 128 |
874 | { |
874 | { |
875 | 875 | ||
876 | 876 | ||
877 | sound PISTOL_FIRE |
877 | sound PISTOL_FIRE |
878 | shoot SHOTSPARK1 |
878 | shoot SHOTSPARK1 |
879 | } |
879 | } |
880 | } |
880 | } |
881 | else |
881 | else |
882 | ifrnd 128 |
882 | ifrnd 128 |
883 | { |
883 | { |
884 | sound PRED_ATTACK |
884 | sound PRED_ATTACK |
885 | shoot FIRELASER |
885 | shoot FIRELASER |
886 | } |
886 | } |
887 | } |
887 | } |
888 | else |
888 | else |
889 | { |
889 | { |
890 | move TANKFORWARD seekplayer |
890 | move TANKFORWARD seekplayer |
891 | action ATANKSPIN |
891 | action ATANKSPIN |
892 | } |
892 | } |
893 | } |
893 | } |
894 | 894 | ||
895 | ifrnd 16 |
895 | ifrnd 16 |
896 | { |
896 | { |
897 | stopsound TANK_ROAM |
897 | stopsound TANK_ROAM |
898 | move TANKSTOPNW faceplayerslow |
898 | move TANKSTOPNW faceplayerslow |
899 | } |
899 | } |
900 | } |
900 | } |
901 | else |
901 | else |
902 | ifaction ATANKWAIT |
902 | ifaction ATANKWAIT |
903 | { |
903 | { |
904 | ifactioncount 32 |
904 | ifactioncount 32 |
905 | { |
905 | { |
906 | move TANKFORWARD seekplayer |
906 | move TANKFORWARD seekplayer |
907 | action ATANKSPIN |
907 | action ATANKSPIN |
908 | } |
908 | } |
909 | } |
909 | } |
910 | else |
910 | else |
911 | ifaction ATANKDEAD |
911 | ifaction ATANKDEAD |
912 | { |
912 | { |
913 | addkills 1 |
913 | addkills 1 |
914 | hitradius 6144 TOUGH TOUGH TOUGH TOUGH |
914 | hitradius 6144 TOUGH TOUGH TOUGH TOUGH |
915 | sound LASERTRIP_EXPLODE |
915 | sound LASERTRIP_EXPLODE |
916 | debris SCRAP1 15 |
916 | debris SCRAP1 15 |
917 | spawn EXPLOSION2 |
917 | spawn EXPLOSION2 |
918 | ifrnd 128 spawn SNOWMAN |
918 | ifrnd 128 spawn SNOWMAN |
919 | killit |
919 | killit |
920 | } |
920 | } |
921 | 921 | ||
922 | ifhitweapon |
922 | ifhitweapon |
923 | { |
923 | { |
924 | ifdead |
924 | ifdead |
925 | action ATANKDEAD |
925 | action ATANKDEAD |
926 | else |
926 | else |
927 | { |
927 | { |
928 | debris SCRAP1 1 |
928 | debris SCRAP1 1 |
929 | ifaction ATANKSHOOTING break |
929 | ifaction ATANKSHOOTING break |
930 | 930 | ||
931 | ifrnd 192 |
931 | ifrnd 192 |
932 | { |
932 | { |
933 | move TANKSTOPNW geth |
933 | move TANKSTOPNW geth |
934 | action ATANKSHOOTING |
934 | action ATANKSHOOTING |
935 | stopsound TANK_ROAM |
935 | stopsound TANK_ROAM |
936 | } |
936 | } |
937 | } |
937 | } |
938 | } |
938 | } |
939 | 939 | ||
940 | enda |
940 | enda |
941 | 941 | ||
942 | 942 | ||
943 | include NWActor.con |
943 | include NWActor.con |
944 | include NWSnow.con |
944 | include NWSnow.con |
945 | 945 | ||
946 | // ----------------------------------------------------------------------------- |
946 | // ----------------------------------------------------------------------------- |
947 | 947 | ||
948 | onevent EVENT_GAME |
948 | onevent EVENT_GAME |
949 | ifactor APLAYER state nwl3surprise |
949 | ifactor APLAYER state nwl3surprise |
950 | /* |
950 | /* |
951 | ifactor MONEY |
951 | ifactor MONEY |
952 | { |
952 | { |
953 | setactor[THISACTOR].mdflags 16 |
953 | setactor[THISACTOR].mdflags 16 |
954 | getactor[THISACTOR].owner owner |
954 | getactor[THISACTOR].owner owner |
955 | switch owner |
955 | switch owner |
956 | case SNOW case SNOWFLAKE case SNOWMAKER case SNOWMAKERNOMOVE |
956 | case SNOW case SNOWFLAKE case SNOWMAKER case SNOWMAKERNOMOVE |
957 | getactor[THISACTOR].x x |
957 | getactor[THISACTOR].x x |
958 | getactor[THISACTOR].y y |
958 | getactor[THISACTOR].y y |
959 | getactor[THISACTOR].z z |
959 | getactor[THISACTOR].z z |
960 | 960 | ||
961 | updatesectorz x y z temp |
961 | updatesectorz x y z temp |
962 | ifvarn temp -1 getflorzofslope temp x y temp2 else killit |
962 | ifvarn temp -1 getflorzofslope temp x y temp2 else killit |
963 | 963 | ||
964 | ifvarvare z temp2 killit |
964 | ifvarvare z temp2 killit |
965 | break |
965 | break |
966 | endswitch |
966 | endswitch |
967 | } |
967 | } |
968 | */ |
968 | */ |
969 | endevent |
969 | endevent |
970 | 970 | ||
971 | onevent EVENT_ANIMATESPRITES // This is a hell of a mess because putting get/settspr in states throws warnings, and I don't want that. |
971 | onevent EVENT_ANIMATESPRITES // This is a hell of a mess because putting get/settspr in states throws warnings, and I don't want that. |
972 | getactor[THISACTOR].picnum picnum |
972 | getactor[THISACTOR].picnum picnum |
973 | getactor[THISACTOR].owner owner |
973 | getactor[THISACTOR].owner owner |
974 | 974 | ||
975 | ifvare picnum DOORSHOCK |
975 | ifvare picnum DOORSHOCK |
976 | { |
976 | { |
977 | ifspritepal 30 settspr[THISACTOR].tsprpicnum 3656 |
977 | ifspritepal 30 settspr[THISACTOR].tsprpicnum 3656 |
978 | ifvare VOLUME 1 ifvare LEVEL 2 settspr[THISACTOR].tsprpicnum 3656 |
978 | ifvare VOLUME 1 ifvare LEVEL 2 settspr[THISACTOR].tsprpicnum 3656 |
979 | break |
979 | break |
980 | } |
980 | } |
981 | ifvare picnum SNOWFLAKE |
981 | ifvare picnum SNOWFLAKE |
982 | { |
982 | { |
983 | settspr[THISACTOR].tsprpicnum SNOW |
983 | settspr[THISACTOR].tsprpicnum SNOW |
984 | settspr[THISACTOR].tsprxrepeat 4 |
984 | settspr[THISACTOR].tsprxrepeat 4 |
985 | settspr[THISACTOR].tspryrepeat 4 |
985 | settspr[THISACTOR].tspryrepeat 4 |
986 | break |
986 | break |
987 | } |
987 | } |
988 | /* |
988 | /* |
989 | ifvare picnum MONEY |
989 | ifvare picnum MONEY |
990 | { |
990 | { |
991 | switch owner |
991 | switch owner |
992 | case SNOW case SNOWFLAKE case SNOWMAKER case SNOWMAKERNOMOVE |
992 | case SNOW case SNOWFLAKE case SNOWMAKER case SNOWMAKERNOMOVE |
993 | settspr[THISACTOR].tsprpicnum SNOW |
993 | settspr[THISACTOR].tsprpicnum SNOW |
994 | break |
994 | break |
995 | endswitch |
995 | endswitch |
996 | } |
996 | } |
997 | */ |
997 | */ |
998 | getplayervar[THISACTOR].skin temp |
998 | getplayervar[THISACTOR].skin temp |
999 | ifvare temp 1 |
999 | ifvare temp 1 |
1000 | { |
1000 | { |
1001 | getplayer[THISACTOR].i temp2 |
1001 | getplayer[THISACTOR].i temp2 |
1002 | gettspr[temp2].tsprpicnum temp3 |
1002 | gettspr[temp2].tsprpicnum temp3 |
1003 | ifvarl temp3 1544 addvar temp3 4096 |
1003 | ifvarl temp3 1544 addvar temp3 4096 |
1004 | settspr[temp2].tsprpicnum temp3 |
1004 | settspr[temp2].tsprpicnum temp3 |
1005 | settspr[temp2].tsprpal 10 |
1005 | settspr[temp2].tsprpal 10 |
1006 | 1006 | ||
1007 | ifvare picnum DUKETORSO |
1007 | ifvare picnum DUKETORSO |
1008 | { |
1008 | { |
1009 | getactor[owner].picnum temp2 |
1009 | getactor[owner].picnum temp2 |
1010 | ifvare temp2 APLAYER |
1010 | ifvare temp2 APLAYER |
1011 | { |
1011 | { |
1012 | gettspr[THISACTOR].tsprpicnum temp3 |
1012 | gettspr[THISACTOR].tsprpicnum temp3 |
1013 | addvar temp3 2456 |
1013 | addvar temp3 2456 |
1014 | settspr[THISACTOR].tsprpicnum temp3 |
1014 | settspr[THISACTOR].tsprpicnum temp3 |
1015 | break |
1015 | break |
1016 | } |
1016 | } |
1017 | } |
1017 | } |
1018 | ifvare picnum DUKEGUN |
1018 | ifvare picnum DUKEGUN |
1019 | { |
1019 | { |
1020 | getactor[owner].picnum temp2 |
1020 | getactor[owner].picnum temp2 |
1021 | ifvare temp2 APLAYER |
1021 | ifvare temp2 APLAYER |
1022 | { |
1022 | { |
1023 | gettspr[THISACTOR].tsprpicnum temp3 |
1023 | gettspr[THISACTOR].tsprpicnum temp3 |
1024 | addvar temp3 2456 |
1024 | addvar temp3 2456 |
1025 | settspr[THISACTOR].tsprpicnum temp3 |
1025 | settspr[THISACTOR].tsprpicnum temp3 |
1026 | break |
1026 | break |
1027 | } |
1027 | } |
1028 | } |
1028 | } |
1029 | ifvare picnum DUKELEG |
1029 | ifvare picnum DUKELEG |
1030 | { |
1030 | { |
1031 | getactor[owner].picnum temp2 |
1031 | getactor[owner].picnum temp2 |
1032 | ifvare temp2 APLAYER settspr[THISACTOR].tsprpal 30 |
1032 | ifvare temp2 APLAYER settspr[THISACTOR].tsprpal 30 |
1033 | break |
1033 | break |
1034 | } |
1034 | } |
1035 | } |
1035 | } |
1036 | 1036 | ||
1037 | ifvare picnum DUKETORSO |
1037 | ifvare picnum DUKETORSO |
1038 | { |
1038 | { |
1039 | getactor[owner].picnum temp2 |
1039 | getactor[owner].picnum temp2 |
1040 | ifvare temp2 SOBBOTWALK |
1040 | ifvare temp2 SOBBOTWALK |
1041 | { |
1041 | { |
1042 | gettspr[THISACTOR].tsprpicnum temp3 |
1042 | gettspr[THISACTOR].tsprpicnum temp3 |
1043 | addvar temp3 2456 |
1043 | addvar temp3 2456 |
1044 | settspr[THISACTOR].tsprpicnum temp3 |
1044 | settspr[THISACTOR].tsprpicnum temp3 |
1045 | break |
1045 | break |
1046 | } |
1046 | } |
1047 | ifvare temp2 SOBBOTFLY |
1047 | ifvare temp2 SOBBOTFLY |
1048 | { |
1048 | { |
1049 | gettspr[THISACTOR].tsprpicnum temp3 |
1049 | gettspr[THISACTOR].tsprpicnum temp3 |
1050 | addvar temp3 2456 |
1050 | addvar temp3 2456 |
1051 | settspr[THISACTOR].tsprpicnum temp3 |
1051 | settspr[THISACTOR].tsprpicnum temp3 |
1052 | break |
1052 | break |
1053 | } |
1053 | } |
1054 | } |
1054 | } |
1055 | ifvare picnum DUKEGUN |
1055 | ifvare picnum DUKEGUN |
1056 | { |
1056 | { |
1057 | getactor[owner].picnum temp2 |
1057 | getactor[owner].picnum temp2 |
1058 | ifvare temp2 SOBBOTWALK |
1058 | ifvare temp2 SOBBOTWALK |
1059 | { |
1059 | { |
1060 | gettspr[THISACTOR].tsprpicnum temp3 |
1060 | gettspr[THISACTOR].tsprpicnum temp3 |
1061 | addvar temp3 2456 |
1061 | addvar temp3 2456 |
1062 | settspr[THISACTOR].tsprpicnum temp3 |
1062 | settspr[THISACTOR].tsprpicnum temp3 |
1063 | break |
1063 | break |
1064 | } |
1064 | } |
1065 | ifvare temp2 SOBBOTFLY |
1065 | ifvare temp2 SOBBOTFLY |
1066 | { |
1066 | { |
1067 | gettspr[THISACTOR].tsprpicnum temp3 |
1067 | gettspr[THISACTOR].tsprpicnum temp3 |
1068 | addvar temp3 2456 |
1068 | addvar temp3 2456 |
1069 | settspr[THISACTOR].tsprpicnum temp3 |
1069 | settspr[THISACTOR].tsprpicnum temp3 |
1070 | break |
1070 | break |
1071 | } |
1071 | } |
1072 | } |
1072 | } |
1073 | ifvare picnum DUKELEG |
1073 | ifvare picnum DUKELEG |
1074 | { |
1074 | { |
1075 | getactor[owner].picnum temp2 |
1075 | getactor[owner].picnum temp2 |
1076 | ifvare temp2 SOBBOTWALK settspr[THISACTOR].tsprpal 30 |
1076 | ifvare temp2 SOBBOTWALK settspr[THISACTOR].tsprpal 30 |
1077 | ifvare temp2 SOBBOTFLY settspr[THISACTOR].tsprpal 30 |
1077 | ifvare temp2 SOBBOTFLY settspr[THISACTOR].tsprpal 30 |
1078 | break |
1078 | break |
1079 | } |
1079 | } |
1080 | ifvare picnum APLAYER |
1080 | ifvare picnum APLAYER |
1081 | { |
1081 | { |
1082 | gettspr[THISACTOR].tsprpicnum temp |
1082 | gettspr[THISACTOR].tsprpicnum temp |
1083 | switch temp |
1083 | switch temp |
1084 | case 1470 case 1471 case 1472 case 1473 case 1474 |
1084 | case 1470 case 1471 case 1472 case 1473 case 1474 |
1085 | subvar temp 5 |
1085 | subvar temp 5 |
1086 | settspr[THISACTOR].tsprpicnum temp |
1086 | settspr[THISACTOR].tsprpicnum temp |
1087 | break |
1087 | break |
1088 | endswitch |
1088 | endswitch |
1089 | } |
1089 | } |
1090 | endevent |
1090 | endevent |
1091 | 1091 | ||
1092 | 1092 | ||
1093 | 1093 | ||
1094 | 1094 | ||
1095 | useractor notenemy NWEFFECTOR 0 |
1095 | useractor notenemy NWEFFECTOR 0 |
1096 | cstat 32768 |
1096 | cstat 32768 |
1097 | // sizeat 1 1 |
1097 | // sizeat 1 1 |
1098 | 1098 | ||
1099 | ifspritepal 31 |
1099 | ifspritepal 31 |
1100 | { |
1100 | { |
1101 | getplayer[THISACTOR].cursectnum temp3 |
1101 | getplayer[THISACTOR].cursectnum temp3 |
1102 | switch temp3 |
1102 | switch temp3 |
1103 | case 60 case 61 case 62 case 63 |
1103 | case 60 case 61 case 62 case 63 |
1104 | case 86 case 87 |
1104 | case 86 case 87 |
1105 | case 299 case 300 case 301 case 302 case 303 case 304 case 305 case 306 case 307 case 308 case 309 |
1105 | case 299 case 300 case 301 case 302 case 303 case 304 case 305 case 306 case 307 case 308 case 309 |
1106 | case 310 case 311 case 312 case 313 case 314 case 315 case 316 case 317 |
1106 | case 310 case 311 case 312 case 313 case 314 case 315 case 316 case 317 |
1107 | soundonce PHONE_RING |
1107 | soundonce PHONE_RING |
1108 | break |
1108 | break |
1109 | endswitch |
1109 | endswitch |
1110 | 1110 | ||
1111 | ifpdistl RETRIEVEDISTANCE |
1111 | ifpdistl RETRIEVEDISTANCE |
1112 | ifp pfacing |
1112 | ifp pfacing |
1113 | ifhitspace |
1113 | ifhitspace |
1114 | ifvare temp2 0 |
1114 | ifvare temp2 0 |
1115 | { |
1115 | { |
1116 | setvar temp 0 |
1116 | setvar temp 0 |
1117 | setvar temp2 1 |
1117 | setvar temp2 1 |
1118 | } |
1118 | } |
1119 | 1119 | ||
1120 | ifvare temp2 1 |
1120 | ifvare temp2 1 |
1121 | { |
1121 | { |
1122 | addvar temp 1 |
1122 | addvar temp 1 |
1123 | 1123 | ||
1124 | stopsound PHONE_RING |
1124 | stopsound PHONE_RING |
1125 | ifvare temp 1 sound PHONE_PICKUP |
1125 | ifvare temp 1 sound PHONE_PICKUP |
1126 | else ifvare temp 39 |
1126 | else ifvare temp 39 |
1127 | { |
1127 | { |
1128 | setvar tempb 0 |
1128 | setvar tempb 0 |
1129 | randvar tempb 3 |
1129 | randvar tempb 3 |
1130 | switch tempb |
1130 | switch tempb |
1131 | case 0 sound LOWANG1 break |
1131 | case 0 sound LOWANG1 break |
1132 | case 1 sound LOWANG2 break |
1132 | case 1 sound LOWANG2 break |
1133 | case 2 sound LOWANG3 break |
1133 | case 2 sound LOWANG3 break |
1134 | case 3 sound LOWANG4 break |
1134 | case 3 sound LOWANG4 break |
1135 | endswitch |
1135 | endswitch |
1136 | } |
1136 | } |
1137 | else ifvare temp 195 sound PHONE_HANGUP |
1137 | else ifvare temp 195 sound PHONE_HANGUP |
1138 | else ifvare temp 247 |
1138 | else ifvare temp 247 |
1139 | { |
1139 | { |
1140 | setvar temp2 0 |
1140 | setvar temp2 0 |
1141 | setvar temp 0 |
1141 | setvar temp 0 |
1142 | } |
1142 | } |
1143 | } |
1143 | } |
1144 | } |
1144 | } |
1145 | enda |
1145 | enda |
1146 | 1146 | ||
1147 | useractor notenemy 3831 0 |
1147 | useractor notenemy 3831 0 |
1148 | // cstat 32768 |
1148 | // cstat 32768 |
1149 | sizeat 12 13 |
1149 | sizeat 12 13 |
1150 | getactor[THISACTOR].sectnum temp |
1150 | getactor[THISACTOR].sectnum temp |
1151 | getplayer[THISACTOR].cursectnum temp2 |
1151 | getplayer[THISACTOR].cursectnum temp2 |
1152 | ifvarvare temp temp2 |
1152 | ifvarvare temp temp2 |
1153 | { |
1153 | { |
1154 | setuserdef[THISACTOR].volume_number 1 |
1154 | setuserdef[THISACTOR].volume_number 1 |
1155 | endofgame 13 |
1155 | endofgame 13 |
1156 | } |
1156 | } |
1157 | enda |
1157 | enda |
1158 | 1158 | ||
1159 | action WOODENHORSE2FRAME 0 1 5 |
1159 | action WOODENHORSE2FRAME 0 1 5 |
1160 | action WOODEN2FALLFRAME -2738 1 5 |
1160 | action WOODEN2FALLFRAME -2738 1 5 |
1161 | useractor notenemy WOODENHORSE2 WEAK WOODENHORSE2FRAME |
1161 | useractor notenemy WOODENHORSE2 WEAK WOODENHORSE2FRAME |
1162 | fall |
1162 | fall |
1163 | ifhitweapon |
1163 | ifhitweapon |
1164 | { |
1164 | { |
1165 | ifdead |
1165 | ifdead |
1166 | { |
1166 | { |
1167 | debris SCRAP1 4 |
1167 | debris SCRAP1 4 |
1168 | debris SCRAP2 3 |
1168 | debris SCRAP2 3 |
1169 | killit |
1169 | killit |
1170 | } |
1170 | } |
1171 | else |
1171 | else |
1172 | action WOODEN2FALLFRAME |
1172 | action WOODEN2FALLFRAME |
1173 | } |
1173 | } |
1174 | enda |
1174 | enda |
1175 | 1175 | ||
1176 | useractor notenemy NWSTEAM 0 |
1176 | useractor notenemy NWSTEAM 0 |
1177 | ifpdistl 6144 |
1177 | ifpdistl 6144 |
1178 | soundonce STEAM_HISSING |
1178 | soundonce STEAM_HISSING |
1179 | enda |
1179 | enda |
1180 | 1180 | ||
1181 | define title_x1 73 |
1181 | define title_x1 73 |
1182 | define title_x2 306 |
1182 | define title_x2 306 |
1183 | define title_y 194 |
1183 | define title_y 194 |
1184 | define title_zoom 32768 |
1184 | define title_zoom 32768 |
1185 | 1185 | ||
1186 | onevent EVENT_DISPLAYMENU |
1186 | onevent EVENT_DISPLAYMENU |
1187 | // getplayer[THISACTOR].gm temp |
1187 | // getplayer[THISACTOR].gm temp |
1188 | // ifvarand temp 4 nullop else |
1188 | // ifvarand temp 4 nullop else |
1189 | // { |
1189 | // { |
1190 | rotatesprite title_x1 title_y title_zoom 0 3838 0 0 0 0 0 xdim ydim |
1190 | rotatesprite title_x1 title_y title_zoom 0 3838 0 0 0 0 0 xdim ydim |
1191 | rotatesprite title_x2 title_y title_zoom 0 3839 0 0 0 0 0 xdim ydim |
1191 | rotatesprite title_x2 title_y title_zoom 0 3839 0 0 0 0 0 xdim ydim |
1192 | // } |
1192 | // } |
1193 | endevent |
1193 | endevent |
1194 | 1194 | ||
1195 | /* |
1195 | /* |
1196 | onevent EVENT_DISPLAYTITLE |
1196 | onevent EVENT_DISPLAYTITLE |
1197 | rotatesprite title_x1 title_y title_zoom 0 3838 0 0 0 0 0 xdim ydim |
1197 | rotatesprite title_x1 title_y title_zoom 0 3838 0 0 0 0 0 xdim ydim |
1198 | rotatesprite title_x2 title_y title_zoom 0 3839 0 0 0 0 0 xdim ydim |
1198 | rotatesprite title_x2 title_y title_zoom 0 3839 0 0 0 0 0 xdim ydim |
1199 | endevent |
1199 | endevent |
1200 | */ |
1200 | */ |
1201 | 1201 | ||
1202 | 1202 | ||
1203 | 1203 |