Subversion Repositories nw_plus

Rev

Rev 7 | Rev 14 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7 Rev 8
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
state snowmangrowcode
12
state snowmangrowcode
13
  ifcount 32
13
  ifcount 32
14
  {
14
  {
15
    addkills 1
15
    addkills 1
16
    sound SQUISH2
16
    sound SQUISH2
17
    sound PIPEBOMB_EXPLODE
17
    sound PIPEBOMB_EXPLODE
18
    hitradius 2048 60 70 80 90
18
    hitradius 2048 60 70 80 90
19
    debris SCRAP3 40
19
    debris SCRAP3 40
20
    debris SCRAP3 40
20
    debris SCRAP3 40
21
    debris SCRAP3 40
21
    debris SCRAP3 40
22
    debris SCRAP3 40
22
    debris SCRAP3 40
23
    killit
23
    killit
24
  }
24
  }
25
  else
25
  else
26
  {
26
  {
27
    sizeto MAXXSTRETCH MAXYSTRETCH
27
    sizeto MAXXSTRETCH MAXYSTRETCH
28
    break
28
    break
29
  }
29
  }
30
ends
30
ends
31
31
32
move SNOWBALLSPEED1 750 100
32
move SNOWBALLSPEED1 750 100
33
move SNOWBALLUP 0 -2000
33
move SNOWBALLUP 0 -2000
34
34
35
action SNOWBALL1 0 1 1 1 1
35
action SNOWBALL1 0 1 1 1 1
36
36
37
ai AISNOWBALL1 SNOWBALL1 SNOWBALLSPEED1 geth getv
37
ai AISNOWBALL1 SNOWBALL1 SNOWBALLSPEED1 geth getv
38
ai AISNOWBALLUP SNOWBALL1 SNOWBALLUP geth getv
38
ai AISNOWBALLUP SNOWBALL1 SNOWBALLUP geth getv
39
39
40
useractor notenemy SNOWBALL 0 SNOWBALL1
40
useractor notenemy SNOWBALL 0 SNOWBALL1
41
   state checksquished
41
   state checksquished
42
42
43
   ifai 0
43
   ifai 0
44
     {
44
     {
45
       sizeat 1 1
45
       sizeat 1 1
46
       cstat 32768
46
       cstat 32768
47
       clipdist 0
47
       clipdist 0
48
       ai AISNOWBALLUP
48
       ai AISNOWBALLUP
49
     }
49
     }
50
   ifai AISNOWBALLUP
50
   ifai AISNOWBALLUP
51
     {
51
     {
52
       ifcount 1
52
       ifcount 1
53
         {
53
         {
54
           ai AISNOWBALL1
54
           ai AISNOWBALL1
55
           cstat 257
55
           cstat 257
56
           clipdist 32
56
           clipdist 32
57
           sizeat 30 30
57
           sizeat 30 30
58
         }
58
         }
59
       else break
59
       else break
60
    }
60
    }
61
61
62
   ifai AISNOWBALL1
62
   ifai AISNOWBALL1
63
     {
63
     {
64
       ifpdistl 1024
64
       ifpdistl 1024
65
         {
65
         {
66
           getplayer[THISACTOR].i temp
66
           getplayer[THISACTOR].i temp
67
           setactor[temp].htextra SNOWBALLAMOUNT
67
           setactor[temp].htextra SNOWBALLAMOUNT
68
           setactor[temp].htpicnum SNOWBALL
68
           setactor[temp].htpicnum SNOWBALL
-
 
69
           getactor[THISACTOR].owner temp2
-
 
70
           setactor[temp].htowner temp2
69
          // addphealth SNOWBALLAMOUNT
71
          // addphealth SNOWBALLAMOUNT
-
 
72
70
           debris SCRAP3 5
73
           debris SCRAP3 5
71
           globalsound DUKE_GRUNT
74
           globalsound DUKE_GRUNT
72
           state headhitstate
75
           state headhitstate
73
           palfrom 15 15 15
76
           palfrom 15 15 15
74
           killit
77
           killit
75
         }
78
         }
76
       iffloordistl 10
79
       iffloordistl 10
77
         {
80
         {
78
           debris SCRAP3 5
81
           debris SCRAP3 5
79
           killit
82
           killit
80
         }
83
         }
81
     }
84
     }
82
   ifcount 30 killit
85
   ifcount 30 killit
83
enda
86
enda
84
87
85
action ASNOWMANIDLE 26 3 5 1 20
88
action ASNOWMANIDLE 26 3 5 1 20
86
action ASNOWMANATTACK 11 3 5 1 30
89
action ASNOWMANATTACK 11 3 5 1 30
87
action ASNOWMANDIE 5 5 1 1 10
90
action ASNOWMANDIE 5 5 1 1 10
88
action ASNOWMANDEAD 10 1 1
91
action ASNOWMANDEAD 10 1 1
89
action ASNOWMANFROZEN 0 1 5 1 1
92
action ASNOWMANFROZEN 0 1 5 1 1
90
93
91
move SNOWMANSPEED
94
move SNOWMANSPEED
92
95
93
ai AISNOWFOLLOW ASNOWMANIDLE SNOWMANSPEED faceplayerslow
96
ai AISNOWFOLLOW ASNOWMANIDLE SNOWMANSPEED faceplayerslow
94
ai AISNOWATTACK ASNOWMANATTACK SNOWMANSPEED faceplayer
97
ai AISNOWATTACK ASNOWMANATTACK SNOWMANSPEED faceplayer
95
ai AISNOWMANSHRINK ASNOWMANIDLE SNOWMANSPEED geth getv
98
ai AISNOWMANSHRINK ASNOWMANIDLE SNOWMANSPEED geth getv
96
ai AISNOWMANGROW ASNOWMANIDLE SNOWMANSPEED geth getv
99
ai AISNOWMANGROW ASNOWMANIDLE SNOWMANSPEED geth getv
97
ai AISNOWMANDYING ASNOWMANDIE SNOWMANSPEED geth getv
100
ai AISNOWMANDYING ASNOWMANDIE SNOWMANSPEED geth getv
98
101
99
state snowmanidlestate
102
state snowmanidlestate
100
   ifcansee
103
   ifcansee
101
     ifpdistl 8192
104
     ifpdistl 8192
102
       {
105
       {
103
         ai AISNOWATTACK
106
         ai AISNOWATTACK
104
         break
107
         break
105
       }
108
       }
106
ends
109
ends
107
110
108
state snowmandyingstate
111
state snowmandyingstate
109
   ifactioncount 5 action ASNOWMANDEAD
112
   ifactioncount 5 action ASNOWMANDEAD
110
ends
113
ends
111
114
112
state snowmanattackstate
115
state snowmanattackstate
113
   ifcount 15 nullop else ifcount 14 spawn SNOWBALL
116
   ifcount 15 nullop else ifcount 14 spawn SNOWBALL
114
   ifactioncount 3
117
   ifactioncount 3
115
     {
118
     {
116
       resetcount
119
       resetcount
117
       ifpdistl 8192 resetactioncount else ai AISNOWFOLLOW
120
       ifpdistl 8192 resetactioncount else ai AISNOWFOLLOW
118
     }
121
     }
119
ends
122
ends
120
123
121
state snowmanshrinkstate
124
state snowmanshrinkstate
122
  ifcount SHRUNKDONECOUNT
125
  ifcount SHRUNKDONECOUNT
123
    ai AISNOWFOLLOW
126
    ai AISNOWFOLLOW
124
  else
127
  else
125
    ifcount SHRUNKCOUNT
128
    ifcount SHRUNKCOUNT
126
      sizeto 42 36
129
      sizeto 42 36
127
  else
130
  else
128
    state genericshrunkcode
131
    state genericshrunkcode
129
ends
132
ends
130
133
131
state snowmanhitstate
134
state snowmanhitstate
132
135
133
  ifdead
136
  ifdead
134
  {
137
  {
135
  //  debris SCRAP3 40
138
  //  debris SCRAP3 40
136
  //  debris SCRAP3 40
139
  //  debris SCRAP3 40
137
    debris SCRAP3 20
140
    debris SCRAP3 20
138
141
139
    ifwasweapon GROWSPARK
142
    ifwasweapon GROWSPARK
140
    {
143
    {
141
      sound ACTOR_GROWING
144
      sound ACTOR_GROWING
142
      ai AISNOWMANGROW
145
      ai AISNOWMANGROW
143
      break
146
      break
144
    }
147
    }
145
148
146
    addkills 1
149
    addkills 1
147
150
148
    ifwasweapon FREEZEBLAST
151
    ifwasweapon FREEZEBLAST
149
    {
152
    {
150
      sound SOMETHINGFROZE
153
      sound SOMETHINGFROZE
151
      spritepal 1
154
      spritepal 1
152
      move 0
155
      move 0
153
      action ASNOWMANFROZEN
156
      action ASNOWMANFROZEN
154
      strength 0
157
      strength 0
155
      break
158
      break
156
    }
159
    }
157
    ifwasweapon RADIUSEXPLOSION
160
    ifwasweapon RADIUSEXPLOSION
158
    {
161
    {
159
      debris SCRAP3 40
162
      debris SCRAP3 40
160
      killit
163
      killit
161
    }
164
    }
162
    else
165
    else
163
      ifwasweapon RPG
166
      ifwasweapon RPG
164
    {
167
    {
165
      debris SCRAP3 20
168
      debris SCRAP3 20
166
      killit
169
      killit
167
    }
170
    }
168
    else
171
    else
169
    {
172
    {
170
      cstat 0
173
      cstat 0
171
      ai AISNOWMANDYING
174
      ai AISNOWMANDYING
172
    }
175
    }
173
176
174
  }
177
  }
175
  else
178
  else
176
  {
179
  {
177
   debris SCRAP3 20
180
   debris SCRAP3 20
178
   ifwasweapon SHRINKSPARK
181
   ifwasweapon SHRINKSPARK
179
    {
182
    {
180
      sound ACTOR_SHRINKING
183
      sound ACTOR_SHRINKING
181
      ai AISNOWMANSHRINK
184
      ai AISNOWMANSHRINK
182
    }
185
    }
183
    else
186
    else
184
      ifwasweapon GROWSPARK
187
      ifwasweapon GROWSPARK
185
        sound EXPANDERHIT
188
        sound EXPANDERHIT
186
  }
189
  }
187
ends
190
ends
188
191
189
192
190
useractor enemy SNOWMAN SNOWMANSTRENGTH ASNOWMANIDLE
193
useractor enemy SNOWMAN SNOWMANSTRENGTH ASNOWMANIDLE
191
  fall
194
  fall
192
195
193
  ifaction ASNOWMANDEAD
196
  ifaction ASNOWMANDEAD
194
  {
197
  {
195
    strength 0
198
    strength 0
196
    ifhitweapon
199
    ifhitweapon
197
    {
200
    {
198
      ifwasweapon RADIUSEXPLOSION
201
      ifwasweapon RADIUSEXPLOSION
199
      {
202
      {
200
      // debris SCRAP3 40
203
      // debris SCRAP3 40
201
      // debris SCRAP3 40
204
      // debris SCRAP3 40
202
        debris SCRAP3 20
205
        debris SCRAP3 20
203
        killit
206
        killit
204
      }
207
      }
205
    }
208
    }
206
  
209
  
207
    ifrespawn
210
    ifrespawn
208
    {
211
    {
209
      ifcount RESPAWNACTORTIME
212
      ifcount RESPAWNACTORTIME
210
      {
213
      {
211
        spawn TRANSPORTERSTAR
214
        spawn TRANSPORTERSTAR
212
        cstat 257
215
        cstat 257
213
        strength SNOWMANSTRENGTH
216
        strength SNOWMANSTRENGTH
214
        ai AISNOWFOLLOW
217
        ai AISNOWFOLLOW
215
      }
218
      }
216
    }
219
    }
217
    break
220
    break
218
  }
221
  }
219
  else ifaction ASNOWMANFROZEN
222
  else ifaction ASNOWMANFROZEN
220
  {
223
  {
221
    ifcount THAWTIME
224
    ifcount THAWTIME
222
    {
225
    {
223
      ai AISNOWFOLLOW
226
      ai AISNOWFOLLOW
224
      getlastpal
227
      getlastpal
225
    }
228
    }
226
    else
229
    else
227
      ifcount FROZENDRIPTIME
230
      ifcount FROZENDRIPTIME
228
        ifrnd 8
231
        ifrnd 8
229
          spawn WATERDRIP
232
          spawn WATERDRIP
230
233
231
    ifhitweapon
234
    ifhitweapon
232
    {
235
    {
233
      ifwasweapon FREEZEBLAST
236
      ifwasweapon FREEZEBLAST
234
      {
237
      {
235
        strength 0
238
        strength 0
236
        break
239
        break
237
      }
240
      }
238
    addkills 1
241
    addkills 1
239
    lotsofglass 30
242
    lotsofglass 30
240
    ifrnd 84 debris SCRAP3 10
243
    ifrnd 84 debris SCRAP3 10
241
    sound GLASS_BREAKING
244
    sound GLASS_BREAKING
242
    killit
245
    killit
243
    }
246
    }
244
247
245
    ifp pfacing
248
    ifp pfacing
246
      ifpdistl FROZENQUICKKICKDIST
249
      ifpdistl FROZENQUICKKICKDIST
247
        pkick
250
        pkick
248
    break
251
    break
249
  }
252
  }
250
253
251
  ifai AISNOWMANSHRINK
254
  ifai AISNOWMANSHRINK
252
  {
255
  {
253
    state snowmanshrinkstate
256
    state snowmanshrinkstate
254
    break
257
    break
255
  }
258
  }
256
259
257
  ifhitweapon state snowmanhitstate
260
  ifhitweapon state snowmanhitstate
258
261
259
  ifp pdead break
262
  ifp pdead break
260
263
261
  ifai 0
264
  ifai 0
262
  {
265
  {
263
    ai AISNOWFOLLOW
266
    ai AISNOWFOLLOW
264
    sizeat 42 36
267
    sizeat 42 36
265
    clipdist 32
268
    clipdist 32
266
    cstat 257
269
    cstat 257
267
  }
270
  }
268
271
269
      ifai AISNOWMANDYING state snowmandyingstate
272
      ifai AISNOWMANDYING state snowmandyingstate
270
 else ifai AISNOWMANGROW state genericgrowcode
273
 else ifai AISNOWMANGROW state genericgrowcode
271
 else ifai AISNOWFOLLOW state snowmanidlestate
274
 else ifai AISNOWFOLLOW state snowmanidlestate
272
 else ifai AISNOWATTACK state snowmanattackstate
275
 else ifai AISNOWATTACK state snowmanattackstate
