#Thanks to 'Lat for the giant crawla.
#Crawla boss in Heaven Ascend Zone.
#ALL NEXT FREESLOTS ARE STORED HERE TO SAVE SPACE!

FREESLOT
MT_HAZFIGHTMONITOR
SPR_FIGM
S_Fightmonitor1
S_Fightmonitor2
MT_HAZFIGHTICON
S_FightIcon1
S_FightIcon2
S_FightIcon3
S_FightIcon4
S_FightIcon5
SPR_ORS3
MT_HAZBOSS
#Check health
S_HABOSSC1
S_HABOSSC2
#Death
S_HABOSSD1
S_HABOSSD2
S_HABOSSD3
S_HABOSSD4
S_HABOSSD5
S_HABOSSD6
S_HABOSSD7
S_HABOSSD8
S_HABOSSD9
S_HABOSSDA
S_HABOSSDB
S_HABOSSDC
S_HABOSSDD
#Fire
S_HABOSSF1
S_HABOSSF2
S_HABOSSF3
S_HABOSSF4
S_HABOSSF5
#Spawn
S_HABOSSSP1
S_HABOSSSP2
S_HABOSSSP3
S_HABOSSSP4
S_HABOSSSP5
#Hurt
S_HABOSSH1
S_HABOSSH2
S_HABOSSH3
#Move
S_HABOSSM1
S_HABOSSM2
S_HABOSSM3
S_HABOSSM4
S_HABOSSM5
S_HABOSSM6
#Pinch
S_HABOSSP1
S_HABOSSP2
S_HABOSSP3
S_HABOSSP4
S_HABOSSP5
S_HABOSSP6
S_HABOSSP7
S_HABOSSP8
S_HABOSSP9
S_HABOSSPA
S_HABOSSPB
S_HABOSSPC
S_HABOSSPD
S_HABOSSPE
S_HABOSSPF
S_HABOSSPG
S_HABOSSPH
S_HABOSSPI
S_HABOSSPJ
S_HABOSSPK
#XDeath
S_HABOSSX1
S_HABOSSX2
S_HABOSSX3
S_HABOSSX4
S_HABOSSX5
S_HABOSSX6
S_HABOSSX7
S_HABOSSX8
S_HABOSSX9

Thing MT_HAZBOSS
#$Name Hazard
#$Sprite ORS3A1
MAPTHINGNUM = 1341
SPAWNSTATE = S_HABOSSM1
SPAWNHEALTH = 8
SEESTATE = S_HABOSSM1
SEESOUND = sfx_none
REACTIONTIME = 32
ATTACKSOUND = sfx_none
PAINSTATE = S_HABOSSH1
PAINCHANCE = 200
PAINSOUND = sfx_dmpain
MELEESTATE = S_HABOSSC1
MISSILESTATE = S_HABOSSC1
DEATHSTATE = S_HABOSSD1
DEATHSOUND = sfx_cybdth
XDEATHSTATE = S_NULL
SPEED = 10
RADIUS = 2621440
HEIGHT = 4194304
MASS = sfx_none
DAMAGE = 2
ACTIVESOUND = sfx_none
RAISESTATE = S_HABOSSP1
FLAGS = MF_SPECIAL|MF_SHOOTABLE|MF_BOSS


#-STATES- Move

FRAME S_HABOSSM1
SPRITENAME = ORS3
SPRITEFRAME = A
DURATION = 1
NEXT = S_HABOSSM2
ACTION A_Chase
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSM2
SPRITENAME = ORS3
SPRITEFRAME = B
DURATION = 1
NEXT = S_HABOSSM3
ACTION A_Chase
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSM3
SPRITENAME = ORS3
SPRITEFRAME = C
DURATION = 1
NEXT = S_HABOSSM4
ACTION A_Chase
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSM4
SPRITENAME = ORS3
SPRITEFRAME = D
DURATION = 1
NEXT = S_HABOSSM5
ACTION A_Chase
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSM5
SPRITENAME = ORS3
SPRITEFRAME = E
DURATION = 1
NEXT = S_HABOSSM6
ACTION A_Chase
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSM6
SPRITENAME = ORS3
SPRITEFRAME = F
DURATION = 1
NEXT = S_HABOSSM1
ACTION A_Chase
VAR1 = 0
VAR2 = 0

