### Enemy Definition SOC ###



#////////// Beige Egg Pawn \\\\\\\\\\#

Freeslot
MT_EGGPAWN1
SPR_PWN1
sfx_pwnrun
sfx_pwnchg
sfx_pwngn1
S_EGGPAWN1_IDLE
S_EGGPAWN1_WALK1
S_EGGPAWN1_ROLL1
S_EGGPAWN1_ROLL2
S_EGGPAWN1_WALK2
S_EGGPAWN1_WALK3
S_EGGPAWN1_WALK4
S_EGGPAWN1_WALK5
S_EGGPAWN1_WALK6
S_EGGPAWN1_WALK7
S_EGGPAWN1_WALK8
S_EGGPAWN1_WALK9
S_EGGPAWN1_WALK10
S_EGGPAWN1_WALK11
S_EGGPAWN1_WALK12
S_EGGPAWN1_ATTACK1
S_EGGPAWN1_ATTACK2
S_EGGPAWN1_ATTACK3
S_EGGPAWN1_ATTACK4
S_EGGPAWN1_ATTACK5
S_EGGPAWN1_ATTACK6
S_EGGPAWN1_ATTACK7
S_EGGPAWN1_ATTACK8
S_EGGPAWN1_ATTACK9
S_EGGPAWN1_ATTACK10
S_EGGPAWN1_ATTACK11
S_EGGPAWN1_ATTACK12
S_EGGPAWN1_ATTACK13
S_EGGPAWN1_ATTACK14
S_EGGPAWN1_ATTACK15
S_EGGPAWN1_ATTACK16
S_EGGPAWN1_ATTACK17
S_EGGPAWN1_ATTACK18
S_EGGPAWN1_ATTACK19


Object MT_EGGPAWN1
#$Name Beige Egg Pawn
#$Sprite PWN1A1G1
#$Category Common
MapThingNum = 2461
SpawnState = S_EGGPAWN1_IDLE
SeeState = S_EGGPAWN1_WALK1
DeathState = S_XPLD_FLICKY
DeathSound = SFX_POP
ActiveSound = SFX_PWNRUN
PainSound = SFX_PWNCHG
AttackSound = SFX_PWNGN1
SpawnHealth = 1
Speed = 8
Radius = 24*FRACUNIT
Height = 56*FRACUNIT
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE


# Idle cycle

State S_EGGPAWN1_IDLE
SpriteName = PWN1
SpriteFrame = A
Duration = 5
Action = A_Look
Next = S_EGGPAWN1_IDLE


# Walk cycle, roll for if the enemy should attack after the first state

State S_EGGPAWN1_WALK1
SpriteName = PWN1
SpriteFrame = A
Duration = 5
Next = S_EGGPAWN1_ROLL1

State S_EGGPAWN1_ROLL1
SpriteName = PWN1
SpriteFrame = A
Duration = 0
Action = A_CheckTrueRange
Var1 = 1024
Var2 = S_EGGPAWN1_ROLL2
Next = S_EGGPAWN1_WALK2

State S_EGGPAWN1_ROLL2
SpriteName = PWN1
SpriteFrame = A
Duration = 0
Action = A_RandomState
Var1 = S_EGGPAWN1_WALK2
Var2 = S_EGGPAWN1_ATTACK1

State S_EGGPAWN1_WALK2
SpriteName = PWN1
SpriteFrame = B
Duration = 5
Action = A_Chase
Next = S_EGGPAWN1_WALK3

State S_EGGPAWN1_WALK3
SpriteName = PWN1
SpriteFrame = C
Duration = 5
Action = A_Chase
Next = S_EGGPAWN1_WALK4

State S_EGGPAWN1_WALK4
SpriteName = PWN1
SpriteFrame = D
Duration = 5
Action = A_Chase
Next = S_EGGPAWN1_WALK5

State S_EGGPAWN1_WALK5
SpriteName = PWN1
SpriteFrame = E
Duration = 5
Action = A_PlayActiveSound
Next = S_EGGPAWN1_WALK6

