Subversion Repositories vaca_plus

Rev

Rev 19 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 h266 1
/*
2
--------------------------------------------------------------------------------
3
Duke Caribbean: Life's A Beach
4
By Joris Weimar
5
© 1997 Sunstorm Interactive
6
--------------------------------------------------------------------------------
7
Duke Caribbean: Life's A Beach Plus
8
By Hendricks266
9
--------------------------------------------------------------------------------
10
// CON Files for the 'Duke Carribean Add-on' by SunStorm Interactive
11
//
12
// Actor - SEAGULL     - Sprite #1553 
13
// Actor - SEAGULLSHIT - Sprite #1638
14
//
15
// --- Resources ---
16
//
17
// Sounds:
18
// Sea Gull Hurt Sound    - GULLHURT.WAV
19
// Sea Gull Roam Sound    - GULLROAM.WAV
20
// Sea Gull Dying Sound   - GULLDIE.WAV
21
// Sea Gull Shit Sound    - GULLSHIT.WAV
22
//
23
// Art:
24
// 3 * 1 frame(s)         - Parallaxed Sea Gull
25
// 1 * 1 frame(s)         - Sea Gull Shit
26
*/
27
 
28
action SEAGULLFLY 0 3 1 1 20
29
action SEAGULLSTILL 1
30
action SEAGULLFROZEN 1
31
 
32
move SEAGULLSHRUNKSPEED 50
33
move SEAGULLSPEED 100
34
move SEAGULLATTACK 200
35
move SEAGULLSTOP
36
 
37
ai     AISEAGULLFLY SEAGULLFLY SEAGULLSPEED randomangle geth getv 
38
ai     AISEAGULLATTACK SEAGULLFLY SEAGULLATTACK faceplayer
39
 
40
ai     AISEAGULLFROZEN SEAGULLSTILL SEAGULLSTOP
41
ai     AISEAGULLSHRUNK SEAGULLFLY SEAGULLSHRUNKSPEED randomangle geth getv
42
ai     AISEAGULLGROW SEAGULLSTILL SEAGULLSTOP faceplayerslow
43
 
44
state seagullgrowstate
45
  ifcount 32
46
  {
47
    guts JIBS4 24
48
    guts JIBS6 28
49
    addkills 1
50
    sound SQUISHED
51
    sound PIPEBOMB_EXPLODE
52
    hitradius 2048 60 70 80 90
53
    spawn BLOODPOOL
54
    spawn EXPLOSION2
55
    killit
56
  }
57
  else
58
  {
59
    sizeto MAXXSTRETCH MAXYSTRETCH
60
    sizeto MAXXSTRETCH MAXYSTRETCH
61
    break
62
  }
63
ends
64
 
65
state seagullshrunkstate
66
  ifcount SHRUNKDONECOUNT
67
    ai AISEAGULLATTACK
68
  else
69
    ifcount SHRUNKCOUNT
70
      sizeto 48 40
71
  else
72
    state genericshrunkcode
73
ends
74
 
75
state SEAGULLFLYSTATE
76
  ifrnd 4 ai AISEAGULLFLY
77
 
78
  ifp pdead break
79
 
80
  ifrnd 1 sound SEAGULLROAM
81
 
82
 // ifrnd 32 spawn SEAGULLSHIT
83
 
84
 
85
  ifpdistl 8000
86
    {
87
      ifrnd 2
88
        ifp palive
89
          ai AISEAGULLATTACK
90
    }
91
  else
92
    {
93
      ifrnd 4
94
        ifp palive
95
          ai AISEAGULLATTACK
96
    }
97
ends
98
 
99
state SEAGULLATTACKSTATE
100
  ifp pdead ai AISEAGULLFLY
101
 
102
  ifrnd 2 sound SEAGULLROAM
103
 
104
  ifrnd 1 ifrnd 196 ai AISEAGULLFLY
105
 
106
  ifpdistl 2500
107
    {
108
      spawn SEAGULLSHIT
109
      ai AISEAGULLFLY
110
    }
111
ends
112
 
113
state seagullcode
114
  cstator 257
115
 
116
 ifai 0 ai AISEAGULLFLY
117
 
118
 
119
 
120
    ifaction SEAGULLFROZEN
