#Flesh Eden
Freeslot
MT_EDEN_CORE
MT_ASCENDEDSOUL
S_ASCENDEDSOULFLIGHT
S_ASCENDEDSOULFLIGHT1
S_ASCENDEDSOULFLIGHT2
S_ASCENDEDSOULESCAPE
S_ASCENDEDSOULESCAPE1
S_ASCENDEDSOULESCAPE2
S_ASCENDEDSOULESCAPE3
S_ASCENDEDSOULESCAPE4
S_ASCENDEDSOULESCAPE5
#SPAWNHYUU
S_SOULCREATE
S_SOULCREATE2
S_SOULCREATE3
S_SOULCREATE4
S_SOULCREATE5
S_SOULCREATE6
S_SOULCREATE7
S_SOULCREATE8
S_SOULITEMTARGET
S_SOULITEMTARGET1
S_SOULSET
S_SOULQUANTIFY
S_SOULPULL

State S_ASCENDEDSOULFLIGHT
SpriteName = BBAL
SpriteFrame = A
Var1 = 2
Var2 = (1<<16)+1
Duration = 16
Next = S_ASCENDEDSOULFLIGHT1
Action = A_ZThrust

State S_ASCENDEDSOULFLIGHT1
SpriteName = BBAL
SpriteFrame = A
Var1 = -2
Var2 = (1<<16)+1
Duration = 16
Next = S_ASCENDEDSOULFLIGHT2
Action = A_ZThrust

State S_ASCENDEDSOULFLIGHT2
SpriteName = BBAL
SpriteFrame = A
Var1 = 11
Var2 = S_ASCENDEDSOULFLIGHT
Duration = 0
Next = S_ASCENDEDSOULESCAPE
Action = A_Repeat

State S_ASCENDEDSOULESCAPE
SpriteName = PITY
SpriteFrame = C
Var1 = 15
Var2 = (1<<16)+1
Duration = 25
Next = S_ASCENDEDSOULESCAPE1
Action = A_ZThrust

State S_ASCENDEDSOULESCAPE1
SpriteName = PITY
SpriteFrame = C
Var1 = 0
Var2 = (1<<16)+1
Duration = 2
Next = S_ASCENDEDSOULESCAPE2
Action = A_ZThrust

State S_ASCENDEDSOULESCAPE2
SpriteName = PITY
SpriteFrame = C
Var1 = MT_EDEN_CORE
Var2 = 0
Duration = 0
Next = S_ASCENDEDSOULESCAPE3
Action = A_FindTarget

State S_ASCENDEDSOULESCAPE3
SpriteName = PITY
SpriteFrame = C
Var1 = 1
Var2 = 0
Duration = 1
Next =  S_ASCENDEDSOULESCAPE4
Action = A_SkullAttack

State S_ASCENDEDSOULESCAPE4
SpriteName = PITY
SpriteFrame = FF_ANIMATE|A
Var1 = MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT
Var2 = 2
Duration = 0
Next = S_ASCENDEDSOULESCAPE5
Action = A_SetObjectFlags

State S_ASCENDEDSOULESCAPE5
SpriteName = PITY
SpriteFrame = FF_ANIMATE|A
Var1 = 5
Var2 = 3
Duration = 140
Next = S_NULL
Action = none

State S_SOULCREATE
SpriteName = NULL
SpriteFrame = A
Var1 = 0
Var2 = MT_FLOATINGITEM
Duration = 0
Next = S_SOULCREATE2
Action = A_SpawnObjectRelative

State S_SOULCREATE2
SpriteName = NULL
SpriteFrame = A
Var1 = MT_FLOATINGITEM
Var2 = 0
Duration = 0
Next = S_SOULCREATE3
Action = A_FindTarget

State S_SOULCREATE3
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SOULITEMTARGET
Duration = 0
Next = S_SOULCREATE4
Action = A_RemoteAction

State S_SOULCREATE4
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SOULITEMTARGET1
Duration = 0
Next = S_SOULCREATE5
Action = A_RemoteAction

State S_SOULCREATE5
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SOULSET
Duration = 0
Next = S_SOULCREATE6
Action = A_RemoteAction

State S_SOULCREATE6
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SOULQUANTIFY
Duration = 0
Next = S_SOULCREATE7
Action = A_RemoteAction