State S_EGGPAWN1_WALK6
SpriteName = PWN1
SpriteFrame = F
Duration = 7
Next = S_EGGPAWN1_WALK7

State S_EGGPAWN1_WALK7
SpriteName = PWN1
SpriteFrame = G
Duration = 5
Next = S_EGGPAWN1_WALK8

State S_EGGPAWN1_WALK8
SpriteName = PWN1
SpriteFrame = H
Duration = 5
Action = A_Chase
Next = S_EGGPAWN1_WALK9

State S_EGGPAWN1_WALK9
SpriteName = PWN1
SpriteFrame = I
Duration = 5
Action = A_Chase
Next = S_EGGPAWN1_WALK10

State S_EGGPAWN1_WALK10
SpriteName = PWN1
SpriteFrame = J
Duration = 5
Action = A_Chase
Next = S_EGGPAWN1_WALK11

State S_EGGPAWN1_WALK11
SpriteName = PWN1
SpriteFrame = K
Duration = 5
Action = A_PlayActiveSound
Next = S_EGGPAWN1_WALK12

State S_EGGPAWN1_WALK12
SpriteName = PWN1
SpriteFrame = L
Duration = 7
Next = S_EGGPAWN1_WALK1


# Attack Cycle

State S_EGGPAWN1_ATTACK1
SpriteName = PWN1
SpriteFrame = M
Duration = 6
Action = A_FaceTarget
Next = S_EGGPAWN1_ATTACK2

State S_EGGPAWN1_ATTACK2
SpriteName = PWN1
SpriteFrame = N
Duration = 6
Action = A_FaceTarget
Next = S_EGGPAWN1_ATTACK3

State S_EGGPAWN1_ATTACK3
SpriteName = PWN1
SpriteFrame = O
Duration = 6
Action = A_FaceTarget
Next = S_EGGPAWN1_ATTACK4

State S_EGGPAWN1_ATTACK4
SpriteName = PWN1
SpriteFrame = P
Duration = 8
Action = A_Pain
Next = S_EGGPAWN1_ATTACK5

State S_EGGPAWN1_ATTACK5
SpriteName = PWN1
SpriteFrame = R
Duration = 8
Next = S_EGGPAWN1_ATTACK6

State S_EGGPAWN1_ATTACK6
SpriteName = PWN1
SpriteFrame = P
Duration = 8
Next = S_EGGPAWN1_ATTACK7

State S_EGGPAWN1_ATTACK7
SpriteName = PWN1
SpriteFrame = R
Duration = 8
Action = A_Repeat
Var1 = 1
Next = S_EGGPAWN1_ATTACK8

State S_EGGPAWN1_ATTACK8
SpriteName = PWN1
SpriteFrame = FF_ANIMATE|P
Duration = 8
Var1 = 1
Var2 = 2
Next = S_EGGPAWN1_ATTACK9

State S_EGGPAWN1_ATTACK9
SpriteName = PWN1
SpriteFrame = FF_ANIMATE|R
Duration = 8
Var1 = 1
Var2 = 2
Next = S_EGGPAWN1_ATTACK10

State S_EGGPAWN1_ATTACK10
SpriteName = PWN1
SpriteFrame = R
Duration = 0
Action = A_Repeat
Var1 = 1
Var2 = S_EGGPAWN1_ATTACK8
Next = S_EGGPAWN1_ATTACK11

State S_EGGPAWN1_ATTACK11
SpriteName = PWN1
SpriteFrame = FF_ANIMATE|P
Duration = 8
Var1 = 1
Var2 = 2
Next = S_EGGPAWN1_ATTACK12

State S_EGGPAWN1_ATTACK12
SpriteName = PWN1
SpriteFrame = FF_FULLBRIGHT|T
Duration = 8
Action = A_TrapShot
Var1 = MT_JETTBULLET
Var2 = 2097152
Next = S_EGGPAWN1_ATTACK13

State S_EGGPAWN1_ATTACK13
SpriteName = PWN1
SpriteFrame = FF_FULLBRIGHT|T
Duration = 0
Action = A_PlayAttackSound
Next = S_EGGPAWN1_ATTACK14

