FREESLOT
S_GLASSBUMPER_IDLE
S_GLASSBUMPER_ACTIVE
S_GLASSBUMPER_DEAD1
S_GLASSBUMPER_DEAD2
S_GLASSBUMPER_P_IDLE
S_GLASSBUMPER_P_ACTIVE
S_GLASSBUMPER_P_DEAD1
S_GLASSBUMPER_P_DEAD2
S_GLASSBUMPER_G_IDLE
S_GLASSBUMPER_G_ACTIVE
S_GLASSBUMPER_G_DEAD1
S_GLASSBUMPER_G_DEAD2
S_GLASSBUMPER_B_IDLE
S_GLASSBUMPER_B_ACTIVE
S_GLASSBUMPER_B_DEAD1
S_GLASSBUMPER_B_DEAD2
S_CRABBUMPER_WALK1
S_CRABBUMPER_WALK2
S_CRABBUMPER_WALK3
S_CRABBUMPER_WALK4
S_CRABBUMPER_PAUSE
S_CRABBUMPER_WALK1_GLASS
S_CRABBUMPER_WALK2_GLASS
S_CRABBUMPER_WALK3_GLASS
S_CRABBUMPER_WALK4_GLASS
S_CRABBUMPER_PAUSE_GLASS
S_CRABBUMPER_WALK1_EGGBUMP
S_CRABBUMPER_WALK2_EGGBUMP
S_CRABBUMPER_WALK3_EGGBUMP
S_CRABBUMPER_WALK4_EGGBUMP
S_CRABBUMPER_PAUSE_EGGBUMP
S_PURPLEGRAPE_DECOR
S_PURPLEGRAPE_EXPLODE
S_PURPLEGRAPE_SPLISH
S_PURPLEGRAPE_GRASS
S_PURPLEGRAPE_QUIET
S_PURPLEGRAPE_FOUND
S_PURPLEGRAPE_APEAR
S_PURPLEGRAPE_READYFALL
S_PURPLEGRAPE_FALLING
S_PURPLEGRAPE_MISSILE1
S_PURPLEGRAPE_MISSILE2
S_PURPLEGRAPE_MISSILE3
S_PURPLEGRAPE_MISSILE4
S_PURPLEGRAPE_PARTICLE
S_PURPLEGRAPE_PARTDEAD
S_FREEZER_SPAWNER_STND
S_FREEZER_SPAWNER_SHOOT
S_COLDFREEZER
S_ICEBALL_STND
S_ICEBALL_RUN1
S_ICEBALL_RUN2
S_ICEBALL_ATTACK1
S_ICEBALL_ATTACK2
S_ICEBALL_ATTACK3
S_ICEBALL_ATTACK4
S_ICEBALL_ATTACK5
S_ICEBALL_ATTACK6
SPR_CRB3
SPR_CRB4
SPR_CRB5
SPR_GRAP
SPR_GRPE
SPR_GRPS
SPR_ICBL

### Crab Bumper ###

Object MT_CRABBUMPER
#$Name Crab Bumper
#$Sprite CRB3A0
#$Category Enemies
#$Flags4Text 2 Bumpers
MapThingNum = 150
SpawnState = S_CRABBUMPER_WALK1
SpawnHealth = 1
ReactionTime = 32
DeathState = S_XPLD_FLICKY
DeathSound = sfx_pop
Speed = 8
Radius = 28*FRACUNIT
Height = 64*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE

State S_CRABBUMPER_WALK1
SpriteName = CRB3
SpriteFrame = A
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE
Next = S_CRABBUMPER_WALK2

State S_CRABBUMPER_WALK2
SpriteName = CRB3
SpriteFrame = B
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE
Next = S_CRABBUMPER_WALK3

State S_CRABBUMPER_WALK3
SpriteName = CRB3
SpriteFrame = A
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE
Next = S_CRABBUMPER_WALK4

State S_CRABBUMPER_WALK4
SpriteName = CRB3
SpriteFrame = C
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE
Next = S_CRABBUMPER_WALK1

State S_CRABBUMPER_PAUSE
SpriteName = CRB3
SpriteFrame = A
Duration = 40
Next = S_CRABBUMPER_WALK1

Object MT_CRABBUMPER_AIM
#$Name Crab Bumper (Homing)
#$Sprite CRB3A0
#$Category Enemies
MapThingNum = 151
SpawnState = S_CRABBUMPER_WALK1
SpawnHealth = 1
ReactionTime = 32
DeathState = S_XPLD_FLICKY
DeathSound = sfx_pop
Speed = 8
Radius = 28*FRACUNIT
Height = 64*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE

### Crab Bumper (Glass Bumper) ###