State S_SOULCREATE7
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SOULPULL
Duration = 5
Next = S_SOULCREATE8
Action = A_RemoteAction

State S_SOULCREATE8
SpriteName = NULL
SpriteFrame = A
Var1 = 1
Var2 = 2
#Respawn Period
Duration = 1
Next = S_NULL
Action = A_RemoteDamage

State S_SOULITEMTARGET
SpriteName = NULL
SpriteFrame = A
Var1 = MT_PLAYER
Var2 = 0
Duration = 1
Next = S_NULL
Action = A_FindTarget

State S_SOULITEMTARGET1
SpriteName = NULL
SpriteFrame = A
Var1 = MT_PLAYER
Var2 = 0
Duration = 1
Next = S_NULL
Action = A_FindTracer

State S_SOULSET
SpriteName = NULL
SpriteFrame = A
Var1 = sfx_s3k9c
Var2 = 14
Duration = 0
Next = S_NULL
Action = A_BuzzFly

State S_SOULQUANTIFY
SpriteName = NULL
SpriteFrame = A
Var1 = 1
Var2 = 0
Duration = 0
Next = S_NULL
Action = A_Boss2TakeDamage

State S_SOULPULL
SpriteName = NULL
SpriteFrame = A
Var1 = MF2_NIGHTSPULL
Var2 = 2
Duration = 0
Next = S_NULL
Action = A_SetObjectFlags2

Object MT_ASCENDEDSOUL
MapThingNum = -1
SpawnState = S_ASCENDEDSOULFLIGHT
SpawnHealth = 1000
SeeState = S_NULL
SeeSound = sfx_None
ReactionTime = 8
AttackSound = sfx_None
PainState = S_NULL
PainChance = MT_THOK
PainSound = sfx_None
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_SOULCREATE
XDeathState = S_NULL
DeathSound = sfx_s3k9c
Speed = 1
Radius = 48*FRACUNIT
Height = 128*FRACUNIT
DispOffset = 0
Mass = 0
Damage = 0
ActiveSound = sfx_None
Flags = MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP|MF_RUNSPAWNFUNC
RaiseState = MT_FLOATINGITEM

#Eden's Ascended
Freeslot
MT_EDENASCENDED
S_ASCENDEDIDLE
S_ASCENDEDCHASE
S_ASCENDEDCHASE1
S_ASCENDEDCHASE2
S_ASCENDEDCHASE3
S_ASCENDEDCHOICE
S_ASCENDEDCHOICETARGET
S_ASCENDEDFIRE
S_ASCENDEDFIREB
S_ASCENDEDFIREB2
S_ASCENDEDFIREWAIT1
S_ASCENDEDFIREWAIT2
S_ASCENDEDREPEAT
S_ASCENDEDCRUMBLE
S_ASCENDEDDEATH
S_ASCENDEDDEATHCHOICE
S_ASCENDEDDEATH1
S_ASCENDEDDEATH2
sfx_wizact
sfx_wizdth
sfx_wztel1
sfx_wzpain
spr_LMWZ
S_ORBIPROP1
S_ORBIPROP2
S_ORBIPROP3
S_ORBICOLOR
S_ORBISPEED1
S_ORBISPEED2

State S_ASCENDEDIDLE
SpriteName = LMWZ
SpriteFrame = A
Var1 = (1500<<16)+1
Var2 = 0
Duration = 1
Next =  S_ASCENDEDIDLE
Action = A_Look

State S_ASCENDEDCHASE
SpriteName = LMWZ
SpriteFrame = A
Var1 = 3
Var2 = 0
Duration = 7
Next =  S_ASCENDEDCHASE1
Action = A_Chase

State S_ASCENDEDCHASE1
SpriteName = LMWZ
SpriteFrame = B
Var1 = 3
Var2 = 0
Duration = 7
Next =  S_ASCENDEDCHASE2
Action = A_Chase

State S_ASCENDEDCHASE2
SpriteName = LMWZ
SpriteFrame = C
Var1 = 3
Var2 = 0
Duration = 7
Next =  S_ASCENDEDCHASE3
Action = A_Chase

