Subversion Repositories nw_plus

Rev

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

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