Object MT_CRABBUMPER_GLASS
#$Name Crab Bumper (Glass Bumper)
#$Sprite CRB4A0
#$Category Enemies
#$Flags4Text 2 Bumpers
#$ParameterText Ver. (1-3)
MapThingNum = 152
SpawnState = S_CRABBUMPER_WALK1_GLASS
SpawnHealth = 1
ReactionTime = 32
DeathState = S_XPLD_FLICKY
DeathSound = sfx_pop
Speed = 8
Radius = 28*FRACUNIT
Height = 64*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE

State S_CRABBUMPER_WALK1_GLASS
SpriteName = CRB4
SpriteFrame = A
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE_GLASS
Next = S_CRABBUMPER_WALK2_GLASS

State S_CRABBUMPER_WALK2_GLASS
SpriteName = CRB4
SpriteFrame = B
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE_GLASS
Next = S_CRABBUMPER_WALK3_GLASS

State S_CRABBUMPER_WALK3_GLASS
SpriteName = CRB4
SpriteFrame = A
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE_GLASS
Next = S_CRABBUMPER_WALK4_GLASS

State S_CRABBUMPER_WALK4_GLASS
SpriteName = CRB4
SpriteFrame = C
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE_GLASS
Next = S_CRABBUMPER_WALK1_GLASS

State S_CRABBUMPER_PAUSE_GLASS
SpriteName = CRB4
SpriteFrame = A
Duration = 40
Next = S_CRABBUMPER_WALK1_GLASS

Object MT_CRABBUMPER_GLASS_AIM
#$Name Crab Bumper (Glass Bumper - Homing)
#$Sprite CRB4A0
#$Category Enemies
#$ParameterText Ver. (1-3)
MapThingNum = 153
SpawnState = S_CRABBUMPER_WALK1_GLASS
SpawnHealth = 1
ReactionTime = 32
DeathState = S_XPLD_FLICKY
DeathSound = sfx_pop
Speed = 8
Radius = 28*FRACUNIT
Height = 64*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE

### Crab Bumper (Eggman Bumper) ###

Object MT_CRABBUMPER_EGGBUMP
#$Name Crab Bumper (Eggman Bumper)
#$Sprite CRB5A0
#$Category Enemies
#$Flags4Text 2 Bumpers
MapThingNum = 154
SpawnState = S_CRABBUMPER_WALK1_EGGBUMP
SpawnHealth = 1
ReactionTime = 32
DeathState = S_XPLD_FLICKY
DeathSound = sfx_pop
Speed = 8
Radius = 28*FRACUNIT
Height = 64*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE

State S_CRABBUMPER_WALK1_EGGBUMP
SpriteName = CRB5
SpriteFrame = A
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE_EGGBUMP
Next = S_CRABBUMPER_WALK2_EGGBUMP

State S_CRABBUMPER_WALK2_EGGBUMP
SpriteName = CRB5
SpriteFrame = B
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE_EGGBUMP
Next = S_CRABBUMPER_WALK3_EGGBUMP

State S_CRABBUMPER_WALK3_EGGBUMP
SpriteName = CRB5
SpriteFrame = A
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE_EGGBUMP
Next = S_CRABBUMPER_WALK4_EGGBUMP

State S_CRABBUMPER_WALK4_EGGBUMP
SpriteName = CRB5
SpriteFrame = C
Duration = 3
Action = A_CrushstaceanWalk
Var1 = 0
Var2 = S_CRABBUMPER_PAUSE_EGGBUMP
Next = S_CRABBUMPER_WALK1_EGGBUMP

State S_CRABBUMPER_PAUSE_EGGBUMP
SpriteName = CRB5
SpriteFrame = A
Duration = 40
Next = S_CRABBUMPER_WALK1_EGGBUMP

Object MT_CRABBUMPER_EGGBUMP_AIM
#$Name Crab Bumper (Eggman Bumper - Homing)
#$Sprite CRB5A0
#$Category Enemies
MapThingNum = 155
SpawnState = S_CRABBUMPER_WALK1_EGGBUMP
SpawnHealth = 1
ReactionTime = 32
DeathState = S_XPLD_FLICKY
DeathSound = sfx_pop
Speed = 8
Radius = 28*FRACUNIT
Height = 64*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE

### Grape ###

Object MT_PURPLEGRAPE_DECOR
#$Name Grape
#$Sprite GRAPA0
#$Category Scenery
MapThingNum = 4004
SpawnState = S_PURPLEGRAPE_DECOR
SpawnHealth = 1
ReactionTime = 32
DeathState = S_PURPLEGRAPE_EXPLODE
DeathSound = sfx_ghit
Speed = 0
Radius = 64*FRACUNIT
Height = 128*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_SPECIAL|MF_NOGRAVITY