State S_ASCENDEDCHASE3
SpriteName = LMWZ
SpriteFrame = D
Var1 = 6
Var2 = S_ASCENDEDCHASE
Duration = 4
Next =  S_ASCENDEDCHOICETARGET
Action = A_Repeat

State S_ASCENDEDCHOICETARGET
SpriteName = LMWZ
SpriteFrame = A
Var1 = 0
Var2 = S_ASCENDEDCHOICETARGET
Duration = 1
Next =   S_ASCENDEDCHOICE
Action = A_SearchForPlayers

State S_ASCENDEDCHOICE
SpriteName = LMWZ
SpriteFrame = E
Var1 = (7<<16)+10
Var2 = S_ASCENDEDFIRE
Duration = 0
Next =  S_ASCENDEDFIREB
Action = A_CheckRandom


State S_ASCENDEDFIREB
SpriteName = LMWZ
SpriteFrame = E
Var1 = MT_DEMONFIRE
Var2 = 0
Duration = 10
Next =  S_ASCENDEDFIREB2
Action = A_FireShot

State S_ASCENDEDFIREB2
SpriteName = LMWZ
SpriteFrame = E
Var1 = MT_DEMONFIRE
Var2 = 0
Duration = 10
Next =  S_ASCENDEDFIREWAIT2
Action = A_FireShot

State S_ASCENDEDFIRE
SpriteName = LMWZ
SpriteFrame = E
Var1 = MT_ORBINAUT
Var2 = 24
Duration = 0
Next =  S_ORBIPROP1
Action = A_FireShot

#Orbinaut Modification
State S_ORBICOLOR
SpriteName = NULL
SpriteFrame = A
Var1 = 0
Var2 = SKINCOLOR_PEACH
Duration = 0
Next = S_ORBIPROP2
Action = A_ChangeColorAbsolute

State S_ORBISPEED1
SpriteName = LMWZ
SpriteFrame = A
Var1 = 50
Var2 = 1
Duration = 0
Next = S_ORBIPROP1
Action = A_Thrust

State S_ORBISPEED2
SpriteName = LMWZ
SpriteFrame = A
Var1 = MF2_AMBUSH
Var2 = 2
Duration = 0
Next = S_ORBIPROP1
Action = A_SetObjectFlags2


State S_ORBIPROP1
SpriteName = NULL
SpriteFrame = A
Var1 = MT_ORBINAUT
Var2 = S_ORBICOLOR
Duration = 0
Next = S_ORBIPROP2
Action = A_RemoteAction

State S_ORBIPROP2
SpriteName = NULL
SpriteFrame = A
Var1 = MT_ORBINAUT
Var2 = S_ORBISPEED2
Duration = 1
Next =  S_ORBIPROP3
Action = A_RemoteAction

State S_ORBIPROP3
SpriteName = NULL
SpriteFrame = A
Var1 = MT_ORBINAUT
Var2 = S_ORBISPEED1
Duration = 0
Next =  S_ASCENDEDFIREWAIT1
Action = A_RemoteAction
#End orbinaut modification

State S_ASCENDEDFIREWAIT1
SpriteName = LMWZ
SpriteFrame = E
Var1 = 0
Var2 = 0
Duration = 6
Next =  S_ASCENDEDFIREWAIT2
Action = None

State S_ASCENDEDFIREWAIT2
SpriteName = LMWZ
SpriteFrame = A
Var1 = 50
Var2 = 105
Duration = 105
Next =  S_ASCENDEDREPEAT
Action = A_SetRandomTics

State S_ASCENDEDREPEAT
SpriteName = LMWZ
SpriteFrame = A
Var1 = 9
Var2 = S_ASCENDEDCHOICETARGET
#S_ASCENDEDIDLE
Duration = 0
#Next =  S_ASCENDEDIDLE
Next = S_ASCENDEDCRUMBLE
Action = A_Repeat

State S_ASCENDEDCRUMBLE
SpriteName = LMWZ
SpriteFrame = G
Var1 = 0
Var2 = 1
Duration = 0
Next =  S_ASCENDEDDEATH
Action = A_RemoteDamage

State S_ASCENDEDDEATH
SpriteName = LMWZ
SpriteFrame = FF_ANIMATE|G
Var1 = 6
Var2 = 6
Duration = 36
Next =  S_ASCENDEDDEATHCHOICE
Action = none

