#Batbrain
#Sprites by Monster Iestyn, Glaber, and Vee
#Use with LUA_BATZ and LUA_BTUP
FREESLOT
MT_BatBrain
S_BATBRAIN_LOOK
S_BATBRAIN_DROP1
S_BATBRAIN_DROP2
S_BATBRAIN_ARC1
S_BATBRAIN_ARC2
S_BATBRAIN_ARC3
S_BATBRAIN_FLY1
S_BATBRAIN_FLY2
S_BATBRAIN_FLY3
S_BATBRAIN_FLY4
S_BATBRAIN_AGAIN
S_BATBRAIN_ARCUP1
S_BATBRAIN_ARCUP2
S_BATBRAIN_ARCUP3
S_BATBRAIN_RETURN1
S_BATBRAIN_RETURN2
S_BATBRAIN_RETURN3
SPR_BATB

Thing MT_BatBrain
#$Name "Bat Brain"
#$Sprite BATBD0
#$Category Genesis Enemies
MAPTHINGNUM = 4034
SPAWNSTATE = S_BATBRAIN_LOOK
SPAWNHEALTH = 1
SEESTATE = S_BATBRAIN_DROP1
SEESOUND = 0
REACTIONTIME = 2
ATTACKSOUND = 0
PAINSTATE = 0
PAINCHANCE = 200
PAINSOUND = 0
MELEESTATE = 0
MISSILESTATE = S_BATBRAIN_ARC1
DEATHSTATE = S_XPLD_FLICKY
DEATHSOUND = sfx_pop
XDEATHSTATE = 0
SPEED = 20*FRACUNIT
RADIUS = 24*FRACUNIT
HEIGHT = 38*FRACUNIT
MASS = 100
DAMAGE = 0
ACTIVESOUND = sfx_S1C0
RAISESTATE = 0
FLAGS = MF_SPECIAL|MF_SHOOTABLE|MF_ENEMY|MF_SPAWNCEILING|MF_NOGRAVITY

FRAME S_BATBRAIN_LOOK
SPRITENUMBER = BATB
SPRITESUBNUMBER = D
DURATION = 5
ACTION A_Look
VAR1 = (900<<16)+1
VAR2 = 0
NEXT = S_BATBRAIN_LOOK

FRAME S_BATBRAIN_DROP1
SPRITENUMBER = BATB
SPRITESUBNUMBER = A
DURATION = 1
ACTION A_MultiShotDist
VAR1 = (MT_DUST<<16)+10
VAR2 = -34
NEXT = S_BATBRAIN_DROP2

FRAME S_BATBRAIN_DROP2
SPRITENUMBER = BATB
SPRITESUBNUMBER = A
DURATION = 1
ACTION A_BatDrop
VAR1 = 0
VAR2 = 0
NEXT = S_BATBRAIN_DROP2

FRAME S_BATBRAIN_ARC1
SPRITENUMBER = BATB
SPRITESUBNUMBER = A
DURATION = 1
ACTION A_ZThrust
VAR1 = -5
VAR2 = (1<<16)
NEXT = S_BATBRAIN_ARC2

FRAME S_BATBRAIN_ARC2
SPRITENUMBER = BATB
SPRITESUBNUMBER = A
DURATION = 1
ACTION A_ZThrust
VAR1 = -2
VAR2 = (1<<16)
NEXT = S_BATBRAIN_ARC3

FRAME S_BATBRAIN_ARC3
SPRITENUMBER = BATB
SPRITESUBNUMBER = A
DURATION = 1
ACTION A_ZThrust
VAR1 = 0
VAR2 = (1<<16)
NEXT = S_BATBRAIN_FLY1

FRAME S_BATBRAIN_FLY1
SPRITENUMBER = BATB
SPRITESUBNUMBER = A
DURATION = 3
ACTION A_Thrust
VAR1 = 7
VAR2 = 1
NEXT = S_BATBRAIN_FLY2

FRAME S_BATBRAIN_FLY2
SPRITENUMBER = BATB
SPRITESUBNUMBER = B
DURATION = 3
ACTION A_PlaySound
VAR1 = sfx_S1C0
VAR2 = 1
NEXT = S_BATBRAIN_FLY3

FRAME S_BATBRAIN_FLY3
SPRITENUMBER = BATB
SPRITESUBNUMBER = C
DURATION = 3
ACTION A_Thrust
VAR1 = 7
VAR2 = 1
NEXT = S_BATBRAIN_FLY4

FRAME S_BATBRAIN_FLY4
SPRITENUMBER = BATB
SPRITESUBNUMBER = B
DURATION = 3
ACTION A_PlaySound
VAR1 = sfx_S1C0
VAR2 = 1
NEXT = S_BATBRAIN_AGAIN

FRAME S_BATBRAIN_AGAIN
SPRITENUMBER = BATB
SPRITESUBNUMBER = B
DURATION = 0
ACTION A_Repeat
VAR1 = 12
VAR2 = S_BATBRAIN_FLY1
NEXT = S_BATBRAIN_ARCUP1

FRAME S_BATBRAIN_ARCUP1
SPRITENUMBER = BATB
SPRITESUBNUMBER = A
DURATION = 5
ACTION A_ZThrust
VAR1 = 2
VAR2 = (1<<16)
NEXT = S_BATBRAIN_ARCUP2

FRAME S_BATBRAIN_ARCUP2
SPRITENUMBER = BATB
SPRITESUBNUMBER = B
DURATION = 6
ACTION A_ZThrust
VAR1 = 5
VAR2 = (1<<16)
NEXT = S_BATBRAIN_ARCUP3

FRAME S_BATBRAIN_ARCUP3
SPRITENUMBER = BATB
SPRITESUBNUMBER = C
DURATION = 1
ACTION A_ZThrust
VAR1 = 0
VAR2 = (1<<16)
NEXT = S_BATBRAIN_RETURN1

FRAME S_BATBRAIN_RETURN1
SPRITENUMBER = BATB
SPRITESUBNUMBER = A
DURATION = 2
ACTION A_BatCheck
VAR1 = 0
VAR2 = 0
NEXT = S_BATBRAIN_RETURN2

FRAME S_BATBRAIN_RETURN2
SPRITENUMBER = BATB
SPRITESUBNUMBER = B
DURATION = 2
ACTION A_BatCheck
VAR1 = 0
VAR2 = 0
NEXT = S_BATBRAIN_RETURN3

FRAME S_BATBRAIN_RETURN3
SPRITENUMBER = BATB
SPRITESUBNUMBER = C
DURATION = 2
ACTION A_BatCheck
VAR1 = 0
VAR2 = 0
NEXT = S_BATBRAIN_RETURN1
