FREESLOT
mt_bossbuzz
mt_buzzshot1
mt_buzzshot2
s_buzz_look
s_buzz_fly
s_buzz_chooseatk
s_buzz_crash1
s_buzz_crash2
s_buzz_crash3
s_buzz_shoot1
s_buzz_shoot2
s_buzz_pinch1
s_buzz_pinch2
s_buzz_pinch3
s_buzz_pinch4
s_buzz_spinatk
s_buzz_dashatk1
s_buzz_dashatk2
s_buzz_dashatk3
s_buzz_dashatk4
s_buzz_pain1
s_buzz_pain2
s_buzz_pain3
s_buzz_d1
s_buzz_d2
s_buzz_d3
s_buzz_shot
s_buzz_shotpain
s_buzz_shotpain2
spr_buzb

Object MT_BOSSBUZZ
MapThingNum = 3002
#$Name Buzz Boss
#$Sprite BUZBA2A8
#$Category Cyberdime Bosses
SpawnState = s_buzz_look
seestate = s_buzz_fly
SpawnHealth = 8
Damage = 3
ReactionTime = 3*TICRATE
AttackSound = sfx_s3k40
PainState = s_buzz_pain1
PainChance = 200
PainSound = sfx_dmpain
MeleeState = s_buzz_chooseatk
MissileState = s_buzz_chooseatk
RaiseState = s_buzz_chooseatk
DeathState = s_buzz_d1
XDeathState = s_buzz_d2
DeathSound = sfx_cybdth
Speed = 7
Radius = 25*FRACUNIT
Height = 25*FRACUNIT
Mass = 100
Flags = MF_BOSS|MF_FLOAT|MF_NOGRAVITY|MF_SPECIAL|MF_SHOOTABLE

State s_buzz_look
SpriteName = BUZB
SpriteFrame = A
Duration = 1
Next = s_buzz_look
Action = A_Look

State s_buzz_fly
SpriteName = BUZB
SpriteFrame = FF_ANIMATE|A
Duration = 1
Action = A_Boss1Chase
Next = s_buzz_fly
Var1 = 2
Var2 = 4

State s_buzz_chooseatk
SpriteName = BUZB
SpriteFrame = FF_ANIMATE|A
Duration = 10
Action = A_BuzzChooseAtk
Next = s_buzz_fly

State s_buzz_crash1
SpriteName = BUZB
SpriteFrame = A
Duration = 70
Next = s_buzz_crash2
Action = A_PlaySound
Var1 = sfx_s3k51

State s_buzz_crash2
SpriteName = BUZB
SpriteFrame = B
Duration = 105
Next = s_buzz_crash3
Action = A_PlaySound
Var1 = sfx_trpowr

State s_buzz_crash3
SpriteName = BUZB
SpriteFrame = FF_ANIMATE|A
Duration = 70
Next = s_buzz_fly
Action = none
Var1 = 1
Var2 = 2

State s_buzz_shoot1
SpriteName = BUZB
SpriteFrame = A
Duration = 35
Action = none
Next = s_buzz_shoot2

State s_buzz_shoot2
SpriteName = BUZB
SpriteFrame = A
Duration = 35
Next = s_buzz_fly
Action = A_FireShot
Var1 = MT_BUZZSHOT1
Var2 = 0

State s_buzz_pinch1
SpriteName = BUZB
SpriteFrame = A
Duration = -1
Action = none
Next = s_buzz_pinch1

State s_buzz_pinch2
SpriteName = BUZB
SpriteFrame = A
Duration = -1
Action = A_ShockWaveBuzz
Next = s_buzz_pinch2
Var1 = MT_SHOCKWAVE
Var2 = FRACUNIT

State s_buzz_pinch3
SpriteName = BUZB
SpriteFrame = A
Duration = -1
Action = A_ShockWaveBuzz
Next = s_buzz_pinch3
Var1 = MT_SHOCKWAVE
Var2 = FRACUNIT

State s_buzz_pinch4
SpriteName = BUZB
SpriteFrame = A
Duration = 70
Action = A_BounceLandBuzz
Next = s_buzz_fly
Var1 = MT_BUZZSHOT2

State s_buzz_spinatk
SpriteName = BUZB
SpriteFrame = A
Duration = 350
Next = s_buzz_fly
Action = A_PlaySound
Var1 = sfx_zoom

State s_buzz_dashatk1
SpriteName = BUZB
SpriteFrame = A
Duration = 10
Next = s_buzz_dashatk2
Action = A_BuzzDash
Var1 = sfx_zoom
Var2 = 0

State s_buzz_dashatk2
SpriteName = BUZB
SpriteFrame = A
Duration = 10
Next = s_buzz_dashatk3
Action = A_BuzzDash
Var1 = sfx_zoom
Var2 = 0

State s_buzz_dashatk3
SpriteName = BUZB
SpriteFrame = A
Duration = 10
Next = s_buzz_dashatk4
Action = A_BuzzDash
Var1 = sfx_zoom
Var2 = 0

State s_buzz_dashatk4
SpriteName = BUZB
SpriteFrame = A
Duration = 10
Next = s_buzz_crash3
Action = A_BuzzDash
Var1 = sfx_zoom
Var2 = 1

State s_buzz_pain1
SpriteName = BUZB
SpriteFrame = A
Duration = 35
Next = s_buzz_pain2
Action = A_Pain

State s_buzz_pain2
SpriteName = BUZB
SpriteFrame = A
Duration = 35
Next = s_buzz_look
Action = A_BuzzFlee

State s_buzz_pain3
SpriteName = BUZB
SpriteFrame = A
Duration = 1
Next = s_buzz_look
Action = A_BuzzFlee

State s_buzz_d1
SpriteName = BUZB
SpriteFrame = A
Duration = 35
Next = s_buzz_d2
Action = A_Fall

State s_buzz_d2
SpriteName = BUZB
SpriteFrame = A
Duration = 35
Next = s_buzz_d3
Action = A_BossScream

State s_buzz_d3
SpriteName = BUZB
SpriteFrame = A
Duration = 1
Next = s_xpld1
Action = A_BossDeath

Object MT_BUZZSHOT1
SpawnState = s_buzz_shot
SpawnHealth = 1
SeeSound = sfx_trfire
PainState = s_null
PainChance = 200
PainSound = sfx_dmpain
DeathState = s_buzz_shotpain
DeathSound = sfx_cybdth
Speed = 9*FRACUNIT
Radius = 40*FRACUNIT
Height = 40*FRACUNIT
Flags = MF_MISSILE|MF_SPECIAL|MF_NOGRAVITY

Object MT_BUZZSHOT2
SpawnState = s_buzz_shot
SpawnHealth = 1
PainState = s_null
PainChance = 200
PainSound = sfx_dmpain
DeathState = s_buzz_shotpain
DeathSound = sfx_cybdth
Speed = 3*FRACUNIT
Radius = 40*FRACUNIT
Height = 40*FRACUNIT
Flags = MF_PAIN|MF_SPECIAL

State s_buzz_shot
SpriteName = THOK
SpriteFrame = A
Duration = -1
Next = s_buzz_shot
Action = none

State s_buzz_shotpain
SpriteName = THOK
SpriteFrame = A
Duration = 10
Next = s_null
Action = A_ExplodeBuzz