State S_PURPLEGRAPE_DECOR
SpriteName = GRAP
SpriteFrame = A
Duration = -1
Next = S_PURPLEGRAPE_DECOR

State S_PURPLEGRAPE_EXPLODE
SpriteName = GRPE
SpriteFrame = A|FF_ANIMATE
Duration = 12
Var1 = 5
Var2 = 2
Next = S_NULL

State S_PURPLEGRAPE_SPLISH
SpriteName = GRPS
SpriteFrame = A|FF_ANIMATE|FF_TRANS50
Duration = 18
Var1 = 8
Var2 = 2
Next = S_NULL

State S_PURPLEGRAPE_GRASS
SpriteName = GRAP
SpriteFrame = C
Duration = -1
Next = S_PURPLEGRAPE_GRASS

### Sussy Grape ###

Object MT_PURPLEGRAPE
#$Name Sussy Grape
#$Sprite GRAPB0
#$Category Enemies
MapThingNum = 4005
SpawnState = S_PURPLEGRAPE_QUIET
SpawnHealth = 1
SeeState = S_PURPLEGRAPE_FOUND
SeeSound = sfx_None
ReactionTime = 32
DeathState = S_PURPLEGRAPE_EXPLODE
DeathSound = sfx_ghit
Speed = 0
Radius = 64*FRACUNIT
Height = 128*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE|MF_NOGRAVITY

State S_PURPLEGRAPE_QUIET
SpriteName = GRAP
SpriteFrame = A
Duration = 2
Next = S_PURPLEGRAPE_QUIET

State S_PURPLEGRAPE_FOUND
SpriteName = GRAP
SpriteFrame = A
Duration = 35
Next = S_PURPLEGRAPE_APEAR

State S_PURPLEGRAPE_APEAR
SpriteName = GRAP
SpriteFrame = B
Duration = -1
Action = A_HoodFire
Var1 = MT_PURPLEGRAPE_MISSILE
Next = S_PURPLEGRAPE_APEAR

State S_PURPLEGRAPE_READYFALL
SpriteName = GRAP
SpriteFrame = B
Duration = 35
Next = S_PURPLEGRAPE_FALLING

State S_PURPLEGRAPE_FALLING
SpriteName = GRAP
SpriteFrame = D
Duration = -1
Action = A_PlaySound
Var1 = sfx_s3k51
Var2 = 1
Next = S_PURPLEGRAPE_FALLING

Object MT_PURPLEGRAPE_PARTICLE
MapThingNum = -1
SpawnState = S_PURPLEGRAPE_PARTICLE
SpawnHealth = 1
ReactionTime = 32
DeathState = S_PURPLEGRAPE_SPLISH
DeathSound = sfx_None
Speed = 0
Radius = 16*FRACUNIT
Height = 24*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_SPECIAL

State S_PURPLEGRAPE_PARTICLE
SpriteName = GRAP
SpriteFrame = E
Duration = 2
Action = A_Boss5CheckOnGround
Var1 = S_PURPLEGRAPE_PARTDEAD
Var2 = S_PURPLEGRAPE_PARTDEAD
Next = S_PURPLEGRAPE_PARTICLE

State S_PURPLEGRAPE_PARTDEAD
SpriteName = GRAP
SpriteFrame = E
Duration = 2
Action = A_RemoteDamage
Var1 = 0
Var2 = 1
Next = S_PURPLEGRAPE_PARTDEAD

Object MT_PURPLEGRAPE_MISSILE
MapThingNum = -1
SpawnState = S_PURPLEGRAPE_MISSILE1
SpawnHealth = 1
ReactionTime = 32
DeathState = S_SONIC3KBOSSEXPLOSION1
DeathSound = sfx_cybdth
Speed = 8*FRACUNIT
Radius = 16*FRACUNIT
Height = 24*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_MISSILE|MF_GRENADEBOUNCE

State S_PURPLEGRAPE_MISSILE1
SpriteName = NULL
SpriteFrame = A
Duration = 2
Next = S_PURPLEGRAPE_MISSILE2

#Hack For Triple Shot
State S_PURPLEGRAPE_MISSILE2
SpriteName = NULL
SpriteFrame = A
Duration = 1
Action = A_GrapeTripleShot
Next = S_PURPLEGRAPE_MISSILE3

State S_PURPLEGRAPE_MISSILE3
SpriteName = GRAP
SpriteFrame = E
Duration = 2
Action = A_GrapeCeilBounce
Next = S_PURPLEGRAPE_MISSILE4

State S_PURPLEGRAPE_MISSILE4
SpriteName = GRAP
SpriteFrame = F
Duration = 2
Action = A_GrapeCeilBounce
Next = S_PURPLEGRAPE_MISSILE3