State S_ASCENDEDDEATHCHOICE
SpriteName = LMWZ
SpriteFrame = M
Var1 = (2<<16)+4
Var2 = S_ASCENDEDDEATH1
Duration = 1
Next =  S_ASCENDEDDEATH2
Action = A_CheckRandom

State S_ASCENDEDDEATH1
SpriteName = LMWZ
SpriteFrame = M
Var1 = 0
Var2 = (16<<16)+MT_ASCENDEDSOUL
Duration = 105
Next =  S_NULL
Action = A_SpawnObjectRelative

State S_ASCENDEDDEATH2
SpriteName = LMWZ
SpriteFrame = M
Var1 = 0
Var2 = 0
Duration = 105
Next =  S_NULL
Action = none

Object MT_EDENASCENDED
MapThingNum = 2280
SpawnState = S_ASCENDEDIDLE
SpawnHealth = 1
SeeState = S_ASCENDEDCHASE
SeeSound = sfx_wizact
ReactionTime = 0
AttackSound = sfx_wztel1
PainState = S_NULL
PainChance = 5000
PainSound = sfx_wzpain
MeleeState = S_NULL
MissileState = S_ASCENDEDFIRE
DeathState = S_ASCENDEDDEATH
XDeathState = S_NULL
DeathSound = sfx_wizdth
Speed = 10
Radius = 24*FRACUNIT
Height = 64*FRACUNIT
DispOffset = 0
Mass = 1
Damage = 1000
ActiveSound = sfx_None
Flags = MF_RUNSPAWNFUNC|MF_SLIDEME|MF_SPECIAL|MF_SHOOTABLE|MF_PAIN
RaiseState = MT_ORBINAUT

#Eden Missile
Freeslot
MT_EDEN_MISSILE
S_EDEN_MISSILE_FLIGHT
S_EDEN_MISSILE_FLIGHT1
S_EDEN_MISSILE_CRASHDOWN
S_EDEN_MISSILE_CRASHDOWN1
S_EDEN_MISSILE_CRASHDOWN2
S_EDEN_MISSILE_CRASHDOWN3
S_EDEN_MISSILE_CRASHDOWN4
S_EDEN_MISSILE_BURST
S_EDEN_MISSILE_BURST1
S_EDEN_MISSILE_BURST2
S_EDEN_ASCENDED_RAISE
S_EDEN_ASCENDED_RAISE1

State S_EDEN_MISSILE_FLIGHT
SpriteName = ARMA
SpriteFrame = FF_FULLBRIGHT|FF_ANIMATE|A
Var1 = 10
Var2 = 1
Duration = 30
Next = S_EDEN_MISSILE_FLIGHT1
Action = none

State S_EDEN_MISSILE_FLIGHT1
SpriteName = ARMA
SpriteFrame = FF_FULLBRIGHT|FF_ANIMATE|A
Var1 = 10
Var2 = 1
Duration = 20
Next = S_EDEN_MISSILE_CRASHDOWN
Action = none

State S_EDEN_MISSILE_CRASHDOWN
SpriteName = DBAL
SpriteFrame = FF_FULLBRIGHT|A
Var1 = S_EDEN_MISSILE_CRASHDOWN1
Var2 = S_EDEN_MISSILE_FLIGHT1
Duration = 0
Next = S_NULL
Action = A_RandomState

State S_EDEN_MISSILE_CRASHDOWN1
SpriteName = ARMA
SpriteFrame = A
Var1 = 0
Var2 = (1<<16)+1
Duration = 1
Next = S_EDEN_MISSILE_CRASHDOWN2
Action = A_ZThrust

State S_EDEN_MISSILE_CRASHDOWN2
SpriteName = ARMA
SpriteFrame = FF_FULLBRIGHT|A
Var1 = FRACUNIT*3
Var2 = 1 
Duration = 75
Next = S_EDEN_MISSILE_CRASHDOWN3
Action = A_SetScale

State S_EDEN_MISSILE_CRASHDOWN3
SpriteName = ARMA
SpriteFrame = A
Var1 = -32
Var2 = (1<<16)+1
Duration = 1
Next = S_EDEN_MISSILE_CRASHDOWN4
Action = A_ZThrust

