Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*
--------------------------------------------------------------------------------
Duke Caribbean: Life's A Beach
By Joris Weimar
© 1997 Sunstorm Interactive
--------------------------------------------------------------------------------
Duke Caribbean: Life's A Beach Plus
By Hendricks266
--------------------------------------------------------------------------------
// CON Files for the 'Duke Carribean Add-on' by SunStorm Interactive
//
// Actor - SEAGULL - Sprite #1553
// Actor - SEAGULLSHIT - Sprite #1638
//
// --- Resources ---
//
// Sounds:
// Sea Gull Hurt Sound - GULLHURT.WAV
// Sea Gull Roam Sound - GULLROAM.WAV
// Sea Gull Dying Sound - GULLDIE.WAV
// Sea Gull Shit Sound - GULLSHIT.WAV
//
// Art:
// 3 * 1 frame(s) - Parallaxed Sea Gull
// 1 * 1 frame(s) - Sea Gull Shit
*/
action SEAGULLFLY 0 3 1 1 20
action SEAGULLSTILL 1
action SEAGULLFROZEN 1
move SEAGULLSHRUNKSPEED 50
move SEAGULLSPEED 100
move SEAGULLATTACK 200
move SEAGULLSTOP
ai AISEAGULLFLY SEAGULLFLY SEAGULLSPEED randomangle geth getv
ai AISEAGULLATTACK SEAGULLFLY SEAGULLATTACK faceplayer
ai AISEAGULLFROZEN SEAGULLSTILL SEAGULLSTOP
ai AISEAGULLSHRUNK SEAGULLFLY SEAGULLSHRUNKSPEED randomangle geth getv
ai AISEAGULLGROW SEAGULLSTILL SEAGULLSTOP faceplayerslow
state seagullgrowstate
ifcount 32
{
guts JIBS4 24
guts JIBS6 28
addkills 1
sound SQUISHED
sound PIPEBOMB_EXPLODE
hitradius 2048 60 70 80 90
spawn BLOODPOOL
spawn EXPLOSION2
killit
}
else
{
sizeto MAXXSTRETCH MAXYSTRETCH
sizeto MAXXSTRETCH MAXYSTRETCH
break
}
ends
state seagullshrunkstate
ifcount SHRUNKDONECOUNT
ai AISEAGULLATTACK
else
ifcount SHRUNKCOUNT
sizeto 48 40
else
state genericshrunkcode
ends
state SEAGULLFLYSTATE
ifrnd 4 ai AISEAGULLFLY
ifp pdead break
ifrnd 1 sound SEAGULLROAM
// ifrnd 32 spawn SEAGULLSHIT
ifpdistl 8000
{
ifrnd 2
ifp palive
ai AISEAGULLATTACK
}
else
{
ifrnd 4
ifp palive
ai AISEAGULLATTACK
}
ends
state SEAGULLATTACKSTATE
ifp pdead ai AISEAGULLFLY
ifrnd 2 sound SEAGULLROAM
ifrnd 1 ifrnd 196 ai AISEAGULLFLY
ifpdistl 2500
{
spawn SEAGULLSHIT
ai AISEAGULLFLY
}
ends
state seagullcode
cstator 257
ifai 0 ai AISEAGULLFLY
ifaction SEAGULLFROZEN
{
ifcount THAWTIME
{
ai AISEAGULLATTACK
getlastpal
}
else
ifcount FROZENDRIPTIME
{
ifactioncount 26
{
spawn WATERDRIP
resetactioncount
}
}
ifhitweapon
{
ifwasweapon FREEZEBLAST
{
strength 0
break
}
addkills 1
ifrnd 84
spawn BLOODPOOL
lotsofglass 30
sound GLASS_BREAKING
killit
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
iffloordistl 8
{
getsector[THISACTOR].floorpicnum temp
switch temp
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
default
addkills 1
ifrnd 84
spawn BLOODPOOL
lotsofglass 30
sound GLASS_BREAKING
killit
break
endswitch
}
else fall
break
}
ifhitweapon
{
sound SQUISHED
ifdead
{
ifwasweapon GROWSPARK
{
cstat 0
sound ACTOR_GROWING
ai AISEAGULLGROW
break
}
else ifwasweapon FREEZEBLAST
{
sound SOMETHINGFROZE
spritepal 1
move 0
action SEAGULLFROZEN
strength 0
break
}
else
{
guts JIBS2 1
guts JIBS3 1
guts JIBS4 1
guts JIBS5 1
guts JIBS6 1
ifrnd 6
{
guts JIBS1 1
spawn BLOODPOOL
} // a badly drawn spine
state jib_sounds
sound SEAGULLDIE
killit
}
}
else
{
ifwasweapon SHRINKSPARK
{
sound ACTOR_SHRINKING
ai AISEAGULLSHRUNK
}
else ifwasweapon GROWSPARK sound EXPANDERHIT
guts JIBS6 1
soundonce SEAGULLHURT
}
}
ifai AISEAGULLFLY state SEAGULLFLYSTATE
else ifai AISEAGULLATTACK state SEAGULLATTACKSTATE
else ifai AISEAGULLGROW state seagullgrowstate
else ifai AISEAGULLSHRUNK state seagullshrunkstate
ends
useractor enemy SEAGULL SEAGULLSTRENGTH SEAGULLFLY state seagullcode enda
action ASEAGULLSHIT -1 1 1
move SEAGULLSHITSPEED 50 100
ai AISEAGULLSHIT ASEAGULLSHIT SEAGULLSHITSPEED geth getv
useractor notenemy SEAGULLSHIT 0
sizeat 8 8
ifai 0
{
sound SEAGULLSHITSOUND
ai AISEAGULLSHIT
action ASEAGULLSHIT
}
fall
iffloordistl 10
{
ifpdistl 1900
{
addphealth SEAGULLSHITHURT
globalsound DUKE_GRUNT
palfrom 16 16
wackplayer
}
spritepal 7
debris SCRAP3 4
spawn WATERSPLASH2
killit
}
enda