Freeslot
MT_RATBOSS
S_RATBOSSSTANDBY0
S_RATBOSSSTANDBY1
S_RATBOSSSTANDBY2
S_RATBOSSSCAMPERCHECK0
S_RATBOSSSCAMPERCHECK1
S_RATBOSSSCAMPERCHECK2
S_RATBOSSGHOSTSCAMPER0
S_RATBOSSGHOSTSCAMPER1
S_RATBOSSGHOSTSCAMPER2
S_RATBOSSGHOSTSCAMPER3
S_RATBOSSGHOSTSCAMPER4
S_RATBOSSGHOSTSCAMPER5
S_RATBOSSGHOSTSCAMPER6
S_RATBOSSGHOSTSCAMPER7
S_RATBOSSSCAMPER0
S_RATBOSSSCAMPER1
S_RATBOSSSCAMPER2
S_RATBOSSSCAMPER3
S_RATBOSSSCAMPER4
S_RATBOSSSCAMPER5
S_RATBOSSSCAMPER6
S_RATBOSSSCAMPER7
S_RATBOSSSCAMPER8
S_RATBOSSCALL0
S_RATBOSSCALL1
S_RATBOSSCALL2
S_RATBOSSCALL3
S_RATBOSSCALL4
S_RATBOSSPAIN0
S_RATBOSSDEATH0
S_RATBOSSDEATH1
S_RATBOSSDEATH2
S_RATBOSSDEATH3
S_RATBOSSDEATH4
S_RATBOSSDEATHR
S_RATMOOKDEATH0
S_RATMOOKDEATH1
MT_RATMOOK
S_RATMOOKLOOK
S_RATMOOKCHASE1
S_RATMOOKCHASE2
S_RATMOOKCHASE3
S_RATMOOKCHASE4
S_RATMOOKCHASE5
S_RATMOOKCHASE6
S_RATMOOKCHASE7
S_RATMOOKLEAP1
S_RATMOOKLEAP2
S_RATMOOKLEAP3
S_RATMOOKLEAP4
S_RATMOOKLEAP5
SPR_SRAT
SPR_WRAT
MT_RATSPAWNER
S_RATSPAWNERR
S_RATSPAWNER0
S_RATSPAWNER1
S_RATSPAWNER2
S_RATSPAWNER3
S_RATSPAWNER4
S_RATSPAWNER5
S_RATSPAWNER6
S_RATSPAWNER7
S_RATSPAWNER8
MT_RATEXPLODE
S_RATEXPLODE1
S_RATEXPLODE2
S_RATEXPLODE3
S_RATEXPLODE4
sfx_rathis
MT_BIGSPLISH
S_BIGSPLISH0
S_BIGSPLISH1
MT_JUSTEXPLODE
S_JUSTEXPLODE
MT_SHOCKWAVEFX
S_SHOCKWAVEFX1
S_SHOCKWAVEFX2
S_SHOCKWAVEFX3
S_SHOCKWAVEFX4
S_SHOCKWAVEFX5
S_SHOCKWAVEFX6
SPR_SKWV


Object MT_RATBOSS
#$Name "Rat aka Majin"
#$Sprite WRATA1
#$Category EXE ouchies
SpawnState = S_RATBOSSSTANDBY0
PainState = S_RATBOSSPAIN0
DeathState = S_RATBOSSDEATH0
ReactionTime = 45
Speed = 40
Radius = 54*FRACUNIT
Height = 54*FRACUNIT
Damage = 3
PainSound = sfx_dmpain
DeathSound = sfx_cybdth
SpawnHealth = 8
MapThingNum = 3361
DispOffset = 0
Flags = MF_SPECIAL|MF_SHOOTABLE|MF_BOSS


State S_RATBOSSDEATH0
SpriteName = WRAT
SpriteFrame = E
Action = A_BossScream
Duration = 1
Next = S_RATBOSSDEATH1

State S_RATBOSSDEATH1
SpriteName = WRAT
SpriteFrame = E
Action = A_RemoteAction
Var1 = MT_RATMOOK
Var2 = S_RATBOSSDEATHR
Duration = 1
Next = S_RATBOSSDEATH2

State S_RATBOSSDEATH2
SpriteName = WRAT
SpriteFrame = E
Action = A_CheckThingCount
Var1 = (MT_RATMOOK<<16)+1
Var2 = S_RATBOSSDEATH0
Duration = 1
Next = S_RATBOSSDEATH3