State S_EDEN_MISSILE_CRASHDOWN4
SpriteName = ARMA
SpriteFrame = B
Var1 = -32
Var2 = (1<<16)+1
Duration = 1
Next = S_EDEN_MISSILE_CRASHDOWN3
Action = A_ZThrust

State S_EDEN_MISSILE_BURST
SpriteName = NULL
SpriteFrame = A
Var1 = FRACUNIT
Var2 = 0
Duration = 2
Next =  S_EDEN_MISSILE_BURST1
Action = A_SetScale

State S_EDEN_MISSILE_BURST1
SpriteName = NULL
SpriteFrame = A
Var1 = (2<<16)+4
Var2 = S_EDEN_ASCENDED_RAISE
Duration = 1
Next = S_EDEN_MISSILE_BURST2
Action = A_CheckRandom

State S_EDEN_MISSILE_BURST2
SpriteName = NULL
SpriteFrame = A
Var1 = (MT_DEMONFIRE<<16)+6
Var2 = -20
Duration = 2
Next = S_CYBRAKDEMONMISSILE_EXPLODE1
Action = A_MultiShot


State S_EDEN_ASCENDED_RAISE
SpriteName = NULL
SpriteFrame = A
Var1 = S_EDEN_ASCENDED_RAISE1
Var2 = S_EDEN_MISSILE_BURST2
Duration = 2
Next = S_EDEN_ASCENDED_RAISE1#S_NULL
Action = none#A_DualAction

State S_EDEN_ASCENDED_RAISE1
SpriteName = NULL
SpriteFrame = A
Var1 = 0
Var2 = MT_EDENASCENDED
Duration = 2
Next = S_NULL
Action = A_SpawnObjectRelative

#S_CYBRAKDEMONMISSILE_EXPLODE1

Object MT_EDEN_MISSILE
MapThingNum = -1
SpawnState = S_EDEN_MISSILE_FLIGHT
SpawnHealth = 1000
SeeState = S_NULL
SeeSound = sfx_s3kc2s
ReactionTime = 8
AttackSound = sfx_None
PainState = S_NULL
PainChance = MT_THOK
PainSound = sfx_None
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_EDEN_MISSILE_BURST
XDeathState = S_NULL
DeathSound = sfx_bexpld
Speed = 12*FRACUNIT
Radius = 24*FRACUNIT
Height = 24*FRACUNIT
DispOffset = 0
Mass = 1
Damage = 1000
ActiveSound = sfx_None
Flags = MF_NOBLOCKMAP|MF_MISSILE|MF_NOGRAVITY
RaiseState = S_NULL

#Flesh Eden
Freeslot
S_EDEN_CORE
S_EDEN_CORE2
S_EDEN_CORE3
S_EDEN_CORE_SPAWN1
S_EDEN_CORE_SPAWN2
S_EDEN_RAIN
S_EDEN_RAIN1
S_EDEN_RAIN2
S_EDEN_RAIN3
S_EDEN_WAIT_CHECK1
S_EDEN_WAIT_CHECK2
S_EDEN_WAIT_CHECK3
S_EDEN_WAIT_CHECK4
S_EDEN_WAIT1
S_EDEN_WAIT2
S_EDEN_WAIT3
S_EDEN_WAIT4
S_EDEN_PAIN
S_EDEN_PAIN1
S_EDEN_PAIN2
S_EDEN_DEATH
S_EDEN_SCREAM
S_EDEN_DREPEAT
S_EDEN_FALL
S_EDEN_FALL1

State S_EDEN_CORE_SPAWN1
SpriteName = SPBM
SpriteFrame = A
Var1 = FRACUNIT*2
Var2 = 0
Duration = 1
Next = S_EDEN_CORE_SPAWN2
Action = A_SetScale

State S_EDEN_CORE_SPAWN2
SpriteName = SPBM
SpriteFrame = A
Var1 = 0
Var2 = SKINCOLOR_BLUE
Duration = 300
Next = S_EDEN_RAIN1
Action = A_ChangeColorAbsolute

State S_EDEN_WAIT_CHECK4
SpriteName = SPBM
SpriteFrame = A
Var1 = 1
Var2 = S_EDEN_WAIT4
Duration = 0
Next =  S_EDEN_WAIT_CHECK3
Action = A_CheckHealth

