#Hyper Ring Icon
FREESLOT
MT_SAPRING_ICON
MT_SAPRING_BOX
S_SAPRING_BOX
S_SAPRING_ICON1
S_SAPRING_ICON2
SPR_TVXIA0
SPR_TVXIB0

State S_SAPRING_BOX
SpriteName = TVXI
SpriteFrame = A
Duration = 2
Next = S_BOX_FLICKER
Action = None
Var1 = 0
Var2 = 0

Object MT_SAPRING_BOX
MapThingNum = 4000
#$Name Sapphire Ring (50 rings)
#$Category Monitors
#$Sprite TVXIA0
SpawnState = S_SAPRING_BOX
SeeState = S_NULL
SeeSound = sfx_none
PainState = S_SAPRING_BOX
PainSound = sfx_none
DeathState = S_BOX_POP1
DeathSound = sfx_pop
SpawnHealth = 1
ReactionTime = 8
PainChance = 0
Speed = 0
Radius = 18*FRACUNIT
Height = 40*FRACUNIT
Mass = 100
Damage = MT_SAPRING_ICON
Flags = MF_SOLID|MF_SHOOTABLE|MF_MONITOR

State S_SAPRING_ICON1
SpriteName = TVXI
SpriteFrame = B
Duration = 18
Next = S_SAPRING_ICON2
Action = None
Var1 = 3
Var2 = 4

State S_SAPRING_ICON2
SpriteName = TVXI
SpriteFrame = FF_ANIMATE|B
Duration = 18
Next = S_NULL
Action = A_RingBox
Var1 = 0
Var2 = 0

Object MT_SAPRING_ICON
MapThingNum = -1
#$Sprite TVXIA0
SpawnState = S_SAPRING_ICON1
SeeState = S_NULL
SeeSound = sfx_itemup
AttackSound = sfx_none
PainState = S_NULL
PainSound = sfx_none
DeathState = S_NULL
DeathSound = sfx_none
SpawnHealth = 1
ReactionTime = 50
PainChance = 0
Speed = 2*FRACUNIT
Radius = 8*FRACUNIT
Height = 14*FRACUNIT
Mass = 100
Damage = 62*FRACUNIT
Flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY|MF_NOGRAVITY|MF_BOXICON

# SOC'd Enemies begin here.
# Improved Crawla (Green Crawla that shoots missiles.)
FREESLOT
MT_GCRAWLA
S_GASS_STND
S_GASS_RUN1
S_GASS_RUN2
S_GASS_RUN3
S_GASS_RUN4
S_GASS_RUN5
S_GASS_RUN6
S_GASS_SHOT
SPR_GASSA1


State S_GASS_STND
SpriteName = GASS
SpriteFrame = A
Duration = 5
Next = S_GASS_RUN1
Action = A_Look
Var1 = 0
Var2 = 0

State S_GASS_RUN1
SpriteName = GASS
SpriteFrame = A
Duration = 6
Next = S_GASS_RUN2
Action = A_Chase
Var1 = 0
Var2 = 0

State S_GASS_RUN2
SpriteName = GASS
SpriteFrame = B
Duration = 6
Next = S_GASS_RUN3
Action = A_Chase
Var1 = 0
Var2 = 0

State S_GASS_RUN3
SpriteName = GASS
SpriteFrame = C
Duration = 6
Next = S_GASS_RUN4
Action = A_Chase
Var1 = 0
Var2 = 0

State S_GASS_RUN4
SpriteName = GASS
SpriteFrame = D
Duration = 6
Next = S_GASS_RUN5
Action = A_Chase
Var1 = 0
Var2 = 0

State S_GASS_RUN5
SpriteName = GASS
SpriteFrame = E
Duration = 6
Next = S_GASS_RUN6
Action = A_Chase
Var1 = 0
Var2 = 0

State S_GASS_RUN6
SpriteName = GASS
SpriteFrame = F
Duration = 6
Next = S_GASS_SHOT
Action = A_Chase
Var1 = 0
Var2 = 0