#-STATES- Check Attack
FRAME S_HABOSSC1
SPRITENAME = ORS3
SPRITEFRAME = F
DURATION = 0
NEXT = S_HABOSSC2
ACTION A_CheckHealth
VAR1 = 3
VAR2 = S_HABOSSP1

FRAME S_HABOSSC2
SPRITENAME = ORS3
SPRITEFRAME = F
DURATION = 0
NEXT = S_HABOSSC1
ACTION A_RandomState
VAR1 = S_HABOSSSP1
VAR2 = S_HABOSSF1

#-STATES- Spawning
FRAME S_HABOSSSP1
SPRITENAME = ORS3
SPRITEFRAME = F
DURATION = 48
NEXT = S_HABOSSSP2
ACTION A_FaceTarget
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSSP2
SPRITENAME = ORS3
SPRITEFRAME = U
DURATION = 0
NEXT = S_HABOSSSP3
ACTION A_PlaySound
VAR1 = sfx_s3k81
VAR2 = 0

FRAME S_HABOSSSP3
SPRITENAME = ORS3
SPRITEFRAME = T
DURATION = 1
NEXT = S_HABOSSSP4
ACTION A_BossFireShot
VAR1 = MT_AMTCRAWLA
VAR2 = 0

FRAME S_HABOSSSP4
SPRITENAME = ORS3
SPRITEFRAME = U
DURATION = 1
NEXT = S_HABOSSSP5
ACTION A_BossFireShot
VAR1 = MT_AMTCRAWLA
VAR2 = 1

FRAME S_HABOSSSP5
SPRITENAME = ORS3
SPRITEFRAME = F
DURATION = 1
NEXT = S_HABOSSM1
ACTION A_SetObjectFlags
VAR1 = MF_SHOOTABLE
VAR2 = 2

#-STATES- Shooting

FRAME S_HABOSSF1
SPRITENAME = ORS3
SPRITEFRAME = F
DURATION = 48
NEXT = S_HABOSSF2
ACTION A_FaceTarget
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSF2
SPRITENAME = ORS3
SPRITEFRAME = U
DURATION = 0
NEXT = S_HABOSSF3
ACTION A_FaceTarget
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSF3
SPRITENAME = ORS3
SPRITEFRAME = T
DURATION = 1
NEXT = S_HABOSSF4
ACTION A_BossFireShot
VAR1 = MT_TURRETLASER
VAR2 = 0

FRAME S_HABOSSF4
SPRITENAME = ORS3
SPRITEFRAME = U
DURATION = 1
NEXT = S_HABOSSF5
ACTION A_BossFireShot
VAR1 = MT_TURRETLASER
VAR2 = 1

FRAME S_HABOSSF5
SPRITENAME = ORS3
SPRITEFRAME = F
DURATION = 1
NEXT = S_HABOSSM1
ACTION A_SetObjectFlags
VAR1 = MF_SHOOTABLE
VAR2 = 2

#-STATES- Pinch attack

FRAME S_HABOSSP1
SPRITENAME = ORS3
SPRITEFRAME = M
DURATION = 6
NEXT = S_HABOSSP2
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSP2
SPRITENAME = ORS3
SPRITEFRAME = N
DURATION = 6
NEXT = S_HABOSSP3
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSP3
SPRITENAME = ORS3
SPRITEFRAME = O
DURATION = 6
NEXT = S_HABOSSP4
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSP4
SPRITENAME = ORS3
SPRITEFRAME = P
DURATION = 6
NEXT = S_HABOSSP5
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSP5
SPRITENAME = ORS3
SPRITEFRAME = Q
DURATION = 6
NEXT = S_HABOSSP6
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSP6
SPRITENAME = ORS3
SPRITEFRAME = R
DURATION = 6
NEXT = S_HABOSSP7
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSP7
SPRITENAME = ORS3
SPRITEFRAME = S
DURATION = 6
NEXT = S_HABOSSP8
ACTION A_FaceTarget
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSP8
SPRITENAME = ORS3
SPRITEFRAME = G
DURATION = 1
NEXT = S_HABOSSP9
ACTION A_Thrust
VAR1 = 64
VAR2 = 2