State S_EDEN_WAIT_CHECK3
SpriteName = SPBM
SpriteFrame = A
Var1 = 2
Var2 = S_EDEN_WAIT3
Duration = 0
Next =  S_EDEN_WAIT_CHECK2
Action = A_CheckHealth

State S_EDEN_WAIT_CHECK2
SpriteName = SPBM
SpriteFrame = A
Var1 = 3
Var2 = S_EDEN_WAIT2
Duration = 0
Next =  S_EDEN_WAIT_CHECK1
Action = A_CheckHealth

State S_EDEN_WAIT_CHECK1
SpriteName = SPBM
SpriteFrame = A
Var1 = 4
Var2 = S_EDEN_WAIT1
Duration = 0
Next = S_EDEN_RAIN
Action = A_CheckHealth

State S_EDEN_WAIT1
SpriteName = SPBM
SpriteFrame = A
Var1 = 901
Var2 = 0
Duration = 0
Next = S_EDEN_CORE
Action = A_LinedefExecute

State S_EDEN_WAIT2
SpriteName = SPBM
SpriteFrame = A
Var1 = 902
Var2 = 0
Duration = 0
Next = S_EDEN_CORE
Action = A_LinedefExecute

State S_EDEN_WAIT3
SpriteName = SPBM
SpriteFrame = A
Var1 = 903
Var2 = 0
Duration = 0
Next = S_EDEN_CORE
Action = A_LinedefExecute

State S_EDEN_WAIT4
SpriteName = SPBM
SpriteFrame = A
Var1 = 904
Var2 = 0
Duration = 0
Next = S_EDEN_CORE
Action = A_LinedefExecute

State S_EDEN_CORE
SpriteName = SPBM
SpriteFrame = FF_ANIMATE|FF_FULLBRIGHT|A
Var1 = 8
Var2 = 1
Duration = 25*TICRATE
Next = S_EDEN_CORE2
Action = none

State S_EDEN_CORE2
SpriteName = SPBM
SpriteFrame = FF_FULLBRIGHT|A
Var1 = sfx_s3k80
Var2 = 0
Duration = 0
Next = S_EDEN_CORE3
Action = A_PlaySound

State S_EDEN_CORE3
SpriteName = SPBM
SpriteFrame = FF_ANIMATE|FF_FULLBRIGHT|A
Var1 = 8
Var2 = 1
Duration = 5*TICRATE
Next = S_EDEN_RAIN
Action = none

State S_EDEN_RAIN
SpriteName = SPBM
SpriteFrame = A
Var1 = MT_PLAYER
Var2 = 0
Duration = 2
Next = S_EDEN_RAIN1
Action = A_FindTarget

State S_EDEN_RAIN1
SpriteName = SPBM
SpriteFrame = A
#Var1 = MT_CYBRAKDEMON_FLAMESHOT
Var1 = (MT_EDEN_MISSILE<<16)+8
Var2 = 0
Duration = 40
Next = S_EDEN_RAIN2
Action = A_MultiShot

State S_EDEN_RAIN2
SpriteName = SPBM
SpriteFrame = A
Var1 = 8
Var2 = S_EDEN_RAIN
Duration = 1
Next = S_EDEN_RAIN3
Action = A_Repeat


State S_EDEN_RAIN3 
SpriteName = SPBM
SpriteFrame = A
Var1 = sfx_wind1
Var2 = 0
Duration = 2
Next = S_EDEN_WAIT_CHECK4
Action = A_PlaySound

State S_EDEN_PAIN
SpriteName = SPBM
SpriteFrame = A
Var1 = 908
Var2 = 0
Duration = 0
Next = S_EDEN_PAIN1
Action = A_LinedefExecute

State S_EDEN_PAIN1
SpriteName = SPBM
SpriteFrame = E
Var1 = 0
Var2 = 0
Duration = 140
Next = S_EDEN_PAIN2
Action = A_Pain

State S_EDEN_PAIN2
SpriteName = SPBM
SpriteFrame = E
Var1 = MF2_FRET
Var2 = 1
Duration = 0
Next = S_EDEN_RAIN
Action = A_SetObjectFlags2