State S_GASS_SHOT
SpriteName = GASS
SpriteFrame = F
Duration = 35
Next = S_GASS_STND
Action = A_FireShot
Var1 = 211
Var2 = -28

Object MT_GCRAWLA
#$Name Green Crawla
#$Category Enemies
#$Sprite GASSA1
MapThingNum = 4001
SpawnState = S_GASS_STND
SpawnHealth = 1
SeeState = S_GASS_RUN1
AttackSound = sfx_rlaunc
ReactionTime = 32
MissileState = S_GASS_SHOT
DeathState = S_XPLD_FLICKY
DeathSound = sfx_pop
PainChance = 200
Speed = 3
Radius = 24*FRACUNIT
Height = 32*FRACUNIT
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE

#Robo Base Spike Behavior
FREESLOT
MT_RBZSPIKE
S_RBZSPIKE_MOVE1
S_RBZSPIKE_MOVE2
SPR_SRBLA0

Object MT_RBZSPIKE
MapThingNum = 4002
#$Name Robo Base Spike
#$Category SRB1 Remake
#$Sprite SRBLA0
SpawnState = S_RBZSPIKE_MOVE1
SpawnHealth = 1
SeeState = S_RBZSPIKE_MOVE1
SeeSound = sfx_none
ReactionTime = 32
AttackSound = sfx_none
PainState = S_NULL
PainChance = 200
PainSound = sfx_none
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_NULL
DeathSound = sfx_none
Speed = 2*FRACUNIT
Radius = 24*FRACUNIT
Height = 48*FRACUNIT
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_FLOAT

State S_RBZSPIKE_MOVE1
SpriteName = SRBLA0
SpriteFrame = A
Duration = 16
Next = S_RBZSPIKE_MOVE2
Action = A_ZThrust
Var1 = 24
Var2 = (1<<16)+1

State S_RBZSPIKE_MOVE2
SpriteName = SRBLA0
SpriteFrame = A
Duration = 16
Next = S_RBZSPIKE_MOVE1
Action = A_ZThrust
Var1 = -24
Var2 = (1<<16)+1

#Spike Monitor
FREESLOT
MT_SHIELD_ICON
MT_SHIELD_BOX
S_SHIELD_BOX
S_SHIELD_ICON1
S_SHIELD_ICON2
SPR_TVSH

State S_SHIELD_BOX
SpriteName = TVSH
SpriteFrame = A
Duration = 2
Next = S_BOX_FLICKER
Action = None
Var1 = 0
Var2 = 0

Object MT_SHIELD_BOX
MapThingNum = 4004
#$Name Shield Monitor
#$Category Monitors
#$Sprite TVSHA0
SpawnState = S_SHIELD_BOX
SeeState = S_NULL
SeeSound = sfx_none
PainState = S_SHIELD_BOX
PainSound = sfx_none
DeathState = S_BOX_POP1
DeathSound = sfx_pop
SpawnHealth = 1
ReactionTime = 8
PainChance = 0
Speed = 0
Radius = 18*FRACUNIT
Height = 40*FRACUNIT
Mass = 100
Damage = MT_SHIELD_ICON
Flags = MF_SOLID|MF_SHOOTABLE|MF_MONITOR

State S_SHIELD_ICON1
SpriteName = TVSH
SpriteFrame = B
Duration = 18
Next = S_SHIELD_ICON2
Action = None
Var1 = 3
Var2 = 4

State S_SHIELD_ICON2
SpriteName = TVSH
SpriteFrame = FF_ANIMATE|B
Duration = 18
Next = S_NULL
Action = A_GiveShield
Var1 = SH_PROTECTSPIKE
Var2 = 0

Object MT_SHIELD_ICON
MapThingNum = -1
SpawnState = S_SHIELD_ICON1
SeeState = S_NULL
SeeSound = sfx_cdfm39
AttackSound = sfx_none
PainState = S_NULL
PainSound = sfx_none
DeathState = S_NULL
DeathSound = sfx_none
SpawnHealth = 1
ReactionTime = 8
PainChance = 0
Speed = 2*FRACUNIT
Radius = 8*FRACUNIT
Height = 14*FRACUNIT
Mass = 100
Damage = 62*FRACUNIT
Flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY|MF_NOGRAVITY|MF_BOXICON