State S_EGGPAWN1_ATTACK14
SpriteName = PWN1
SpriteFrame = P
Duration = 8
Next = S_EGGPAWN1_ATTACK15

State S_EGGPAWN1_ATTACK15
SpriteName = PWN1
SpriteFrame = R
Duration = 8
Next = S_EGGPAWN1_ATTACK16

State S_EGGPAWN1_ATTACK16
SpriteName = PWN1
SpriteFrame = P
Duration = 8
Next = S_EGGPAWN1_ATTACK17

State S_EGGPAWN1_ATTACK17
SpriteName = PWN1
SpriteFrame = O
Duration = 6
Next = S_EGGPAWN1_ATTACK18

State S_EGGPAWN1_ATTACK18
SpriteName = PWN1
SpriteFrame = N
Duration = 6
Next = S_EGGPAWN1_ATTACK19

State S_EGGPAWN1_ATTACK19
SpriteName = PWN1
SpriteFrame = M
Duration = 6
Next = S_EGGPAWN1_WALK1



#////////// Silver Egg Pawn \\\\\\\\\\#

Freeslot
MT_EGGPAWN2
SPR_PWN2
sfx_pwngn2
S_EGGPAWN2_IDLE
S_EGGPAWN2_WALK1
S_EGGPAWN2_ROLL1
S_EGGPAWN2_WALK2
S_EGGPAWN2_WALK3
S_EGGPAWN2_WALK4
S_EGGPAWN2_WALK5
S_EGGPAWN2_WALK6
S_EGGPAWN2_WALK7
S_EGGPAWN2_WALK8
S_EGGPAWN2_WALK9
S_EGGPAWN2_WALK10
S_EGGPAWN2_WALK11
S_EGGPAWN2_WALK12
S_EGGPAWN2_ATTACK1
S_EGGPAWN2_ATTACK2
S_EGGPAWN2_ATTACK3
S_EGGPAWN2_ATTACK4
S_EGGPAWN2_ATTACK5
S_EGGPAWN2_ATTACK6
S_EGGPAWN2_ATTACK7
S_EGGPAWN2_ATTACK8
S_EGGPAWN2_ATTACK9
S_EGGPAWN2_ATTACK10
S_EGGPAWN2_ATTACK11


Object MT_EGGPAWN2
#$Name Silver Egg Pawn
#$Sprite PWN2A1G1
#$Category Common
MapThingNum = 2462
SpawnState = S_EGGPAWN2_IDLE
SeeState = S_EGGPAWN2_WALK1
DeathState = S_XPLD_FLICKY
DeathSound = SFX_POP
ActiveSound = SFX_PWNRUN
AttackSound = SFX_PWNGN2
SpawnHealth = 1
Speed = 8
Radius = 24*FRACUNIT
Height = 56*FRACUNIT
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE


# Silver Egg Pawn Dual Bullets

Freeslot
MT_EGGPAWN2BULLETS
SPR_PWNB
S_EGGPAWN2BULLETS

Object MT_EGGPAWN2BULLETS
SpawnState = S_EGGPAWN2BULLETS
DeathState = S_TURRETLASEREXPLODE1
SpawnHealth = 1
Speed = 35*FRACUNIT
Radius = 30*FRACUNIT
Height = 16*FRACUNIT
Flags = MF_NOBLOCKMAP|MF_MISSILE|MF_NOGRAVITY

State S_EGGPAWN2BULLETS
SpriteName = PWNB
SpriteFrame = A
Duration = 1
Next = S_EGGPAWN2BULLETS


# Idle cycle

State S_EGGPAWN2_IDLE
SpriteName = PWN2
SpriteFrame = A
Duration = 5
Action = A_Look
Next = S_EGGPAWN2_IDLE


# Walk cycle, if the player is close enough, then attack after the first state

State S_EGGPAWN2_WALK1
SpriteName = PWN2
SpriteFrame = A
Duration = 5
Next = S_EGGPAWN2_ROLL1

