Subversion Repositories nw_plus

Rev

Rev 8 | Rev 30 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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