State S_EDEN_DEATH
SpriteName = SPBM
SpriteFrame = FF_FULLBRIGHT|A
Var1 = 909
Var2 = 0
Duration = 1
Next = S_EDEN_SCREAM
Action = A_LinedefExecute

State S_EDEN_SCREAM
SpriteName = SPBM
SpriteFrame = FF_FULLBRIGHT|A
Var1 = 1
Var2 = MT_BOSSEXPLODE
Duration = 4
Next = S_EDEN_DREPEAT
Action = A_BossScream


State S_EDEN_DREPEAT
SpriteName = SPBM
SpriteFrame = FF_FULLBRIGHT|A
Var1 = 70
Var2 = S_EDEN_SCREAM
Duration = 0
Next = S_EDEN_FALL
Action = A_Repeat

State S_EDEN_FALL
SpriteName = SPBM
SpriteFrame = FF_FULLBRIGHT|A
Var1 = sfx_kc57
Var2 = 0
Duration = 1
Next = S_EDEN_FALL1
Action = A_PlaySound

State S_EDEN_FALL1
SpriteName = SPBM
SpriteFrame = A
Var1 = 0
Var2 = 0
Duration = 1
Next = S_XPLD1
Action = A_BossDeath

Object MT_EDEN_CORE
#$Name Eden Core
#$Sprite SPBMA1
#$Category Flesh Eden
MapThingNum = 3340
SpawnState = S_EDEN_CORE_SPAWN1
SpawnHealth = 4
SeeState = S_NULL
SeeSound = sfx_None
ReactionTime = 8
AttackSound = sfx_None
PainState = S_EDEN_PAIN
PainChance = MT_THOK
PainSound = sfx_dmpain
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_EDEN_DEATH
XDeathState = S_NULL
DeathSound = sfx_KC2E
Speed = 1
Radius = 48*FRACUNIT
Height = 96*FRACUNIT
DispOffset = 0
Mass = 0
Damage = 0
ActiveSound = sfx_None
Flags = MF_SPECIAL|MF_SHOOTABLE|MF_NOGRAVITY|MF_RUNSPAWNFUNC|MF_BOSS
RaiseState = S_NULL

#Sheild Spawner
Freeslot
MT_THUNDERSHIELDSPAWNER
S_THUNDERSHIELDSPAWNER
S_THUNDERSHIELD_CREATE
S_THUNDERSHIELD_CREATE2
S_THUNDERSHIELD_CREATE3
S_THUNDERSHIELD_CREATE4
S_THUNDERSHIELD_CREATE5
S_THUNDERSHIELD_CREATE6
S_THUNDERSHIELD_CREATE7
S_THUNDERSHIELD_CREATE8
S_THUNDERSHIELD_SPAWNER_RESPAWN
S_SPAWNED_THUNDERSHIELD_SET
S_SPAWNED_THUNDERSHIELD_TARGET
S_SPAWNED_THUNDERSHIELD_TARGET1
S_SPAWNED_THUNDERSHIELD_QUANTIFY
S_SPAWNED_THUNDERSHIELD_PULL

#Generic item Idle state.
State S_THUNDERSHIELDSPAWNER
SpriteName = THNS
SpriteFrame = FF_ANIMATE|FF_FULLBRIGHT|A
Duration = -1
Next = S_THUNDERSHIELDSPAWNER
Action = none
Var1 = 11
Var2 = 4

State S_THUNDERSHIELD_CREATE
SpriteName = NULL
SpriteFrame = A
Var1 = 0
Var2 = MT_FLOATINGITEM
Duration = 0
Next = S_THUNDERSHIELD_CREATE2
Action = A_SpawnObjectRelative

#The spawned item needs to be targeted to work with it.
#This may cause issues if too many items are spawned by
#this thing and are left laying close to it.
State S_THUNDERSHIELD_CREATE2
SpriteName = NULL
SpriteFrame = A
Var1 = MT_FLOATINGITEM
Var2 = 0
Duration = 0
Next = S_THUNDERSHIELD_CREATE3
Action = A_FindTarget

State S_THUNDERSHIELD_CREATE3
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SPAWNED_THUNDERSHIELD_TARGET
Duration = 0
Next = S_THUNDERSHIELD_CREATE4
Action = A_RemoteAction