State S_EGGPAWN2_ROLL1
SpriteName = PWN2
SpriteFrame = A
Duration = 0
Action = A_CheckTrueRange
Var1 = 1536
Var2 = S_EGGPAWN2_ATTACK1
Next = S_EGGPAWN2_WALK2

State S_EGGPAWN2_WALK2
SpriteName = PWN2
SpriteFrame = B
Duration = 5
Action = A_Chase
Next = S_EGGPAWN2_WALK3

State S_EGGPAWN2_WALK3
SpriteName = PWN2
SpriteFrame = C
Duration = 5
Action = A_Chase
Next = S_EGGPAWN2_WALK4

State S_EGGPAWN2_WALK4
SpriteName = PWN2
SpriteFrame = D
Duration = 5
Action = A_Chase
Next = S_EGGPAWN2_WALK5

State S_EGGPAWN2_WALK5
SpriteName = PWN2
SpriteFrame = E
Duration = 5
Action = A_PlayActiveSound
Next = S_EGGPAWN2_WALK6

State S_EGGPAWN2_WALK6
SpriteName = PWN2
SpriteFrame = F
Duration = 7
Next = S_EGGPAWN2_WALK7

State S_EGGPAWN2_WALK7
SpriteName = PWN2
SpriteFrame = G
Duration = 5
Next = S_EGGPAWN2_WALK8

State S_EGGPAWN2_WALK8
SpriteName = PWN2
SpriteFrame = H
Duration = 5
Action = A_Chase
Next = S_EGGPAWN2_WALK9

State S_EGGPAWN2_WALK9
SpriteName = PWN2
SpriteFrame = I
Duration = 5
Action = A_Chase
Next = S_EGGPAWN2_WALK10

State S_EGGPAWN2_WALK10
SpriteName = PWN2
SpriteFrame = J
Duration = 5
Action = A_Chase
Next = S_EGGPAWN2_WALK11

State S_EGGPAWN2_WALK11
SpriteName = PWN2
SpriteFrame = K
Duration = 5
Action = A_PlayActiveSound
Next = S_EGGPAWN2_WALK12

State S_EGGPAWN2_WALK12
SpriteName = PWN2
SpriteFrame = L
Duration = 7
Next = S_EGGPAWN2_WALK1


# Attack Cycle

State S_EGGPAWN2_ATTACK1
SpriteName = PWN2
SpriteFrame = M
Duration = 6
Action = A_FaceTarget
Next = S_EGGPAWN2_ATTACK2

State S_EGGPAWN2_ATTACK2
SpriteName = PWN2
SpriteFrame = N
Duration = 6
Action = A_FaceTarget
Next = S_EGGPAWN2_ATTACK3

State S_EGGPAWN2_ATTACK3
SpriteName = PWN2
SpriteFrame = O
Duration = 6
Action = A_FaceTarget
Next = S_EGGPAWN2_ATTACK4

State S_EGGPAWN2_ATTACK4
SpriteName = PWN2
SpriteFrame = P
Duration = 12
Action = A_FaceTarget
Next = S_EGGPAWN2_ATTACK5

State S_EGGPAWN2_ATTACK5
SpriteName = PWN2
SpriteFrame = FF_FULLBRIGHT|Q
Duration = 0
Action = A_TrapShot
Var1 = MT_EGGPAWN2BULLETS
Var2 = 786791
Next = S_EGGPAWN2_ATTACK6

State S_EGGPAWN2_ATTACK6
SpriteName = PWN2
SpriteFrame = FF_FULLBRIGHT|Q
Duration = 3
Action = A_PlayAttackSound
Next = S_EGGPAWN2_ATTACK7

State S_EGGPAWN2_ATTACK7
SpriteName = PWN2
SpriteFrame = P
Duration = 3
Action = A_FaceTarget
Next = S_EGGPAWN2_ATTACK8

State S_EGGPAWN2_ATTACK8
SpriteName = PWN2
SpriteFrame = P
Duration = 0
Action = A_CheckTrueRange
Var1 = 1024
Var2 = S_EGGPAWN2_ATTACK5
Next = S_EGGPAWN2_ATTACK9