273
enda
276
enda
274
277
275
move botshrunkspeed   50
278
move botshrunkspeed   50
276
move botsteroidspeed  400
279
move botsteroidspeed  400
277
move botstopped
280
move botstopped
278
move botfall          0 -38
281
move botfall          0 -38
279
move bothardfall      0
282
move bothardfall      0
280
move botflyupspeed    200 -140
283
move botflyupspeed    200 -140
281
move botflydownspeed  200 -38
284
move botflydownspeed  200 -38
282
move botflyspeed      200 // -38
285
move botflyspeed      200 // -38
283
move botdodgespeedfly 250 -140
286
move botdodgespeedfly 250 -140
284
move botdodgespeeddownfly 250 140
287
move botdodgespeeddownfly 250 140
285
288
286
action ABOTFLY        0  1 5 1 13
289
action ABOTFLY        0  1 5 1 13
287
action ABOTFLYDYING   65 5 1 1 18
290
action ABOTFLYDYING   65 5 1 1 18
288
action ABOTFLYDIEBACK 69 5 1 -1 18
291
action ABOTFLYDIEBACK 69 5 1 -1 18
289
action ABOTFLYDEAD    65 1 1 1 1
292
action ABOTFLYDEAD    65 1 1 1 1
290
action ABOTFLYFROZEN  0 1 5 1 1
293
action ABOTFLYFROZEN  0 1 5 1 1
291
294
292
ai AIBOTFLYUP ABOTFLY botflyupspeed faceplayer
295
ai AIBOTFLYUP ABOTFLY botflyupspeed faceplayer
293
ai AIBOTFLYDOWN ABOTFLY botflydownspeed faceplayer
296
ai AIBOTFLYDOWN ABOTFLY botflydownspeed faceplayer
294
ai AIBOTFLYSEEKUP ABOTFLY botflyupspeed geth seekplayer randomangle
297
ai AIBOTFLYSEEKUP ABOTFLY botflyupspeed geth seekplayer randomangle
295
ai AIBOTFLYSEEKDOWN ABOTFLY botflydownspeed geth seekplayer randomangle
298
ai AIBOTFLYSEEKDOWN ABOTFLY botflydownspeed geth seekplayer randomangle
296
ai AIBOTFLYDODGEUP ABOTFLY botdodgespeedfly fleeenemy randomangle
299
ai AIBOTFLYDODGEUP ABOTFLY botdodgespeedfly fleeenemy randomangle
297
ai AIBOTFLYDODGEDOWN ABOTFLY botdodgespeeddownfly fleeenemy randomangle
300
ai AIBOTFLYDODGEDOWN ABOTFLY botdodgespeeddownfly fleeenemy randomangle
298
ai AIBOTFLYNOTMOVING
301
ai AIBOTFLYNOTMOVING
299
ai AIBOTFLYCAMPING ABOTFLY botstopped faceplayer
302
ai AIBOTFLYCAMPING ABOTFLY botstopped faceplayer
300
ai AIBOTFLYDYING ABOTFLYDYING botstopped faceplayer
303
ai AIBOTFLYDYING ABOTFLYDYING botstopped faceplayer
301
ai AIFLYWAIT ABOTFLY botstopped faceplayer
304
ai AIFLYWAIT ABOTFLY botstopped faceplayer
302
ai AIFLYUPMOMENT ABOTFLY botflyupspeed faceplayer
305
ai AIFLYUPMOMENT ABOTFLY botflyupspeed faceplayer
303
ai AIFLYUPHOLD ABOTFLY botflyupspeed faceplayer
306
ai AIFLYUPHOLD ABOTFLY botflyupspeed faceplayer
304
ai AIBOTFLYSTRAIGHT ABOTFLY botflyspeed geth getv
307
ai AIBOTFLYSTRAIGHT ABOTFLY botflyspeed geth getv
305
ai AIBOTFLYGROW ABOTFLY botstopped geth getv
308
ai AIBOTFLYGROW ABOTFLY botstopped geth getv
306
ai AIBOTFLYSHRINK ABOTFLY botshrunkspeed fleeenemy
309
ai AIBOTFLYSHRINK ABOTFLY botshrunkspeed fleeenemy
307
ai AIBOTFLYSTEROIDS ABOTFLY botsteroidspeed randomangle
310
ai AIBOTFLYSTEROIDS ABOTFLY botsteroidspeed randomangle
308
ai AIBOTFLYFLEE ABOTFLY botflyspeed randomangle
311
ai AIBOTFLYFLEE ABOTFLY botflyspeed randomangle
309
312
310
action ABOTWALK   10 4 5 1 13
313
action ABOTWALK   10 4 5 1 13
311
action ABOTWALK1  10 1 5 1 13
314
action ABOTWALK1  10 1 5 1 13
312
action ABOTWALKGO 10 4 5 1 13
315
action ABOTWALKGO 10 4 5 1 13
313
action ABOTKICK   10 2 5 1 25
316
action ABOTKICK   10 2 5 1 25
314
action ABOTCRAWL  55 3 5 1 13
317
action ABOTCRAWL  55 3 5 1 13
315
action ABOTJUMPUP 40 2 5 1 13
318
action ABOTJUMPUP 40 2 5 1 13
316
action ABOTFALL   50 1 5 1 1
319
action ABOTFALL   50 1 5 1 1
317
action ABOTWDYING 70 5 1 1 18
320
action ABOTWDYING 70 5 1 1 18
318
action ABOTWDEAD  75 1 1 1 1
321
action ABOTWDEAD  75 1 1 1 1
319
action ABOTWALKDIEBACK 74 5 1 -1 18
322
action ABOTWALKDIEBACK 74 5 1 -1 18
320
action ABOTWALKFROZEN  0 1 5 1 1
323
action ABOTWALKFROZEN  0 1 5 1 1
321
324
322
move   botwalkspeed  250
325
move   botwalkspeed  250
323
move   botjumpspeed  250 -115
326
move   botjumpspeed  250 -115
324
move   botjumpdspeed 250 150
327
move   botjumpdspeed 250 150
325
move   botcrawlspeed 0
328
move   botcrawlspeed 0
326
move   botfallspeed  250 100
329
move   botfallspeed  250 100
327
330
328
ai AIBOTWALKKICK ABOTKICK botstopped faceplayer
331
ai AIBOTWALKKICK ABOTKICK botstopped faceplayer
329
ai AIBOTWALKHUNT ABOTWALK botwalkspeed faceplayer
332
ai AIBOTWALKHUNT ABOTWALK botwalkspeed faceplayer
330
ai AIBOTWALKSEEK ABOTWALK botwalkspeed seekplayer
333
ai AIBOTWALKSEEK ABOTWALK botwalkspeed seekplayer
331
ai AIBOTWALKSEEK2
334
ai AIBOTWALKSEEK2
332
ai AIBOTWALKCAMPING ABOTWALK botstopped faceplayersmart
335
ai AIBOTWALKCAMPING ABOTWALK botstopped faceplayersmart
333
ai AIBOTWALKSTRJUMP1 ABOTJUMPUP botjumpspeed geth getv
336
ai AIBOTWALKSTRJUMP1 ABOTJUMPUP botjumpspeed geth getv
334
ai AIBOTWALKSTRJUMP2 ABOTFALL   botjumpdspeed geth getv
337
ai AIBOTWALKSTRJUMP2 ABOTFALL   botjumpdspeed geth getv
335
ai AIBOTWALKSTRJUMP1S ABOTJUMPUP botjumpspeed faceplayer
338
ai AIBOTWALKSTRJUMP1S ABOTJUMPUP botjumpspeed faceplayer
336
ai AIBOTWALKSTRJUMP2S ABOTFALL   botjumpdspeed faceplayer
339
ai AIBOTWALKSTRJUMP2S ABOTFALL   botjumpdspeed faceplayer
337
ai AIBOTWALKJUMP1 ABOTJUMPUP botjumpspeed faceplayer
340
ai AIBOTWALKJUMP1 ABOTJUMPUP botjumpspeed faceplayer
338
ai AIBOTWALKJUMP2 ABOTFALL   botjumpdspeed faceplayer
341
ai AIBOTWALKJUMP2 ABOTFALL   botjumpdspeed faceplayer
339
ai AIBOTWALKDYING ABOTWDYING botstopped faceplayer
342
ai AIBOTWALKDYING ABOTWDYING botstopped faceplayer
340
ai AIWALKFALL     ABOTFALL   botstopped faceplayer
343
ai AIWALKFALL     ABOTFALL   botstopped faceplayer
341
ai AIWALKFALLHARD ABOTFALL   botstopped faceplayer
344
ai AIWALKFALLHARD ABOTFALL   botstopped faceplayer
342
ai AIBOTWALKSTRAIGHT ABOTWALK botwalkspeed geth getv
345
ai AIBOTWALKSTRAIGHT ABOTWALK botwalkspeed geth getv
343
ai AIBOTWALKGROW ABOTWALK1 botstopped geth getv
346
ai AIBOTWALKGROW ABOTWALK1 botstopped geth getv
344
ai AIBOTWALKSHRINK ABOTWALK botshrunkspeed fleeenemy
347
ai AIBOTWALKSHRINK ABOTWALK botshrunkspeed fleeenemy
345
ai AIBOTWALKSTEROIDS ABOTWALK botsteroidspeed randomangle
348
ai AIBOTWALKSTEROIDS ABOTWALK botsteroidspeed randomangle
346
ai AIBOTWALKFLEE ABOTWALK botwalkspeed randomangle
349
ai AIBOTWALKFLEE ABOTWALK botwalkspeed randomangle
347
ai AIBOTLETFALL ABOTFALL botfallspeed getv geth
350
ai AIBOTLETFALL ABOTFALL botfallspeed getv geth
348
ai AIBOTWALKNOTMOVING
351
ai AIBOTWALKNOTMOVING
349
ai AIWALKWAIT ABOTWALK botstopped faceplayer
352
ai AIWALKWAIT ABOTWALK botstopped faceplayer
350
353
351
state miniboss
354
state miniboss
352
  
355
  
353
  sound SANTA_TRASH1
356
  sound SANTA_TRASH1
354
  
357
  
355
  spawn EXPLOSION2
358
  spawn EXPLOSION2
356
  spawn EXPLOSION2
359
  spawn EXPLOSION2
357
  spawn PIGCOP
360
  spawn PIGCOP
358
  spawn PIGCOP
361
  spawn PIGCOP
359
  
362
  
360
ends
363
ends
361
364
362
365
363
366
364
state stomphisfreakingass
367
state stomphisfreakingass
365
  
368
  
366
  ifp pdead
369
  ifp pdead
367
    nullop
370
    nullop
368
  else
371
  else
369
    ifpdistl SQUISHABLEDISTANCE
372
    ifpdistl SQUISHABLEDISTANCE
370
    {
373
    {
371
      addphealth -1000
374
      addphealth -1000
372
      sound SQUISH2
375
      sound SQUISH2
373
     // state standard_pjibs
376
     // state standard_pjibs
374
      state standard_pjibs
377
      state standard_pjibs
375
      sound SANTA_TRASH9
378
      sound SANTA_TRASH9
376
    }
379
    }
377
  
380
  
378
ends
381
ends
379
382
380
383
381
state botchangeweaponstate
384
state botchangeweaponstate
382
  
385
  
383
  ifspritepal 0 nullop else break
386
  ifspritepal 0 nullop else break
384
  
387
  
385
  resetcount
388
  resetcount
386
  
389
  
387
  ifspritepal 0
390
  ifspritepal 0
388
  {
391
  {
389
    ifpdistl 4096
392
    ifpdistl 4096
390
    {
393
    {
391
      ifrnd 128
394
      ifrnd 128
392
        spritepal 3
395
        spritepal 3
393
      else
396
      else
394
        spritepal 9
397
        spritepal 9
395
    }
398
    }
396
    else
399
    else
397
      ifrnd 128
400
      ifrnd 128
398
        spritepal 3
401
        spritepal 3
399
  }
402
  }
400
  else ifspritepal 3
403
  else ifspritepal 3
401
  {
404
  {
402
    ifpdistg 4096
405
    ifpdistg 4096
403
    {
406
    {
404
      ifrnd 128
407
      ifrnd 128
405
        spritepal 0
408
        spritepal 0
406
      else
409
      else
407
        spritepal 9
410
        spritepal 9
408
    }
411
    }
409
    else
412
    else
410
    {
413
    {
411
      ifrnd 128
414
      ifrnd 128
412
        spritepal 9
415
        spritepal 9
413
    }
416
    }
414
  }
417
  }
415
  else ifspritepal 9
418
  else ifspritepal 9
416
  {
419
  {
417
    ifpdistg 4096
420
    ifpdistg 4096
418
    {
421
    {
419
      ifrnd 128
422
      ifrnd 128
420
        spritepal 0
423
        spritepal 0
421
      else
424
      else
422
        spritepal 3
425
        spritepal 3
423
    }
426
    }
424
    else
427
    else
425
      ifrnd 128
428
      ifrnd 128
426
        spritepal 9
429
        spritepal 9
427
  }
430
  }
428
  
431
  
429
  sound SELECT_WEAPON
432
  sound SELECT_WEAPON
430
  
433
  
431
ends
434
ends
432
435
-
 
436
state botshootrpg // so Santa shoots the player's RPG and not the Commander's
-
 
437
  eshoot RPG
-
 
438
  setactor[RETURN].extra RPG_WEAPON_STRENGTH
-
 
439
  setactor[RETURN].xrepeat 14
-
 
440
  setactor[RETURN].yrepeat 14
-
 
441
  sound RPG_SHOOT
-
 
442
ends
-
 
443
433
state botquickshootstate
444
state botquickshootstate
434
  
445
  
435
  ifspritepal 0 nullop else break
446
  ifspritepal 0 nullop else break
436
  
447
  
437
  ifp pshrunk break
448
  ifp pshrunk break
438
  ifp pdead break
449
  ifp pdead break
439
450
440
  ifspritepal 0
451
  ifspritepal 0
441
  {
-
 
442
    shoot RPG
-
 
443
    sound RPG_SHOOT
452
    state botshootrpg
444
  }
-
 
445
  else ifspritepal 3
453
  else ifspritepal 3
446
  {
454
  {
447
    shoot CHAINGUN
455
    shoot CHAINGUN
448
    sound CHAINGUN_FIRE
456
    sound CHAINGUN_FIRE
449
  }
457
  }
450
  else ifspritepal 9
458
  else ifspritepal 9
451
  {
459
  {
452
   // shoot SHRINKER
460
   // shoot SHRINKER
453
   // sound SHRINKER_FIRE
461
   // sound SHRINKER_FIRE
454
    shoot SHOTGUN
462
    shoot SHOTGUN
455
    sound SHOTGUN_FIRE
463
    sound SHOTGUN_FIRE
456
  }
464
  }
457
  
465
  
458
ends
466
ends
459
467
460
468
461
state botshootstate
469
state botshootstate
462
  
470
  
463
  ifspritepal 0 nullop else break // ifcanshoottarget nullop // ifcanseetarget nullop
471
  ifspritepal 0 nullop else break // ifcanshoottarget nullop // ifcanseetarget nullop
464
  
472
  
465
  ifp pdead break
473
  ifp pdead break
466
  ifp pshrunk break
474
  ifp pshrunk break
467
  
475
  
468
  ifspritepal 0
476
  ifspritepal 0
469
  {
477
  {
470
    ifcount 5
478
    ifcount 5
471
    {
479
    {
472
      ifactioncount 5
480
      ifactioncount 5
473
      {
481
      {
474
        resetactioncount
482
        resetactioncount
475
        shoot RPG
483
        state botshootrpg
476
        sound RPG_SHOOT
-
 
477
      }
484
      }
478
  
485
  
479
    ifpdistl 4096
486
    ifpdistl 4096
480
      ifrnd 5
487
      ifrnd 5
481
        state botchangeweaponstate
488
        state botchangeweaponstate
482
    }
489
    }
483
  }
490
  }
484
  else ifspritepal 3
491
  else ifspritepal 3
485
  {
492
  {
486
    ifcount 5
493
    ifcount 5
487
    {
494
    {
488
      ifactioncount 1
495
      ifactioncount 1
489
      {
496
      {
490
        resetactioncount
497
        resetactioncount
491
        shoot SHOTSPARK1
498
        shoot SHOTSPARK1
492
        shoot CHAINGUN
499
        shoot CHAINGUN
493
        shoot CHAINGUN
500
        shoot CHAINGUN
494
        shoot CHAINGUN
501
        shoot CHAINGUN
495
        sound CHAINGUN_FIRE
502
        sound CHAINGUN_FIRE
496
      }
503
      }
497
  
504
  
498
      ifrnd 1
505
      ifrnd 1
499
        state botchangeweaponstate
506
        state botchangeweaponstate
500
    }
507
    }
501
  }
508
  }
502
  else ifspritepal 9
509
  else ifspritepal 9
503
  {
510
  {
504
    ifcount 5
511
    ifcount 5
505
    {
512
    {
506
      ifactioncount 5
513
      ifactioncount 5
507
      {
514
      {
508
        resetactioncount
515
        resetactioncount
509
       // shoot SHRINKER
516
       // shoot SHRINKER
510
       // sound SHRINKER_FIRE
517
       // sound SHRINKER_FIRE
511
        shoot SHOTGUN
518
        shoot SHOTGUN
512
        sound SHOTGUN_FIRE
519
        sound SHOTGUN_FIRE
513
      }
520
      }
514
      ifp ponsteroids
521
      ifp ponsteroids
515
        ifrnd 64
522
        ifrnd 64
516
          state botchangeweaponstate
523
          state botchangeweaponstate
517
  
524
  
518
      ifrnd 1
525
      ifrnd 1
519
        state botchangeweaponstate
526
        state botchangeweaponstate
520
    }
527
    }
521
  }
528
  }
522
  
529
  
523
ends
530
ends
524
531
525
state dudehurt
532
state dudehurt
526
/*
533
/*
527
        ifstrength YELLHURTSOUNDSTRENGTHMP
534
        ifstrength YELLHURTSOUNDSTRENGTHMP
528
        {
535
        {
529
          ifrnd 64
536
          ifrnd 64
530
            sound SANTA_GOTHIT
537
            sound SANTA_GOTHIT
531
          else
538
          else
532
            ifrnd 64
539
            ifrnd 64
533
              sound SANTA_DEAD
540
              sound SANTA_DEAD
534
          else
541
          else
535
            ifrnd 64
542
            ifrnd 64
536
              sound SANTA_TRASH6
543
              sound SANTA_TRASH6
537
          else
544
          else
538
            sound SANTA_TRASH8
545
            sound SANTA_TRASH8
539
        }
546
        }
540
        else
547
        else
541
        {
548
        {
542
          ifrnd 64
549
          ifrnd 64
543
            sound SANTA_GOTHIT
550
            sound SANTA_GOTHIT
544
          else ifrnd 64
551
          else ifrnd 64
545
            sound SANTA_DEAD
552
            sound SANTA_DEAD
546
          else ifrnd 64
553
          else ifrnd 64
547
            sound SANTA_TRASH6
554
            sound SANTA_TRASH6
548
          else
555
          else
549
            sound SANTA_TRASH8
556
            sound SANTA_TRASH8
550
        }
557
        }
551
*/
558
*/
552
  
559
  
553
        ifrnd 80
560
        ifrnd 80
554
          sound SANTA_GOTHIT
561
          sound SANTA_GOTHIT
555
ends
562
ends
556
563
557
state dukehurt
564
state dukehurt
558
  
565
  
559
        ifrnd 80
566
        ifrnd 80
560
          sound SANTA_GOTHIT
567
          sound SANTA_GOTHIT