State S_THUNDERSHIELD_CREATE4
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SPAWNED_THUNDERSHIELD_TARGET1
Duration = 0
Next = S_THUNDERSHIELD_CREATE5
Action = A_RemoteAction

State S_THUNDERSHIELD_CREATE5
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SPAWNED_THUNDERSHIELD_SET
Duration = 0
Next = S_THUNDERSHIELD_CREATE6
Action = A_RemoteAction

State S_THUNDERSHIELD_CREATE6
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SPAWNED_THUNDERSHIELD_QUANTIFY
Duration = 0
Next = S_THUNDERSHIELD_CREATE7
Action = A_RemoteAction

State S_THUNDERSHIELD_CREATE7
SpriteName = NULL
SpriteFrame = A
Var1 = -1
Var2 = S_SPAWNED_THUNDERSHIELD_PULL
Duration = 5
Next = S_THUNDERSHIELD_CREATE8
Action = A_RemoteAction

#Removes an item if it was not picked up close to instantly.
State S_THUNDERSHIELD_CREATE8
SpriteName = NULL
SpriteFrame = A
Var1 = 1
Var2 = 2
#Respawn Period
Duration = 105
Next = S_THUNDERSHIELD_SPAWNER_RESPAWN
Action = A_RemoteDamage

State S_SPAWNED_THUNDERSHIELD_TARGET
SpriteName = NULL
SpriteFrame = A
Var1 = MT_PLAYER
Var2 = 0
Duration = 1
Next = S_NULL
Action = A_FindTarget

State S_SPAWNED_THUNDERSHIELD_TARGET1
SpriteName = NULL
SpriteFrame = A
Var1 = MT_PLAYER
Var2 = 0
Duration = 1
Next = S_NULL
Action = A_FindTracer
#The threshold value of MT_FLOATINGITEM determines what it is.
#A_BuzzFly can set the threshold value using var2. 
#1: sneaker
#2: Rocket Sneaker
#3: Invincibility
#4: Banana
#5: Eggman Box
#6: Orbinaut
#7: Jawz
#8: Mine
#9: Ballhog
#10: SPB
#11: Grow
#12: Shrink
#13: Thunder Shield
#14: HYUDORO
#15: Pogo Spring
#16: Sink

State S_SPAWNED_THUNDERSHIELD_SET
SpriteName = NULL
SpriteFrame = A
#Set this sound to your pickup sound
Var1 = sfx_kc2e
Var2 = 13
Duration = 0
Next = S_NULL
Action = A_BuzzFly

#The amount of item given is defined by MT_FLOATINGITEM's movecount.
#Var1 of A_Boss2TakeDamage determines movecount.
State S_SPAWNED_THUNDERSHIELD_QUANTIFY
SpriteName = NULL
SpriteFrame = A
Var1 = 2
Var2 = 0
Duration = 1
Next = S_NULL
Action = A_Boss2TakeDamage

State S_SPAWNED_THUNDERSHIELD_PULL
SpriteName = NULL
SpriteFrame = A
Var1 = MF2_NIGHTSPULL
Var2 = 2
Duration = 0
Next = S_NULL
Action = A_SetObjectFlags2

State S_THUNDERSHIELD_SPAWNER_RESPAWN
SpriteName = NULL
SpriteFrame = A
Var1 = 0
Var2 = 0
Duration = 1
Action = A_SpawnFreshCopy
Next = NULL

Object MT_THUNDERSHIELDSPAWNER
#$Name Thunder Shield Spawner
#$Sprite THNSK0
#$Category Flesh Eden
#You may need to change the thingnum to avoid conflicts.
MapThingNum = 3339
SpawnState = S_THUNDERSHIELDSPAWNER
SpawnHealth = 1000
SeeState = S_NULL
SeeSound = sfx_None
ReactionTime = 8
AttackSound = sfx_None
PainState = S_NULL
PainChance = MT_THOK
PainSound = sfx_None
MeleeState = S_NULL
MissileState = S_NULL
DeathState = S_THUNDERSHIELD_CREATE
XDeathState = S_NULL
DeathSound = S_NULL
Speed = 1
Radius = 32*FRACUNIT
Height = 32*FRACUNIT
DispOffset = 0
Mass = 0
Damage = 0
ActiveSound = sfx_None
Flags = MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP
RaiseState = MT_FLOATINGITEM