#Custom Shield
FREESLOT
MT_SHIELDORB
S_SHLD
S_SHLD2
S_SHLD3
S_SHLD4
S_SHLD5
S_SHLD6
S_SHLD7
S_SHLD8
SPR_SHLD

Object MT_SHIELDORB
MapThingNum = -1
SpawnState = S_SHLD
SeeState = S_NULL
SeeSound = sfx_none
AttackSound = sfx_none
PainState = S_NULL
PainSound = sfx_none
DeathState = S_NULL
DeathSound = sfx_none
SpawnHealth = 1000
ReactionTime = 0
PainChance = SKINCOLOR_NONE
Speed = SH_PROTECTSPIKE
Radius = 64*FRACUNIT
Height = 64*FRACUNIT
DispOffset = 1
Mass = 16
Damage = 0
Flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY

State S_SHLD
SpriteName = SHLD
SpriteFrame = TR_TRANS40|A
Duration = 2
Next = S_SHLD2
Action = None
Var1 = 0
Var2 = 0

State S_SHLD2
SpriteName = SHLD
SpriteFrame = TR_TRANS40|B
Duration = 2
Next = S_SHLD3
Action = None
Var1 = 0
Var2 = 0

State S_SHLD3
SpriteName = SHLD
SpriteFrame = TR_TRANS40|C
Duration = 2
Next = S_SHLD4
Action = None
Var1 = 0
Var2 = 0

State S_SHLD4
SpriteName = SHLD
SpriteFrame = TR_TRANS40|D
Duration = 2
Next = S_SHLD5
Action = None
Var1 = 0
Var2 = 0

State S_SHLD5
SpriteName = SHLD
SpriteFrame = TR_TRANS40|E
Duration = 2
Next = S_SHLD6
Action = None
Var1 = 0
Var2 = 0

State S_SHLD6
SpriteName = SHLD
SpriteFrame = TR_TRANS40|F
Duration = 2
Next = S_SHLD7
Action = None
Var1 = 0
Var2 = 0

State S_SHLD7
SpriteName = SHLD
SpriteFrame = TR_TRANS40|G
Duration = 2
Next = S_SHLD8
Action = None
Var1 = 0
Var2 = 0

State S_SHLD8
SpriteName = SHLD
SpriteFrame = TR_TRANS40|H
Duration = 2
Next = S_SHLD
Action = None
Var1 = 0
Var2 = 0

#Blue Fire
FREESLOT
MT_BLUEFIRE
S_BLUEFIRE1
S_BLUEFIRE2
S_BLUEFIRE3
S_BLUEFIRE4
SPR_CMDL


Object MT_BLUEFIRE
MapThingNum = 4005
#$Name Blue Torch
#$Category Hazards
#$Sprite CMDLA0E0
SpawnState = S_BLUEFIRE1
SeeState = S_NULL
SpawnHealth = 1000
SeeSound = sfx_none
ReactionTime = 8
AttackSound = sfx_none
PainState = S_NULL
PainChance = 0
PainSound = sfx_none
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_XPLD1
DeathSound = sfx_pop
Speed = 0
Radius = 8*FRACUNIT
Height = 32*FRACUNIT
Mass = 100
Damage = 20
Flags = MF_FIRE|MF_SPECIAL

State S_BLUEFIRE1
SpriteName = CMDL
SpriteFrame = A
Duration = 3
Action = None
Next = S_BLUEFIRE2
Var1 = 0
Var2 = 0

State S_BLUEFIRE2
SpriteName = CMDL
SpriteFrame = B
Duration = 3
Action = None
Next = S_BLUEFIRE3
Var1 = 0
Var2 = 0

State S_BLUEFIRE3
SpriteName = CMDL
SpriteFrame = C
Duration = 3
Action = None
Next = S_BLUEFIRE4
Var1 = 0
Var2 = 0