561
/*
568
/*
562
569
563
        ifphealthl YELLHURTSOUNDSTRENGTHMP
570
        ifphealthl YELLHURTSOUNDSTRENGTHMP
564
        {
571
        {
565
          ifrnd 64
572
          ifrnd 64
566
            sound DUKE_LONGTERM_PAIN2
573
            sound DUKE_LONGTERM_PAIN2
567
          else
574
          else
568
            ifrnd 64
575
            ifrnd 64
569
              sound DUKE_LONGTERM_PAIN3
576
              sound DUKE_LONGTERM_PAIN3
570
          else
577
          else
571
            ifrnd 64
578
            ifrnd 64
572
              sound DUKE_LONGTERM_PAIN4
579
              sound DUKE_LONGTERM_PAIN4
573
          else
580
          else
574
            sound DUKE_DEAD
581
            sound DUKE_DEAD
575
        }
582
        }
576
        else
583
        else
577
        {
584
        {
578
          ifrnd 64
585
          ifrnd 64
579
            sound DUKE_LONGTERM_PAIN5
586
            sound DUKE_LONGTERM_PAIN5
580
          else ifrnd 64
587
          else ifrnd 64
581
            sound DUKE_LONGTERM_PAIN6
588
            sound DUKE_LONGTERM_PAIN6
582
          else ifrnd 64
589
          else ifrnd 64
583
            sound DUKE_LONGTERM_PAIN7
590
            sound DUKE_LONGTERM_PAIN7
584
          else
591
          else
585
            sound DUKE_LONGTERM_PAIN8
592
            sound DUKE_LONGTERM_PAIN8
586
        }
593
        }
587
*/
594
*/
588
ends
595
ends
589
596
590
597
591
// WALK STATES
598
// WALK STATES
592
599
593
state botwalkhitstate
600
state botwalkhitstate
594
  
601
  
595
  state botshootstate
602
  state botshootstate
596
  
603
  
597
  // spawn BLOOD
604
  // spawn BLOOD
598
  
605
  
599
  ifdead
606
  ifdead
600
  {
607
  {
601
    ifspritepal 21
608
    ifspritepal 21
602
    {
609
    {
603
      state miniboss
610
      state miniboss
604
      break
611
      break
605
    }
612
    }
606
    else
613
    else
607
      soundonce SANTA_DEAD
614
      soundonce SANTA_DEAD
608
615
609
    ifwasweapon FREEZEBLAST
616
    ifwasweapon FREEZEBLAST
610
    {
617
    {
611
      spritepal 1
618
      spritepal 1
612
      strength 0
619
      strength 0
613
      move 0
620
      move 0
614
      action ABOTWALKFROZEN
621
      action ABOTWALKFROZEN
615
      sound SOMETHINGFROZE
622
      sound SOMETHINGFROZE
616
      break
623
      break
617
    }
624
    }
618
    else ifwasweapon GROWSPARK
625
    else ifwasweapon GROWSPARK
619
    {
626
    {
620
      cstat 0
627
      cstat 0
621
      sound ACTOR_GROWING
628
      sound ACTOR_GROWING
622
      ai AIBOTWALKGROW
629
      ai AIBOTWALKGROW
623
      break
630
      break
624
    }
631
    }
625
    else ifwasweapon RADIUSEXPLOSION
632
    else ifwasweapon RADIUSEXPLOSION
626
    {
633
    {
627
     // state standard_pjibs
634
     // state standard_pjibs
628
     // state standard_pjibs
635
     // state standard_pjibs
629
     // state standard_pjibs
636
     // state standard_pjibs
630
      state standard_pjibs
637
      state standard_pjibs
631
      sound SQUISH2
638
      sound SQUISH2
632
      addkills 1
639
      addkills 1
633
      endofgame 52
640
      endofgame 52
634
      killit
641
      killit
635
    }
642
    }
636
    else ifwasweapon RPG
643
    else ifwasweapon RPG
637
    {
644
    {
638
     // state standard_pjibs
645
     // state standard_pjibs
639
     // state standard_pjibs
646
     // state standard_pjibs
640
     // state standard_pjibs
647
     // state standard_pjibs
641
      state standard_pjibs
648
      state standard_pjibs
642
      sound SQUISH2
649
      sound SQUISH2
643
      addkills 1
650
      addkills 1
644
      endofgame 52
651
      endofgame 52
645
      killit
652
      killit
646
    }
653
    }
647
    else
654
    else
648
    {
655
    {
649
      ai AIBOTWALKDYING
656
      ai AIBOTWALKDYING
650
      break
657
      break
651
    }
658
    }
652
  }
659
  }
653
  else
660
  else
654
  {
661
  {
655
    state dudehurt
662
    state dudehurt
656
  
663
  
657
    ifwasweapon SHRINKSPARK
664
    ifwasweapon SHRINKSPARK
658
    {
665
    {
659
      ifai AIBOTWALKSTEROIDS
666
      ifai AIBOTWALKSTEROIDS
660
        nullop
667
        nullop
661
      else
668
      else
662
      {
669
      {
663
        ai AIBOTWALKSHRINK
670
        ai AIBOTWALKSHRINK
664
        break
671
        break
665
      }
672
      }
666
    }
673
    }
667
  }
674
  }
668
675
669
ends
676
ends
670
677
671
state botwalkdyingstate
678
state botwalkdyingstate
672
  fall
679
  fall
673
  strength 0
680
  strength 0
674
681
675
  ifactioncount 5
682
  ifactioncount 5
676
    {
683
    {
677
      action ABOTWDEAD
684
      action ABOTWDEAD
678
      endofgame 52
685
      endofgame 52
679
      killit
686
      killit
680
    }
687
    }
681
ends
688
ends
682
689
683
state botwalkseekstate
690
state botwalkseekstate
684
  
691
  
685
  ifcansee
692
  ifcansee
686
  {
693
  {
687
    ai AIBOTWALKHUNT
694
    ai AIBOTWALKHUNT
688
    break
695
    break
689
  }
696
  }
690
  
697
  
691
  ifgapzl 100
698
  ifgapzl 100
692
    nullop
699
    nullop
693
  else
700
  else
694
  {
701
  {
695
    ifnotmoving
702
    ifnotmoving
696
    {
703
    {
697
      ifrnd 4
704
      ifrnd 4
698
        operate
705
        operate
699
      ifpdistl 8000
706
      ifpdistl 8000
700
      {
707
      {
701
        ai AIFLYUPMOMENT
708
        ai AIFLYUPMOMENT
702
        cactor SOBBOTFLY
709
        cactor SOBBOTFLY
703
        break
710
        break
704
      }
711
      }
705
      else
712
      else
706
        ai AIBOTWALKJUMP1
713
        ai AIBOTWALKJUMP1
707
  
714
  
708
      break
715
      break
709
    }
716
    }
710
  }
717
  }
711
  
718
  
712
ends
719
ends
713
720
714
state botwalkjumpstate
721
state botwalkjumpstate
715
  
722
  
716
  ifrnd 4
723
  ifrnd 4
717
    ifpdistl 6000
724
    ifpdistl 6000
718
      state botquickshootstate
725
      state botquickshootstate
719
  
726
  
720
  ifai AIBOTWALKJUMP1
727
  ifai AIBOTWALKJUMP1
721
    ifactioncount 2
728
    ifactioncount 2
722
    {
729
    {
723
      ai AIBOTWALKJUMP2
730
      ai AIBOTWALKJUMP2
724
      break
731
      break
725
    }
732
    }
726
  
733
  
727
  ifai AIBOTWALKJUMP2
734
  ifai AIBOTWALKJUMP2
728
    ifactioncount 1
735
    ifactioncount 1
729
    {
736
    {
730
      state botshootstate
737
      state botshootstate
731
      iffloordistl 16
738
      iffloordistl 16
732
      {
739
      {
733
        sound DUKE_LAND
740
        sound DUKE_LAND
734
        operate
741
        operate
735
        ai AIBOTWALKHUNT
742
        ai AIBOTWALKHUNT
736
      }
743
      }
737
    }
744
    }
738
  
745
  
739
ends
746
ends
740
747
741
state botwalkhuntstate
748
state botwalkhuntstate
742
  
749
  
743
  state botshootstate
750
  state botshootstate
744
  
751
  
745
  ifrnd 3
752
  ifrnd 3
746
  {
753
  {
747
    ai AIBOTWALKSTRJUMP1S
754
    ai AIBOTWALKSTRJUMP1S
748
    count 10
755
    count 10
749
  }
756
  }
750
  
757
  
751
  ifcansee
758
  ifcansee
752
  {
759
  {
753
    ifpdistl 1024
760
    ifpdistl 1024
754
      ifrnd 24
761
      ifrnd 24
755
      {
762
      {
756
        ifp pdead
763
        ifp pdead
757
          nullop
764
          nullop
758
        else
765
        else
759
          ai AIBOTWALKKICK
766
          ai AIBOTWALKKICK
760
        break
767
        break
761
      }
768
      }
762
  }
769
  }
763
  else
770
  else
764
  {
771
  {
765
    ifphealthl 50
772
    ifphealthl 50
766
      ifrnd 64
773
      ifrnd 64
767
        ifpdistl 8000
774
        ifpdistl 8000
768
          ifrnd 80
775
          ifrnd 80
769
            sound SANTA_TRASH1
776
            sound SANTA_TRASH1
770
  
777
  
771
    ifrnd 128
778
    ifrnd 128
772
    {
779
    {
773
      ifp phigher
780
      ifp phigher
774
      {
781
      {
775
        ai AIFLYUPMOMENT
782
        ai AIFLYUPMOMENT
776
        cactor SOBBOTFLY
783
        cactor SOBBOTFLY
777
        break
784
        break
778
      }
785
      }
779
      else
786
      else
780
      {
787
      {
781
        ai AIBOTWALKSTRAIGHT
788
        ai AIBOTWALKSTRAIGHT
782
        break
789
        break
783
      }
790
      }
784
    }
791
    }
785
    else
792
    else
786
    {
793
    {
787
      ai AIBOTWALKSTRAIGHT
794
      ai AIBOTWALKSTRAIGHT
788
      break
795
      break
789
    }
796
    }
790
  ai AIBOTWALKSEEK
797
  ai AIBOTWALKSEEK
791
  break
798
  break
792
  }
799
  }
793
  
800
  
794
  ifrnd 128
801
  ifrnd 128
795
    ifnotmoving
802
    ifnotmoving
796
    {
803
    {
797
      ifrnd 8
804
      ifrnd 8
798
        operate
805
        operate
799
      ai AIBOTWALKJUMP1
806
      ai AIBOTWALKJUMP1
800
      break
807
      break
801
    }
808
    }
802
  
809
  
803
ends
810
ends
804
811
805
state botwalkkickstate
812
state botwalkkickstate
806
  
813
  
807
  ifactioncount 2
814
  ifactioncount 2
808
  {
815
  {
809
    resetactioncount
816
    resetactioncount
810
    ifpdistl 1024
817
    ifpdistl 1024
811
    {
818
    {
812
      ifp pdead
819
      ifp pdead
813
      {
820
      {
814
        ai AIBOTWALKHUNT
821
        ai AIBOTWALKHUNT
815
        break
822
        break
816
      }
823
      }
817
      ifp pfacing
824
      ifp pfacing
818
        ifrnd 16
825
        ifrnd 16
819
          globalsound SANTA_TRASH8
826
          globalsound SANTA_TRASH8
820
827
821
      sound KICK_HIT
828
      sound KICK_HIT
822
  
829
  
823
      ifspritepal 21
830
      ifspritepal 21
824
        addphealth -1
831
        addphealth -1
825
      else
832
      else
826
        addphealth -6
833
        addphealth -6
827
  
834
  
828
      state dukehurt
835
      state dukehurt
829
    }
836
    }
830
    else
837
    else
831
    {
838
    {
832
      ai AIBOTWALKHUNT
839
      ai AIBOTWALKHUNT
833
      break
840
      break
834
    }
841
    }
835
842
836
  ifrnd 50
843
  ifrnd 50
837
    {
844
    {
838
      ai AIBOTWALKHUNT
845
      ai AIBOTWALKHUNT
839
      break
846
      break
840
    }
847
    }
841
  }
848
  }
842
849
843
ends
850
ends
844
851
845
state botwalkstraightjumpstate
852
state botwalkstraightjumpstate
846
  
853
  
847
  ifai AIBOTWALKSTRJUMP1
854
  ifai AIBOTWALKSTRJUMP1
848
  {
855
  {
849
    ifcount 20
856
    ifcount 20
850
    {
857
    {
851
    ai AIBOTWALKSTRJUMP2
858
    ai AIBOTWALKSTRJUMP2
852
    break
859
    break
853
    }
860
    }
854
  }
861
  }
855
  else ifai AIBOTWALKSTRJUMP2
862
  else ifai AIBOTWALKSTRJUMP2
856
  {
863
  {
857
    ifcount 18
864
    ifcount 18
858
    {
865
    {
859
      iffloordistl 16
866
      iffloordistl 16
860
      {
867
      {
861
        operate
868
        operate
862
        ifrnd 128
869
        ifrnd 128
863
          sound DUKE_LAND
870
          sound DUKE_LAND
864
        ifrnd 200
871
        ifrnd 200
865
          ai AIBOTWALKSTRAIGHT
872
          ai AIBOTWALKSTRAIGHT
866
        else
873
        else
867
          ai AIBOTWALKSEEK
874
          ai AIBOTWALKSEEK
868
      }
875
      }
869
    }
876
    }
870
  }
877
  }
871
  
878
  
872
ends
879
ends
873
880
874
state botjumpshootstate
881
state botjumpshootstate
875
  
882
  
876
  ifai AIBOTWALKSTRJUMP1S
883
  ifai AIBOTWALKSTRJUMP1S
877
  {
884
  {
878
    state botshootstate
885
    state botshootstate
879
  
886
  
880
    ifcount 20
887
    ifcount 20
881
    {
888
    {
882
      ai AIBOTWALKSTRJUMP2S
889
      ai AIBOTWALKSTRJUMP2S
883
      resetactioncount
890
      resetactioncount
884
      count 10
891
      count 10
885
      break
892
      break
886
    }
893
    }
887
  }
894
  }
888
  else ifai AIBOTWALKSTRJUMP2S
895
  else ifai AIBOTWALKSTRJUMP2S
889
  {
896
  {
890
    ifcount 18
897
    ifcount 18
891
    {
898
    {
892
      iffloordistl 16
899
      iffloordistl 16
893
      {
900
      {
894
        operate
901
        operate
895
        sound DUKE_LAND
902
        sound DUKE_LAND
896
        ai AIBOTWALKHUNT
903
        ai AIBOTWALKHUNT
897
        count 10
904
        count 10
898
      }
905
      }
899
    }
906
    }
900
  }
907
  }
901
  
908
  
902
ends
909
ends
903
910
904
911
905
state botwalkstraightstate
912
state botwalkstraightstate
906
  
913
  
907
  ifpdistg 20000
914
  ifpdistg 20000
908
    ai AIBOTWALKSEEK
915
    ai AIBOTWALKSEEK
909
  
916
  
910
  ifcansee
917
  ifcansee
911
  {
918
  {
912
    ifnotmoving
919
    ifnotmoving
913
    {
920
    {
914
      ai AIBOTWALKSTRJUMP1
921
      ai AIBOTWALKSTRJUMP1
915
      break
922
      break
916
    }
923
    }
917
  
924
  
918
    ifrnd 64
925
    ifrnd 64
919
      ai AIBOTWALKHUNT
926
      ai AIBOTWALKHUNT
920
  }
927
  }
921
  else
928
  else
922
    ifrnd 128
929
    ifrnd 128
923
      ifnotmoving
930
      ifnotmoving
924
        ai AIBOTWALKSTRJUMP1
931
        ai AIBOTWALKSTRJUMP1
925
  
932
  
926
ends
933
ends
927
934
928
state steroidswalk
935
state steroidswalk
929
  
936
  
930
  soundonce DUKE_HARTBEAT
937
  soundonce DUKE_HARTBEAT
931
  spawn FRAMEEFFECT1
938
  spawn FRAMEEFFECT1
932
  
939
  
933
  ifhitweapon
940
  ifhitweapon
934
  {
941
  {
935
    state botwalkhitstate
942
    state botwalkhitstate
936
    break
943
    break
937
  }
944
  }
938
  
945
  
939
  ifcount 150
946
  ifcount 150
940
    ai AIBOTWALKHUNT
947
    ai AIBOTWALKHUNT
941
948
942
  ifcount 34
949
  ifcount 34
943
    nullop
950
    nullop
944
  else
951
  else
945
    sizeto 42 36
952
    sizeto 42 36
946
  
953
  
947
ends
954
ends
948
955
949
state botletfallstate
956
state botletfallstate
950
  
957
  
951
  ifactioncount 5
958
  ifactioncount 5
952
    nullop
959
    nullop
953
  else ifactioncount 6
960
  else ifactioncount 6
954
    soundonce SANTA_TRASH7
961
    soundonce SANTA_TRASH7
955
  
962
  
956
  ifcansee
963
  ifcansee
