Rev 7 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*
--------------------------------------------------------------------------------
Duke: Nuclear Winter
By Joris Weimar
© 1997 Simply Silly Software
--------------------------------------------------------------------------------
Duke: Nuclear Winter Plus
By Hendricks266
--------------------------------------------------------------------------------
*/
state snowmangrowcode
ifcount 32
{
addkills 1
sound SQUISH2
sound PIPEBOMB_EXPLODE
hitradius 2048 60 70 80 90
debris SCRAP3 40
debris SCRAP3 40
debris SCRAP3 40
debris SCRAP3 40
killit
}
else
{
sizeto MAXXSTRETCH MAXYSTRETCH
break
}
ends
move SNOWBALLSPEED1 750 100
move SNOWBALLUP 0 -2000
action SNOWBALL1 0 1 1 1 1
ai AISNOWBALL1 SNOWBALL1 SNOWBALLSPEED1 geth getv
ai AISNOWBALLUP SNOWBALL1 SNOWBALLUP geth getv
useractor notenemy SNOWBALL 0 SNOWBALL1
state checksquished
ifai 0
{
sizeat 1 1
cstat 32768
clipdist 0
ai AISNOWBALLUP
}
ifai AISNOWBALLUP
{
ifcount 1
{
ai AISNOWBALL1
cstat 257
clipdist 32
sizeat 30 30
}
else break
}
ifai AISNOWBALL1
{
ifpdistl 1024
{
getplayer[THISACTOR].i temp
setactor[temp].htextra SNOWBALLAMOUNT
setactor[temp].htpicnum SNOWBALL
// addphealth SNOWBALLAMOUNT
debris SCRAP3 5
globalsound DUKE_GRUNT
state headhitstate
palfrom 15 15 15
killit
}
iffloordistl 10
{
debris SCRAP3 5
killit
}
}
ifcount 30 killit
enda
action ASNOWMANIDLE 26 3 5 1 20
action ASNOWMANATTACK 11 3 5 1 30
action ASNOWMANDIE 5 5 1 1 10
action ASNOWMANDEAD 10 1 1
action ASNOWMANFROZEN 0 1 5 1 1
move SNOWMANSPEED
ai AISNOWFOLLOW ASNOWMANIDLE SNOWMANSPEED faceplayerslow
ai AISNOWATTACK ASNOWMANATTACK SNOWMANSPEED faceplayer
ai AISNOWMANSHRINK ASNOWMANIDLE SNOWMANSPEED geth getv
ai AISNOWMANGROW ASNOWMANIDLE SNOWMANSPEED geth getv
ai AISNOWMANDYING ASNOWMANDIE SNOWMANSPEED geth getv
state snowmanidlestate
ifcansee
ifpdistl 8192
{
ai AISNOWATTACK
break
}
ends
state snowmandyingstate
ifactioncount 5 action ASNOWMANDEAD
ends
state snowmanattackstate
ifcount 15 nullop else ifcount 14 spawn SNOWBALL
ifactioncount 3
{
resetcount
ifpdistl 8192 resetactioncount else ai AISNOWFOLLOW
}
ends
state snowmanshrinkstate
ifcount SHRUNKDONECOUNT
ai AISNOWFOLLOW
else
ifcount SHRUNKCOUNT
sizeto 42 36
else
state genericshrunkcode
ends
state snowmanhitstate
ifdead
{
// debris SCRAP3 40
// debris SCRAP3 40
debris SCRAP3 20
ifwasweapon GROWSPARK
{
sound ACTOR_GROWING
ai AISNOWMANGROW
break
}
addkills 1
ifwasweapon FREEZEBLAST
{
sound SOMETHINGFROZE
spritepal 1
move 0
action ASNOWMANFROZEN
strength 0
break
}
ifwasweapon RADIUSEXPLOSION
{
debris SCRAP3 40
killit
}
else
ifwasweapon RPG
{
debris SCRAP3 20
killit
}
else
{
cstat 0
ai AISNOWMANDYING
}
}
else
{
debris SCRAP3 20
ifwasweapon SHRINKSPARK
{
sound ACTOR_SHRINKING
ai AISNOWMANSHRINK
}
else
ifwasweapon GROWSPARK
sound EXPANDERHIT
}
ends
useractor enemy SNOWMAN SNOWMANSTRENGTH ASNOWMANIDLE
fall
ifaction ASNOWMANDEAD
{
ifrespawn
{
ifcount RESPAWNACTORTIME
{
spawn TRANSPORTERSTAR
cstat 257
strength SNOWMANSTRENGTH
ai AISNOWFOLLOW
}
}
else
{
strength 0
ifhitweapon
{
ifwasweapon RADIUSEXPLOSION
{
// debris SCRAP3 40
// debris SCRAP3 40
debris SCRAP3 20
killit
}
}
}
break
}
else
ifaction ASNOWMANFROZEN
{
ifcount THAWTIME
{
ai AISNOWFOLLOW
getlastpal
}
else
ifcount FROZENDRIPTIME
ifrnd 8
spawn WATERDRIP
ifhitweapon
{
ifwasweapon FREEZEBLAST
{
strength 0
break
}
addkills 1
lotsofglass 30
ifrnd 84 debris SCRAP3 10
sound GLASS_BREAKING
killit
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
break
}
ifai AISNOWMANSHRINK
{
state snowmanshrinkstate
break
}
ifhitweapon state snowmanhitstate
ifp pdead break
ifai 0
{
ai AISNOWFOLLOW
sizeat 42 36
clipdist 32
cstat 257
}
ifai AISNOWMANDYING state snowmandyingstate
else ifai AISNOWMANGROW state genericgrowcode
else ifai AISNOWFOLLOW state snowmanidlestate
else ifai AISNOWATTACK state snowmanattackstate
enda
move botshrunkspeed 50
move botsteroidspeed 400
move botstopped
move botfall 0 -38
move bothardfall 0
move botflyupspeed 200 -140
move botflydownspeed 200 -38
move botflyspeed 200 // -38
move botdodgespeedfly 250 -140
move botdodgespeeddownfly 250 140
action ABOTFLY 0 1 5 1 13
action ABOTFLYDYING 65 5 1 1 18
action ABOTFLYDIEBACK 69 5 1 -1 18
action ABOTFLYDEAD 65 1 1 1 1
action ABOTFLYFROZEN 0 1 5 1 1
ai AIBOTFLYUP ABOTFLY botflyupspeed faceplayer
ai AIBOTFLYDOWN ABOTFLY botflydownspeed faceplayer
ai AIBOTFLYSEEKUP ABOTFLY botflyupspeed geth seekplayer randomangle
ai AIBOTFLYSEEKDOWN ABOTFLY botflydownspeed geth seekplayer randomangle
ai AIBOTFLYDODGEUP ABOTFLY botdodgespeedfly fleeenemy randomangle
ai AIBOTFLYDODGEDOWN ABOTFLY botdodgespeeddownfly fleeenemy randomangle
ai AIBOTFLYNOTMOVING
ai AIBOTFLYCAMPING ABOTFLY botstopped faceplayer
ai AIBOTFLYDYING ABOTFLYDYING botstopped faceplayer
ai AIFLYWAIT ABOTFLY botstopped faceplayer
ai AIFLYUPMOMENT ABOTFLY botflyupspeed faceplayer
ai AIFLYUPHOLD ABOTFLY botflyupspeed faceplayer
ai AIBOTFLYSTRAIGHT ABOTFLY botflyspeed geth getv
ai AIBOTFLYGROW ABOTFLY botstopped geth getv
ai AIBOTFLYSHRINK ABOTFLY botshrunkspeed fleeenemy
ai AIBOTFLYSTEROIDS ABOTFLY botsteroidspeed randomangle
ai AIBOTFLYFLEE ABOTFLY botflyspeed randomangle
action ABOTWALK 10 4 5 1 13
action ABOTWALK1 10 1 5 1 13
action ABOTWALKGO 10 4 5 1 13
action ABOTKICK 10 2 5 1 25
action ABOTCRAWL 55 3 5 1 13
action ABOTJUMPUP 40 2 5 1 13
action ABOTFALL 50 1 5 1 1
action ABOTWDYING 70 5 1 1 18
action ABOTWDEAD 75 1 1 1 1
action ABOTWALKDIEBACK 74 5 1 -1 18
action ABOTWALKFROZEN 0 1 5 1 1
move botwalkspeed 250
move botjumpspeed 250 -115
move botjumpdspeed 250 150
move botcrawlspeed 0
move botfallspeed 250 100
ai AIBOTWALKKICK ABOTKICK botstopped faceplayer
ai AIBOTWALKHUNT ABOTWALK botwalkspeed faceplayer
ai AIBOTWALKSEEK ABOTWALK botwalkspeed seekplayer
ai AIBOTWALKSEEK2
ai AIBOTWALKCAMPING ABOTWALK botstopped faceplayersmart
ai AIBOTWALKSTRJUMP1 ABOTJUMPUP botjumpspeed geth getv
ai AIBOTWALKSTRJUMP2 ABOTFALL botjumpdspeed geth getv
ai AIBOTWALKSTRJUMP1S ABOTJUMPUP botjumpspeed faceplayer
ai AIBOTWALKSTRJUMP2S ABOTFALL botjumpdspeed faceplayer
ai AIBOTWALKJUMP1 ABOTJUMPUP botjumpspeed faceplayer
ai AIBOTWALKJUMP2 ABOTFALL botjumpdspeed faceplayer
ai AIBOTWALKDYING ABOTWDYING botstopped faceplayer
ai AIWALKFALL ABOTFALL botstopped faceplayer
ai AIWALKFALLHARD ABOTFALL botstopped faceplayer
ai AIBOTWALKSTRAIGHT ABOTWALK botwalkspeed geth getv
ai AIBOTWALKGROW ABOTWALK1 botstopped geth getv
ai AIBOTWALKSHRINK ABOTWALK botshrunkspeed fleeenemy
ai AIBOTWALKSTEROIDS ABOTWALK botsteroidspeed randomangle
ai AIBOTWALKFLEE ABOTWALK botwalkspeed randomangle
ai AIBOTLETFALL ABOTFALL botfallspeed getv geth
ai AIBOTWALKNOTMOVING
ai AIWALKWAIT ABOTWALK botstopped faceplayer
state miniboss
sound SANTA_TRASH1
spawn EXPLOSION2
spawn EXPLOSION2
spawn PIGCOP
spawn PIGCOP
ends
state stomphisfreakingass
ifp pdead nullop
else
{
ifpdistl SQUISHABLEDISTANCE
{
addphealth -1000
sound SQUISH2
// state standard_pjibs
state standard_pjibs
sound SANTA_TRASH9
}
}
ends
state botchangeweaponstate
ifspritepal 0 nullop else break
resetcount
ifspritepal 0
{
ifpdistl 4096
{
ifrnd 128
spritepal 3
else
spritepal 9
}
else
{
ifrnd 128
spritepal 3
}
}
else
ifspritepal 3
{
ifpdistg 4096
{
ifrnd 128
spritepal 0
else
spritepal 9
}
else
{
ifrnd 128
spritepal 9
}
}
else
ifspritepal 9
{
ifpdistg 4096
{
ifrnd 128
spritepal 0
else
spritepal 3
}
else
{
ifrnd 128
spritepal 9
}
}
sound SELECT_WEAPON
ends
state botquickshootstate
ifspritepal 0 nullop else break
ifp pshrunk break
ifp pdead break
ifspritepal 0
{
shoot RPG sound RPG_SHOOT
}
else
ifspritepal 3
{
shoot CHAINGUN sound CHAINGUN_FIRE
}
else
ifspritepal 9
{
// shoot SHRINKER sound SHRINKER_FIRE
shoot SHOTGUN sound SHOTGUN_FIRE
}
ends
state botshootstate
ifspritepal 0 nullop else break // ifcanshoottarget nullop // ifcanseetarget nullop
ifp pdead break
ifp pshrunk break
ifspritepal 0
{
ifcount 5
{
ifactioncount 5
{
resetactioncount
shoot RPG
sound RPG_SHOOT
}
ifpdistl 4096
{
ifrnd 5
state botchangeweaponstate
}
}
}
else
ifspritepal 3
{
ifcount 5
{
ifactioncount 1
{
resetactioncount
shoot SHOTSPARK1 shoot CHAINGUN shoot CHAINGUN shoot CHAINGUN
sound CHAINGUN_FIRE
}
ifrnd 1 state botchangeweaponstate
}
}
else
ifspritepal 9
{
ifcount 5
{
ifactioncount 5
{
resetactioncount
// shoot SHRINKER
// sound SHRINKER_FIRE
shoot SHOTGUN
sound SHOTGUN_FIRE
}
ifp ponsteroids
{
ifrnd 64
state botchangeweaponstate
}
ifrnd 1 state botchangeweaponstate
}
}
ends
state dudehurt
/*
ifstrength YELLHURTSOUNDSTRENGTHMP
{
ifrnd 64
sound SANTA_GOTHIT
else
ifrnd 64
sound SANTA_DEAD
else
ifrnd 64
sound SANTA_TRASH6
else
sound SANTA_TRASH8
}
else
{
ifrnd 64
sound SANTA_GOTHIT
else ifrnd 64
sound SANTA_DEAD
else ifrnd 64
sound SANTA_TRASH6
else
sound SANTA_TRASH8
}
*/
ifrnd 80
sound SANTA_GOTHIT
ends
state dukehurt
ifrnd 80
sound SANTA_GOTHIT
/*
ifphealthl YELLHURTSOUNDSTRENGTHMP
{
ifrnd 64
sound DUKE_LONGTERM_PAIN2
else
ifrnd 64
sound DUKE_LONGTERM_PAIN3
else
ifrnd 64
sound DUKE_LONGTERM_PAIN4
else
sound DUKE_DEAD
}
else
{
ifrnd 64
sound DUKE_LONGTERM_PAIN5
else ifrnd 64
sound DUKE_LONGTERM_PAIN6
else ifrnd 64
sound DUKE_LONGTERM_PAIN7
else
sound DUKE_LONGTERM_PAIN8
}
*/
ends
// WALK STATES
state botwalkhitstate
state botshootstate
// spawn BLOOD
ifdead
{
ifspritepal 21 { state miniboss break } else soundonce SANTA_DEAD
ifwasweapon FREEZEBLAST
{
spritepal 1
strength 0
move 0
action ABOTWALKFROZEN
sound SOMETHINGFROZE
break
}
else
ifwasweapon GROWSPARK
{
cstat 0
sound ACTOR_GROWING
ai AIBOTWALKGROW
break
}
else
ifwasweapon RADIUSEXPLOSION
{
// state standard_pjibs
// state standard_pjibs
// state standard_pjibs
state standard_pjibs
sound SQUISH2
addkills 1
endofgame 52
killit
}
else
ifwasweapon RPG
{
// state standard_pjibs
// state standard_pjibs
// state standard_pjibs
state standard_pjibs
sound SQUISH2
addkills 1
endofgame 52
killit
}
else
{
ai AIBOTWALKDYING
break
}
}
else
{
state dudehurt
ifwasweapon SHRINKSPARK
{
ifai AIBOTWALKSTEROIDS nullop else
{
ai AIBOTWALKSHRINK
break
}
}
}
ends
state botwalkdyingstate
fall
strength 0
ifactioncount 5
{
action ABOTWDEAD
endofgame 52
killit
}
ends
state botwalkseekstate
ifcansee
{
ai AIBOTWALKHUNT
break
}
ifgapzl 100
{
}
else
{
ifnotmoving
{
ifrnd 4 operate
ifpdistl 8000
{
ai AIFLYUPMOMENT
cactor SOBBOTFLY
break
}
else
ai AIBOTWALKJUMP1
break
}
}
ends
state botwalkjumpstate
ifrnd 4
ifpdistl 6000
state botquickshootstate
ifai AIBOTWALKJUMP1
{
ifactioncount 2
{
ai AIBOTWALKJUMP2
break
}
}
ifai AIBOTWALKJUMP2
{
ifactioncount 1
{
state botshootstate
iffloordistl 16
{
sound DUKE_LAND
operate
ai AIBOTWALKHUNT
}
}
}
ends
state botwalkhuntstate
state botshootstate
ifrnd 3
{
ai AIBOTWALKSTRJUMP1S
count 10
}
ifcansee
{
ifpdistl 1024
{
ifrnd 24
{
ifp pdead
nullop
else
ai AIBOTWALKKICK
break
}
}
}
else
{
ifphealthl 50
ifrnd 64
ifpdistl 8000
{
ifrnd 80
sound SANTA_TRASH1
}
ifrnd 128
{
ifp phigher
{
ai AIFLYUPMOMENT
cactor SOBBOTFLY
break
}
else
{
ai AIBOTWALKSTRAIGHT
break
}
}
else
{
ai AIBOTWALKSTRAIGHT
break
}
ai AIBOTWALKSEEK
break
}
ifrnd 128
ifnotmoving
{
ifrnd 8
operate
ai AIBOTWALKJUMP1
break
}
ends
state botwalkkickstate
ifactioncount 2
{
resetactioncount
ifpdistl 1024
{
ifp pdead
{
ai AIBOTWALKHUNT
break
}
ifp pfacing
ifrnd 16
{
globalsound SANTA_TRASH8
}
sound KICK_HIT
ifspritepal 21 addphealth -1 else addphealth -6
state dukehurt
}
else
{
ai AIBOTWALKHUNT
break
}
ifrnd 50
{
ai AIBOTWALKHUNT
break
}
}
ends
state botwalkstraightjumpstate
ifai AIBOTWALKSTRJUMP1
{
ifcount 20
{
ai AIBOTWALKSTRJUMP2
break
}
}
else
ifai AIBOTWALKSTRJUMP2
{
ifcount 18
{
iffloordistl 16
{
operate
ifrnd 128
sound DUKE_LAND
ifrnd 200
ai AIBOTWALKSTRAIGHT
else
ai AIBOTWALKSEEK
}
}
}
ends
state botjumpshootstate
ifai AIBOTWALKSTRJUMP1S
{
state botshootstate
ifcount 20
{
ai AIBOTWALKSTRJUMP2S
resetactioncount
count 10
break
}
}
else
ifai AIBOTWALKSTRJUMP2S
{
ifcount 18
{
iffloordistl 16
{
operate
sound DUKE_LAND
ai AIBOTWALKHUNT
count 10
}
}
}
ends
state botwalkstraightstate
ifpdistg 20000
ai AIBOTWALKSEEK
ifcansee
{
ifnotmoving
{
ai AIBOTWALKSTRJUMP1
break
}
ifrnd 64
ai AIBOTWALKHUNT
}
else
{
ifrnd 128
ifnotmoving
ai AIBOTWALKSTRJUMP1
}
ends
state steroidswalk
soundonce DUKE_HARTBEAT
spawn FRAMEEFFECT1
ifhitweapon
{
state botwalkhitstate
break
}
ifcount 150
{
ai AIBOTWALKHUNT
}
ifcount 34
{
}
else
{
sizeto 42 36
}
ends
state botletfallstate
ifactioncount 5
{
}
else
ifactioncount 6
{
soundonce SANTA_TRASH7
}
ifcansee
{
ai AIFLYWAIT
cactor SOBBOTFLY
break
}
else
{
iffloordistl 50
{
ai AIFLYWAIT
cactor SOBBOTFLY
break
}
}
ends
useractor enemy SOBBOTWALK SOBBOTSTRENGTH ABOTWALK
state checksquished
ifai 0
{
ifspawnedby RECON
{
spawn PIGCOP
killit
}
ifcansee nullop else break
sizeat 42 36
cstat 257
ai AIBOTWALKSEEK
ifspritepal 21
{
strength MINIBOSSSTRENGTH
ifrnd 64 soundonce SANTA_TRASH9
}
else spritepal 0
sound INSERT_CLIP
break
}
fall
sleeptime 300
ifaction ABOTWDEAD break
else
ifaction ABOTWALKFROZEN
{
ifcount THAWTIME
{
ai AIBOTWALKHUNT
getlastpal
}
else
ifcount FROZENDRIPTIME
{
ifactioncount 26
{
spawn WATERDRIP
resetactioncount
}
}
ifhitweapon
{
ifwasweapon FREEZEBLAST
{
strength 0
break
}
addkills 1
ifrnd 84
spawn BLOODPOOL
lotsofglass 30
spawn ATOMICHEALTH
sound GLASS_BREAKING
ifspritepal 21
{
state miniboss
break
}
endofgame 52
killit
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
break
}
else
ifai AIBOTWALKSTEROIDS
{
state steroidswalk
break
}
else
ifai AIBOTWALKGROW
{
ifcount 32
{
guts JIBS4 24
guts JIBS6 28
addkills 1
sound SQUISH2
sound PIPEBOMB_EXPLODE
hitradius 2048 60 70 80 90
spawn BLOODPOOL
spawn EXPLOSION2
ifspritepal 21
{
state miniboss
break
}
endofgame 52
killit
}
else
{
sizeto MAXXSTRETCH MAXYSTRETCH
break
}
break
}
else
ifai AIBOTWALKSHRINK
{
ifcount SHRUNKDONECOUNT
ai AIBOTWALKHUNT
else
ifcount SHRUNKCOUNT
{
spawn FRAMEEFFECT1
sizeto 42 36
}
else
{
ifcount 31
nullop
else
{
ifcount 30
{
ifrnd 255
{
sound DUKE_TAKEPILLS
ai AIBOTWALKSTEROIDS
break
}
}
}
ifcount 32
{
ifpdistl SQUISHABLEDISTANCE
{
state standard_pjibs
sound SQUISH2
spawn BLOODPOOL
pkick
// state headhitstate
// state headhitstate
// state headhitstate
state headhitstate
ifspritepal 21
{
state miniboss
break
}
else
{
ifrnd 128
sound SANTA_DEAD
else
sound SANTA_TRASH9
}
endofgame 52
killit
}
}
else
{
sizeto MINXSTRETCH MINYSTRETCH
spawn FRAMEEFFECT1
}
}
break
}
else
ifai AIBOTWALKDYING
{
state botwalkdyingstate
break
}
else
ifrnd 1
operate
ifhitweapon
{
state botwalkhitstate
break
}
else
ifai AIWALKFALLHARD
{
iffloordistl 16
{
ai AIBOTWALKHUNT
}
else
{
break
}
}
else
{
ifai AIWALKFALL
{
state botshootstate
iffloordistl 16
{
ai AIBOTWALKHUNT
}
else
{
break
}
}
}
ifp pshrunk
state stomphisfreakingass
iffloordistl 550
nullop
else
{
ai AIFLYWAIT
cactor SOBBOTFLY
}
ifonwater
{
}
else
{
ifp pjetpack
ifp phigher
ifcansee
{
ai AIFLYWAIT
cactor SOBBOTFLY
}
}
ifp phigher
{
ifrnd 1
{
ifrnd 196
{
ai AIFLYWAIT
cactor SOBBOTFLY
}
}
}
ifai AIWALKWAIT
{
ai AIBOTWALKSEEK
break
}
else
ifai AIBOTWALKSEEK
state botwalkseekstate
else
ifai AIBOTWALKHUNT
state botwalkhuntstate
else
ifai AIBOTWALKJUMP1
state botwalkjumpstate
else
ifai AIBOTWALKJUMP2
state botwalkjumpstate
else
ifai AIBOTWALKKICK
state botwalkkickstate
else
ifai AIBOTWALKSTRAIGHT
state botwalkstraightstate
else
ifai AIBOTWALKSTRJUMP1
state botwalkstraightjumpstate
else
ifai AIBOTWALKSTRJUMP2
state botwalkstraightjumpstate
else
ifai AIBOTLETFALL
state botletfallstate
else
ifai AIBOTWALKSTRJUMP1S
state botjumpshootstate
else
ifai AIBOTWALKSTRJUMP2S
state botjumpshootstate
enda
state botflydyingstate
fall
strength 0
cstat 0
ifactioncount 5
{
action ABOTFLYDEAD
ifspritepal 21
{
state miniboss
break
}
endofgame 52
}
ends
state choosedodgefly
ifceilingdistl 100
{
ifai AIBOTFLYDODGEDOWN
nullop
else
ai AIBOTFLYDODGEDOWN
}
else
{
ifai AIBOTFLYDODGEUP
nullop
else
ai AIBOTFLYDODGEUP
}
ends
state botflydodgestate
ifcanshoottarget
state botshootstate
ifcansee
{
ifrnd 2
{
ifceilingdistl 100
ai AIBOTFLYDODGEDOWN
else
ai AIBOTFLYDODGEUP
}
}
else
{
ai AIBOTFLYSEEKUP
}
ifcount 10
ai AIBOTFLYDOWN
ends
state botflyhitstate
state botshootstate
// spawn BLOOD
ifdead
{
ifspritepal 21 { state miniboss break } else sound SANTA_DEAD
ifwasweapon FREEZEBLAST
{
spritepal 1
strength 0
move 0
action ABOTFLYFROZEN
sound SOMETHINGFROZE
break
}
else
ifwasweapon GROWSPARK
{
cstat 0
sound ACTOR_GROWING
ai AIBOTFLYGROW
break
}
else
ifwasweapon RADIUSEXPLOSION
{
// state standard_pjibs
// state standard_pjibs
// state standard_pjibs
state standard_pjibs
sound SQUISH2
addkills 1
endofgame 52
killit
}
else
ifwasweapon RPG
{
// state standard_pjibs
// state standard_pjibs
// state standard_pjibs
state standard_pjibs
sound SQUISH2
addkills 1
endofgame 52
killit
}
else
{
ai AIBOTFLYDYING
}
}
else
{
state dudehurt
ifwasweapon SHRINKSPARK
{
ifai AIBOTFLYSTEROIDS
{
}
else
{
ai AIBOTFLYSHRINK
break
}
}
}
ends
state botflyseekupstate
ifcansee
{
ai AIBOTFLYUP
break
}
ifp phigher
{
}
else
{
ai AIBOTFLYSEEKDOWN
break
}
ends
state botflyseekdownstate
ifcansee
{
ai AIBOTFLYDOWN
break
}
else
{
ifp phigher
{
}
else
{
ai AIBOTLETFALL
cactor SOBBOTWALK
}
}
ifp phigher
{
ai AIBOTFLYSEEKUP
break
}
ends
state botflydownstate
state botshootstate
ifrnd 16
{
ifp phigher
{
ai AIBOTFLYUP
break
}
}
ifcansee
{
}
else
{
ai AIBOTFLYSTRAIGHT
break
}
ends
state botflyupstate
state botshootstate
ifrnd 16
{
ifp phigher
nullop
else
{
ai AIBOTFLYDOWN
break
}
}
ifcansee
{
}
else
{
ai AIBOTFLYSTRAIGHT
}
ends
state botflyupmomentstate
ifcansee
{
ifcount 10 ai AIBOTFLYUP
break
}
else
{
ifcount 50
{
ai AIBOTLETFALL
cactor SOBBOTWALK
}
}
ends
state botflyholdstate
state botshootstate
ifcount 50
{
ai AIBOTFLYUP
}
ends
state botflystraightstate
ifpdistg 20000
ai AIBOTFLYSEEKDOWN
ifcansee
{
ai AIBOTFLYDOWN
}
else
{
ifrnd 128
ifnotmoving
ai AIFLYUPMOMENT
}
ends
state steroidsfly
soundonce DUKE_HARTBEAT
spawn FRAMEEFFECT1
ifcount 100
{
ai AIBOTFLYUP
}
ifcount 34
{
}
else
{
sizeto 42 36
}
ifhitweapon
{
state botflyhitstate
break
}
ends
// FLY ACTOR
useractor enemy SOBBOTFLY SOBBOTSTRENGTH ABOTFLY
state checksquished
ifai 0
{
ifcansee nullop else { break }
ifspritepal 21 strength MINIBOSSSTRENGTH
sizeat 42 36
cstat 257
sound INSERT_CLIP
ai AIBOTFLYSEEKDOWN
spritepal 0
break
}
fall
sleeptime 300
ifaction ABOTFLYDEAD
break
else
ifaction ABOTFLYFROZEN
{
ifcount THAWTIME
{
ai AIBOTFLYUP
getlastpal
}
else
ifcount FROZENDRIPTIME
{
ifactioncount 26
{
spawn WATERDRIP
resetactioncount
}
}
ifhitweapon
{
ifwasweapon FREEZEBLAST
{
strength 0
break
}
addkills 1
ifrnd 84
spawn BLOODPOOL
lotsofglass 30
spawn ATOMICHEALTH
sound GLASS_BREAKING
ifspritepal 21
{
state miniboss
break
}
endofgame 52
killit
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
break
}
else
ifai AIBOTFLYSTEROIDS
{
soundonce DUKE_JETPACK_IDLE
state steroidsfly
break
}
else
ifai AIBOTFLYGROW
{
ifcount 32
{
guts JIBS4 24
guts JIBS6 28
addkills 1
sound SQUISH2
sound PIPEBOMB_EXPLODE
hitradius 2048 60 70 80 90
spawn BLOODPOOL
spawn EXPLOSION2
ifspritepal 21
{
state miniboss
break
}
endofgame 52
killit
}
else
{
sizeto MAXXSTRETCH MAXYSTRETCH
break
}
break
}
else
ifai AIBOTFLYSHRINK
{
ifcount SHRUNKDONECOUNT
ai AIBOTFLYUP
else
ifcount SHRUNKCOUNT
{
spawn FRAMEEFFECT1
sizeto 42 36
}
else
{
ifcount 31
nullop
else
{
ifcount 30
{
ifrnd 255
{
sound DUKE_TAKEPILLS
ai AIBOTFLYSTEROIDS
break
}
}
}
ifcount 32
{
ifpdistl SQUISHABLEDISTANCE
{
// state standard_pjibs
// state standard_pjibs
// state standard_pjibs
state standard_pjibs
sound SQUISH2
spawn BLOODPOOL
pkick
// state headhitstate
// state headhitstate
// state headhitstate
state headhitstate
ifspritepal 21
{
state miniboss
break
}
else
{
ifrnd 128
sound SANTA_DEAD
else
sound SANTA_TRASH9
}
endofgame 52
killit
}
}
else
{
sizeto MINXSTRETCH MINYSTRETCH
spawn FRAMEEFFECT1
}
}
break
}
soundonce DUKE_JETPACK_IDLE
ifai AIBOTFLYDYING
{
state botflydyingstate
break
}
ifhitweapon
state botflyhitstate
ifrnd 2 operate
ifp pshrunk
{
state stomphisfreakingass
}
ifrnd 25
{
ifp phigher
{
}
else
{
ifp ponground
{
iffloordistl 200
{
sound DUKE_JETPACK_OFF
iffloordistl 100 ai AIWALKFALL else ai AIWALKFALLHARD
cactor SOBBOTWALK
}
}
}
}
ifai AIFLYWAIT
{
move 0
sound DUKE_JETPACK_ON
ai AIBOTFLYSEEKDOWN
}
ifai AIBOTFLYSEEKUP
state botflyseekupstate
else
ifai AIBOTFLYSEEKDOWN
state botflyseekdownstate
else
ifai AIBOTFLYDOWN
state botflydownstate
else
ifai AIBOTFLYUP
state botflyupstate
else
ifai AIBOTFLYDODGEUP
state botflydodgestate
else
ifai AIBOTFLYDODGEDOWN
state botflydodgestate
else
ifai AIFLYUPMOMENT
state botflyupmomentstate
else
ifai AIFLYUPHOLD
state botflyholdstate
else
ifai AIBOTFLYSTRAIGHT
state botflystraightstate
break
enda
action AELFUZIWALK 0 4 5 1 30
action AELFUZIRUN 0 4 5 1 15
action AELFUZIFROZEN 0 1 5 1
action AELFUZIGROW 0 1 5 1
action AELFUZIJUMP 266 2 5 1 15
action AELFUZIFALL 276 1 5 1 1
action AELFUZIDYING 260 5 1 1 25
action AELFUZIDEAD 265 1 1 1 1
action AELFUZISHOOT 281 2 5 1
move elfuziwalkspeed 100
move elfuzirunspeed 200
move elfuzijumpspeed 150 -200
move elfuzifallspeed 150 150
move elfuzistopped
move elfuzishrink1 80
ai AIELFUZISHRINKING AELFUZIWALK elfuzishrink1 fleeenemy
ai AIELFUZIDYING AELFUZIDYING elfuzistopped faceplayer
ai AIELFUZISEEKING AELFUZIWALK elfuziwalkspeed seekplayer
ai AIELFUZIHUNTING AELFUZIRUN elfuzirunspeed faceplayer
ai AIELFUZIJUMPING AELFUZIJUMP elfuzijumpspeed geth getv
ai AIELFUZIFALLING AELFUZIFALL elfuzifallspeed geth getv
ai AIELFUZISHOOTING AELFUZISHOOT elfuzistopped faceplayer
ai AIELFUZIIQ AELFUZIRUN elfuzirunspeed geth getv
ai AIELFUZIGROW AELFUZIGROW elfuzistopped geth getv
state elfuziseekstate
ifcansee
{
ifp pdead break
ifpdistl 15000
{
ifrnd 16
{
ai AIELFUZIHUNTING
}
}
}
ends
state elfuzihuntstate
ifp pdead ai AIELFUZISEEKING
ifcansee
{
ifpdistl 2000
{
ai AIELFUZISHOOTING
break
}
ifrnd 64 ifnotmoving
{
ai AIELFUZIJUMPING
break
}
ifrnd 7
ifpdistl 8192
{
ai AIELFUZISHOOTING
}
}
else
{
ifrnd 64 ai AIELFUZIIQ
}
ends
state elfuziiqstate
ifcansee
{
ai AIELFUZIHUNTING
}
else
{
ifrnd 16
ifnotmoving
{
ai AIELFUZISEEKING
}
}
ends
state elfuzishootstate
ifcansee
{
ifp pdead ai AIELFUZISEEKING
ifactioncount 3
{
ifspritepal 0
{
sound CHAINGUN_FIRE
shoot CHAINGUN
}
else {
ifrnd 80
{
sound SHRINKER_FIRE
shoot SHRINKER
} }
resetactioncount
}
ifrnd 4
ai AIELFUZIHUNTING
}
else
{
ai AIELFUZIIQ
}
ends
state elfuzijumpingstate
ifactioncount 2
ai AIELFUZIFALLING
ends
state elfuzifallingstate
iffloordistl 5
ai AIELFUZIHUNTING
ends
action NONEACTION 0 1 1 1 1
move forwardspeed 1500
// ai AIMOVEFORWARD NONEACTION forwardspeed faceplayer
useractor notenemy SPECBLOOD 0 // Hendricks266 fixed this actor. Before this fix, this line said "useractor SPECBLOOD 0", and the code was all messed up.
cstat 32768
// sizeat 42 36
// sizeat 32 27
sizeat 1 1
// ai AIMOVEFORWARD
spawn BLOOD
killit
enda
state elfuzihitstate
spawn BLOOD // Hendricks266 fixed this bug. Before this fix, this line said "spawn SPECBLOOD". SPECBLOOD is a piece of shit.
state random_wall_jibs
ifdead
{
ifrnd 128
{
spawn XMASPRESENT2
}
ifwasweapon GROWSPARK
{
sound ACTOR_GROWING
ai AIELFUZIGROW
break
}
addkills 1
state random_wall_jibs
ifwasweapon FREEZEBLAST
{
sound SOMETHINGFROZE
spritepal 1
move 0
action AELFUZIFROZEN
strength 0
break
}
ifwasweapon RADIUSEXPLOSION
{
sound SQUISH2
// state standard_jibs
// state standard_jibs
state standard_jibs
killit
}
else
ifwasweapon RPG
{
sound SQUISH2
// state standard_jibs
// state standard_jibs
state standard_jibs
killit
}
else
ai AIELFUZIDYING
}
else
{
// state random_wall_jibs
ifwasweapon SHRINKSPARK
{
sound ACTOR_SHRINKING
ai AIELFUZISHRINKING
}
else
ifwasweapon GROWSPARK
sound EXPANDERHIT
else
ifrnd 32
ai AIELFUZISHOOTING
}
ends
state elfuzishrinkstate
ifcount SHRUNKDONECOUNT
ai AIELFUZISEEKING
else
ifcount SHRUNKCOUNT
// sizeto 48 40
sizeto 32 27
else
state genericshrunkcode
ends
state elfuzidyingstate
ifactioncount 5
{
ifrnd 64
spawn BLOODPOOL
state rf
iffloordistl 8
sound THUD
action AELFUZIDEAD
move elfuzistopped
break
}
ends
useractor enemy ELFUZI ELFUZISTRENGTH
fall
state checksquished
ifaction AELFUZIDEAD
{
ifrespawn
ifcount RESPAWNACTORTIME
{
spawn TRANSPORTERSTAR
cstat 257
strength ELFUZISTRENGTH
ai AIELFUZISEEKING
}
else
{
strength 0
ifhitweapon
ifwasweapon RADIUSEXPLOSION
{
sound SQUISH2
// state standard_jibs
// state standard_jibs
state standard_jibs
killit
}
break
}
break
}
else
ifaction AELFUZIFROZEN
{
ifcount THAWTIME
{
ai AIELFUZISEEKING
getlastpal
}
else
ifcount FROZENDRIPTIME
ifrnd 8
spawn WATERDRIP
ifhitweapon
{
ifwasweapon FREEZEBLAST
{
strength 0
break
}
addkills 1
lotsofglass 30
ifrnd 84 spawn BLOODPOOL
sound GLASS_BREAKING
killit
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
break
}
else
ifai AIELFUZIDYING
state elfuzidyingstate
ifai AIELFUZISHRINKING nullop else { ifai AIELFUZIGROW nullop else { ifhitweapon state elfuzihitstate } }
ifai 0
{
ai AIELFUZISEEKING
cstat 257
// clipdist 32
// sizeat 42 36
sizeat 32 27
ifspritepal 0 nullop else
{
ifrnd 72
strength ELFUZIALTSTR
else
strength ELFUZISTRENGTH
}
}
else
ifai AIELFUZISEEKING state elfuziseekstate
else ifai AIELFUZIHUNTING state elfuzihuntstate
else ifai AIELFUZIIQ state elfuziiqstate
else ifai AIELFUZISHOOTING state elfuzishootstate
else ifai AIELFUZIJUMPING state elfuzijumpingstate
else ifai AIELFUZIFALLING state elfuzifallingstate
else ifai AIELFUZIGROW state genericgrowcode
ifai AIELFUZISHRINKING state elfuzishrinkstate
enda
useractor enemystayput ELFUZISTAYPUT ELFUZISTRENGTH
cstat 257
// clipdist 32
ai AIELFUZISEEKING
cactor ELFUZI
enda
action AELFGUNWALK 0 4 5 1 20
action AELFGUNRUN 0 4 5 1 10
action AELFGUNFROZEN 0 1 5 1
action AELFGUNGROW 0 1 5 1
action AELFGUNDYING 35 4 1 1 25
action AELFGUNDEAD 39 1 1 1 1
action AELFGUNSHOOT 20 3 5 1 40
move elfgunwalkspeed 70
move elfgunrunspeed 110
move elfgunstopped
move elfgunshrink1 80
ai AIELFGUNSHRINKING AELFGUNWALK elfgunshrink1 fleeenemy
ai AIELFGUNDYING AELFGUNDYING elfgunstopped faceplayer
ai AIELFGUNSEEKING AELFGUNWALK elfgunwalkspeed seekplayer
ai AIELFGUNHUNTING AELFGUNRUN elfgunrunspeed faceplayer
ai AIELFGUNSHOOTING AELFGUNSHOOT elfgunstopped faceplayer
ai AIELFGUNIQ AELFGUNRUN elfgunrunspeed geth getv
ai AIELFGUNGROW AELFGUNGROW elfgunstopped geth getv
state elfgunseekstate
ifcansee
{
ifp pdead break
ifpdistl 15000
{
ifrnd 16
{
ai AIELFGUNHUNTING
}
}
}
ends
state elfgunhuntstate
ifp pdead ai AIELFGUNSEEKING
ifcansee
{
ifpdistl 2000
{
ai AIELFGUNSHOOTING
break
}
}
ifrnd 7
{
ifpdistl 8192 ai AIELFGUNSHOOTING
}
else ifrnd 48 ai AIELFGUNIQ
ends
state elfguniqstate
ifcansee ai AIELFGUNHUNTING
else
{
ifrnd 16
ifnotmoving
ai AIELFGUNSEEKING
}
ends
state elfgunshootstate
ifcansee
{
ifp pdead ai AIELFGUNSEEKING
ifcount 20
{
ifcount 29
nullop
else
{
ifcount 28
{
sound SHOTGUN_COCK
}
}
}
else
{
ifcount 19
{
sound SHOTGUN_FIRE
shoot SHOTGUN
shoot SHOTGUN
shoot SHOTGUN
shoot SHOTGUN
shoot SHOTGUN
}
}
ifactioncount 3
{
resetcount
resetactioncount
ifrnd 64
ai AIELFGUNHUNTING
}
}
else ai AIELFGUNIQ
ends
state elfgunhitstate
spawn BLOOD
state random_wall_jibs
ifdead
{
state random_wall_jibs
ifrnd 128
{
spawn XMASPRESENT
}
ifwasweapon GROWSPARK
{
sound ACTOR_GROWING
ai AIELFGUNGROW
break
}
addkills 1
ifwasweapon FREEZEBLAST
{
sound SOMETHINGFROZE
spritepal 1
move 0
action AELFGUNFROZEN
strength 0
break
}
ifwasweapon RADIUSEXPLOSION
{
sound SQUISH2
// state standard_jibs
// state standard_jibs
state standard_jibs
killit
}
else
ifwasweapon RPG
{
sound SQUISH2
// state standard_jibs
// state standard_jibs
state standard_jibs
killit
}
else
ai AIELFGUNDYING
}
else
{
state random_wall_jibs
ifwasweapon SHRINKSPARK
{
sound ACTOR_SHRINKING
ai AIELFGUNSHRINKING
}
else
ifwasweapon GROWSPARK
sound EXPANDERHIT
else
ifrnd 32
ai AIELFGUNSHOOTING
}
ends
state elfgunshrinkstate
ifcount SHRUNKDONECOUNT
ai AIELFGUNSEEKING
else
ifcount SHRUNKCOUNT
// sizeto 48 40
sizeto 32 27
else
state genericshrunkcode
ends
state elfgundyingstate
ifactioncount 4
{
ifrnd 64
spawn BLOODPOOL
state rf
iffloordistl 8
sound THUD
action AELFGUNDEAD
move elfgunstopped
break
}
ends
useractor enemy ELFGUN ELFGUNSTRENGTH
fall
state checksquished
ifaction AELFGUNDEAD
{
ifrespawn
ifcount RESPAWNACTORTIME
{
spawn TRANSPORTERSTAR
cstat 257
strength ELFGUNSTRENGTH
ai AIELFGUNSEEKING
}
else
{
strength 0
ifhitweapon
ifwasweapon RADIUSEXPLOSION
{
sound SQUISH2
// state standard_jibs
// state standard_jibs
state standard_jibs
killit
}
break
}
break
}
else
ifaction AELFGUNFROZEN
{
ifcount THAWTIME
{
ai AIELFGUNSEEKING
getlastpal
}
else
ifcount FROZENDRIPTIME
ifrnd 8
spawn WATERDRIP
ifhitweapon
{ // state elfgunhitstate
ifwasweapon FREEZEBLAST
{
strength 0
break
}
addkills 1
lotsofglass 30
ifrnd 84 spawn BLOODPOOL
sound GLASS_BREAKING
killit
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
break
}
else
ifai AIELFGUNDYING
state elfgundyingstate
ifai AIELFGUNSHRINKING nullop else { ifai AIELFGUNGROW nullop else { ifhitweapon { state elfgunhitstate } } }
ifai 0
{
ai AIELFGUNSEEKING
cstat 257
// clipdist 32
// sizeat 42 36
sizeat 32 27
strength ELFGUNSTRENGTH
}
else
ifai AIELFGUNSEEKING { state elfgunseekstate } else
ifai AIELFGUNHUNTING { state elfgunhuntstate } else
ifai AIELFGUNIQ { state elfguniqstate } else
ifai AIELFGUNSHOOTING { state elfgunshootstate } else
ifai AIELFGUNGROW { state genericgrowcode }
ifai AIELFGUNSHRINKING { state elfgunshrinkstate }
break
enda
useractor enemystayput ELFGUNSTAYPUT ELFGUNSTRENGTH
ai AIELFGUNSEEKING
cstat 257
// clipdist 32
cactor ELFGUN
break
enda
state present
fall
sizeat 20 20
cstat 257
clipdist 16
ends
state present1
ifp pshrunk nullop else
ifp palive
ifcount 6
ifpdistl RETRIEVEDISTANCE
ifcanseetarget
{
sound RIP_PAPER
ifvarl temp 1 { ifrnd 128 spawn SHIELD else spawn SIXPAK } else espawnvar temp
killit
}
ends
state present2
ifp pshrunk nullop else
ifp palive
ifcount 6
ifpdistl RETRIEVEDISTANCE
ifcanseetarget
{
sound RIP_PAPER
ifvarl temp 1 { ifrnd 128 spawn CHAINGUNSPRITE else spawn SHOTGUNSPRITE } else espawnvar temp
killit
}
ends
useractor notenemy XMASPRESENT 0 // ELFGUN
state present
state present1
enda
useractor notenemy XMASPRESENT2 0 // ELFUZI
state present
state present2
enda
action VOIDACTION
move NULLSPEED
ai MAKENOISE VOIDACTION NULLSPEED geth getv
useractor notenemy NOISEMAKER 999
sizeat 48 40
cstat 17
ifai 0 ai MAKENOISE
ifspritepal 21
{
ifhitweapon
{
ifcount 24
{
strength 999
ifrnd 128 sound MOVIE2 else sound MOVIE3
resetcount
}
}
}
else
{
hitradius 4096 1 1 1 1
}
enda
useractor notenemy MALEGEEK 20
ifhitweapon
{
guts JIBS6 3
sound SQUISH2
ifdead
{
stopsound MALECAROL
guts JIBS6 2
guts JIBS6 3
guts JIBS6 4
sound MALECAROL_DEAD
globalsound MOUSEANNOY
killit
}
}
ifcount 225
{
sound MALECAROL
resetcount
}
enda
useractor notenemy FEMALEGEEK 20
ifhitweapon
{
guts JIBS6 3
sound SQUISH2
ifdead
{
stopsound FEMALECAROL
guts JIBS6 2
guts JIBS6 3
guts JIBS6 4
sound FEMALECAROL_DEAD
killit
}
}
ifcount 225
{
sound FEMALECAROL
resetcount
}
enda
state mariocode
cstat 257
sizeat 62 62
ends
useractor notenemy NWMARIO 0
state mariocode
enda
useractor notenemy NWMARIO2 0
state mariocode
enda