FRAME S_HABOSSP9
SPRITENAME = ORS3
SPRITEFRAME = H
DURATION = 1
NEXT = S_HABOSSPA
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPA
SPRITENAME = ORS3
SPRITEFRAME = I
DURATION = 1
NEXT = S_HABOSSPB
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPB
SPRITENAME = ORS3
SPRITEFRAME = J
DURATION = 1
NEXT = S_HABOSSPC
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPC
SPRITENAME = ORS3
SPRITEFRAME = K
DURATION = 1
NEXT = S_HABOSSPD
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPD
SPRITENAME = ORS3
SPRITEFRAME = L
DURATION = 1
NEXT = S_HABOSSPE
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPE
SPRITENAME = ORS3
SPRITEFRAME = S
DURATION = 1
NEXT = S_HABOSSPF
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPF
SPRITENAME = ORS3
SPRITEFRAME = R
DURATION = 1
NEXT = S_HABOSSPG
ACTION A_Chase
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSPG
SPRITENAME = ORS3
SPRITEFRAME = Q
DURATION = 1
NEXT = S_HABOSSPH
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPH
SPRITENAME = ORS3
SPRITEFRAME = P
DURATION = 1
NEXT = S_HABOSSPI
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPI
SPRITENAME = ORS3
SPRITEFRAME = O
DURATION = 1
NEXT = S_HABOSSPJ
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPJ
SPRITENAME = ORS3
SPRITEFRAME = N
DURATION = 1
NEXT = S_HABOSSPK
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

FRAME S_HABOSSPK
SPRITENAME = ORS3
SPRITEFRAME = M
DURATION = 1
NEXT = S_HABOSSM1
ACTION A_SpawnObjectRelative
VAR1 = 0
VAR2 = MT_BLACKEGGMAN_GOOPFIRE

#-STATES- Pain
FRAME S_HABOSSH1
SPRITENAME = ORS3
SPRITEFRAME = V
DURATION = 1
NEXT = S_HABOSSH2
ACTION A_SetObjectFlags
VAR1 = MF_SHOOTABLE
VAR2 = 1

FRAME S_HABOSSH2
SPRITENAME = ORS3
SPRITEFRAME = V
DURATION = 24
NEXT = S_HABOSSH3
ACTION A_Pain
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSH3
SPRITENAME = ORS3
SPRITEFRAME = V
DURATION = 1
NEXT = S_HABOSSM1
ACTION A_RandomState
VAR1 = S_HABOSSSP1
VAR2 = S_HABOSSF1


#-STATES- Death
FRAME S_HABOSSD1
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSD2
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSD2
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSD3
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSD3
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSD4
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSD4
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSD5
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSD5
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSD6
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSD6
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSD7
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSD7
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSD9
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSD9
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSDA
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSDA
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSDB
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSDB
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSDC
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSDC
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSDD
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSDD
SPRITENAME = ORS3
SPRITEFRAME = W
DURATION = 8
NEXT = S_HABOSSX1
ACTION A_BossScream
VAR1 = 0
VAR2 = 0

#-STATES- XDeathState

FRAME S_HABOSSX1
SPRITENAME = ORS3
SPRITEFRAME = TR_TRANS10|W
DURATION = 6
NEXT = S_HABOSSX2
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSX2
SPRITENAME = ORS3
SPRITEFRAME = TR_TRANS20|W
DURATION = 6
NEXT = S_HABOSSX3
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSX3
SPRITENAME = ORS3
SPRITEFRAME = TR_TRANS30|W
DURATION = 6
NEXT = S_HABOSSX4
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSX4
SPRITENAME = ORS3
SPRITEFRAME = TR_TRANS40|W
DURATION = 6
NEXT = S_HABOSSX5
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSX5
SPRITENAME = ORS3 v
SPRITEFRAME = TR_TRANS50|W
DURATION = 6
NEXT = S_HABOSSX6
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSX6
SPRITENAME = ORS3
SPRITEFRAME = TR_TRANS60|W
DURATION = 6
NEXT = S_HABOSSX7
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSX7
SPRITENAME = ORS3
SPRITEFRAME = TR_TRANS70|W
DURATION = 6
NEXT = S_HABOSSX8
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSX8
SPRITENAME = ORS3
SPRITEFRAME = TR_TRANS80|W
DURATION = 6
NEXT = S_HABOSSX9
ACTION none
VAR1 = 0
VAR2 = 0

FRAME S_HABOSSX9
SPRITENAME = ORS3
SPRITEFRAME = TR_TRANS90|W
DURATION = 6
NEXT = S_NULL
ACTION A_BossDeath
VAR1 = 0
VAR2 = 0