State S_BLUEFIRE4
SpriteName = CMDL
SpriteFrame = D
Duration = 3
Action = None
Next = S_BLUEFIRE1
Var1 = 0
Var2 = 0


#Gray Spring
FREESLOT
MT_GRAYSPRING
S_GRAYSPRING
S_GRAYSPRING2
S_GRAYSPRING3
S_GRAYSPRING4
S_GRAYSPRING5
SPR_SPRG

Object MT_GRAYSPRING
MapThingNum = 4006
#$Name Gray Spring
#$Category Springs and Fans
#$Sprite SPRGA0
SpawnState = S_GRAYSPRING
SeeState = S_NULL
SpawnHealth = 1000
SeeSound = sfx_none
ReactionTime = 0
RaiseState = S_GRAYSPRING2
AttackSound = sfx_none
PainState = S_NULL
PainChance = 0
PainSound = sfx_spring
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_NULL
DeathSound = sfx_none
Speed = 0
Radius = 20*FRACUNIT
Height = 16*FRACUNIT
Mass = 38*FRACUNIT
Damage = 0
Flags = MF_SPRING

State S_GRAYSPRING
SpriteName = SPRG
SpriteFrame = A
Duration = -1
Action = None
Next = S_NULL
Var1 = 0
Var2 = 0

State S_GRAYSPRING2
SpriteName = SPRG
SpriteFrame = E
Duration = 4
Action = A_Pain
Next = S_GRAYSPRING3
Var1 = 0
Var2 = 0

State S_GRAYSPRING3
SpriteName = SPRG
SpriteFrame = D
Duration = 1
Action = None
Next = S_GRAYSPRING4
Var1 = 0
Var2 = 0


State S_GRAYSPRING4
SpriteName = SPRG
SpriteFrame = C
Duration = 1
Action = None
Next = S_GRAYSPRING5
Var1 = 0
Var2 = 0

State S_GRAYSPRING5
SpriteName = SPRG
SpriteFrame = B
Duration = 1
Action = None
Next = S_GRAYSPRING
Var1 = 0
Var2 = 0

#RFZ Mushroom
FREESLOT
MT_MUSHROM
S_MUSHRM1
SPR_MUSH

Object MT_MUSHROM
MapThingNum = 4007
#$Name Small Mushroom
#$Category Rain Forest
#$Sprite MUSHA0
SpawnState = S_MUSHRM1
SeeState = S_MUSHRM1
SpawnHealth = 1000
SeeSound = sfx_none
ReactionTime = 8
RaiseState = S_NULL
AttackSound = sfx_none
PainState = S_NULL
PainChance = 0
PainSound = sfx_none
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_NULL
DeathSound = sfx_none
Speed = 0
Radius = 10*FRACUNIT
Height = 16*FRACUNIT
Mass = 50*FRACUNIT
Damage = 0
Flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY

State S_MUSHRM1
SpriteName = MUSH
SpriteFrame = A
Duration = 3
Action = None
Next = S_MUSHRM1
Var1 = 0
Var2 = 0

#GWZ Snowy Pine
FREESLOT
MT_SPINE
S_SPINE
SPR_STRE

Object MT_SPINE
MapThingNum = 4008
#$Name Snowy Pine
#$Category Glacial Winter
#$Sprite STREA0
SpawnState = S_SPINE
SeeState = S_SPINE
SpawnHealth = 1000
SeeSound = sfx_none
ReactionTime = 8
RaiseState = S_NULL
AttackSound = sfx_none
PainState = S_NULL
PainChance = 0
PainSound = sfx_none
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_NULL
DeathSound = sfx_none
Speed = 0
Radius = 20*FRACUNIT
Height = 628*FRACUNIT
Mass = 50*FRACUNIT
Damage = 0
Flags = MF_SOLID|MF_NOGRAVITY|MF_SCENERY

State S_SPINE
SpriteName = STRE
SpriteFrame = A
Duration = -1
Action = None
Next = S_SPINE
Var1 = 0
Var2 = 0


#generator sound
FREESLOT
sfx_gener