State S_RATBOSSDEATH3
SpriteName = WRAT
SpriteFrame = A
Action = A_ForceWin
Duration = 1
Next = S_TNTBARREL_EXPL1

State S_RATBOSSDEATHR
Action = A_RandomState
Var1 = S_RATMOOKDEATH0
Var2 = S_RATMOOKDEATH0


State S_RATBOSSPAIN0
SpriteName = WRAT
SpriteFrame = A
Action = A_Pain
Duration = 20
Next = S_RATBOSSSTANDBY1


State S_RATBOSSSTANDBY0
SpriteName = WRAT
SpriteFrame = A
Duration = 35
Next = S_RATBOSSSCAMPER0

State S_RATBOSSSTANDBY1
SpriteName = WRAT
SpriteFrame = A
Action = A_CheckThingCount
Var1 = (MT_RATMOOK<<16)+32
Var2 = (1024<<16)+S_RATBOSSSTANDBY2
Duration = 1
Next = S_RATBOSSCALL0


State S_RATBOSSSTANDBY2
SpriteName = WRAT
SpriteFrame = A
Duration = 1
Next = S_RATBOSSSTANDBY0

State S_RATBOSSSCAMPERCHECK0
SpriteName = WRAT
SpriteFrame = C
Action = A_CheckHealth
Var1 = 5
VAr2 = S_RATBOSSSCAMPERCHECK1
Duration = 0
Next = S_RATBOSSSCAMPER1

State S_RATBOSSSCAMPERCHECK1
SpriteName = WRAT
SpriteFrame = C
Action = A_FindTracer
Var1 = MT_RATMOOK
Duration = 0
Next = S_RATBOSSSCAMPERCHECK2


State S_RATBOSSSCAMPERCHECK2
SpriteName = WRAT
SpriteFrame = C
Action = A_CheckRange
Var1 = (1<<16)+256
Var2 = S_RATBOSSGHOSTSCAMPER0
Duration = 0
Next = S_RATBOSSSCAMPER1


State S_RATBOSSGHOSTSCAMPER0
SpriteName = WRAT
SpriteFrame = C
Action = A_SetObjectFlags
Var1 = MF_NOCLIPTHING|MF_BOSS|MF_SLIDEME
Duration = 0
Next = S_RATBOSSGHOSTSCAMPER1

State S_RATBOSSGHOSTSCAMPER1
SpriteName = WRAT
SpriteFrame = C
Action = A_PlaySound
Var1 = sfx_CDFM01
Var2 = 0
Duration = 0
Next = S_RATBOSSGHOSTSCAMPER2

State S_RATBOSSGHOSTSCAMPER2
SpriteName = WRAT
SpriteFrame = C
Action = A_Thrust
Var1 = 30
Var2 = 65536
Duration = 0
Next = S_RATBOSSGHOSTSCAMPER3

State S_RATBOSSGHOSTSCAMPER3
SpriteName = WRAT
SpriteFrame = C|TR_TRANS50
Action = A_GhostMe
Duration = 1
Next = S_RATBOSSGHOSTSCAMPER4


State S_RATBOSSGHOSTSCAMPER4
SpriteName = WRAT
SpriteFrame = C
Action = A_ChangeAngleRelative
Var1 = 1
Var2 = 1
Duration = 0
Next = S_RATBOSSGHOSTSCAMPER5


State S_RATBOSSGHOSTSCAMPER5
SpriteName = WRAT
SpriteFrame = C
Action = A_FindTracer
Var1 = MT_RATMOOK
Duration = 0
Next = S_RATBOSSGHOSTSCAMPER6

State S_RATBOSSGHOSTSCAMPER6
SpriteName = WRAT
SpriteFrame = C
Action = A_CheckRange
Var1 = (1<<16)+256
Var2 = S_RATBOSSGHOSTSCAMPER2
Duration = 0
Next = S_RATBOSSGHOSTSCAMPER7


State S_RATBOSSGHOSTSCAMPER7
SpriteName = WRAT
SpriteFrame = C
Action = A_SetObjectFlags
Var1 = MF_SPECIAL|MF_SHOOTABLE|MF_BOSS
Duration = 0
Next = S_RATBOSSSCAMPER1


State S_RATBOSSSCAMPER0
SpriteName = WRAT
SpriteFrame = C
Action = A_FindTarget
Var1 = MT_PLAYER
Duration = 0
Next = S_RATBOSSSCAMPERCHECK0


State S_RATBOSSSCAMPER1
SpriteName = WRAT
SpriteFrame = C
Action = A_BunnyHop
Var1 = 1
Var2 = 15
Duration = 3
Next = S_RATBOSSSCAMPER2