957
  {
964
  {
958
    ai AIFLYWAIT
965
    ai AIFLYWAIT
959
    cactor SOBBOTFLY
966
    cactor SOBBOTFLY
960
    break
967
    break
961
  }
968
  }
962
  else
969
  else
963
  {
970
  {
964
    iffloordistl 50
971
    iffloordistl 50
965
    {
972
    {
966
      ai AIFLYWAIT
973
      ai AIFLYWAIT
967
      cactor SOBBOTFLY
974
      cactor SOBBOTFLY
968
      break
975
      break
969
    }
976
    }
970
  }
977
  }
971
  
978
  
972
ends
979
ends
973
980
974
useractor enemy SOBBOTWALK SOBBOTSTRENGTH ABOTWALK
981
useractor enemy SOBBOTWALK SOBBOTSTRENGTH ABOTWALK
975
  state checksquished
982
  state checksquished
976
983
977
  ifai 0
984
  ifai 0
978
    {
985
    {
979
      ifspawnedby RECON
986
      ifspawnedby RECON
980
        {
987
        {
981
          spawn PIGCOP
988
          spawn PIGCOP
982
          killit
989
          killit
983
        }
990
        }
984
  
991
  
985
    ifcansee nullop else break
992
    ifcansee nullop else break
986
  
993
  
987
    sizeat 42 36
994
    sizeat 42 36
988
    cstat 257
995
    cstat 257
989
996
990
    ai AIBOTWALKSEEK
997
    ai AIBOTWALKSEEK
991
998
992
    ifspritepal 21
999
    ifspritepal 21
993
    {
1000
    {
994
      strength MINIBOSSSTRENGTH
1001
      strength MINIBOSSSTRENGTH
995
      ifrnd 64
1002
      ifrnd 64
996
        soundonce SANTA_TRASH9
1003
        soundonce SANTA_TRASH9
997
    }
1004
    }
998
    else
1005
    else
999
      spritepal 0
1006
      spritepal 0
1000
  
1007
  
1001
    sound INSERT_CLIP
1008
    sound INSERT_CLIP
1002
    break
1009
    break
1003
  }
1010
  }
1004
1011
1005
   fall
1012
   fall
1006
   sleeptime 300
1013
   sleeptime 300
1007
1014
1008
  ifaction ABOTWDEAD
1015
  ifaction ABOTWDEAD
1009
    break
1016
    break
1010
  else ifaction ABOTWALKFROZEN
1017
  else ifaction ABOTWALKFROZEN
1011
  {
1018
  {
1012
    ifcount THAWTIME
1019
    ifcount THAWTIME
1013
    {
1020
    {
1014
      ai AIBOTWALKHUNT
1021
      ai AIBOTWALKHUNT
1015
      getlastpal
1022
      getlastpal
1016
    }
1023
    }
1017
    else ifcount FROZENDRIPTIME
1024
    else ifcount FROZENDRIPTIME
1018
      ifactioncount 26
1025
      ifactioncount 26
1019
      {
1026
      {
1020
        spawn WATERDRIP
1027
        spawn WATERDRIP
1021
        resetactioncount
1028
        resetactioncount
1022
      }
1029
      }
1023
  
1030
  
1024
    ifhitweapon
1031
    ifhitweapon
1025
    {
1032
    {
1026
      ifwasweapon FREEZEBLAST
1033
      ifwasweapon FREEZEBLAST
1027
      {
1034
      {
1028
        strength 0
1035
        strength 0
1029
        break
1036
        break
1030
      }
1037
      }
1031
      addkills 1
1038
      addkills 1
1032
  
1039
  
1033
      ifrnd 84
1040
      ifrnd 84
1034
        spawn BLOODPOOL
1041
        spawn BLOODPOOL
1035
      lotsofglass 30
1042
      lotsofglass 30
1036
      spawn ATOMICHEALTH
1043
      spawn ATOMICHEALTH
1037
      sound GLASS_BREAKING
1044
      sound GLASS_BREAKING
1038
      ifspritepal 21
1045
      ifspritepal 21
1039
      {
1046
      {
1040
        state miniboss
1047
        state miniboss
1041
        break
1048
        break
1042
      }
1049
      }
1043
      else
1050
      else
1044
      {
1051
      {
1045
        endofgame 52
1052
        endofgame 52
1046
        killit
1053
        killit
1047
      }
1054
      }
1048
    }
1055
    }
1049
  
1056
  
1050
    ifp pfacing
1057
    ifp pfacing
1051
      ifpdistl FROZENQUICKKICKDIST
1058
      ifpdistl FROZENQUICKKICKDIST
1052
        pkick
1059
        pkick
1053
  
1060
  
1054
     break
1061
     break
1055
  }
1062
  }
1056
  else ifai AIBOTWALKSTEROIDS
1063
  else ifai AIBOTWALKSTEROIDS
1057
  {
1064
  {
1058
    state steroidswalk
1065
    state steroidswalk
1059
    break
1066
    break
1060
  }
1067
  }
1061
  else ifai AIBOTWALKGROW
1068
  else ifai AIBOTWALKGROW
1062
  {
1069
  {
1063
    ifcount 32
1070
    ifcount 32
1064
    {
1071
    {
1065
      guts JIBS4 24
1072
      guts JIBS4 24
1066
      guts JIBS6 28
1073
      guts JIBS6 28
1067
      addkills 1
1074
      addkills 1
1068
      sound SQUISH2
1075
      sound SQUISH2
1069
      sound PIPEBOMB_EXPLODE
1076
      sound PIPEBOMB_EXPLODE
1070
      hitradius 2048 60 70 80 90
1077
      hitradius 2048 60 70 80 90
1071
      spawn BLOODPOOL
1078
      spawn BLOODPOOL
1072
      spawn EXPLOSION2
1079
      spawn EXPLOSION2
1073
      ifspritepal 21
1080
      ifspritepal 21
1074
      {
1081
      {
1075
        state miniboss
1082
        state miniboss
1076
        break
1083
        break
1077
      }
1084
      }
1078
      else
1085
      else
1079
      {
1086
      {
1080
        endofgame 52
1087
        endofgame 52
1081
        killit
1088
        killit
1082
      }
1089
      }
1083
    }
1090
    }
1084
    else
1091
    else
1085
    {
1092
    {
1086
      sizeto MAXXSTRETCH MAXYSTRETCH
1093
      sizeto MAXXSTRETCH MAXYSTRETCH
1087
      break
1094
      break
1088
    }
1095
    }
1089
    break
1096
    break
1090
  }
1097
  }
1091
  else ifai AIBOTWALKSHRINK
1098
  else ifai AIBOTWALKSHRINK
1092
  {
1099
  {
1093
    ifcount SHRUNKDONECOUNT
1100
    ifcount SHRUNKDONECOUNT
1094
      ai AIBOTWALKHUNT
1101
      ai AIBOTWALKHUNT
1095
    else
1102
    else
1096
      {
1103
      {
1097
        ifcount SHRUNKCOUNT
1104
        ifcount SHRUNKCOUNT
1098
        {
1105
        {
1099
          spawn FRAMEEFFECT1
1106
          spawn FRAMEEFFECT1
1100
          sizeto 42 36
1107
          sizeto 42 36
1101
        }
1108
        }
1102
        else ifcount 31
1109
        else ifcount 31
1103
          nullop
1110
          nullop
1104
        else ifcount 30
1111
        else ifcount 30
1105
        {
1112
        {
1106
          ifrnd 255
1113
          ifrnd 255
1107
          {
1114
          {
1108
            sound DUKE_TAKEPILLS
1115
            sound DUKE_TAKEPILLS
1109
            ai AIBOTWALKSTEROIDS
1116
            ai AIBOTWALKSTEROIDS
1110
            break
1117
            break
1111
          }
1118
          }
1112
        }
1119
        }
1113
        ifcount 32
1120
        ifcount 32
1114
        {
1121
        {
1115
          ifpdistl SQUISHABLEDISTANCE
1122
          ifpdistl SQUISHABLEDISTANCE
1116
          {
1123
          {
1117
            state standard_pjibs
1124
            state standard_pjibs
1118
            sound SQUISH2
1125
            sound SQUISH2
1119
            spawn BLOODPOOL
1126
            spawn BLOODPOOL
1120
            pstomp
1127
            pstomp
1121
            ifspritepal 21
1128
            ifspritepal 21
1122
            {
1129
            {
1123
              state miniboss
1130
              state miniboss
1124
              break
1131
              break
1125
            }
1132
            }
1126
            else
1133
            else
1127
            {
1134
            {
1128
              ifrnd 128
1135
              ifrnd 128
1129
                sound SANTA_DEAD
1136
                sound SANTA_DEAD
1130
              else
1137
              else
1131
                sound SANTA_TRASH9
1138
                sound SANTA_TRASH9
1132
  
1139
  
1133
              endofgame 52
1140
              endofgame 52
1134
              killit
1141
              killit
1135
            }
1142
            }
1136
          }
1143
          }
1137
        }
1144
        }
1138
        else
1145
        else
1139
        {
1146
        {
1140
          sizeto MINXSTRETCH MINYSTRETCH
1147
          sizeto MINXSTRETCH MINYSTRETCH
1141
          spawn FRAMEEFFECT1
1148
          spawn FRAMEEFFECT1
1142
        }
1149
        }
1143
      }
1150
      }
1144
    break
1151
    break
1145
  }
1152
  }
1146
  else ifai AIBOTWALKDYING
1153
  else ifai AIBOTWALKDYING
1147
  {
1154
  {
1148
    state botwalkdyingstate
1155
    state botwalkdyingstate
1149
    break
1156
    break
1150
  }
1157
  }
1151
  else
1158
  else
1152
    ifrnd 1
1159
    ifrnd 1
1153
      operate
1160
      operate
1154
1161
1155
  ifhitweapon
1162
  ifhitweapon
1156
  {
1163
  {
1157
    state botwalkhitstate
1164
    state botwalkhitstate
1158
    break
1165
    break
1159
  }
1166
  }
1160
  else ifai AIWALKFALLHARD
1167
  else ifai AIWALKFALLHARD
1161
  {
1168
  {
1162
    iffloordistl 16
1169
    iffloordistl 16
1163
      ai AIBOTWALKHUNT
1170
      ai AIBOTWALKHUNT
1164
    else
1171
    else
1165
      break
1172
      break
1166
  }
1173
  }
1167
  else
1174
  else
1168
  {
1175
  {
1169
    ifai AIWALKFALL
1176
    ifai AIWALKFALL
1170
    {
1177
    {
1171
      state botshootstate
1178
      state botshootstate
1172
      iffloordistl 16
1179
      iffloordistl 16
1173
        ai AIBOTWALKHUNT
1180
        ai AIBOTWALKHUNT
1174
      else
1181
      else
1175
        break
1182
        break
1176
    }
1183
    }
1177
  }
1184
  }
1178
  
1185
  
1179
  ifp pshrunk
1186
  ifp pshrunk
1180
    state stomphisfreakingass
1187
    state stomphisfreakingass
1181
  
1188
  
1182
  iffloordistl 550
1189
  iffloordistl 550
1183
    nullop
1190
    nullop
1184
  else
1191
  else
1185
  {
1192
  {
1186
    ai AIFLYWAIT
1193
    ai AIFLYWAIT
1187
    cactor SOBBOTFLY
1194
    cactor SOBBOTFLY
1188
  }
1195
  }
1189
1196
1190
  ifonwater
1197
  ifonwater
1191
    nullop
1198
    nullop
1192
  else
1199
  else
1193
  {
1200
  {
1194
    ifp pjetpack
1201
    ifp pjetpack
1195
      ifp phigher
1202
      ifp phigher
1196
        ifcansee
1203
        ifcansee
1197
        {
1204
        {
1198
          ai AIFLYWAIT
1205
          ai AIFLYWAIT
1199
          cactor SOBBOTFLY
1206
          cactor SOBBOTFLY
1200
        }
1207
        }
1201
  }
1208
  }
1202
1209
1203
  ifp phigher
1210
  ifp phigher
1204
  {
1211
  {
1205
    ifrnd 1
1212
    ifrnd 1
1206
      ifrnd 196
1213
      ifrnd 196
1207
      {
1214
      {
1208
        ai AIFLYWAIT
1215
        ai AIFLYWAIT
1209
        cactor SOBBOTFLY
1216
        cactor SOBBOTFLY
1210
      }
1217
      }
1211
  }
1218
  }
1212
1219
1213
  ifai AIWALKWAIT
1220
  ifai AIWALKWAIT
1214
  {
1221
  {
1215
    ai AIBOTWALKSEEK
1222
    ai AIBOTWALKSEEK
1216
    break
1223
    break
1217
  }
1224
  }
1218
  else ifai AIBOTWALKSEEK state botwalkseekstate
1225
  else ifai AIBOTWALKSEEK state botwalkseekstate
1219
  else ifai AIBOTWALKHUNT state botwalkhuntstate
1226
  else ifai AIBOTWALKHUNT state botwalkhuntstate
1220
  else ifai AIBOTWALKJUMP1 state botwalkjumpstate
1227
  else ifai AIBOTWALKJUMP1 state botwalkjumpstate
1221
  else ifai AIBOTWALKJUMP2 state botwalkjumpstate
1228
  else ifai AIBOTWALKJUMP2 state botwalkjumpstate
1222
  else ifai AIBOTWALKKICK state botwalkkickstate
1229
  else ifai AIBOTWALKKICK state botwalkkickstate
1223
  else ifai AIBOTWALKSTRAIGHT state botwalkstraightstate
1230
  else ifai AIBOTWALKSTRAIGHT state botwalkstraightstate
1224
  else ifai AIBOTWALKSTRJUMP1 state botwalkstraightjumpstate
1231
  else ifai AIBOTWALKSTRJUMP1 state botwalkstraightjumpstate
1225
  else ifai AIBOTWALKSTRJUMP2 state botwalkstraightjumpstate
1232
  else ifai AIBOTWALKSTRJUMP2 state botwalkstraightjumpstate
1226
  else ifai AIBOTLETFALL state botletfallstate
1233
  else ifai AIBOTLETFALL state botletfallstate
1227
  else ifai AIBOTWALKSTRJUMP1S state botjumpshootstate
1234
  else ifai AIBOTWALKSTRJUMP1S state botjumpshootstate
1228
  else ifai AIBOTWALKSTRJUMP2S state botjumpshootstate
1235
  else ifai AIBOTWALKSTRJUMP2S state botjumpshootstate
1229
enda
1236
enda
1230
1237
1231
state botflydyingstate
1238
state botflydyingstate
1232
  
1239
  
1233
  fall
1240
  fall
1234
  
1241
  
1235
  strength 0
1242
  strength 0
1236
  cstat 0
1243
  cstat 0
1237
  
1244
  
1238
  ifactioncount 5
1245
  ifactioncount 5
1239
  {
1246
  {
1240
    action ABOTFLYDEAD
1247
    action ABOTFLYDEAD
1241
1248
1242
    ifspritepal 21
1249
    ifspritepal 21
1243
    {
1250
    {
1244
      state miniboss
1251
      state miniboss
1245
      break
1252
      break
1246
    }
1253
    }
1247
    else
1254
    else
1248
      endofgame 52
1255
      endofgame 52
1249
  }
1256
  }
1250
  
1257
  
1251
ends
1258
ends
1252
1259
1253
state choosedodgefly
1260
state choosedodgefly
1254
  
1261
  
1255
  ifceilingdistl 100
1262
  ifceilingdistl 100
1256
  {
1263
  {
1257
    ifai AIBOTFLYDODGEDOWN
1264
    ifai AIBOTFLYDODGEDOWN
1258
      nullop
1265
      nullop
1259
    else
1266
    else
1260
      ai AIBOTFLYDODGEDOWN
1267
      ai AIBOTFLYDODGEDOWN
1261
  }
1268
  }
1262
  else
1269
  else
1263
  {
1270
  {
1264
    ifai AIBOTFLYDODGEUP
1271
    ifai AIBOTFLYDODGEUP
1265
      nullop
1272
      nullop
1266
    else
1273
    else
1267
      ai AIBOTFLYDODGEUP
1274
      ai AIBOTFLYDODGEUP
1268
  }
1275
  }
1269
  
1276
  
1270
ends
1277
ends
1271
1278
1272
1279
1273
state botflydodgestate
1280
state botflydodgestate
1274
  
1281
  
1275
  ifcanshoottarget
1282
  ifcanshoottarget
1276
    state botshootstate
1283
    state botshootstate
1277
  
1284
  
1278
  ifcansee
1285
  ifcansee
1279
    {
1286
    {
1280
    ifrnd 2
1287
    ifrnd 2
1281
      {
1288
      {
1282
      ifceilingdistl 100
1289
      ifceilingdistl 100
1283
        ai AIBOTFLYDODGEDOWN
1290
        ai AIBOTFLYDODGEDOWN
1284
      else
1291
      else
1285
        ai AIBOTFLYDODGEUP
1292
        ai AIBOTFLYDODGEUP
1286
      }
1293
      }
1287
    }
1294
    }
1288
    else
1295
    else
1289
      ai AIBOTFLYSEEKUP
1296
      ai AIBOTFLYSEEKUP
1290
  
1297
  
1291
  ifcount 10
1298
  ifcount 10