State S_EGGPAWN2_ATTACK9
SpriteName = PWN2
SpriteFrame = O
Duration = 6
Next = S_EGGPAWN2_ATTACK10

State S_EGGPAWN2_ATTACK10
SpriteName = PWN2
SpriteFrame = N
Duration = 6
Next = S_EGGPAWN2_ATTACK11

State S_EGGPAWN2_ATTACK11
SpriteName = PWN2
SpriteFrame = M
Duration = 6
Next = S_EGGPAWN2_WALK1



#////////// Blue Buzz Bomber \\\\\\\\\\#

Freeslot
MT_BEETON1
SPR_BTN1
sfx_btnfly
S_BEETON1_IDLE1
S_BEETON1_IDLE2
S_BEETON1_IDLE3
S_BEETON1_IDLE4
S_BEETON1_IDLE5
S_BEETON1_IDLE6
S_BEETON1_IDLE7
S_BEETON1_THRUST
S_BEETON1_FLY1
S_BEETON1_FLY2
S_BEETON1_FLY3
S_BEETON1_FLY4
S_BEETON1_FLY5
S_BEETON1_FLY6
S_BEETON1_FLY7
S_BEETON1_FLY8
S_BEETON1_FLY9
S_BEETON1_FLY10
S_BEETON1_ATTACK1
S_BEETON1_ATTACK2
S_BEETON1_ATTACK3
S_BEETON1_ATTACK4
S_BEETON1_ATTACK5
S_BEETON1_ATTACK6
S_BEETON1_ATTACK7
S_BEETON1_ATTACK8
S_BEETON1_ATTACK9
S_BEETON1_ATTACK10
S_BEETON1_ATTACK11
S_BEETON1_ATTACK12
S_BEETON1_ATTACK13
S_BEETON1_ATTACK14
S_BEETON1_ATTACK15
S_BEETON1_ATTACK16
S_BEETON1_ATTACK17
S_BEETON1_ATTACK18
S_BEETON1_ATTACK19
S_BEETON1_ATTACK20
S_BEETON1_ATTACK21


Object MT_BEETON1
#$Name Beeton
#$Sprite BTN1A1
#$Category Common
MapThingNum = 2463
SpawnState = S_BEETON1_IDLE1
SeeState = S_BEETON1_FLY1
DeathState = S_XPLD_FLICKY
DeathSound = SFX_POP
ActiveSound = SFX_BTNFLY
PainSound = SFX_PWNCHG
AttackSound = SFX_PWNGN1
SpawnHealth = 1
Speed = 12
Radius = 24*FRACUNIT
Height = 35*FRACUNIT
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE|MF_NOGRAVITY|MF_SLIDEME


# For use with A_DualAction

State S_BEETON1_THRUST
Action = A_Thrust
Var1 = 12
Var2 = 1


# Idle cycle

State S_BEETON1_IDLE1
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|C
Duration = 4
Action = A_PlayActiveSound # I wonder if there was a way to use MF_AMBIENT for this and Nebula...
Var1 = 1
Var2 = 1
Next = S_BEETON1_IDLE2

State S_BEETON1_IDLE2
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|E
Duration = 4
Action = A_PlayActiveSound
Var1 = 1
Var2 = 1
Next = S_BEETON1_IDLE3

State S_BEETON1_IDLE3
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|G
Duration = 4
Action = A_PlayActiveSound
Var1 = 1
Var2 = 1
Next = S_BEETON1_IDLE4

State S_BEETON1_IDLE4
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|I
Duration = 8
Var1 = 1
Var2 = 1
Next = S_BEETON1_IDLE5

State S_BEETON1_IDLE5
Duration = 0
Action = A_DualAction
Var1 = S_EGGPAWN1_IDLE
Var2 = S_EGGPAWN2_WALK5
Next = S_BEETON1_IDLE6

State S_BEETON1_IDLE6
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|G
Duration = 8
Var1 = 1
Var2 = 1
Next = S_BEETON1_IDLE7