State S_RATBOSSSCAMPER2
SpriteName = WRAT
SpriteFrame = D
Action = None
Duration = 3
Next = S_RATBOSSSCAMPER3

State S_RATBOSSSCAMPER3
SpriteName = WRAT
SpriteFrame = B
Action = None
Duration = 4
Next = S_RATBOSSSCAMPER4

State S_RATBOSSSCAMPER4
SpriteName = WRAT
SpriteFrame = B
Action = A_Repeat
Var1 = 2
Var2 = S_RATBOSSSCAMPER1
Duration = 0
Next = S_RATBOSSSCAMPER5

State S_RATBOSSSCAMPER5
SpriteName = WRAT
SpriteFrame = D
Action = A_FaceTarget
Duration = 0
Next = S_RATBOSSSCAMPER6


State S_RATBOSSSCAMPER6
SpriteName = WRAT
SpriteFrame = D
Action = A_CheckRange
Var1 = 1024
Var2 = S_RATBOSSSCAMPER8
Duration = 0
Next = S_RATBOSSSCAMPER7

State S_RATBOSSSCAMPER7
SpriteName = WRAT
SpriteFrame = D
Action = A_ChangeAngleRelative
Var1 = -90
Var2 = 90
Duration = 0
Next = S_RATBOSSSCAMPER0

State S_RATBOSSSCAMPER8
SpriteName = WRAT
SpriteFrame = D
Action = A_ChangeAngleRelative
Var1 = 90
Var2 = 270
Duration = 0
Next = S_RATBOSSSCAMPER0


State S_RATBOSSCALL0
SpriteName = WRAT
SpriteFrame = E
Action = A_Repeat
Var1 = 1
Var2 = S_RATBOSSCALL0
Duration = 4
Next = S_RATBOSSCALL1

State S_RATBOSSCALL1
SpriteName = WRAT
SpriteFrame = E
Action = A_PlaySound
Var1 = sfx_CDFM31
Var2 = 0
Duration = 4
Next = S_RATBOSSCALL2

State S_RATBOSSCALL2
SpriteName = WRAT
SpriteFrame = E
Action = A_SpawnObjectRelative
Var1 = 0
Var2 = MT_SHOCKWAVEFX
Duration = 4
Next = S_RATBOSSCALL3


State S_RATBOSSCALL3
SpriteName = WRAT
SpriteFrame = E
Action = A_MultiShot
Var1 = (MT_RATSPAWNER<<16)+5
Var2 = -50
Duration = 4
Next = S_RATBOSSCALL4

State S_RATBOSSCALL4
SpriteName = WRAT
SpriteFrame = E
Action = A_Repeat
Var1 = 15
Var2 = S_RATBOSSCALL2
Duration = 1
Next = S_RATBOSSSTANDBY0


Object MT_RATMOOK
SpawnState = S_RATMOOKLOOK
SeeState = S_RATMOOKCHASE1
DeathState = S_RATMOOKDEATH1
ReactionTime = 45
Speed = 10
Radius = 40*FRACUNIT
Height = 40*FRACUNIT
Damage = 3
DeathSound = sfx_pop
SpawnHealth = 0
DispOffset = 0
Flags = MF_SPECIAL|MF_SHOOTABLE|MF_ENEMY|MF_RUNSPAWNFUNC


State S_RATMOOKLOOK
SpriteName = SRAT
SpriteFrame = A
Action = A_FindTarget
Var1 = MT_plaYER
Duration = 1
Next = S_RATMOOKCHASE1


State S_RATMOOKCHASE1
SpriteName = SRAT
SpriteFrame = C
Action = A_BunnyHop
Var1 = 1
Var2 = 15
Duration = 3
Next = S_RATMOOKCHASE2

State S_RATMOOKCHASE2
SpriteName = SRAT
SpriteFrame = D
Action = None
Duration = 3
Next = S_RATMOOKCHASE3

State S_RATMOOKCHASE3
SpriteName = SRAT
SpriteFrame = B
Action = None
Duration = 4
Next = S_RATMOOKCHASE4

State S_RATMOOKCHASE4
SpriteName = SRAT
SpriteFrame = B
Action = A_Repeat
Var1 = 2
Var2 = S_RATMOOKCHASE1
Duration = 0
Next = S_RATMOOKCHASE5

State S_RATMOOKCHASE5
SpriteName = SRAT
SpriteFrame = D
Action = A_FaceTarget
Duration = 0
Next = S_RATMOOKCHASE6

