Subversion Repositories vaca_plus

Rev

Rev 19 | Details | Compare with Previous | 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
 
19 h266 116
  ifai 0
117
  {
118
    ai AISEAGULLFLY
119
 
73 h266 120
    getactor[THISACTOR].xrepeat vaca_x
121
    ifvare vaca_x 1
19 h266 122
      sizeat 40 40
123
  }
1 h266 124
 
19 h266 125
  clipdist 80
1 h266 126
 
127
    ifaction SEAGULLFROZEN
128
  {
129
 
130
    ifcount THAWTIME
131
    {
132
      ai AISEAGULLATTACK
133
      getlastpal
134
    }
135
    else
136
      ifcount FROZENDRIPTIME
137
    {
138
      ifactioncount 26
139
      {
140
        spawn WATERDRIP
141
        resetactioncount
142
      }
143
    }
144
 
145
    ifhitweapon
146
    {
147
      ifwasweapon FREEZEBLAST
148
      {
149
        strength 0
150
        break
151
      }
152
      addkills 1
153
 
154
      ifrnd 84
155
        spawn BLOODPOOL
156
      lotsofglass 30
157
      sound GLASS_BREAKING
158
      killit
159
    }
160
    ifp pfacing
161
      ifpdistl FROZENQUICKKICKDIST
162
        pkick
163
 
164
    iffloordistl 8
19 h266 165
    {
73 h266 166
      getsector[THISACTOR].floorpicnum vaca_temp
167
      switch vaca_temp
19 h266 168
        case WATERTILE2 case 337 case 338
169
        case 3630 case 3631 case 3632 case 3633 case 3634 case 3635 case 3636 case 3637 case 3638 break
170
 
1 h266 171
        default
172
          addkills 1
173
          ifrnd 84
174
            spawn BLOODPOOL
175
          lotsofglass 30
176
          sound GLASS_BREAKING
177
          killit
19 h266 178
          break
179
      endswitch
180
    }
1 h266 181
 
19 h266 182
    fall
183
 
1 h266 184
    break
185
  }
186
 
187
 ifhitweapon
188
   {
189
     sound SQUISHED
190
     ifdead
191
       {
192
         ifwasweapon GROWSPARK
193
           {
194
             cstat 0
195
             sound ACTOR_GROWING
196
             ai AISEAGULLGROW
197
             break
198
           }
199
    else ifwasweapon FREEZEBLAST
200
           {
201
             sound SOMETHINGFROZE
202
             spritepal 1
203
             move 0
204
             action SEAGULLFROZEN
205
             strength 0
206
             break
207
           }
208
         else
209
           {
210
             guts JIBS2 1
211
             guts JIBS3 1
212
             guts JIBS4 1
213
             guts JIBS5 1
214
             guts JIBS6 1
215
             ifrnd 6
216
             {
217
               guts JIBS1 1
218
               spawn BLOODPOOL
219
             }         // a badly drawn spine
220
             state jib_sounds
221
             sound SEAGULLDIE
222
             killit
223
           }
224
       }
225
     else
226
       {
227
         ifwasweapon SHRINKSPARK
228
           {
229
             sound ACTOR_SHRINKING
230
             ai AISEAGULLSHRUNK
231
           }
232
         else ifwasweapon GROWSPARK sound EXPANDERHIT
233
 
234
         guts JIBS6 1
235
         soundonce SEAGULLHURT
236
       }
237
   }
238
 
239
      ifai AISEAGULLFLY state SEAGULLFLYSTATE
240
 else ifai AISEAGULLATTACK state SEAGULLATTACKSTATE
241
 else ifai AISEAGULLGROW state seagullgrowstate
242
 else ifai AISEAGULLSHRUNK state seagullshrunkstate
243
ends
244
 
245
useractor enemy SEAGULL SEAGULLSTRENGTH SEAGULLFLY state seagullcode enda
246
 
247
 
248
 
249
action ASEAGULLSHIT -1 1 1 
250
 
251
move SEAGULLSHITSPEED 50 100 
252
 
253
ai AISEAGULLSHIT ASEAGULLSHIT SEAGULLSHITSPEED geth getv 
254
 
255
useractor notenemy SEAGULLSHIT 0
256
 sizeat 8 8
257
 ifai 0
258
   {
259
     sound SEAGULLSHITSOUND
260
     ai AISEAGULLSHIT
261
     action ASEAGULLSHIT
262
   }
263
 
264
 fall
265
 
266
 iffloordistl 10
267
   {
268
     ifpdistl 1900
269
       {
270
         addphealth SEAGULLSHITHURT
271
         globalsound DUKE_GRUNT
272
         palfrom 16 16
19 h266 273
         state headhitstate
1 h266 274
       }
275
     spritepal 7
276
     debris SCRAP3 4
277
     spawn WATERSPLASH2
278
     killit
279
   }
280
enda