State S_BEETON1_IDLE7
Duration = 0
Action = A_PlayActiveSound
Next = S_BEETON1_IDLE4


# Fly cyle, try to get close to the player before attacking

State S_BEETON1_FLY1
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|G
Duration = 4
Action = A_PlayActiveSound
Var1 = 1
Var2 = 1
Next = S_BEETON1_FLY2

State S_BEETON1_FLY2
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|E
Duration = 4
Action = A_PlayActiveSound
Var1 = 1
Var2 = 1
Next = S_BEETON1_FLY3

State S_BEETON1_FLY3
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|C
Duration = 4
Action = A_PlayActiveSound
Var1 = 1
Var2 = 1
Next = S_BEETON1_FLY4

State S_BEETON1_FLY4
SpriteName = BTN1
SpriteFrame = A
Duration = 1
Action = A_DualAction
Var1 = S_EGGPAWN1_ATTACK1
Var2 = S_BEETON1_THRUST
Next = S_BEETON1_FLY5

State S_BEETON1_FLY5
SpriteName = BTN1
SpriteFrame = B
Duration = 1
Action = A_DualAction
Var1 = S_EGGPAWN1_ATTACK1
Var2 = S_BEETON1_THRUST
Next = S_BEETON1_FLY6

State S_BEETON1_FLY6
SpriteName = BTN1
SpriteFrame = A
Duration = 1
Action = A_DualAction
Var1 = S_EGGPAWN1_ATTACK1
Var2 = S_BEETON1_THRUST
Next = S_BEETON1_FLY7

State S_BEETON1_FLY7
SpriteName = BTN1
SpriteFrame = B
Duration = 1
Action = A_DualAction
Var1 = S_EGGPAWN1_ATTACK1
Var2 = S_BEETON1_THRUST
Next = S_BEETON1_FLY8

State S_BEETON1_FLY8
Duration = 0
Action = A_PlayActiveSound
Next = S_BEETON1_FLY9

State S_BEETON1_FLY9
Duration = 0
Action = A_CheckTrueRange
Var1 = 512
Var2 = S_BEETON1_FLY10
Next = S_BEETON1_FLY4

State S_BEETON1_FLY10
Duration = 0
Action = A_ForceStop
Next = S_BEETON1_ATTACK1


# Attack Cycle

State S_BEETON1_ATTACK1
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|C
Duration = 4
Action = A_FaceTarget
Var1 = 1
Var2 = 1
Next = S_BEETON1_ATTACK2

State S_BEETON1_ATTACK2
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|E
Duration = 4
Action = A_FaceTarget
Var1 = 1
Var2 = 1
Next = S_BEETON1_ATTACK3

State S_BEETON1_ATTACK3
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|G
Duration = 4
Action = A_FaceTarget
Var1 = 1
Var2 = 1
Next = S_BEETON1_ATTACK4

State S_BEETON1_ATTACK4
Duration = 0
Action = A_FaceTarget
Next = S_BEETON1_ATTACK5

State S_BEETON1_ATTACK5
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|I
Duration = 8
Action = A_Pain
Var1 = 1
Var2 = 1
Next = S_BEETON1_ATTACK6

State S_BEETON1_ATTACK6
Duration = 0
Action = A_FaceTarget
Next = S_BEETON1_ATTACK7

State S_BEETON1_ATTACK7
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|M
Duration = 8
Action = A_PlayActiveSound
Var1 = 1
Var2 = 1
Next = S_BEETON1_ATTACK8

State S_BEETON1_ATTACK8
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|I
Duration = 8
Action = A_FaceTarget
Var1 = 1
Var2 = 1
Next = S_BEETON1_ATTACK9

State S_BEETON1_ATTACK9
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|M
Duration = 8
Action = A_FaceTarget
Var1 = 1
Var2 = 1
Next = S_BEETON1_ATTACK10

State S_BEETON1_ATTACK10
Duration = 0
Action = A_Repeat
Var1 = 1
Next = S_BEETON1_ATTACK11

State S_BEETON1_ATTACK11
Duration = 0
Action = A_PlayActiveSound
Next = S_BEETON1_ATTACK12