1292
    ai AIBOTFLYDOWN
1299
    ai AIBOTFLYDOWN
1293
  
1300
  
1294
ends
1301
ends
1295
1302
1296
state botflyhitstate
1303
state botflyhitstate
1297
  
1304
  
1298
  state botshootstate
1305
  state botshootstate
1299
  
1306
  
1300
  // spawn BLOOD
1307
  // spawn BLOOD
1301
  
1308
  
1302
  ifdead
1309
  ifdead
1303
    {
1310
    {
1304
      ifspritepal 21
1311
      ifspritepal 21
1305
      {
1312
      {
1306
        state miniboss
1313
        state miniboss
1307
        break
1314
        break
1308
      }
1315
      }
1309
      else
1316
      else
1310
        sound SANTA_DEAD
1317
        sound SANTA_DEAD
1311
  
1318
  
1312
      ifwasweapon FREEZEBLAST
1319
      ifwasweapon FREEZEBLAST
1313
      {
1320
      {
1314
        spritepal 1
1321
        spritepal 1
1315
        strength 0
1322
        strength 0
1316
        move 0
1323
        move 0
1317
        action ABOTFLYFROZEN
1324
        action ABOTFLYFROZEN
1318
        sound SOMETHINGFROZE
1325
        sound SOMETHINGFROZE
1319
        break
1326
        break
1320
      }
1327
      }
1321
      else ifwasweapon GROWSPARK
1328
      else ifwasweapon GROWSPARK
1322
      {
1329
      {
1323
        cstat 0
1330
        cstat 0
1324
        sound ACTOR_GROWING
1331
        sound ACTOR_GROWING
1325
        ai AIBOTFLYGROW
1332
        ai AIBOTFLYGROW
1326
        break
1333
        break
1327
      }
1334
      }
1328
      else ifwasweapon RADIUSEXPLOSION
1335
      else ifwasweapon RADIUSEXPLOSION
1329
      {
1336
      {
1330
       // state standard_pjibs
1337
       // state standard_pjibs
1331
       // state standard_pjibs
1338
       // state standard_pjibs
1332
       // state standard_pjibs
1339
       // state standard_pjibs
1333
        state standard_pjibs
1340
        state standard_pjibs
1334
        sound SQUISH2
1341
        sound SQUISH2
1335
        addkills 1
1342
        addkills 1
1336
        endofgame 52
1343
        endofgame 52
1337
        killit
1344
        killit
1338
      }
1345
      }
1339
      else ifwasweapon RPG
1346
      else ifwasweapon RPG
1340
      {
1347
      {
1341
       // state standard_pjibs
1348
       // state standard_pjibs
1342
       // state standard_pjibs
1349
       // state standard_pjibs
1343
       // state standard_pjibs
1350
       // state standard_pjibs
1344
        state standard_pjibs
1351
        state standard_pjibs
1345
        sound SQUISH2
1352
        sound SQUISH2
1346
        addkills 1
1353
        addkills 1
1347
        endofgame 52
1354
        endofgame 52
1348
        killit
1355
        killit
1349
      }
1356
      }
1350
      else
1357
      else
1351
       ai AIBOTFLYDYING
1358
       ai AIBOTFLYDYING
1352
   }
1359
   }
1353
   else
1360
   else
1354
   {
1361
   {
1355
     state dudehurt
1362
     state dudehurt
1356
   
1363
   
1357
     ifwasweapon SHRINKSPARK
1364
     ifwasweapon SHRINKSPARK
1358
     {
1365
     {
1359
       ifai AIBOTFLYSTEROIDS
1366
       ifai AIBOTFLYSTEROIDS
1360
         nullop
1367
         nullop
1361
       else
1368
       else
1362
       {
1369
       {
1363
         ai AIBOTFLYSHRINK
1370
         ai AIBOTFLYSHRINK
1364
         break
1371
         break
1365
       }
1372
       }
1366
     }
1373
     }
1367
   }
1374
   }
1368
  
1375
  
1369
ends
1376
ends
1370
1377
1371
state botflyseekupstate
1378
state botflyseekupstate
1372
  
1379
  
1373
  ifcansee
1380
  ifcansee
1374
  {
1381
  {
1375
    ai AIBOTFLYUP
1382
    ai AIBOTFLYUP
1376
    break
1383
    break
1377
  }
1384
  }
1378
  
1385
  
1379
  ifp phigher
1386
  ifp phigher
1380
    nullop
1387
    nullop
1381
  else
1388
  else
1382
  {
1389
  {
1383
    ai AIBOTFLYSEEKDOWN
1390
    ai AIBOTFLYSEEKDOWN
1384
    break
1391
    break
1385
  }
1392
  }
1386
  
1393
  
1387
ends
1394
ends
1388
1395
1389
state botflyseekdownstate
1396
state botflyseekdownstate
1390
  
1397
  
1391
  ifcansee
1398
  ifcansee
1392
  {
1399
  {
1393
    ai AIBOTFLYDOWN
1400
    ai AIBOTFLYDOWN
1394
    break
1401
    break
1395
  }
1402
  }
1396
  else
1403
  else
1397
  {
1404
  {
1398
    ifp phigher
1405
    ifp phigher
1399
      nullop
1406
      nullop
1400
    else
1407
    else
1401
    {
1408
    {
1402
      ai AIBOTLETFALL
1409
      ai AIBOTLETFALL
1403
      cactor SOBBOTWALK
1410
      cactor SOBBOTWALK
1404
    }
1411
    }
1405
  }
1412
  }
1406
  
1413
  
1407
  ifp phigher
1414
  ifp phigher
1408
  {
1415
  {
1409
    ai AIBOTFLYSEEKUP
1416
    ai AIBOTFLYSEEKUP
1410
    break
1417
    break
1411
  }
1418
  }
1412
  
1419
  
1413
ends
1420
ends
1414
1421
1415
state botflydownstate
1422
state botflydownstate
1416
  
1423
  
1417
  state botshootstate
1424
  state botshootstate
1418
  
1425
  
1419
  ifrnd 16
1426
  ifrnd 16
1420
    ifp phigher
1427
    ifp phigher
1421
      {
1428
      {
1422
      ai AIBOTFLYUP
1429
      ai AIBOTFLYUP
1423
      break
1430
      break
1424
      }
1431
      }
1425
  
1432
  
1426
  ifcansee
1433
  ifcansee
1427
    nullop
1434
    nullop
1428
  else
1435
  else
1429
  {
1436
  {
1430
    ai AIBOTFLYSTRAIGHT
1437
    ai AIBOTFLYSTRAIGHT
1431
    break
1438
    break
1432
  }
1439
  }
1433
  
1440
  
1434
ends
1441
ends
1435
1442
1436
state botflyupstate
1443
state botflyupstate
1437
1444
1438
  state botshootstate
1445
  state botshootstate
1439
1446
1440
  ifrnd 16
1447
  ifrnd 16
1441
  {
1448
  {
1442
    ifp phigher
1449
    ifp phigher
1443
      nullop
1450
      nullop
1444
    else
1451
    else
1445
    {
1452
    {
1446
      ai AIBOTFLYDOWN
1453
      ai AIBOTFLYDOWN
1447
      break
1454
      break
1448
    }
1455
    }
1449
  }
1456
  }
1450
1457
1451
  ifcansee
1458
  ifcansee
1452
    nullop
1459
    nullop
1453
  else
1460
  else
1454
    ai AIBOTFLYSTRAIGHT
1461
    ai AIBOTFLYSTRAIGHT
1455
  
1462
  
1456
ends
1463
ends
1457
1464
1458
state botflyupmomentstate
1465
state botflyupmomentstate
1459
  
1466
  
1460
  ifcansee
1467
  ifcansee
1461
  {
1468
  {
1462
    ifcount 10 ai AIBOTFLYUP
1469
    ifcount 10 ai AIBOTFLYUP
1463
    break
1470
    break
1464
  }
1471
  }
1465
  else
1472
  else
1466
  {
1473
  {
1467
    ifcount 50
1474
    ifcount 50
1468
    {
1475
    {
1469
      ai AIBOTLETFALL
1476
      ai AIBOTLETFALL
1470
      cactor SOBBOTWALK
1477
      cactor SOBBOTWALK
1471
    }
1478
    }
1472
  }
1479
  }
1473
  
1480
  
1474
ends
1481
ends
1475
1482
1476
state botflyholdstate
1483
state botflyholdstate
1477
  
1484
  
1478
  state botshootstate
1485
  state botshootstate
1479
  
1486
  
1480
  ifcount 50
1487
  ifcount 50
1481
    ai AIBOTFLYUP
1488
    ai AIBOTFLYUP
1482
  
1489
  
1483
ends
1490
ends
1484
1491
1485
state botflystraightstate
1492
state botflystraightstate
1486
  
1493
  
1487
  ifpdistg 20000
1494
  ifpdistg 20000
1488
    ai AIBOTFLYSEEKDOWN
1495
    ai AIBOTFLYSEEKDOWN
1489
1496
1490
  ifcansee
1497
  ifcansee
1491
    ai AIBOTFLYDOWN
1498
    ai AIBOTFLYDOWN
1492
  else
1499
  else
1493
  {
1500
  {
1494
  ifrnd 128
1501
  ifrnd 128
1495
    ifnotmoving
1502
    ifnotmoving
1496
      ai AIFLYUPMOMENT
1503
      ai AIFLYUPMOMENT
1497
  }
1504
  }
1498
  
1505
  
1499
ends
1506
ends
1500
1507
1501
state steroidsfly
1508
state steroidsfly
1502
  
1509
  
1503
  soundonce DUKE_HARTBEAT
1510
  soundonce DUKE_HARTBEAT
1504
  spawn FRAMEEFFECT1
1511
  spawn FRAMEEFFECT1
1505
  
1512
  
1506
  ifcount 100
1513
  ifcount 100
1507
    ai AIBOTFLYUP
1514
    ai AIBOTFLYUP
1508
  
1515
  
1509
  ifcount 34
1516
  ifcount 34
1510
    nullop
1517
    nullop
1511
  else
1518
  else
1512
    sizeto 42 36
1519
    sizeto 42 36
1513
  
1520
  
1514
  ifhitweapon
1521
  ifhitweapon
1515
  {
1522
  {
1516
    state botflyhitstate
1523
    state botflyhitstate
1517
    break
1524
    break
1518
  }
1525
  }
1519
  
1526
  
1520
ends
1527
ends
1521
1528
1522
// FLY ACTOR
1529
// FLY ACTOR
1523
1530
1524
useractor enemy SOBBOTFLY SOBBOTSTRENGTH ABOTFLY
1531
useractor enemy SOBBOTFLY SOBBOTSTRENGTH ABOTFLY
1525
  state checksquished
1532
  state checksquished
1526
  
1533
  
1527
  ifai 0
1534
  ifai 0
1528
  {
1535
  {
1529
    ifcansee
1536
    ifcansee
1530
      nullop
1537
      nullop
1531
    else
1538
    else
1532
      break
1539
      break
1533
    ifspritepal 21
1540
    ifspritepal 21
1534
      strength MINIBOSSSTRENGTH
1541
      strength MINIBOSSSTRENGTH
1535
    sizeat 42 36
1542
    sizeat 42 36
1536
    cstat 257
1543
    cstat 257
1537
    sound INSERT_CLIP
1544
    sound INSERT_CLIP
1538
    ai AIBOTFLYSEEKDOWN
1545
    ai AIBOTFLYSEEKDOWN
1539
    spritepal 0
1546
    spritepal 0
1540
    break
1547
    break
1541
  }
1548
  }
1542
1549
1543
  fall
1550
  fall
1544
  sleeptime 300
1551
  sleeptime 300
1545
  
1552
  
1546
  ifaction ABOTFLYDEAD
1553
  ifaction ABOTFLYDEAD
1547
    break
1554
    break
1548
  else ifaction ABOTFLYFROZEN
1555
  else ifaction ABOTFLYFROZEN
1549
  {
1556
  {
1550
    ifcount THAWTIME
1557
    ifcount THAWTIME
1551
    {
1558
    {
1552
      ai AIBOTFLYUP
1559
      ai AIBOTFLYUP
1553
      getlastpal
1560
      getlastpal
1554
    }
1561
    }
1555
    else ifcount FROZENDRIPTIME
1562
    else ifcount FROZENDRIPTIME
1556
    {
1563
    {
1557
      ifactioncount 26
1564
      ifactioncount 26
1558
      {
1565
      {
1559
        spawn WATERDRIP
1566
        spawn WATERDRIP
1560
        resetactioncount
1567
        resetactioncount
1561
      }
1568
      }
1562
    }
1569
    }
1563
    ifhitweapon
1570
    ifhitweapon
1564
    {
1571
    {
1565
      ifwasweapon FREEZEBLAST
1572
      ifwasweapon FREEZEBLAST
1566
      {
1573
      {
1567
        strength 0
1574
        strength 0
1568
        break
1575
        break
1569
      }
1576
      }
1570
      addkills 1
1577
      addkills 1
1571
1578
1572
      ifrnd 84
1579
      ifrnd 84
1573
        spawn BLOODPOOL
1580
        spawn BLOODPOOL
1574
  
1581
  
1575
      lotsofglass 30
1582
      lotsofglass 30
1576
      spawn ATOMICHEALTH
1583
      spawn ATOMICHEALTH
1577
      sound GLASS_BREAKING
1584
      sound GLASS_BREAKING
1578
      ifspritepal 21
1585
      ifspritepal 21
1579
      {
1586
      {
1580
        state miniboss
1587
        state miniboss
1581
        break
1588
        break
1582
      }
1589
      }
1583
      else
1590
      else
1584
      {
1591
      {
1585
        endofgame 52
1592
        endofgame 52
1586
        killit
1593
        killit
1587
      }
1594
      }
1588
    }
1595
    }
1589
  
1596
  
1590
    ifp pfacing
1597
    ifp pfacing
1591
      ifpdistl FROZENQUICKKICKDIST
1598
      ifpdistl FROZENQUICKKICKDIST
1592
        pkick
1599
        pkick
1593
     break
1600
     break
1594
  }
1601
  }
1595
  else ifai AIBOTFLYSTEROIDS
1602
  else ifai AIBOTFLYSTEROIDS
1596
  {
1603
  {
1597
    soundonce DUKE_JETPACK_IDLE
1604
    soundonce DUKE_JETPACK_IDLE
1598
    state steroidsfly
1605
    state steroidsfly
1599
    break
1606
    break
1600
  }
1607
  }
1601
  else ifai AIBOTFLYGROW
1608
  else ifai AIBOTFLYGROW
1602
  {
1609
  {
1603
    ifcount 32
1610
    ifcount 32
1604
    {
1611
    {
1605
      guts JIBS4 24
1612
      guts JIBS4 24
1606
      guts JIBS6 28
1613
      guts JIBS6 28
1607
      addkills 1
1614
      addkills 1
1608
      sound SQUISH2
1615
      sound SQUISH2
1609
      sound PIPEBOMB_EXPLODE
1616
      sound PIPEBOMB_EXPLODE
1610
      hitradius 2048 60 70 80 90
1617
      hitradius 2048 60 70 80 90
1611
      spawn BLOODPOOL
1618
      spawn BLOODPOOL
1612
      spawn EXPLOSION2
1619
      spawn EXPLOSION2
1613
      ifspritepal 21
1620
      ifspritepal 21
1614
      {
1621
      {
1615
        state miniboss
1622
        state miniboss
1616
        break
1623
        break
1617
      }
1624
      }
1618
      else
1625
      else
1619
      {
1626
      {
1620
        endofgame 52
1627
        endofgame 52
1621
        killit
1628
        killit
1622
      }
1629
      }
1623
    }
1630
    }
1624
    else
1631
    else
1625
    {
1632
    {
1626
      sizeto MAXXSTRETCH MAXYSTRETCH
1633
      sizeto MAXXSTRETCH MAXYSTRETCH
1627
      break
1634
      break
1628
    }
1635
    }
1629
    break
1636
    break
1630
  }
1637
  }
1631
  else ifai AIBOTFLYSHRINK
1638
  else ifai AIBOTFLYSHRINK
