#Octus
FREESLOT
MT_OCTUS
S_OCTOLOOK
S_OCTOLOOK2
S_OCTOAIM
S_OCTOLAUNCH
S_OCTOLAUNCH2
S_OCTOHOVER
S_OCTOHOVER2
S_OCTOHOVER3
S_OCTOAGAIN
S_OCTOHOVER4
S_OCTOHOVER5
S_OCTOHOVER6
S_OCTOAGAINAGAIN
S_OCTOSHOOT
S_OCTOLAND1
S_OCTOLAND2
S_OCTOLAND3
S_OCTOLANDR
S_OCTOLANDED
SPR_OCTO

Thing MT_OCTUS
#$Name "Octus"
#$Sprite OCTOA1
#$Category Genesis Enemies
MAPTHINGNUM = 3004
SPAWNSTATE = S_OCTOLOOK
SPAWNHEALTH = 1
SEESTATE = S_OCTOAIM
SEESOUND = 0
REACTIONTIME = 0
ATTACKSOUND = sfx_trfire
PAINSTATE = 0
PAINCHANCE = 1024
PAINSOUND = 0
MELEESTATE = 0
MISSILESTATE = 0
DEATHSTATE = S_XPLD_FLICKY
DEATHSOUND = sfx_pop
XDEATHSTATE = 0
SPEED = 0
RADIUS = 31*FRACUNIT
HEIGHT = 44*FRACUNIT
MASS = 100
DAMAGE = 0
ACTIVESOUND = 0
RAISESTATE = MT_JETTBULLET
FLAGS = MF_SPECIAL|MF_SHOOTABLE|MF_ENEMY|MF_NOGRAVITY

FRAME S_OCTOLOOK
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = A
DURATION = 8
NEXT = S_OCTOLOOK2
ACTION A_Look
VAR1 = (512<<16)+1
VAR2 = 0

FRAME S_OCTOLOOK2
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = B
DURATION = 8
NEXT = S_OCTOLOOK
ACTION A_Look
VAR1 = (512<<16)+1
VAR2 = 0

FRAME S_OCTOAIM
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = B
DURATION = 0
NEXT = S_OCTOLAUNCH
ACTION A_FaceTarget
VAR1 = 0
VAR2 = 0

FRAME S_OCTOLAUNCH
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = F
DURATION = 2
NEXT = S_OCTOLAUNCH2
ACTION A_ZThrust
VAR1 = 2
VAR2 = 0

FRAME S_OCTOLAUNCH2
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = B
DURATION = 10
NEXT = S_OCTOHOVER
ACTION A_ZThrust
VAR1 = 2
VAR2 = 0

FRAME S_OCTOHOVER
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = A
DURATION = 4
NEXT = S_OCTOHOVER2
ACTION A_ForceStop
VAR1 = 0
VAR2 = 0

FRAME S_OCTOHOVER2
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = C
DURATION = 4
NEXT = S_OCTOHOVER3
ACTION A_ForceStop
VAR1 = 0
VAR2 = 0

FRAME S_OCTOHOVER3
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = D
DURATION = 4
NEXT = S_OCTOAGAIN
ACTION A_ForceStop
VAR1 = 0
VAR2 = 0

FRAME S_OCTOAGAIN
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = 0
DURATION = 0
NEXT = S_OCTOSHOOT
ACTION A_Repeat
VAR1 = 1
VAR2 = S_OCTOHOVER

FRAME S_OCTOSHOOT
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = A
DURATION = 4
NEXT = S_OCTOHOVER4
ACTION A_JetgShoot
VAR1 = 0
VAR2 = 0

FRAME S_OCTOHOVER4
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = A
DURATION = 4
NEXT = S_OCTOHOVER5
ACTION A_ForceStop
VAR1 = 0
VAR2 = 0

FRAME S_OCTOHOVER5
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = C
DURATION = 4
NEXT = S_OCTOHOVER6
ACTION A_ForceStop
VAR1 = 0
VAR2 = 0

FRAME S_OCTOHOVER6
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = D
DURATION = 4
NEXT = S_OCTOAGAINAGAIN
ACTION A_ForceStop
VAR1 = 0
VAR2 = 0

FRAME S_OCTOAGAINAGAIN
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = A
DURATION = 0
NEXT = S_OCTOLAND1
ACTION A_Repeat
VAR1 = 2
VAR2 = S_OCTOHOVER4

FRAME S_OCTOLAND1
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = A
DURATION = 4
NEXT = S_OCTOLAND2
ACTION A_ZThrust
VAR1 = -1
VAR2 = 0

FRAME S_OCTOLAND2
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = C
DURATION = 4
NEXT = S_OCTOLAND3
ACTION A_ZThrust
VAR1 = -1
VAR2 = 0

FRAME S_OCTOLAND3
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = D
DURATION = 4
NEXT = S_OCTOLANDR
ACTION A_ZThrust
VAR1 = -1
VAR2 = 0

FRAME S_OCTOLANDR
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = E
DURATION = 0
NEXT = S_OCTOLANDED
ACTION A_Repeat
VAR1 = 2
VAR2 = S_OCTOLAND1

FRAME S_OCTOLANDED
SPRITENUMBER = SPR_OCTO
SPRITESUBNUMBER = E
DURATION = 35
NEXT = S_OCTOLOOK
ACTION A_SetTics
VAR1 = 20
VAR2 = 1