State S_RATMOOKCHASE6
SpriteName = SRAT
SpriteFrame = D
Action = A_CheckRange
Var1 = 128
Var2 = S_RATMOOKLEAP1
Duration = 0
Next = S_RATMOOKCHASE7

State S_RATMOOKCHASE7
SpriteName = SRAT
SpriteFrame = D
Action = A_ChangeAngleRelative
Var1 = -90
Var2 = 90
Duration = 0
Next = S_RATMOOKCHASE1

State S_RATMOOKLEAP1
SpriteName = SRAT
SpriteFrame = F
Action = A_PlaySound
Var1 = sfx_CDFM02
Var2 = 0
Duration = 0
Next = S_RATMOOKLEAP2

State S_RATMOOKLEAP2
SpriteName = SRAT
SpriteFrame = F
Action = A_BunnyHop
Var1 = 20
Var2 = 15
Duration = 10
Next = S_RATMOOKLEAP3

State S_RATMOOKLEAP3
SpriteName = SRAT
SpriteFrame = F
Action = A_HomingChase
Var1 = 50*FRACUNIT
Duration = 1
Next = S_RATMOOKLEAP4

State S_RATMOOKLEAP4
SpriteName = SRAT
SpriteFrame = F
Action = A_GhostMe
Duration = 0
Next = S_RATMOOKLEAP5

State S_RATMOOKLEAP5
SpriteName = SRAT
SpriteFrame = F
Action = A_Repeat
Var1 = 10
Var2 = S_RATMOOKLEAP2
Duration = 0
Next = S_RATMOOKCHASE1


State S_RATMOOKDEATH0
SpriteName = NULL
SpriteFrame = A
Action = A_SpawnObjectRelative
Var1 = 0
Var2 = MT_JUSTEXPLODE
Duration = 0
Next = S_NULL


State S_RATMOOKDEATH1
SpriteName = NULL
SpriteFrame = A
Action = A_SpawnObjectRelative
Var1 = 0
Var2 = MT_RATEXPLODE
Duration = 0
Next = S_NULL

Object MT_RATEXPLODE
SpawnState = S_RATEXPLODE1
ReactionTime = 45
Speed = 0
Radius = 75*FRACUNIT
Height = 75*FRACUNIT
DeathSound = sfx_pop
Damage = 3
SpawnHealth = 0
MapThingNum = 3352
DispOffset = 0
Flags = MF_NOCLIP|MF_NOGRAVITY|MF_RUNSPAWNFUNC




State S_RATEXPLODE1
SpriteName = NULL
SpriteFrame = A
Action = A_FindTarget
Var1 = MT_CORK
Duration = 1
Next = S_RATEXPLODE2

State S_RATEXPLODE2
SpriteName = NULL
SpriteFrame = A
Action = A_CheckRange
Var1 = 128
Var2 = S_RATEXPLODE3
Duration = 0
Next = S_XPLD1

State S_RATEXPLODE3
SpriteName = THOK
SpriteFrame = A
Action = A_FindTarget
Var1 = MT_RATMOOK
Duration = 0
Next = S_RATEXPLODE4

State S_RATEXPLODE4
SpriteName = NULL
SpriteFrame = A
Action = A_FireShot
Var1 = MT_CORK
Duration = 0
Next = S_XPLD1



Object MT_RATSPAWNER
SpawnState = S_RATSPAWNER0
ReactionTime = 45
Speed = 30*FRACUNIT
Radius = 75*FRACUNIT
Height = 75*FRACUNIT
Damage = 3
PainSound = sfx_dmpain
DeathSound = sfx_cybdth
SpawnHealth = 8
DispOffset = 0
Flags = MF_RUNSPAWNFUNC|MF_NOSECTOR|MF_ENEMY|MF_NOCLIPTHING


State S_RATSPAWNERR
SpriteName = THOK
SpriteFrame = A
Action = A_Repeat
Var1 = 32
Var2 = S_RATSPAWNER0
Duration = 1
Next = S_NULL


State S_RATSPAWNER0
SpriteName = THOK
SpriteFrame = A
Action = A_ChangeAngleAbsolute
Var1 = 0
Var2 = 360
Duration = 1
Next = S_RATSPAWNER1


State S_RATSPAWNER1
SpriteName = THOK
SpriteFrame = A
Action = A_Thrust
Var1 = 10
Var2 = 0
Duration = 0
Next = S_RATSPAWNER2