1632
  {
1639
  {
1633
    ifcount SHRUNKDONECOUNT
1640
    ifcount SHRUNKDONECOUNT
1634
      ai AIBOTFLYUP
1641
      ai AIBOTFLYUP
1635
    else ifcount SHRUNKCOUNT
1642
    else ifcount SHRUNKCOUNT
1636
    {
1643
    {
1637
      spawn FRAMEEFFECT1
1644
      spawn FRAMEEFFECT1
1638
      sizeto 42 36
1645
      sizeto 42 36
1639
    }
1646
    }
1640
    else
1647
    else
1641
    {
1648
    {
1642
      ifcount 31
1649
      ifcount 31
1643
        nullop
1650
        nullop
1644
      else ifcount 30
1651
      else ifcount 30
1645
        ifrnd 255
1652
        ifrnd 255
1646
          {
1653
          {
1647
            sound DUKE_TAKEPILLS
1654
            sound DUKE_TAKEPILLS
1648
            ai AIBOTFLYSTEROIDS
1655
            ai AIBOTFLYSTEROIDS
1649
            break
1656
            break
1650
          }
1657
          }
1651
  
1658
  
1652
      ifcount 32
1659
      ifcount 32
1653
      {
1660
      {
1654
        ifpdistl SQUISHABLEDISTANCE
1661
        ifpdistl SQUISHABLEDISTANCE
1655
        {
1662
        {
1656
         // state standard_pjibs
1663
         // state standard_pjibs
1657
         // state standard_pjibs
1664
         // state standard_pjibs
1658
         // state standard_pjibs
1665
         // state standard_pjibs
1659
          state standard_pjibs
1666
          state standard_pjibs
1660
          sound SQUISH2
1667
          sound SQUISH2
1661
          spawn BLOODPOOL
1668
          spawn BLOODPOOL
1662
          pstomp
1669
          pstomp
1663
          ifspritepal 21
1670
          ifspritepal 21
1664
          {
1671
          {
1665
            state miniboss
1672
            state miniboss
1666
            break
1673
            break
1667
          }
1674
          }
1668
          else
1675
          else
1669
          {
1676
          {
1670
            ifrnd 128
1677
            ifrnd 128
1671
              sound SANTA_DEAD
1678
              sound SANTA_DEAD
1672
            else
1679
            else
1673
              sound SANTA_TRASH9
1680
              sound SANTA_TRASH9
1674
     
1681
     
1675
            endofgame 52
1682
            endofgame 52
1676
            killit
1683
            killit
1677
          }
1684
          }
1678
        }
1685
        }
1679
      }
1686
      }
1680
      else
1687
      else
1681
      {
1688
      {
1682
        sizeto MINXSTRETCH MINYSTRETCH
1689
        sizeto MINXSTRETCH MINYSTRETCH
1683
        spawn FRAMEEFFECT1
1690
        spawn FRAMEEFFECT1
1684
      }
1691
      }
1685
    }
1692
    }
1686
    break
1693
    break
1687
  }
1694
  }
1688
  
1695
  
1689
  soundonce DUKE_JETPACK_IDLE
1696
  soundonce DUKE_JETPACK_IDLE
1690
  
1697
  
1691
  ifai AIBOTFLYDYING
1698
  ifai AIBOTFLYDYING
1692
  {
1699
  {
1693
    state botflydyingstate
1700
    state botflydyingstate
1694
    break
1701
    break
1695
  }
1702
  }
1696
  
1703
  
1697
  ifhitweapon
1704
  ifhitweapon
1698
    state botflyhitstate
1705
    state botflyhitstate
1699
  
1706
  
1700
  ifrnd 2 operate
1707
  ifrnd 2 operate
1701
  
1708
  
1702
  ifp pshrunk
1709
  ifp pshrunk
1703
    state stomphisfreakingass
1710
    state stomphisfreakingass
1704
  
1711
  
1705
  ifrnd 25
1712
  ifrnd 25
1706
  {
1713
  {
1707
    ifp phigher
1714
    ifp phigher
1708
      nullop
1715
      nullop
1709
    else ifp ponground
1716
    else ifp ponground
1710
      iffloordistl 200
1717
      iffloordistl 200
1711
      {
1718
      {
1712
        sound DUKE_JETPACK_OFF
1719
        sound DUKE_JETPACK_OFF
1713
        iffloordistl 100
1720
        iffloordistl 100
1714
          ai AIWALKFALL
1721
          ai AIWALKFALL
1715
        else
1722
        else
1716
          ai AIWALKFALLHARD
1723
          ai AIWALKFALLHARD
1717
        cactor SOBBOTWALK
1724
        cactor SOBBOTWALK
1718
      }
1725
      }
1719
  }
1726
  }
1720
  
1727
  
1721
  ifai AIFLYWAIT
1728
  ifai AIFLYWAIT
1722
  {
1729
  {
1723
    move 0
1730
    move 0
1724
    sound DUKE_JETPACK_ON
1731
    sound DUKE_JETPACK_ON
1725
    ai AIBOTFLYSEEKDOWN
1732
    ai AIBOTFLYSEEKDOWN
1726
  }
1733
  }
1727
  
1734
  
1728
       ifai AIBOTFLYSEEKUP state botflyseekupstate
1735
       ifai AIBOTFLYSEEKUP state botflyseekupstate
1729
  else ifai AIBOTFLYSEEKDOWN state botflyseekdownstate
1736
  else ifai AIBOTFLYSEEKDOWN state botflyseekdownstate
1730
  else ifai AIBOTFLYDOWN state botflydownstate
1737
  else ifai AIBOTFLYDOWN state botflydownstate
1731
  else ifai AIBOTFLYUP state botflyupstate
1738
  else ifai AIBOTFLYUP state botflyupstate
1732
  else ifai AIBOTFLYDODGEUP state botflydodgestate
1739
  else ifai AIBOTFLYDODGEUP state botflydodgestate
1733
  else ifai AIBOTFLYDODGEDOWN state botflydodgestate
1740
  else ifai AIBOTFLYDODGEDOWN state botflydodgestate
1734
  else ifai AIFLYUPMOMENT state botflyupmomentstate
1741
  else ifai AIFLYUPMOMENT state botflyupmomentstate
1735
  else ifai AIFLYUPHOLD state botflyholdstate
1742
  else ifai AIFLYUPHOLD state botflyholdstate
1736
  else ifai AIBOTFLYSTRAIGHT state botflystraightstate
1743
  else ifai AIBOTFLYSTRAIGHT state botflystraightstate
1737
enda
1744
enda
1738
1745
1739
1746
1740
1747
1741
action  AELFUZIWALK    0 4 5 1 30
1748
action  AELFUZIWALK    0 4 5 1 30
1742
action  AELFUZIRUN     0 4 5 1 15
1749
action  AELFUZIRUN     0 4 5 1 15
1743
action  AELFUZIFROZEN  0 1 5 1
1750
action  AELFUZIFROZEN  0 1 5 1
1744
action  AELFUZIGROW    0 1 5 1
1751
action  AELFUZIGROW    0 1 5 1
1745
action  AELFUZIJUMP  266 2 5 1 15
1752
action  AELFUZIJUMP  266 2 5 1 15
1746
action  AELFUZIFALL  276 1 5 1 1
1753
action  AELFUZIFALL  276 1 5 1 1
1747
action  AELFUZIDYING 260 5 1 1 25
1754
action  AELFUZIDYING 260 5 1 1 25
1748
action  AELFUZIDEAD  265 1 1 1 1
1755
action  AELFUZIDEAD  265 1 1 1 1
1749
action  AELFUZISHOOT 281 2 5 1
1756
action  AELFUZISHOOT 281 2 5 1
1750
1757
1751
move    elfuziwalkspeed 100
1758
move    elfuziwalkspeed 100
1752
move    elfuzirunspeed  200
1759
move    elfuzirunspeed  200
1753
move    elfuzijumpspeed 150 -200
1760
move    elfuzijumpspeed 150 -200
1754
move    elfuzifallspeed 150 150
1761
move    elfuzifallspeed 150 150
1755
move    elfuzistopped
1762
move    elfuzistopped
1756
move    elfuzishrink1    80
1763
move    elfuzishrink1    80
1757
1764
1758
ai      AIELFUZISHRINKING AELFUZIWALK   elfuzishrink1  fleeenemy
1765
ai      AIELFUZISHRINKING AELFUZIWALK   elfuzishrink1  fleeenemy
1759
ai      AIELFUZIDYING     AELFUZIDYING  elfuzistopped faceplayer
1766
ai      AIELFUZIDYING     AELFUZIDYING  elfuzistopped faceplayer
1760
ai      AIELFUZISEEKING   AELFUZIWALK   elfuziwalkspeed seekplayer
1767
ai      AIELFUZISEEKING   AELFUZIWALK   elfuziwalkspeed seekplayer
1761
ai      AIELFUZIHUNTING   AELFUZIRUN    elfuzirunspeed faceplayer
1768
ai      AIELFUZIHUNTING   AELFUZIRUN    elfuzirunspeed faceplayer
1762
ai      AIELFUZIJUMPING   AELFUZIJUMP   elfuzijumpspeed geth getv
1769
ai      AIELFUZIJUMPING   AELFUZIJUMP   elfuzijumpspeed geth getv
1763
ai      AIELFUZIFALLING   AELFUZIFALL   elfuzifallspeed geth getv
1770
ai      AIELFUZIFALLING   AELFUZIFALL   elfuzifallspeed geth getv
1764
ai      AIELFUZISHOOTING  AELFUZISHOOT  elfuzistopped faceplayer
1771
ai      AIELFUZISHOOTING  AELFUZISHOOT  elfuzistopped faceplayer
1765
ai      AIELFUZIIQ        AELFUZIRUN    elfuzirunspeed geth getv
1772
ai      AIELFUZIIQ        AELFUZIRUN    elfuzirunspeed geth getv
1766
ai      AIELFUZIGROW      AELFUZIGROW   elfuzistopped geth getv
1773
ai      AIELFUZIGROW      AELFUZIGROW   elfuzistopped geth getv
1767
1774
1768
state elfuziseekstate
1775
state elfuziseekstate
1769
  
1776
  
1770
  ifcansee
1777
  ifcansee
1771
  {
1778
  {
1772
    ifp pdead break
1779
    ifp pdead break
1773
  
1780
  
1774
    ifpdistl 15000
1781
    ifpdistl 15000
1775
      ifrnd 16
1782
      ifrnd 16
1776
        ai AIELFUZIHUNTING
1783
        ai AIELFUZIHUNTING
1777
  }
1784
  }
1778
  
1785
  
1779
ends
1786
ends
1780
1787
1781
state elfuzihuntstate
1788
state elfuzihuntstate
1782
  
1789
  
1783
  ifp pdead ai AIELFUZISEEKING
1790
  ifp pdead ai AIELFUZISEEKING
1784
  
1791
  
1785
  ifcansee
1792
  ifcansee
1786
  {
1793
  {
1787
    ifpdistl 2000
1794
    ifpdistl 2000
1788
    {
1795
    {
1789
      ai AIELFUZISHOOTING
1796
      ai AIELFUZISHOOTING
1790
      break
1797
      break
1791
    }
1798
    }
1792
    ifrnd 64
1799
    ifrnd 64
1793
      ifnotmoving
1800
      ifnotmoving
1794
      {
1801
      {
1795
        ai AIELFUZIJUMPING
1802
        ai AIELFUZIJUMPING
1796
        break
1803
        break
1797
      }
1804
      }
1798
1805
1799
    ifrnd 7
1806
    ifrnd 7
1800
      ifpdistl 8192
1807
      ifpdistl 8192
1801
        ai AIELFUZISHOOTING
1808
        ai AIELFUZISHOOTING
1802
  }
1809
  }
1803
  else
1810
  else
1804
    ifrnd 64
1811
    ifrnd 64
1805
      ai AIELFUZIIQ
1812
      ai AIELFUZIIQ
1806
  
1813
  
1807
ends
1814
ends
1808
1815
1809
state elfuziiqstate
1816
state elfuziiqstate
1810
  
1817
  
1811
  ifcansee
1818
  ifcansee
1812
    ai AIELFUZIHUNTING
1819
    ai AIELFUZIHUNTING
1813
  else
1820
  else
1814
  {
1821
  {
1815
    ifrnd 16
1822
    ifrnd 16
1816
      ifnotmoving
1823
      ifnotmoving
1817
        ai AIELFUZISEEKING
1824
        ai AIELFUZISEEKING
1818
  }
1825
  }
1819
  
1826
  
1820
ends
1827
ends
1821
1828
1822
state elfuzishootstate
1829
state elfuzishootstate
1823
  
1830
  
1824
  ifcansee
1831
  ifcansee
1825
  {
1832
  {
1826
    ifp pdead ai AIELFUZISEEKING
1833
    ifp pdead ai AIELFUZISEEKING
1827
  
1834
  
1828
    ifactioncount 3
1835
    ifactioncount 3
1829
    {
1836
    {
1830
      ifspritepal 0
1837
      ifspritepal 0
1831
      {
1838
      {
1832
        sound CHAINGUN_FIRE
1839
        sound CHAINGUN_FIRE
1833
        shoot CHAINGUN
1840
        shoot CHAINGUN
1834
      }
1841
      }
1835
      else ifrnd 80
1842
      else ifrnd 80
1836
      {
1843
      {
1837
        sound SHRINKER_FIRE
1844
        sound SHRINKER_FIRE
1838
        shoot SHRINKER
1845
        shoot SHRINKER
1839
      }
1846
      }
1840
      resetactioncount
1847
      resetactioncount
1841
    }
1848
    }
1842
  ifrnd 4
1849
  ifrnd 4
1843
    ai AIELFUZIHUNTING
1850
    ai AIELFUZIHUNTING
1844
  }
1851
  }
1845
  else 
1852
  else 
1846
    ai AIELFUZIIQ
1853
    ai AIELFUZIIQ
1847
  
1854
  
1848
ends
1855
ends
1849
1856
1850
state elfuzijumpingstate
1857
state elfuzijumpingstate
1851
  
1858
  
1852
  ifactioncount 2
1859
  ifactioncount 2
1853
    ai AIELFUZIFALLING
1860
    ai AIELFUZIFALLING
1854
  
1861
  
1855
ends
1862
ends
1856
1863
1857
state elfuzifallingstate
1864
state elfuzifallingstate
1858
  
1865
  
1859
  iffloordistl 5
1866
  iffloordistl 5
1860
    ai AIELFUZIHUNTING
1867
    ai AIELFUZIHUNTING
1861
  
1868
  
1862
ends
1869
ends
1863
1870
1864
action NONEACTION 0 1 1 1 1
1871
action NONEACTION 0 1 1 1 1
1865
1872
1866
move forwardspeed 1500
1873
move forwardspeed 1500
1867
// ai AIMOVEFORWARD NONEACTION forwardspeed faceplayer
1874
// ai AIMOVEFORWARD NONEACTION forwardspeed faceplayer
1868
1875
1869
useractor notenemy SPECBLOOD 0 // Hendricks266 fixed this actor. Before this fix, this line said "useractor SPECBLOOD 0", and the code was shit.
1876
useractor notenemy SPECBLOOD 0 // Hendricks266 fixed this actor. Before this fix, this line said "useractor SPECBLOOD 0", and the code was shit.
1870
  cstat 32768
1877
  cstat 32768
1871
  // sizeat 42 36
1878
  // sizeat 42 36
1872
  // sizeat 32 27
1879
  // sizeat 32 27
1873
  sizeat 1 1
1880
  sizeat 1 1
1874
  // ai AIMOVEFORWARD
1881
  // ai AIMOVEFORWARD
1875
  spawn BLOOD
1882
  spawn BLOOD
1876
  killit
1883
  killit
1877
enda
1884
enda
1878
1885
1879
1886
1880
1887
1881
state elfuzihitstate
1888
state elfuzihitstate
1882
  spawn BLOOD // Hendricks266 fixed this bug. Before this fix, this line said "spawn SPECBLOOD".  SPECBLOOD is a piece of shit.
1889
  spawn BLOOD // Hendricks266 fixed this bug. Before this fix, this line said "spawn SPECBLOOD".  SPECBLOOD is a piece of shit.
1883
  state random_wall_jibs
1890
  state random_wall_jibs
1884
  
1891
  
1885
  ifdead
1892
  ifdead
1886
  {
1893
  {
1887
    ifrnd 128
1894
    ifrnd 128
1888
      spawn XMASPRESENT2
1895
      spawn XMASPRESENT2
1889
    ifwasweapon GROWSPARK
1896
    ifwasweapon GROWSPARK
1890
    {
1897
    {
1891
      sound ACTOR_GROWING
1898
      sound ACTOR_GROWING
1892
      ai AIELFUZIGROW
1899
      ai AIELFUZIGROW
1893
      break
1900
      break
1894
    }
1901
    }
1895
  
1902
  
1896
    addkills 1
1903
    addkills 1
1897
  state random_wall_jibs
1904
  state random_wall_jibs
1898
  
1905
  
1899
    ifwasweapon FREEZEBLAST
1906
    ifwasweapon FREEZEBLAST
1900
    {
1907
    {
1901
      sound SOMETHINGFROZE
1908
      sound SOMETHINGFROZE
1902
      spritepal 1
1909
      spritepal 1
1903
      move 0
1910
      move 0
1904
      action AELFUZIFROZEN
1911
      action AELFUZIFROZEN
1905
      strength 0
1912
      strength 0
1906
      break
1913
      break
1907
    }
1914
    }
1908
    ifwasweapon RADIUSEXPLOSION
1915
    ifwasweapon RADIUSEXPLOSION
1909
    {
1916
    {
1910
      sound SQUISH2
1917
      sound SQUISH2
1911
     // state standard_jibs
1918
     // state standard_jibs
1912
     // state standard_jibs
1919
     // state standard_jibs
1913
      state standard_jibs
1920
      state standard_jibs
1914
      killit
1921
      killit
1915
    }
1922
    }
1916
    else ifwasweapon RPG
1923
    else ifwasweapon RPG
1917
    {
1924
    {
1918
      sound SQUISH2
1925
      sound SQUISH2
1919
     // state standard_jibs
1926
     // state standard_jibs
1920
     // state standard_jibs
1927
     // state standard_jibs
1921
      state standard_jibs
1928
      state standard_jibs
1922
      killit
1929
      killit
1923
    }
1930
    }
1924
    else
1931
    else
1925
      ai AIELFUZIDYING
1932
      ai AIELFUZIDYING
1926
  }
1933
  }