State S_BEETON1_ATTACK12
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|I
Duration = 8
Action = A_FaceTarget
Var1 = 3
Var2 = 1
Next = S_BEETON1_ATTACK13

State S_BEETON1_ATTACK13
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|M
Duration = 8
Action = A_FaceTarget
Var1 = 3
Var2 = 1
Next = S_BEETON1_ATTACK14

State S_BEETON1_ATTACK14
SpriteName = BTN1
SpriteFrame = R
Duration = 0
Action = A_Repeat
Var1 = 1
Var2 = S_BEETON1_ATTACK11
Next = S_BEETON1_ATTACK15

State S_BEETON1_ATTACK15
Duration = 0
Action = A_FaceTarget
Next = S_BEETON1_ATTACK16

State S_BEETON1_ATTACK16
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|I
Duration = 8
Action = A_PlayActiveSound
Var1 = 3
Var2 = 1
Next = S_BEETON1_ATTACK17

State S_BEETON1_ATTACK17
Duration = 0
Action = A_FaceTarget
Next = S_BEETON1_ATTACK18

State S_BEETON1_ATTACK18
SpriteName = BTN1
SpriteFrame = FF_FULLBRIGHT|Q
Duration = 0
Action = A_FireShot
Var1 = MT_JETTBULLET
Var2 = -44
Next = S_BEETON1_ATTACK19

State S_BEETON1_ATTACK19
SpriteName = BTN1
SpriteFrame = FF_FULLBRIGHT|FF_ANIMATE|Q
Duration = 8
Action = A_PlayAttackSound
Var1 = 1
Var2 = 1
Next = S_BEETON1_ATTACK20

State S_BEETON1_ATTACK20
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|I
Duration = 8
Action = A_PlayActiveSound
Var1 = 1
Var2 = 1
Next = S_BEETON1_ATTACK21

State S_BEETON1_ATTACK21
SpriteName = BTN1
SpriteFrame = FF_ANIMATE|M
Duration = 8
Var1 = 1
Var2 = 1
Next = S_BEETON1_FLY1



#////////// Chopper \\\\\\\\\\#

Freeslot
MT_CHOPPER
SPR_BTBT
S_CHOPPER1
S_CHOPPER2
S_CHOPPER3
S_CHOPPER4
S_CHOPPER5


Object MT_CHOPPER
#$Name Chopper
#$Sprite BTBTA3A7
#$Category Common
#$Arg0 Jump strength
MapThingNum = 2464
SpawnState = S_CHOPPER1
SeeState = S_CHOPPER1
MeleeState = S_CHOPPER1
XDeathState = S_CHOPPER5
DeathState = S_XPLD_FLICKY
DeathSound = SFX_POP
SpawnHealth = 1
Radius = 8*FRACUNIT
Height = 28*FRACUNIT
Flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE


# Fish

State S_CHOPPER1
SpriteName = BTBT
SpriteFrame = A
Duration = 2
Action = A_FishJump
Next = S_CHOPPER2

State S_CHOPPER2
SpriteName = BTBT
SpriteFrame = B
Duration = 2
Action = A_FishJump
Next = S_CHOPPER3

State S_CHOPPER3
SpriteName = BTBT
SpriteFrame = C
Duration = 2
Action = A_FishJump
Next = S_CHOPPER4

State S_CHOPPER4
SpriteName = BTBT
SpriteFrame = D
Duration = 2
Action = A_FishJump
Next = S_CHOPPER5

State S_CHOPPER5
SpriteName = BTBT
SpriteFrame = E
Duration = 2
Action = A_FishJump
Next = S_CHOPPER1


#////////// Nebula \\\\\\\\\\#

Freeslot
MT_NEBULA
SPR_NEBU
sfx_nblfly
sfx_nblatk
S_NEBULA_SPAWN1
S_NEBULA_SPAWN2
S_NEBULA_SPAWN3
S_NEBULA_IDLE1
S_NEBULA_IDLE2
S_NEBULA_IDLE3
S_NEBULA_IDLE4
S_NEBULA_IDLE5
S_NEBULA_IDLE6
S_NEBULA_IDLE7
S_NEBULA_IDLE6
S_NEBULA_IDLE7
S_NEBULA_IDLE8
S_NEBULA_IDLE9
S_NEBULA_ATTACK


