Subversion Repositories nw_plus

Rev

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
*/