1927
  else
1934
  else
1928
  {
1935
  {
1929
   // state random_wall_jibs
1936
   // state random_wall_jibs
1930
    ifwasweapon SHRINKSPARK
1937
    ifwasweapon SHRINKSPARK
1931
    {
1938
    {
1932
      sound ACTOR_SHRINKING
1939
      sound ACTOR_SHRINKING
1933
      ai AIELFUZISHRINKING
1940
      ai AIELFUZISHRINKING
1934
    }
1941
    }
1935
    else ifwasweapon GROWSPARK
1942
    else ifwasweapon GROWSPARK
1936
      sound EXPANDERHIT
1943
      sound EXPANDERHIT
1937
    else
1944
    else
1938
      ifrnd 32
1945
      ifrnd 32
1939
        ai AIELFUZISHOOTING
1946
        ai AIELFUZISHOOTING
1940
  }
1947
  }
1941
ends
1948
ends
1942
1949
1943
state elfuzishrinkstate
1950
state elfuzishrinkstate
1944
  
1951
  
1945
  ifcount SHRUNKDONECOUNT
1952
  ifcount SHRUNKDONECOUNT
1946
    ai AIELFUZISEEKING
1953
    ai AIELFUZISEEKING
1947
  else
1954
  else
1948
  ifcount SHRUNKCOUNT
1955
  ifcount SHRUNKCOUNT
1949
    sizeto 32 27 // sizeto 48 40
1956
    sizeto 32 27 // sizeto 48 40
1950
  else
1957
  else
1951
    state genericshrunkcode
1958
    state genericshrunkcode
1952
  
1959
  
1953
ends
1960
ends
1954
1961
1955
state elfuzidyingstate
1962
state elfuzidyingstate
1956
  
1963
  
1957
  ifactioncount 5
1964
  ifactioncount 5
1958
  {
1965
  {
1959
    ifrnd 64
1966
    ifrnd 64
1960
      spawn BLOODPOOL
1967
      spawn BLOODPOOL
1961
    state rf
1968
    state rf
1962
    iffloordistl 8
1969
    iffloordistl 8
1963
      sound THUD
1970
      sound THUD
1964
    action AELFUZIDEAD
1971
    action AELFUZIDEAD
1965
    move elfuzistopped
1972
    move elfuzistopped
1966
    break
1973
    break
1967
  }
1974
  }
1968
  
1975
  
1969
ends
1976
ends
1970
1977
1971
useractor enemy ELFUZI ELFUZISTRENGTH
1978
useractor enemy ELFUZI ELFUZISTRENGTH
1972
  fall
1979
  fall
1973
  
1980
  
1974
  state checksquished
1981
  state checksquished
1975
  
1982
  
1976
  ifaction AELFUZIDEAD
1983
  ifaction AELFUZIDEAD
1977
  {
1984
  {
1978
    strength 0
1985
    strength 0
1979
    ifhitweapon
1986
    ifhitweapon
1980
      ifwasweapon RADIUSEXPLOSION
1987
      ifwasweapon RADIUSEXPLOSION
1981
      {
1988
      {
1982
        sound SQUISH2
1989
        sound SQUISH2
1983
       // state standard_jibs
1990
       // state standard_jibs
1984
       // state standard_jibs
1991
       // state standard_jibs
1985
        state standard_jibs
1992
        state standard_jibs
1986
        killit
1993
        killit
1987
      }
1994
      }
1988
  
1995
  
1989
    ifrespawn
1996
    ifrespawn
1990
      ifcount RESPAWNACTORTIME
1997
      ifcount RESPAWNACTORTIME
1991
      {
1998
      {
1992
        spawn TRANSPORTERSTAR
1999
        spawn TRANSPORTERSTAR
1993
        cstat 257
2000
        cstat 257
1994
        strength ELFUZISTRENGTH
2001
        strength ELFUZISTRENGTH
1995
        ai AIELFUZISEEKING
2002
        ai AIELFUZISEEKING
1996
      }
2003
      }
1997
    break
2004
    break
1998
  }
2005
  }
1999
  else ifaction AELFUZIFROZEN
2006
  else ifaction AELFUZIFROZEN
2000
  {
2007
  {
2001
    ifcount THAWTIME
2008
    ifcount THAWTIME
2002
    {
2009
    {
2003
      ai AIELFUZISEEKING
2010
      ai AIELFUZISEEKING
2004
      getlastpal
2011
      getlastpal
2005
    }
2012
    }
2006
    else ifcount FROZENDRIPTIME
2013
    else ifcount FROZENDRIPTIME
2007
      ifrnd 8
2014
      ifrnd 8
2008
        spawn WATERDRIP
2015
        spawn WATERDRIP
2009
  
2016
  
2010
    ifhitweapon
2017
    ifhitweapon
2011
    {
2018
    {
2012
      ifwasweapon FREEZEBLAST
2019
      ifwasweapon FREEZEBLAST
2013
      {
2020
      {
2014
        strength 0
2021
        strength 0
2015
        break
2022
        break
2016
      }
2023
      }
2017
      addkills 1
2024
      addkills 1
2018
      lotsofglass 30
2025
      lotsofglass 30
2019
      ifrnd 84 spawn BLOODPOOL
2026
      ifrnd 84 spawn BLOODPOOL
2020
      sound GLASS_BREAKING
2027
      sound GLASS_BREAKING
2021
      killit
2028
      killit
2022
    }
2029
    }
2023
    ifp pfacing
2030
    ifp pfacing
2024
      ifpdistl FROZENQUICKKICKDIST
2031
      ifpdistl FROZENQUICKKICKDIST
2025
        pkick
2032
        pkick
2026
    break
2033
    break
2027
  }
2034
  }
2028
  else ifai AIELFUZIDYING
2035
  else ifai AIELFUZIDYING
2029
    state elfuzidyingstate
2036
    state elfuzidyingstate
2030
2037
2031
  ifai AIELFUZISHRINKING
2038
  ifai AIELFUZISHRINKING
2032
    nullop
2039
    nullop
2033
  else ifai AIELFUZIGROW
2040
  else ifai AIELFUZIGROW
2034
    nullop
2041
    nullop
2035
  else ifhitweapon
2042
  else ifhitweapon
2036
    state elfuzihitstate
2043
    state elfuzihitstate
2037
2044
2038
  ifai 0
2045
  ifai 0
2039
  {
2046
  {
2040
    ai AIELFUZISEEKING
2047
    ai AIELFUZISEEKING
2041
    cstat 257
2048
    cstat 257
2042
  // clipdist 32
2049
  // clipdist 32
2043
    sizeat 32 27 // sizeat 42 36
2050
    sizeat 32 27 // sizeat 42 36
2044
    ifspritepal 0
2051
    ifspritepal 0
2045
      nullop
2052
      nullop
2046
    else
2053
    else
2047
    {
2054
    {
2048
      ifrnd 72
2055
      ifrnd 72
2049
        strength ELFUZIALTSTR
2056
        strength ELFUZIALTSTR
2050
      else
2057
      else
2051
        strength ELFUZISTRENGTH
2058
        strength ELFUZISTRENGTH
2052
    }
2059
    }
2053
  }
2060
  }
2054
 else ifai AIELFUZISEEKING state elfuziseekstate
2061
 else ifai AIELFUZISEEKING state elfuziseekstate
2055
 else ifai AIELFUZIHUNTING state elfuzihuntstate
2062
 else ifai AIELFUZIHUNTING state elfuzihuntstate
2056
 else ifai AIELFUZIIQ state elfuziiqstate
2063
 else ifai AIELFUZIIQ state elfuziiqstate
2057
 else ifai AIELFUZISHOOTING state elfuzishootstate
2064
 else ifai AIELFUZISHOOTING state elfuzishootstate
2058
 else ifai AIELFUZIJUMPING state elfuzijumpingstate
2065
 else ifai AIELFUZIJUMPING state elfuzijumpingstate
2059
 else ifai AIELFUZIFALLING state elfuzifallingstate
2066
 else ifai AIELFUZIFALLING state elfuzifallingstate
2060
 else ifai AIELFUZIGROW state genericgrowcode
2067
 else ifai AIELFUZIGROW state genericgrowcode
2061
2068
2062
      ifai AIELFUZISHRINKING state elfuzishrinkstate
2069
      ifai AIELFUZISHRINKING state elfuzishrinkstate
2063
enda
2070
enda
2064
2071
2065
useractor enemystayput ELFUZISTAYPUT ELFUZISTRENGTH
2072
useractor enemystayput ELFUZISTAYPUT ELFUZISTRENGTH
2066
  cstat 257
2073
  cstat 257
2067
 // clipdist 32
2074
 // clipdist 32
2068
  ai AIELFUZISEEKING
2075
  ai AIELFUZISEEKING
2069
  cactor ELFUZI
2076
  cactor ELFUZI
2070
enda
2077
enda
2071
2078
2072
action  AELFGUNWALK    0 4 5 1 20
2079
action  AELFGUNWALK    0 4 5 1 20
2073
action  AELFGUNRUN     0 4 5 1 10
2080
action  AELFGUNRUN     0 4 5 1 10
2074
action  AELFGUNFROZEN  0 1 5 1
2081
action  AELFGUNFROZEN  0 1 5 1
2075
action  AELFGUNGROW    0 1 5 1
2082
action  AELFGUNGROW    0 1 5 1
2076
action  AELFGUNDYING  35 4 1 1 25
2083
action  AELFGUNDYING  35 4 1 1 25
2077
action  AELFGUNDEAD   39 1 1 1 1
2084
action  AELFGUNDEAD   39 1 1 1 1
2078
action  AELFGUNSHOOT  20 3 5 1 40
2085
action  AELFGUNSHOOT  20 3 5 1 40
2079
2086
2080
move    elfgunwalkspeed 70
2087
move    elfgunwalkspeed 70
2081
move    elfgunrunspeed  110
2088
move    elfgunrunspeed  110
2082
move    elfgunstopped
2089
move    elfgunstopped
2083
move    elfgunshrink1    80
2090
move    elfgunshrink1    80
2084
2091
2085
ai      AIELFGUNSHRINKING AELFGUNWALK   elfgunshrink1  fleeenemy
2092
ai      AIELFGUNSHRINKING AELFGUNWALK   elfgunshrink1  fleeenemy
2086
ai      AIELFGUNDYING     AELFGUNDYING  elfgunstopped faceplayer
2093
ai      AIELFGUNDYING     AELFGUNDYING  elfgunstopped faceplayer
2087
ai      AIELFGUNSEEKING   AELFGUNWALK   elfgunwalkspeed seekplayer
2094
ai      AIELFGUNSEEKING   AELFGUNWALK   elfgunwalkspeed seekplayer
2088
ai      AIELFGUNHUNTING   AELFGUNRUN    elfgunrunspeed faceplayer
2095
ai      AIELFGUNHUNTING   AELFGUNRUN    elfgunrunspeed faceplayer
2089
ai      AIELFGUNSHOOTING  AELFGUNSHOOT  elfgunstopped faceplayer
2096
ai      AIELFGUNSHOOTING  AELFGUNSHOOT  elfgunstopped faceplayer
2090
ai      AIELFGUNIQ        AELFGUNRUN    elfgunrunspeed geth getv
2097
ai      AIELFGUNIQ        AELFGUNRUN    elfgunrunspeed geth getv
2091
ai      AIELFGUNGROW      AELFGUNGROW   elfgunstopped geth getv
2098
ai      AIELFGUNGROW      AELFGUNGROW   elfgunstopped geth getv
2092
2099
2093
state elfgunseekstate
2100
state elfgunseekstate
2094
  
2101
  
2095
  ifcansee
2102
  ifcansee
2096
  {
2103
  {
2097
    ifp pdead break
2104
    ifp pdead break
2098
  
2105
  
2099
    ifpdistl 15000
2106
    ifpdistl 15000
2100
      ifrnd 16
2107
      ifrnd 16
2101
        ai AIELFGUNHUNTING
2108
        ai AIELFGUNHUNTING
2102
  }
2109
  }
2103
  
2110
  
2104
ends
2111
ends
2105
2112
2106
state elfgunhuntstate
2113
state elfgunhuntstate
2107
   ifp pdead ai AIELFGUNSEEKING
2114
   ifp pdead ai AIELFGUNSEEKING
2108
2115
2109
   ifcansee
2116
   ifcansee
2110
   {
2117
   {
2111
     ifpdistl 2000
2118
     ifpdistl 2000
2112
     {
2119
     {
2113
       ai AIELFGUNSHOOTING
2120
       ai AIELFGUNSHOOTING
2114
       break
2121
       break
2115
     }
2122
     }
2116
   }
2123
   }
2117
2124
2118
  ifrnd 7 
2125
  ifrnd 7 
2119
    {
2126
    {
2120
      ifpdistl 8192
2127
      ifpdistl 8192
2121
        ai AIELFGUNSHOOTING
2128
        ai AIELFGUNSHOOTING
2122
    }
2129
    }
2123
  else ifrnd 48
2130
  else ifrnd 48
2124
    ai AIELFGUNIQ
2131
    ai AIELFGUNIQ
2125
ends
2132
ends
2126
2133
2127
state elfguniqstate
2134
state elfguniqstate
2128
  ifcansee
2135
  ifcansee
2129
    ai AIELFGUNHUNTING
2136
    ai AIELFGUNHUNTING
2130
  else
2137
  else
2131
    ifrnd 16
2138
    ifrnd 16
2132
      ifnotmoving
2139
      ifnotmoving
2133
        ai AIELFGUNSEEKING
2140
        ai AIELFGUNSEEKING
2134
ends
2141
ends
2135
2142
2136
state elfgunshootstate
2143
state elfgunshootstate
2137
  
2144
  
2138
  ifp pdead
2145
  ifp pdead
2139
    ai AIELFGUNSEEKING
2146
    ai AIELFGUNSEEKING
2140
  
2147
  
2141
  ifcansee
2148
  ifcansee
2142
  {
2149
  {
2143
    ifcanshoottarget
2150
    ifcanshoottarget
2144
    {
2151
    {
2145
      ifcount 29
2152
      ifcount 29
2146
        nullop
2153
        nullop
2147
      else ifcount 28
2154
      else ifcount 28
2148
        sound SHOTGUN_COCK
2155
        sound SHOTGUN_COCK
2149
      else ifcount 20
2156
      else ifcount 20
2150
        nullop
2157
        nullop
2151
      else ifcount 19
2158
      else ifcount 19
2152
      {
2159
      {
2153
        sound SHOTGUN_FIRE
2160
        sound SHOTGUN_FIRE
2154
        shoot SHOTGUN
2161
        shoot SHOTGUN
2155
        shoot SHOTGUN
2162
        shoot SHOTGUN
2156
        shoot SHOTGUN
2163
        shoot SHOTGUN
2157
        shoot SHOTGUN
2164
        shoot SHOTGUN
2158
        shoot SHOTGUN
2165
        shoot SHOTGUN
2159
      }
2166
      }
2160
    }
2167
    }
2161
  }
2168
  }
2162
  else
2169
  else
2163
    ai AIELFGUNIQ
2170
    ai AIELFGUNIQ
2164
   
2171
   
2165
  ifactioncount 3
2172
  ifactioncount 3
2166
  {
2173
  {
2167
    resetcount
2174
    resetcount
2168
    resetactioncount
2175
    resetactioncount
2169
    ifrnd 64
2176
    ifrnd 64
2170
      ai AIELFGUNHUNTING
2177
      ai AIELFGUNHUNTING
2171
  }
2178
  }
2172
  
2179
  
2173
ends
2180
ends
2174
2181
2175
state elfgunhitstate
2182
state elfgunhitstate
2176
  spawn BLOOD
2183
  spawn BLOOD
2177
  
2184
  
2178
  state random_wall_jibs
2185
  state random_wall_jibs
2179
  
2186
  
2180
  ifdead
2187
  ifdead