Object MT_NEBULA
#$Name Nebula
#$Sprite NEBUA1
#$Category Common
MapThingNum = 2465
SpawnState = S_NEBULA_SPAWN1
SeeState = S_NEBULA_ATTACK
RaiseState = MT_MINE
DeathState = S_XPLD_FLICKY
DeathSound = SFX_POP
ActiveSound = SFX_NBLFLY
AttackSound = SFX_NBLATK
SpawnHealth = 1
Radius = 32*FRACUNIT
Height = 68*FRACUNIT
Flags = MF_SPECIAL|MF_SHOOTABLE|MF_NOGRAVITY|MF_ENEMY


# Nebula Rotation Target

Freeslot
MT_NEBULATARGET
S_NEBULATARGET

Object MT_NEBULATARGET
SpawnState = S_NEBULATARGET
SpawnHealth = 1
Radius = 12*FRACUNIT
Height = 32*FRACUNIT
Flags = MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT

State S_NEBULATARGET
SpriteName = NULL
SpriteFrame = A
Duration = 1
Next = S_NEBULATARGET


# Cycle setup

State S_NEBULA_SPAWN1
SpriteName = NEBU
SpriteFrame = A
Duration = 1
Next = S_NEBULA_SPAWN2

State S_NEBULA_SPAWN2
SpriteName = NEBU
SpriteFrame = A
Duration = 1
Action = A_SpawnObjectRelative
Var1 = 0
Var2 = (16*65536)+MT_NEBULATARGET # I can't believe I completely missed the function to do this until making the last enemy... 
Next = S_NEBULA_SPAWN3

State S_NEBULA_SPAWN3
SpriteName = NEBU
SpriteFrame = A
Duration = 1
Action = A_FindTarget
Var1 = MT_NEBULATARGET
Var2 = 0
Next = S_NEBULA_IDLE1

# Idle cycle

State S_NEBULA_IDLE1
Duration = 0
Action = A_Repeat
Var1 = 1
Next = S_NEBULA_IDLE2

State S_NEBULA_IDLE2
Duration = 0
Action = A_PlayActiveSound
Next = S_NEBULA_IDLE3

State S_NEBULA_IDLE3
SpriteName = NEBU
SpriteFrame = A
Duration = 1
Action = A_Custom3DRotate
Var1 = 16
Var2 = 32
Next = S_NEBULA_IDLE4

State S_NEBULA_IDLE4
SpriteName = NEBU
SpriteFrame = B
Duration = 1
Action = A_Custom3DRotate
Var1 = 16
Var2 = 32
Next = S_NEBULA_IDLE5

State S_NEBULA_IDLE5
SpriteName = NEBU
SpriteFrame = C
Duration = 1
Action = A_Custom3DRotate
Var1 = 16
Var2 = 32
Next = S_NEBULA_IDLE6

State S_NEBULA_IDLE6
SpriteName = NEBU
SpriteFrame = D
Duration = 1
Action = A_Custom3DRotate
Var1 = 16
Var2 = 32
Next = S_NEBULA_IDLE7

State S_NEBULA_IDLE7
SpriteName = NEBU
SpriteFrame = E
Duration = 1
Action = A_Custom3DRotate
Var1 = 16
Var2 = 32
Next = S_NEBULA_IDLE8

State S_NEBULA_IDLE8
Duration = 0
Action = A_Repeat
Var1 = 8
Var2 = S_NEBULA_IDLE2
Next = S_NEBULA_IDLE9

State S_NEBULA_IDLE9
Duration = 0
Action = A_Look
Var1 = (768*65536)+1
Next = S_NEBULA_IDLE1


# Attack!!

State S_NEBULA_ATTACK
Duration = 0
Action = A_DropMine
Var2 = 768
Next = S_NEBULA_SPAWN3