##RFZ Medium Mushroom
FREESLOT
MT_MUSMROM
S_MUSMRM1
SPR_MUSM

Object MT_MUSMROM
MapThingNum = 4012
#$Name Medium Mushroom
#$Category Rain Forest
#$Sprite MUSMA0
SpawnState = S_MUSMRM1
SeeState = S_MUSMRM1
SpawnHealth = 1000
Radius = 24*FRACUNIT
Height = 53*FRACUNIT
Mass = 50*FRACUNIT
Damage = 0
Flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY

State S_MUSMRM1
SpriteName = MUSM
SpriteFrame = A
Duration = 3
Action = None
Next = S_MUSMRM1
Var1 = 0
Var2 = 0

####
###
##
#MADDNESS SAPPHIRE

FREESLOT
S_BROKENICYSHELL1
S_BROKENICYSHELL2
S_BROKENICYSHELL3
MT_ICYSHELL
MT_BROKENICYSHELL
S_ICYSHELL_STND
S_ICYSHELL_RUN1
S_ICYSHELL_RUN2
S_ICYSHELL_RUN3
S_ICYSHELL_RUN4
S_ICYSHELL_RUNE
S_ICYSHELL_RUN5
S_ICYSHELL_RUN6
S_ICYSHELL_RUN7
S_ICYSHELL_RUN8
S_ICYSHELL_RUN9
S_ICYSHELL_RUN10
S_ICYSHELL_RUN11
S_ICYSHELL_RUN12
S_ICYSHELL_PAIN1
S_ICYSHELL_PAIN2
S_ICYSHELL_DIE1
S_ICYSHELL_DIE2
SPR_ISHL

State S_ICYSHELL_STND
SpriteName = ISHL
SpriteFrame = A
Duration = 5
Next = S_ICYSHELL_STND
Action A_Look

State S_ICYSHELL_RUN1
SpriteName = ISHL
SpriteFrame = A
Duration = 3
Next = S_ICYSHELL_RUN2
Action = A_Chase

State S_ICYSHELL_RUN2
SpriteName = ISHL
SpriteFrame = B
Duration = 3
Next = S_ICYSHELL_RUN3
Action = A_Chase

State S_ICYSHELL_RUN3
SpriteName = ISHL
SpriteFrame = C
Duration = 3
Next = S_ICYSHELL_RUN4
Action = A_Chase

State S_ICYSHELL_RUN4
SpriteName = ISHL
SpriteFrame = D
Duration = 3
Next = S_ICYSHELL_RUNE
Action = A_Chase

State S_ICYSHELL_RUNE
SpriteName = ISHL
SpriteFrame = D
Duration = 1
Next = S_ICYSHELL_RUN5
Action = A_Repeat
Var1 = 5
Var2 = S_ICYSHELL_RUN1

State S_ICYSHELL_RUN5
SpriteName = ISHL
SpriteFrame = A
Duration = 1
Next = S_ICYSHELL_RUN6
Action A_Thrust
Var1 = 10
Var2 = 1

State S_ICYSHELL_RUN6
SpriteName = ISHL
SpriteFrame = B
Duration = 1
Next = S_ICYSHELL_RUN7
Action A_Thrust
Var1 = 10
Var2 = 1

State S_ICYSHELL_RUN7
SpriteName = ISHL
SpriteFrame = C
Duration = 1
Next = S_ICYSHELL_RUN8
Action A_Thrust
Var1 = 10
Var2 = 1

State S_ICYSHELL_RUN8
SpriteName = ISHL
SpriteFrame = D
Duration = 1
Next = S_ICYSHELL_RUN9
Action A_Thrust
Var1 = 10
Var2 = 1

State S_ICYSHELL_RUN9
SpriteName = ISHL
SpriteFrame = A
Duration = 1
Next = S_ICYSHELL_RUN10
Action A_Thrust
Var1 = 25
Var2 = 1

State S_ICYSHELL_RUN10
SpriteName = ISHL
SpriteFrame = B
Duration = 1
Next = S_ICYSHELL_RUN11
Action A_Thrust
Var1 = 25
Var2 = 1