121
  {
122
 
123
    ifcount THAWTIME
124
    {
125
      ai AISEAGULLATTACK
126
      getlastpal
127
    }
128
    else
129
      ifcount FROZENDRIPTIME
130
    {
131
      ifactioncount 26
132
      {
133
        spawn WATERDRIP
134
        resetactioncount
135
      }
136
    }
137
 
138
    ifhitweapon
139
    {
140
      ifwasweapon FREEZEBLAST
141
      {
142
        strength 0
143
        break
144
      }
145
      addkills 1
146
 
147
      ifrnd 84
148
        spawn BLOODPOOL
149
      lotsofglass 30
150
      sound GLASS_BREAKING
151
      killit
152
    }
153
    ifp pfacing
154
      ifpdistl FROZENQUICKKICKDIST
155
        pkick
156
 
157
    iffloordistl 8
158
      {
159
        getsector[THISACTOR].floorpicnum temp
160
        switch temp
161
        case WATERTILE2 case 337 case 338 case 3630 case 3631 case 3632 case 3633 case 3634 case 3635 case 3636 case 3637 case 3638 break
162
 
163
        default
164
          addkills 1
165
          ifrnd 84
166
            spawn BLOODPOOL
167
          lotsofglass 30
168
          sound GLASS_BREAKING
169
          killit
170
        break
171
        endswitch
172
      }
173
    else fall
174
 
175
    break
176
  }
177
 
178
 ifhitweapon
179
   {
180
     sound SQUISHED
181
     ifdead
182
       {
183
         ifwasweapon GROWSPARK
184
           {
185
             cstat 0
186
             sound ACTOR_GROWING
187
             ai AISEAGULLGROW
188
             break
189
           }
190
    else ifwasweapon FREEZEBLAST
191
           {
192
             sound SOMETHINGFROZE
193
             spritepal 1
194
             move 0
195
             action SEAGULLFROZEN
196
             strength 0
197
             break
198
           }
199
         else
200
           {
201
             guts JIBS2 1
202
             guts JIBS3 1
203
             guts JIBS4 1
204
             guts JIBS5 1
205
             guts JIBS6 1
206
             ifrnd 6
207
             {
208
               guts JIBS1 1
209
               spawn BLOODPOOL
210
             }         // a badly drawn spine
211
             state jib_sounds
212
             sound SEAGULLDIE
213
             killit
214
           }
215
       }
216
     else
217
       {
218
         ifwasweapon SHRINKSPARK
219
           {
220
             sound ACTOR_SHRINKING
221
             ai AISEAGULLSHRUNK
222
           }
223
         else ifwasweapon GROWSPARK sound EXPANDERHIT
224
 
225
         guts JIBS6 1
226
         soundonce SEAGULLHURT
227
       }
228
   }
229
 
230
      ifai AISEAGULLFLY state SEAGULLFLYSTATE
231
 else ifai AISEAGULLATTACK state SEAGULLATTACKSTATE
232
 else ifai AISEAGULLGROW state seagullgrowstate
233
 else ifai AISEAGULLSHRUNK state seagullshrunkstate
234
ends
235
 
236
useractor enemy SEAGULL SEAGULLSTRENGTH SEAGULLFLY state seagullcode enda
237
 
238
 
239
 
240
action ASEAGULLSHIT -1 1 1 
241
 
242
move SEAGULLSHITSPEED 50 100 
243
 
244
ai AISEAGULLSHIT ASEAGULLSHIT SEAGULLSHITSPEED geth getv 
245
 
246
useractor notenemy SEAGULLSHIT 0
247
 sizeat 8 8
248
 ifai 0
249
   {
250
     sound SEAGULLSHITSOUND
251
     ai AISEAGULLSHIT
252
     action ASEAGULLSHIT
253
   }
254
 
255
 fall
256
 
257
 iffloordistl 10
258
   {
259
     ifpdistl 1900
260
       {
261
         addphealth SEAGULLSHITHURT
262
         globalsound DUKE_GRUNT
263
         palfrom 16 16
264
         wackplayer
265
       }
266
     spritepal 7
267
     debris SCRAP3 4
268
     spawn WATERSPLASH2
269
     killit
270
   }
271
enda