2181
  {
2188
  {
2182
    ifrnd 128
2189
    ifrnd 128
2183
      spawn XMASPRESENT
2190
      spawn XMASPRESENT
2184
    ifwasweapon GROWSPARK
2191
    ifwasweapon GROWSPARK
2185
    {
2192
    {
2186
      sound ACTOR_GROWING
2193
      sound ACTOR_GROWING
2187
      ai AIELFGUNGROW
2194
      ai AIELFGUNGROW
2188
      break
2195
      break
2189
    }
2196
    }
2190
  
2197
  
2191
    addkills 1
2198
    addkills 1
2192
  
2199
  
2193
    ifwasweapon FREEZEBLAST
2200
    ifwasweapon FREEZEBLAST
2194
    {
2201
    {
2195
      sound SOMETHINGFROZE
2202
      sound SOMETHINGFROZE
2196
      spritepal 1
2203
      spritepal 1
2197
      move 0
2204
      move 0
2198
      action AELFGUNFROZEN
2205
      action AELFGUNFROZEN
2199
      strength 0
2206
      strength 0
2200
      break
2207
      break
2201
    }
2208
    }
2202
    ifwasweapon RADIUSEXPLOSION
2209
    ifwasweapon RADIUSEXPLOSION
2203
    {
2210
    {
2204
      sound SQUISH2
2211
      sound SQUISH2
2205
     // state standard_jibs
2212
     // state standard_jibs
2206
     // state standard_jibs
2213
     // state standard_jibs
2207
      state standard_jibs
2214
      state standard_jibs
2208
      killit
2215
      killit
2209
    }
2216
    }
2210
    else ifwasweapon RPG
2217
    else ifwasweapon RPG
2211
    {
2218
    {
2212
      sound SQUISH2
2219
      sound SQUISH2
2213
     // state standard_jibs
2220
     // state standard_jibs
2214
     // state standard_jibs
2221
     // state standard_jibs
2215
      state standard_jibs
2222
      state standard_jibs
2216
      killit
2223
      killit
2217
    }
2224
    }
2218
    else
2225
    else
2219
      ai AIELFGUNDYING
2226
      ai AIELFGUNDYING
2220
  
2227
  
2221
  }
2228
  }
2222
  else
2229
  else
2223
  {
2230
  {
2224
    state random_wall_jibs
2231
    state random_wall_jibs
2225
    ifwasweapon SHRINKSPARK
2232
    ifwasweapon SHRINKSPARK
2226
    {
2233
    {
2227
      sound ACTOR_SHRINKING
2234
      sound ACTOR_SHRINKING
2228
      ai AIELFGUNSHRINKING
2235
      ai AIELFGUNSHRINKING
2229
    }
2236
    }
2230
    else ifwasweapon GROWSPARK
2237
    else ifwasweapon GROWSPARK
2231
      sound EXPANDERHIT
2238
      sound EXPANDERHIT
2232
    else
2239
    else
2233
      ifrnd 32
2240
      ifrnd 32
2234
        ai AIELFGUNSHOOTING
2241
        ai AIELFGUNSHOOTING
2235
  }
2242
  }
2236
ends
2243
ends
2237
2244
2238
state elfgunshrinkstate
2245
state elfgunshrinkstate
2239
  
2246
  
2240
  ifcount SHRUNKDONECOUNT
2247
  ifcount SHRUNKDONECOUNT
2241
    ai AIELFGUNSEEKING
2248
    ai AIELFGUNSEEKING
2242
  else ifcount SHRUNKCOUNT
2249
  else ifcount SHRUNKCOUNT
2243
    sizeto 32 27 // sizeto 48 40
2250
    sizeto 32 27 // sizeto 48 40
2244
  else
2251
  else
2245
    state genericshrunkcode
2252
    state genericshrunkcode
2246
  
2253
  
2247
ends
2254
ends
2248
2255
2249
state elfgundyingstate
2256
state elfgundyingstate
2250
  
2257
  
2251
  ifactioncount 4
2258
  ifactioncount 4
2252
  {
2259
  {
2253
    ifrnd 64
2260
    ifrnd 64
2254
      spawn BLOODPOOL
2261
      spawn BLOODPOOL
2255
    state rf
2262
    state rf
2256
    iffloordistl 8
2263
    iffloordistl 8
2257
      sound THUD
2264
      sound THUD
2258
    action AELFGUNDEAD
2265
    action AELFGUNDEAD
2259
    move elfgunstopped
2266
    move elfgunstopped
2260
    break
2267
    break
2261
  }
2268
  }
2262
  
2269
  
2263
ends
2270
ends
2264
2271
2265
useractor enemy ELFGUN ELFGUNSTRENGTH
2272
useractor enemy ELFGUN ELFGUNSTRENGTH
2266
  fall
2273
  fall
2267
  state checksquished
2274
  state checksquished
2268
  
2275
  
2269
  ifaction AELFGUNDEAD
2276
  ifaction AELFGUNDEAD
2270
  {
2277
  {
2271
    ifrespawn
2278
    ifrespawn
2272
      ifcount RESPAWNACTORTIME
2279
      ifcount RESPAWNACTORTIME
2273
      {
2280
      {
2274
        spawn TRANSPORTERSTAR
2281
        spawn TRANSPORTERSTAR
2275
        cstat 257
2282
        cstat 257
2276
        strength ELFGUNSTRENGTH
2283
        strength ELFGUNSTRENGTH
2277
        ai AIELFGUNSEEKING
2284
        ai AIELFGUNSEEKING
2278
      }
2285
      }
2279
      else
2286
      else
2280
      {
2287
      {
2281
        strength 0
2288
        strength 0
2282
        ifhitweapon
2289
        ifhitweapon
2283
          ifwasweapon RADIUSEXPLOSION
2290
          ifwasweapon RADIUSEXPLOSION
2284
          {
2291
          {
2285
            sound SQUISH2
2292
            sound SQUISH2
2286
           // state standard_jibs
2293
           // state standard_jibs
2287
           // state standard_jibs
2294
           // state standard_jibs
2288
            state standard_jibs
2295
            state standard_jibs
2289
            killit
2296
            killit
2290
          }
2297
          }
2291
        break
2298
        break
2292
      }
2299
      }
2293
    break
2300
    break
2294
  }
2301
  }
2295
  else ifaction AELFGUNFROZEN
2302
  else ifaction AELFGUNFROZEN
2296
  {
2303
  {
2297
    ifcount THAWTIME
2304
    ifcount THAWTIME
2298
    {
2305
    {
2299
      ai AIELFGUNSEEKING
2306
      ai AIELFGUNSEEKING
2300
      getlastpal
2307
      getlastpal
2301
    }
2308
    }
2302
    else
2309
    else
2303
      ifcount FROZENDRIPTIME
2310
      ifcount FROZENDRIPTIME
2304
        ifrnd 8
2311
        ifrnd 8
2305
          spawn WATERDRIP
2312
          spawn WATERDRIP
2306
2313
2307
    ifhitweapon
2314
    ifhitweapon
2308
    { // state elfgunhitstate
2315
    { // state elfgunhitstate
2309
      ifwasweapon FREEZEBLAST
2316
      ifwasweapon FREEZEBLAST
2310
      {
2317
      {
2311
        strength 0
2318
        strength 0
2312
        break
2319
        break
2313
      }
2320
      }
2314
      addkills 1
2321
      addkills 1
2315
      lotsofglass 30
2322
      lotsofglass 30
2316
      ifrnd 84
2323
      ifrnd 84
2317
        spawn BLOODPOOL
2324
        spawn BLOODPOOL
2318
      sound GLASS_BREAKING
2325
      sound GLASS_BREAKING
2319
      killit
2326
      killit
2320
    }
2327
    }
2321
    ifp pfacing
2328
    ifp pfacing
2322
      ifpdistl FROZENQUICKKICKDIST
2329
      ifpdistl FROZENQUICKKICKDIST
2323
        pkick
2330
        pkick
2324
    break
2331
    break
2325
  }
2332
  }
2326
  else
2333
  else
2327
    ifai AIELFGUNDYING
2334
    ifai AIELFGUNDYING
2328
      state elfgundyingstate
2335
      state elfgundyingstate
2329
2336
2330
  ifai AIELFGUNSHRINKING
2337
  ifai AIELFGUNSHRINKING
2331
    nullop
2338
    nullop
2332
  else ifai AIELFGUNGROW
2339
  else ifai AIELFGUNGROW
2333
    nullop
2340
    nullop
2334
  else ifhitweapon
2341
  else ifhitweapon
2335
    state elfgunhitstate
2342
    state elfgunhitstate
2336
2343
2337
  ifai 0
2344
  ifai 0
2338
  {
2345
  {
2339
    ai AIELFGUNSEEKING
2346
    ai AIELFGUNSEEKING
2340
    cstat 257
2347
    cstat 257
2341
   // clipdist 32
2348
   // clipdist 32
2342
    sizeat 32 27 // sizeat 42 36
2349
    sizeat 32 27 // sizeat 42 36
2343
    strength ELFGUNSTRENGTH
2350
    strength ELFGUNSTRENGTH
2344
  }
2351
  }
2345
  else ifai AIELFGUNSEEKING state elfgunseekstate
2352
  else ifai AIELFGUNSEEKING state elfgunseekstate
2346
  else ifai AIELFGUNHUNTING state elfgunhuntstate
2353
  else ifai AIELFGUNHUNTING state elfgunhuntstate
2347
  else ifai AIELFGUNIQ state elfguniqstate
2354
  else ifai AIELFGUNIQ state elfguniqstate
2348
  else ifai AIELFGUNSHOOTING state elfgunshootstate
2355
  else ifai AIELFGUNSHOOTING state elfgunshootstate
2349
  else ifai AIELFGUNGROW state genericgrowcode
2356
  else ifai AIELFGUNGROW state genericgrowcode
2350
2357
2351
  ifai AIELFGUNSHRINKING state elfgunshrinkstate
2358
  ifai AIELFGUNSHRINKING state elfgunshrinkstate
2352
  
2359
  
2353
enda
2360
enda
2354
2361
2355
useractor enemystayput ELFGUNSTAYPUT ELFGUNSTRENGTH
2362
useractor enemystayput ELFGUNSTAYPUT ELFGUNSTRENGTH
2356
  ai AIELFGUNSEEKING
2363
  ai AIELFGUNSEEKING
2357
  cstat 257
2364
  cstat 257
2358
  // clipdist 32
2365
  // clipdist 32
2359
  cactor ELFGUN
2366
  cactor ELFGUN
2360
  break
2367
  break
2361
enda
2368
enda
2362
2369
2363
state present
2370
state present
2364
  fall
2371
  fall
2365
  sizeat 20 20
2372
  sizeat 20 20
2366
  cstat 257
2373
  cstat 257
2367
  clipdist 16
2374
  clipdist 16
2368
ends
2375
ends
2369
2376
2370
state present1
2377
state present1
2371
  ifp pshrunk nullop else
2378
  ifp pshrunk nullop else
2372
  ifp palive
2379
  ifp palive
2373
    ifcount 6
2380
    ifcount 6
2374
      ifpdistl RETRIEVEDISTANCE
2381
      ifpdistl RETRIEVEDISTANCE
2375
        ifcanseetarget
2382
        ifcanseetarget
2376
          {
2383
          {
2377
            sound RIP_PAPER
2384
            sound RIP_PAPER
2378
            ifvarl temp 1
2385
            ifvarl temp 1
2379
            {
2386
            {
2380
              ifrnd 128
2387
              ifrnd 128
2381
                spawn SHIELD
2388
                spawn SHIELD
2382
              else
2389
              else
2383
                spawn SIXPAK
2390
                spawn SIXPAK
2384
            }
2391
            }
2385
            else
2392
            else
2386
              espawnvar temp // spawnvar // spawns the lotag, collected during EVENT_LOADACTOR
2393
              espawnvar temp // spawnvar // spawns the lotag, collected during EVENT_LOADACTOR
2387
            killit
2394
            killit
2388
          }
2395
          }
2389
ends
2396
ends
2390
2397
2391
state present2
2398
state present2
2392
  ifp pshrunk nullop else
2399
  ifp pshrunk nullop else
2393
  ifp palive
2400
  ifp palive
2394
    ifcount 6
2401
    ifcount 6
2395
      ifpdistl RETRIEVEDISTANCE
2402
      ifpdistl RETRIEVEDISTANCE
2396
        ifcanseetarget
2403
        ifcanseetarget
2397
          {
2404
          {
2398
            sound RIP_PAPER
2405
            sound RIP_PAPER
2399
            ifvarl temp 1
2406
            ifvarl temp 1
2400
            {
2407
            {
2401
              ifrnd 128
2408
              ifrnd 128
2402
                spawn CHAINGUNSPRITE
2409
                spawn CHAINGUNSPRITE
2403
              else
2410
              else
2404
                spawn SHOTGUNSPRITE
2411
                spawn SHOTGUNSPRITE
2405
            }
2412
            }
2406
            else
2413
            else
2407
              espawnvar temp // spawnvar // spawns the lotag, collected during EVENT_LOADACTOR
2414
              espawnvar temp // spawnvar // spawns the lotag, collected during EVENT_LOADACTOR
2408
            killit
2415
            killit
2409
          }
2416
          }
2410
ends
2417
ends
2411
2418
2412
2419
2413
useractor notenemy XMASPRESENT 0 // ELFGUN
2420
useractor notenemy XMASPRESENT 0 // ELFGUN
2414
  state present
2421
  state present
2415
  state present1
2422
  state present1
2416
enda
2423
enda
2417
2424
2418
useractor notenemy XMASPRESENT2 0 // ELFUZI
2425
useractor notenemy XMASPRESENT2 0 // ELFUZI
2419
  state present
2426
  state present
2420
  state present2
2427
  state present2
2421
enda
2428
enda
2422
2429
2423
2430
2424
action VOIDACTION
2431
action VOIDACTION
2425
move NULLSPEED
2432
move NULLSPEED
2426
2433
2427
ai MAKENOISE VOIDACTION NULLSPEED geth getv
2434
ai MAKENOISE VOIDACTION NULLSPEED geth getv
2428
2435
2429
useractor notenemy NOISEMAKER 999
2436
useractor notenemy NOISEMAKER 999
2430
  sizeat 48 40
2437
  sizeat 48 40
2431
  cstat 17
2438
  cstat 17
2432
2439
2433
  ifai 0 ai MAKENOISE
2440
  ifai 0 ai MAKENOISE
2434
2441
2435
  ifspritepal 21
2442
  ifspritepal 21
2436
    {
2443
    {
2437
      ifhitweapon
2444
      ifhitweapon
2438
        ifcount 24
2445
        ifcount 24
2439
        {
2446
        {
2440
          strength 999
2447
          strength 999
2441
          ifrnd 128
2448
          ifrnd 128
2442
            sound MOVIE2
2449
            sound MOVIE2
2443
          else
2450
          else
2444
            sound MOVIE3
2451
            sound MOVIE3
2445
          resetcount
2452
          resetcount
2446
        }
2453
        }
2447
    }
2454
    }
2448
  else
2455
  else
2449
    hitradius 4096 1 1 1 1
2456
    hitradius 4096 1 1 1 1
2450
enda
2457
enda
2451
2458
2452
useractor notenemy MALEGEEK 20
2459
useractor notenemy MALEGEEK 20
2453
  ifhitweapon
2460
  ifhitweapon
2454
  {
2461
  {
2455
    guts JIBS6 3
2462
    guts JIBS6 3
2456
    sound SQUISH2
2463
    sound SQUISH2
2457
    ifdead
2464
    ifdead
2458
    {
2465
    {
2459
      stopsound MALECAROL
2466
      stopsound MALECAROL
2460
      guts JIBS6 2
2467
      guts JIBS6 2
2461
      guts JIBS6 3
2468
      guts JIBS6 3
2462
      guts JIBS6 4
2469
      guts JIBS6 4
2463
      sound MALECAROL_DEAD
2470
      sound MALECAROL_DEAD
2464
      globalsound MOUSEANNOY
2471
      globalsound MOUSEANNOY
2465
      killit
2472
      killit
2466
    }
2473
    }
2467
  }
2474
  }
2468
  
2475
  
2469
  ifcount 225
2476
  ifcount 225
2470
  {
2477
  {
2471
    sound MALECAROL
2478
    sound MALECAROL
2472
    resetcount
2479
    resetcount
2473
  }
2480
  }
2474
enda
2481
enda
2475
2482
2476
useractor notenemy FEMALEGEEK 20
2483
useractor notenemy FEMALEGEEK 20
2477
  ifhitweapon
2484
  ifhitweapon
2478
  {
2485
  {
2479
    guts JIBS6 3
2486
    guts JIBS6 3
2480
    sound SQUISH2
2487
    sound SQUISH2
2481
    ifdead
2488
    ifdead
2482
    {
2489
    {
2483
      stopsound FEMALECAROL
2490
      stopsound FEMALECAROL
2484
      guts JIBS6 2
2491
      guts JIBS6 2
2485
      guts JIBS6 3
2492
      guts JIBS6 3
2486
      guts JIBS6 4
2493
      guts JIBS6 4
2487
      sound FEMALECAROL_DEAD
2494
      sound FEMALECAROL_DEAD
2488
      killit
2495
      killit
2489
    }
2496
    }
2490
  }
2497
  }
2491
  
2498
  
2492
  ifcount 225
2499
  ifcount 225
2493
  {
2500
  {
2494
    sound FEMALECAROL
2501
    sound FEMALECAROL
2495
    resetcount
2502
    resetcount
2496
  }
2503
  }
2497
enda
2504
enda
2498
2505
2499
state mariocode
2506
state mariocode
2500
  cstat 257
2507
  cstat 257
2501
  sizeat 62 62
2508
  sizeat 62 62
2502
ends
2509
ends
2503
2510
2504
useractor notenemy NWMARIO 0
2511
useractor notenemy NWMARIO 0
2505
  state mariocode
2512
  state mariocode
2506
enda
2513
enda
2507
2514
2508
useractor notenemy NWMARIO2 0
2515
useractor notenemy NWMARIO2 0
2509
  state mariocode
2516
  state mariocode
2510
enda
2517
enda