State S_ICYSHELL_RUN11
SpriteName = ISHL
SpriteFrame = C
Duration = 1
Next = S_ICYSHELL_RUN12
Action A_Thrust
Var1 = 25
Var2 = 1

State S_ICYSHELL_RUN12
SpriteName = ISHL
SpriteFrame = D
Duration = 1
Next = S_ICYSHELL_RUN1
Action A_Thrust
Var1 = 25
Var2 = 1

State S_ICYSHELL_PAIN1
SpriteName = ISHL
SpriteFrame = A
Duration = 34
Next = S_ICYSHELL_PAIN2
Action = A_Pain

State S_ICYSHELL_PAIN2
SpriteName = ISHL
SpriteFrame = A
Duration = 1
Next = S_ICYSHELL_RUN1
Action = A_SetObjectFlags2
Var1 = MF2_FRET
Var2 = 1

State S_ICYSHELL_DIE1
SpriteName = ISHL
SpriteFrame = A
Duration = 2
Next = S_ICYSHELL_DIE2
Action = A_BossScream

State S_ICYSHELL_DIE2
SpriteName = ISHL
SpriteFrame = A
Duration = 0
Next = S_XPLD1
Action = A_Repeat
Var1 = 5
Var2 = S_ICYSHELL_DIE1

Object MT_ICYSHELL
#$Category Custom Enemies
#$Name Icy Shell
#$Sprite ISHLA1
MapThingNum = 4011
SpawnState = S_ICYSHELL_STND
SpawnHealth = 1
SeeState = S_ICYSHELL_RUN1
SeeSound = sfx_None
AttackSound = sfx_None
PainState = S_ICYSHELL_PAIN1
PainSound = sfx_dmpain
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_ICYSHELL_DIE1
XDeathState = S_NULL
DeathSound = sfx_pop
ActiveSound = sfx_None
RaiseState = S_NULL
ReactionTime = 35
PainChance = 200
Speed = 8
Radius = 24*FRACUNIT
Height = 40*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE

State S_BROKENICYSHELL1
SpriteName = ISHLA
SpriteFrame = I
Duration = 5
Next = S_BROKENICYSHELL1
Action A_Look

State S_BROKENICYSHELL2
SpriteName = ISHLA
SpriteFrame = I
Duration = 80
Next = S_BROKENICYSHELL3
Action None

State S_BROKENICYSHELL3
SpriteName = ISHLA
SpriteFrame = I
Duration = 10
Next = S_BROKENICYSHELL2
Action A_LobShot
Var1 = MT_ICEBEAMSHARD
Var2 = 60

Object MT_BROKENICYSHELL
#$Category Custom Enemies
#$Name Icy Shell (Broken)
#$Sprite ISHLI1
MapThingNum = 4010
SpawnState = S_BROKENICYSHELL1
SpawnHealth = 1
SeeState = S_BROKENICYSHELL2
SeeSound = sfx_None
AttackSound = sfx_None
PainState = S_NULL
PainSound = sfx_None
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_XPLD_FLICKY
XDeathState = S_NULL
DeathSound = sfx_pop
ActiveSound = sfx_None
RaiseState = S_NULL
ReactionTime = 35
PainChance = 200
Speed = 8
Radius = 24*FRACUNIT
Height = 40*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE

#JETFREEZER
FREESLOT
S_JETILOOK1
S_JETILOOK2
S_JETIZOOM1
S_JETIZOOM2
MT_JETTFREEZER
SPR_JETI

State S_JETILOOK1
SpriteName = JETI
SpriteFrame = A
Duration = 5
Next = S_JETILOOK2
Action A_Look

State S_JETILOOK2
SpriteName = JETI
SpriteFrame = B
Duration = 5
Next = S_JETILOOK1
Action A_Look

State S_JETIZOOM1
SpriteName = JETI
SpriteFrame = A
Duration = 1
Next = S_JETIZOOM2
Action A_JetbThink

State S_JETIZOOM2
SpriteName = JETI
SpriteFrame = B
Duration = 1
Next = S_JETIZOOM1
Action A_JetbThink