State S_RATSPAWNER2
SpriteName = THOK
SpriteFrame = A
Action = A_FindTarget
Var1 = MT_RATMOOK
Var2 = 0
Duration = 0
Next = S_RATSPAWNER3

State S_RATSPAWNER3
SpriteName = THOK
SpriteFrame = A
Action = A_CheckRange
Var1 = 128
Var2 = S_RATSPAWNERR
Duration = 0
Next = S_RATSPAWNER4


State S_RATSPAWNER4
SpriteName = THOK
SpriteFrame = A
Action = A_FindTarget
Var1 = MT_PLAYER
Var2 = 0
Duration = 1
Next = S_RATSPAWNER5

State S_RATSPAWNER5
SpriteName = THOK
SpriteFrame = A
Action = A_CheckRange
Var1 = 256
Var2 = S_RATSPAWNERR
Duration = 0
Next = S_RATSPAWNER6

State S_RATSPAWNER6
SpriteName = THOK
SpriteFrame = A
Action = A_CheckRange
Var1 = 128
Var2 = S_RATSPAWNER0
Duration = 0
Next = S_RATSPAWNER7

State S_RATSPAWNER7
SpriteName = THOK
SpriteFrame = A
Action = A_SpawnObjectRelative
Var2 = MT_RATMOOK
Duration = 0
Next = S_RATSPAWNER8

State S_RATSPAWNER8
SpriteName = THOK
SpriteFrame = A
Action = A_SpawnObjectRelative
Var2 = MT_BIGSPLISH
Duration = 0
Next = S_NULL


Object MT_JUSTEXPLODE
SpawnState = S_JUSTEXPLODE 
ReactionTime = 45
Speed = 0
Radius = 75*FRACUNIT
Height = 75*FRACUNIT
Damage = 3
SpawnHealth = 0
MapThingNum = 3352
DispOffset = 0
Flags = MF_NOCLIP|MF_NOGRAVITY



State S_JUSTEXPLODE
SpriteName = NULL
SpriteFrame = A
Duration = 1
Next = S_XPLD_FLICKY

Object MT_BIGSPLISH
SpawnState = S_BIGSPLISH0
ReactionTime = 45
Speed = 1*FRACUNIT
Radius = 1*FRACUNIT
Height = 1*FRACUNIT
SeeSound = sfx_splish
Damage = 3
SpawnHealth = 1
DispOffset = 0
Flags = MF_NOCLIP|MF_RUNSPAWNFUNC

State S_BIGSPLISH0
SpriteName = NULL
SpriteFrame = A
Duration = 1
Next = S_BIGSPLISH1

State S_BIGSPLISH1
SpriteName = NULL
SpriteFrame = A
Action = A_SetScale
Var1 = FRACUNIT*4
Duration = 0
Next = S_SPLISH1


Object MT_SHOCKWAVEFX
SpawnState = S_SHOCKWAVEFX1
Radius = 64*FRACUNIT
Height = 64*FRACUNIT
DispOffset = 0
Flags = MF_NOGRAVITY|MF_NOCLIP|MF_RUNSPAWNFUNC|MF_NOCLIPHEIGHT

State S_SHOCKWAVEFX1
SpriteName = NULL
SpriteFrame = A
Action = A_SetCustomValue
Var1 = FRACUNIT/8
Var2 = 0
Duration = 1
Next = S_SHOCKWAVEFX2

State S_SHOCKWAVEFX2
SpriteName = NULL
SpriteFrame = A
Action = A_CusValAction
Var1 = S_SHOCKWAVEFX6
Var2 = 0
Duration = 0
Next = S_SHOCKWAVEFX3


State S_SHOCKWAVEFX3
SpriteName = SKWV
SpriteFrame = A|TR_TRANS90|FF_FULLBRIGHT
Action = A_SetCustomValue
Var1 = 3
Var2 = 5
Duration = 1
Next = S_SHOCKWAVEFX4

State S_SHOCKWAVEFX4
SpriteName = SKWV
SpriteFrame = A
Action = A_SetCustomValue
Var1 = 2
Var2 = 4
Duration = 0
Next =  S_SHOCKWAVEFX5

State S_SHOCKWAVEFX5
SpriteName = SKWV
SpriteFrame = A
Action = A_Repeat
Var1 = 15
Var2 = S_SHOCKWAVEFX2
Duration = 0
Next = S_NULL

State S_SHOCKWAVEFX6
Action = A_SetScale
Var1 = FRACUNIT
Var2 = 0