Object MT_JETTFREEZER
#$Category Custom Enemies
#$Name Jetty-Syn Freezer
#$Sprite JETIA1
MapThingNum = 4009
SpawnState = S_JETILOOK1
SpawnHealth = 1
SeeState = S_JETIZOOM1
SeeSound = sfx_None
AttackSound = sfx_None
PainState = S_NULL
PainSound = sfx_None
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_XPLD_FLICKY
XDeathState = S_NULL
DeathSound = sfx_pop
ActiveSound = sfx_None
RaiseState = MT_ICEBEAMSHARD
ReactionTime = 32
PainChance = 200
Speed = 3*FRACUNIT
Radius = 20*FRACUNIT
Height = 50*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_SLIDEME|MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE|MF_NOGRAVITY

#WOTTTTTTTTTTTTTTTTTTTTTT
Freeslot
S_ICEBEAM1
S_ICEBEAM2
S_ICEBEAM3
S_ICEBEAM4
S_ICEBEAM5
S_ICEBEAM6
S_ICEBEAM7
S_ICEBEAM8
S_ICEBEAMSHARD1
S_ICEBEAMSHARD2
S_ICEBEAMSHARD3
S_ICEBEAMSHARD4
S_ICEBEAMPARTICLE

State S_ICEBEAM1
SpriteName = FHZI
SpriteFrame = B|FF_FULLBRIGHT
Duration = 1
Next = S_ICEBEAM2
Action None

State S_ICEBEAM2
SpriteName = FHZI
SpriteFrame = B|FF_FULLBRIGHT
Duration = 1
Next = S_ICEBEAM3
Action A_FindTracer
Var1 = MT_PLAYER
Var2 = 0

State S_ICEBEAM3
SpriteName = FHZI
SpriteFrame = B|FF_FULLBRIGHT
Duration = 1
Next = S_ICEBEAM4
Action A_DualAction
Var1 = S_ICEBEAM6
Var2 = S_ICEBEAM7

State S_ICEBEAM4
SpriteName = FHZI
SpriteFrame = B|FF_FULLBRIGHT
Duration = 30
Next = S_ICEBEAM5
Action A_Repeat
Var1 = 5
Var2 = S_ICEBEAM3

State S_ICEBEAM5
SpriteName = FHZI
SpriteFrame = B|FF_FULLBRIGHT
Duration = 35
Next = S_ICEBEAM8
Action A_BunnyHop #somehow this works good enough
Var1 = 0
Var2 = 30

State S_ICEBEAM6
SpriteName = FHZI
SpriteFrame = B|FF_FULLBRIGHT
Duration = 10
Next = S_NULL
Action A_HomingChase
Var1 = 30*FRACUNIT
Var2 = 1

State S_ICEBEAM7
SpriteName = FHZI
SpriteFrame = B|FF_FULLBRIGHT
Duration = 1
Next = S_NULL
Action A_CheckTrueRange
Var1 = 65536+1
Var2 = S_ICEBEAM5

State S_ICEBEAM8
SpriteName = FHZI
SpriteFrame = B|FF_FULLBRIGHT
Duration = 1
Next = S_NULL
Action A_DropMine

Object MT_ICEBEAM
MapThingNum = -1
SpawnState = S_ICEBEAM1
SpawnHealth = 1
ReactionTime = 32
SeeState = S_NULL
SeeSound = sfx_None
AttackSound = sfx_None
PainState = S_NULL
PainChance = 0
PainSound = sfx_dmpain
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_NULL
XDeathState = S_NULL
RaiseState = MT_ICEBEAMSHARD
DeathSound = sfx_None
Speed = 5
Radius = 10*FRACUNIT
Height = 10*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 1
ActiveSound = sfx_None
Flags =	MF_NOBLOCKMAP|MF_NOGRAVITY|MF_SPECIAL

State S_ICEBEAMSHARD1
SpriteName = FHZI
SpriteFrame = B
Duration = 210
Next = S_ICEBEAMSHARD2
Action None

State S_ICEBEAMSHARD2
SpriteName = FHZI
SpriteFrame = B
Duration = 10
Next = S_ICEBEAMSHARD3
Action A_SetScale
Var1 = FRACUNIT/2
Var2 = 0,1

State S_ICEBEAMSHARD3
SpriteName = FHZI
SpriteFrame = B
Duration = 10
Next = S_ICEBEAMSHARD4
Action A_SetScale
Var1 = FRACUNIT/3
Var2 = 0,1

State S_ICEBEAMSHARD4
SpriteName = FHZI
SpriteFrame = B
Duration = 10
Next = S_NULL
Action A_SetScale
Var1 = FRACUNIT/4
Var2 = 0,1

Object MT_ICEBEAMSHARD
MapThingNum = -1
SpawnState = S_ICEBEAMSHARD1
SpawnHealth = 1
ReactionTime = 32
SeeState = S_NULL
SeeSound = sfx_None
AttackSound = sfx_None
PainState = S_NULL
PainChance = 0
PainSound = sfx_dmpain
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_NULL
XDeathState = S_NULL
RaiseState = S_NULL
DeathSound = sfx_None
Speed = 5
Radius = 10*FRACUNIT
Height = 10*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 1
ActiveSound = sfx_None
Flags =	MF_SPECIAL

State S_ICEBEAMPARTICLE
SpriteName = ROII
SpriteFrame = A
Duration = 30
Next = S_NULL
Action None

Object MT_ICEBEAMPARTICLE
MapThingNum = -1
SpawnState = S_ICEBEAMPARTICLE
SpawnHealth = 1
ReactionTime = 32
SeeState = S_NULL
SeeSound = sfx_None
AttackSound = sfx_None
PainState = S_NULL
PainChance = 0
PainSound = sfx_None
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_NULL
XDeathState = S_NULL
RaiseState = S_NULL
DeathSound = sfx_None
Speed = 9
Radius = 0*FRACUNIT
Height = 0*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 1
ActiveSound = sfx_None

##Fang Target object (inspired by Sonic Classic 2)
FREESLOT
S_FANG_TARGET
S_FANG_TARGET_ACTIVATE
S_FANG_LINEEXEC
SFX_FTARG
SPR_F_LEA0
SPR_F_LEB0
SPR_F_LEC0
SPR_F_LED0
SFX_FTARG

Object MT_FANG_LINEEXEC
#$Name Fang Target
#$Sprite F_LED0
MapThingNum = 146
SpawnState = S_FANG_LINEEXEC
SpawnHealth = 1000
ReactionTime = 32
DeathState = S_FANG_LINEEXEC
DeathSound = sfx_none
Speed = 3
Radius = 16*FRACUNIT
Height = 16*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
ActiveSound = sfx_None
Flags = MF_SCENERY|MF_NOCLIP|MF_NOBLOCKMAP

Object MT_FANG_TARGET
MapThingNum = -1
SpawnState = S_FANG_TARGET
SpawnHealth = 1
ReactionTime = 32
PainState = S_FANG_TARGET_ACTIVATE
PainSound = sfx_ftarg
DeathState = S_FANG_TARGET_ACTIVATE
DeathSound = sfx_none
Speed = 3
Radius = 24*FRACUNIT
Height = 16*FRACUNIT
DispOffset = 0
Mass = 100
Damage = 0
Flags = MF_SHOOTABLE|MF_NOGRAVITY

##Fang Target states

State S_FANG_LINEEXEC
SpriteName = F_LE
SpriteFrame = A
Duration = -1
Next = S_FANG_LINEEXEC

State S_FANG_TARGET
SpriteName = F_LE
SpriteFrame = B|FF_PAPERSPRITE
Duration = -1
Next = S_FANG_TARGET

State S_FANG_TARGET_ACTIVATE
SpriteName = F_LE
SpriteFrame = C|FF_PAPERSPRITE
Duration = -1
Next = S_FANG_TARGET_ACTIVATE

##Fang Target sound

Sound sfx_ftarg
Singular = 0
Priority = 64
Flags = SF_X2AWAYSOUND|SF_X4AWAYSOUND

