actor TimeStopperBoss : BaseMM8BDMWep_CBM
{
Tag "$TAGC_2F"
dropitem "TimeBenderWepCDropped"
Weapon.AmmoUse 7
Weapon.AmmoGive 28
Obituary "$OB_TIMEBUSTER"
weapon.ammotype "TimeAmmo"
weapon.ammotype2 "ZaWarudoAmmo"
+WEAPON.NOAUTOAIM
States
{
Spawn:
C_02 F 1
loop
Ready:
FLSA A 0 ACS_ExecuteAlways(998,0,DYE_FLASHMAN)
FLSA A 0 //A_GunFlash
goto Ready1
Ready1:
FLSA A 0 A_JumpIfInventory("TimeAmmo",42,"Ready2")
FLSA AAA 1 A_WeaponReady(WRF_NOSECONDARY)
FLSA A 0 A_JumpIfInventory("TimeStopperFlag",1,2)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",2)
goto Ready1
Ready2:
FLSA A 0 A_JumpIfInventory("TimeAmmo",84,"Ready3")
FLSA AAA 1 A_WeaponReady
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",2)
goto Ready1
Ready3:
FLSA AAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",2)
goto Ready1

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
FLSA A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
FLSA A 1 A_Raise
Loop

Fire:
FLSA A 1 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto NoAmmo
FLSA B 0 A_JumpIfInventory("IsBot",1,"BotFire")
FLSA B 2
goto Fire1
Fire1:
FLSA C 0 A_JumpIfInventory("IsBot",1,"BotFire3")
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain1_CI",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire2")
goto FireE
Fire2:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain2_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire3")
goto FireE
Fire3:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain3_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire4")
goto FireE
Fire4:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain4_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire5")
goto FireE
Fire5:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain3_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire6")
goto FireE
Fire6:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain2_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire7")
goto FireE
Fire7:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain1_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire8")
goto FireE
Fire8:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain5_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire9")
goto FireE
Fire9:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain6_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire10")
goto FireE
Fire10:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain7_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire11")
goto FireE
Fire11:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain6_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire12")
goto FireE
Fire12:
FLSA C 0 A_JumpIfInventory("ZaWarudoAmmo",1,1)
goto FireE
FLSA C 0 A_PlaySoundEx("weapon/rbuster","Weapon")
FLSA C 3 A_GiveInventory("FlashmanMain5_CI",1)
FLSA A 0 A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA C 0 A_ReFire("Fire1")
goto FireE

FireE:
FLSA B 3
FLSA A 0 //A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 3
FLSA A 0 //A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 3
FLSA A 0 //A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 3
FLSA A 0 //A_TakeInventory("ZaWarudoAmmo",1)
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
Goto Ready1

AltFire:
FLSA B 0 A_TakeInventory("TimeAmmo",42)
FLSA A 0 A_PlaySoundEx("weapon/flashstunstart","Weapon")
FLSA A 4 Offset(10,0)
FLSA A 4 Offset(-10,0)
FLSA A 4 Offset(10,0)
FLSA A 4 Offset(-10,0)
FLSA B 2 Offset(10,0)
FLSA B 2 Offset(-10,0)
FLSA B 2 Offset(10,0)
FLSA B 2 Offset(-10,0)
FLSA B 2 Offset(10,0)
FLSA B 2 Offset(-10,0)
FLSA B 1 Offset(10,0)
FLSA B 1 Offset(-10,0)
FLSA B 1 Offset(10,0)
FLSA B 1 Offset(-10,0)
AltFireHold:
FLSA B 1 A_GiveInventory("CutterFlag",1)
FLSA B 0 A_JumpIfInventory("CutterFlag",35,"AltFireC")
FLSA B 1 A_Refire("AltFireHold")
AltFireC:
FLSA B 0 A_TakeInventory("CutterFlag",999)
FLSA B 0 A_GiveInventory("FlashmanAlt_CI",1)
FLSA G 0 //A_SpawnItemEx("TimeStopSparkleHelper",0,0,28,0,0,0,0,1)
FLSA C 8 A_PlaySoundEx("weapon/blastmainfire","Weapon")
FLSA A 0 //ACS_NamedExecute("BULL_SetState",0,1)
FLSA BAAAA 2
Goto Ready1

Reload:
FLSA A 0 A_PlaySound("weapon/flashstunstart",CHAN_WEAPON,1.0,0,0.85)
FLSA G 0 A_GiveInventory("YamsAreThePowersThatBe_P",1)
FLSA A 2 Offset(10,0)
FLSA A 2 Offset(-10,0)
FLSA A 2 Offset(10,0)
FLSA A 1 Offset(-10,0)
FLSA B 1 Offset(10,0)
FLSA B 1 Offset(-10,0)
FLSA B 1 Offset(10,0)
FLSA B 1 Offset(-10,0)
FLSA B 1 Offset(10,0)
FLSA G 0 A_GiveInventory("YamsAreThePowersThatBe_P",1)
FLSA D 1 Offset(-10,0)
FLSA E 1 Offset(10,0)
FLSA E 1 Offset(-10,0)
FLSA F 1 Offset(10,0)
FLSA F 1 Offset(-10,0)
FLSA F 0 A_WeaponReady(WRF_NOFIRE)
FLSA G 1 Offset(2,30)
FLSA G 1 Offset(-2,34)
FLSA I 1 Offset(2,34)
FLSA I 1 Offset(-2,30)
FLSA G 0 A_GiveInventory("YamsAreThePowersThatBe_P",1)
FLSA G 0 A_GiveInventory("TimeStopperFlag",1)
FLSA G 0 A_GunFlash("Flash.Deplete",GFF_NOEXTCHANGE)
FLSA G 0 A_PlaySoundEx("weapon/timestopper","SoundSlot6")
FLSA G 0 A_SpawnItemEx("TimeBenderRadius2",5,0,26,0,0,0,0,1)
FLSA G 0 A_SpawnItemEx("TimeStopSparkleHelper",0,0,28,0,0,0,0,1)
//FLSA G 0 A_GiveInventory("Repulsion",1)
FLSA I 1 Offset(4,28) A_SetBlend(white,0.95,5)
FLSA I 1 Offset(-4,30) A_SetBlend(white,0.95,5)
FLSA I 1 Offset(4,30) A_SetBlend(white,0.95,5)
FLSA I 1 Offset(-4,28) A_SetBlend(white,0.95,5)
FLSA I 1 Offset(4,28)
FLSA I 1 Offset(-4,30)
FLSA I 1 Offset(4,30)
FLSA J 1 Offset(-4,28)
FLSA J 1 Offset(4,28)
FLSA G 0 A_TakeInventory("YamsAreThePowersThatBe_P",1)
FLSA G 1
FLSA FED 2
Goto Ready1

/*		
Reload:
FLSA DEF 2
FLSA G 1 Offset(2,30)
FLSA G 1 Offset(-2,34)
FLSA I 1 Offset(2,34)
FLSA I 1 Offset(-2,30)
FLSA G 0 A_GiveInventory("TimeStopperFlag",1)
FLSA G 0 A_PlaySoundEx("weapon/timestopper","SoundSlot6")
FLSA G 0 A_FireCustomMissile("TimeBenderRadiusClass",0,1,0,0)
FLSA G 0 A_SpawnItemEx("TimeStopSparkleHelper",0,0,28,0,0,0,0,1)
FLSA G 0 A_SpawnItemEx("FlashSussyImpostor",0,0,0,0,0,0,0,1)
//FLSA G 0 A_GiveInventory("Repulsion",1)
FLSA G 0 A_GiveInventory("TimeStopCheckAmmo",35)
FLSA G 0 A_GunFlash("Flash.Deplete",GFF_NOEXTCHANGE)
TNT1 A 0 A_GiveInventory("InvulnerableOn_Pickup",1)
FLSA I 1 Offset(4,28) A_SetBlend(white,0.95,5)
FLSA I 1 Offset(-4,30) A_SetBlend(white,0.95,5)
FLSA I 1 Offset(4,30) A_SetBlend(white,0.95,5)
FLSA I 1 Offset(-4,28) A_SetBlend(white,0.95,5)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_GiveInventory("InvulnerableOn_Pickup",1)
FLSA I 1 Offset(4,28)
FLSA I 1 Offset(-4,30)
FLSA I 1 Offset(4,30)
FLSA J 1 Offset(-4,28)
FLSA J 1 Offset(4,28)
FLSA G 1
FLSA FED 2
Goto Ready1*/

Flash:
TNT1 A 0 A_JumpIfInventory("TimeAmmo",84,"Flash.Full")
TNT1 A 1 A_JumpIfInventory("IsDead",1,"NoFlash")
loop
Flash.Full:
TNT1 AAAA 1 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_SpawnItemEx("FlashmanSparkleFX_Aura",random(16,48),0,Random(16,48),0,0,0,random(0,359),1)
goto Flash
Flash.Deplete:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_TakeInventory("TimeStopCheckAmmo",1)
TNT1 A 0 A_TakeInventory("TimeAmmo",84)//3
TNT1 A 0 A_GiveInventory("ZaWarudoAmmo",2)
SHMH U 0 A_GiveInventory("ShadowmanFlashInvisOn_P")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("TimeStopCheckAmmo",1,"Flash.Deplete")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_TakeInventory("TimeStopperFlag",999)
TNT1 A 1 A_SetTranslucent(0.2,0)
TNT1 A 1 A_SetTranslucent(0.4,0)
TNT1 A 1 A_SetTranslucent(0.6,0)
TNT1 A 1 A_SetTranslucent(0.8,0)
TNT1 A 1 A_SetTranslucent(1.0,0)
TNT1 A 1 A_GiveInventory("InvulnerableOff_Pickup",1)
goto Flash

BotFire:
FLSA A 0 A_JumpIfCloser(450,"BotFire2")
FLSA A 2
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
Goto Ready1
BotFire2:
FLSA A 0 A_JumpIfInventory("TimeAmmo",84,"Altfire")
goto Fire1+4
BotFire3:
FLSA C 0 A_JumpIfCloser(450,1)
goto Fire1+4
FLSA C 0 A_JumpIfInventory("TimeAmmo",84,"Altfire")
goto Fire1+4

NoAmmo:
FLSA A 3
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",1)
FLSA A 3
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",1)
FLSA A 3
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",1)
FLSA A 3
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",1)
FLSA A 3
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",1)
FLSA A 3
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",1)
FLSA A 3
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",1)
FLSA A 3
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",1)
FLSA A 3
FLSA A 0 A_GiveInventory("TimeAmmoGiver",1)
FLSA A 0 A_GiveInventory("ZaWarudoAmmo",1)
goto Ready1
}
}

actor TimeBenderRadius2 : BasicExplosion
{
+PIERCEARMOR
damagetype "TimeStopp"
Obituary "$OB_TIMEBENDER"
States
{
Spawn:
TNT1 A 0
TNT1 A 0
TNT1 A 0 A_Explode(5,320,0,0,256)
TNT1 A 0 A_SetDamageType("TimeStopp2")
TNT1 A 0 A_Explode(5,384,0,0,256)
TNT1 A 0 A_SetDamageType("TimeStopp3")
TNT1 A 0 A_Explode(5,448,0,0,256)
TNT1 A 0 A_SetDamageType("TimeStopp4")
TNT1 A 0 A_Explode(5,512,0,0,256)
stop
}
}

actor TimeStopProtect : PowerProtection
{
Powerup.Duration 55
DamageFactor "TimeStop0", 0.0
DamageFactor "TimeStopp", 0.0
DamageFactor "TimeStopp2", 0.0
DamageFactor "TimeStopp3", 0.0
DamageFactor "TimeStopp4", 0.0
DamageFactor "FlashRadius", 0.0
}
 
actor TimeAmmoGiver : CustomInventory
{
States
{
Pickup:
TNT1 A 0 
TNT1 A 0 A_JumpIfInventory("DontGiveMeTimeAmmo",1,"Nope")
TNT1 A 0 A_GiveInventory("TimeAmmo",1)
TNT1 A 0 A_GiveInventory("DontGiveMeTimeAmmo",1)
stop
Nope:
TNT1 A 0
Stop
}
}

ACTOR DontGiveMeTimeAmmo : Powerup
{
 Powerup.Duration 5
} 

actor TimeAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 84
+INVENTORY.IGNORESKILL
}

actor ZaWarudoAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor TimeStopCheckAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 35
+INVENTORY.IGNORESKILL
}

actor TimeStopperFlag : OnceC {}

actor FlashBullet
{
Translation "204:204=215:215"
PROJECTILE
damagetype "FlashM_Shot"
Obituary "$OB_TIMEBUSTER"
Damage (5)
radius 6
height 6
Speed 60
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
Spawn2:
W_0D B 12
stop
}
}

actor FlashBulletB : FlashBullet{translation "204:204=205:205"}
actor FlashBulletR : FlashBullet{translation "204:204=171:171"}
actor FlashBulletO : FlashBullet{translation "204:204=104:104"}
actor FlashBulletP : FlashBullet{translation "204:204=229:229"}

actor FlashStunner
{
translation "202:202=215:215", "199:199=229:229"
Obituary "$OB_TIMESTUNNER"//"$OB_FLASHMAN2"
PROJECTILE
+SKYEXPLODE
-DONTBLAST
damagetype "TimeStop0"
Speed 50
Damage (0)
radius 16
height 16
scale 2.5
States
{
Spawn:
TNT1 A 0 
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SPAWNLOOP:
FSU1 ABCD 1 A_SpawnItemEx("FlashStunnerTrail",random(-3,3),random(-3,3),random(-3,3),random(1,3),random(1,3),random(-3,3),random(0,359),1)
loop
Death:
FSU1 G 0 A_SetScale(2.0)
FSU1 G 0 A_Explode(10,80,0,0,80)
FSU1 G 0 A_PlaySoundEx("weapon/flashstunboom","Body")
FSU1 EFGHI 1
FSU1 I 1 A_Fadeout(0.25)
FSUI I 0 A_SetScale(ScaleX+0.25)
FSU1 I 1 A_Fadeout(0.25)
FSUI I 0 A_SetScale(ScaleX+0.25)
FSU1 I 1 A_Fadeout(0.25)
FSUI I 0 A_SetScale(ScaleX+0.25)
FSU1 I 1 A_Fadeout(0.25)
FSUI I 0 A_SetScale(ScaleX+0.25)
stop
}
}

actor FlashStunnerB : FlashStunner{translation "202:202=205:205", "199:199=74:74"}
actor FlashStunnerR : FlashStunner{translation "202:202=171:171", "199:199=41:41"}
actor FlashStunnerO : FlashStunner{translation "202:202=104:104", "199:199=128:128"}
actor FlashStunnerP : FlashStunner{translation "202:202=229:229", "199:199=232:232"}

  Actor TimeStopProtector : PowerProtection
  {
	PowerUp.Duration 55
  DamageFactor "TimeStopp0", 0.0
DamageFactor "TimeStop", 0.0
DamageFactor "TimeStopp2", 0.0
DamageFactor "TimeStopp3", 0.0
DamageFactor "TimeStopp4", 0.0
  DamageFactor "FlashRadius", 0.0
  }

actor FlashStunnerTrail : BasicClientSide
{
+DOOMBOUNCE
+FORCEXYBILLBOARD
scale 2.5
renderstyle add
States
{
Spawn:
//TNT1 AA 0 A_GiveInventory("ProjectileCode")
FLAS B 1 
FLAS B 1 
FLAS B 1 
FLAS A 1 
FLAS A 1 
FLAS A 1 A_Fadeout(0.2)
goto Spawn+2
}
}



actor TimeBenderRadiusClass : BasicExplosion
{
+PIERCEARMOR
damagetype "FlashRadius"
Obituary "$OB_TIMEBENDER"
States
{
Spawn:
TNT1 A 0
TNT1 A 4 A_Explode(5,400,0,0,400)
stop
}
}


actor FlashmanSparkleFX_Base : BasicClientSide
{
Translation "192:192=4:4","198:198=4:4","250:250=4:4","249:249=4:4"
Renderstyle "Translucent"
Alpha 0.95
ReactionTime 10
States
{
Spawn:
TNT1 A 0
TNT1 A 0
SpawnX:
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)
Spawn1:
X_2F ABC 2 bright A_CountDown
loop
Spawn2:
X_2F DEF 2 bright A_CountDown
loop
/*
SpawnY://,"202:202=4:4","199:199=4:4"
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)
Spawn3:
Y_2F ABC 2 bright A_CountDown
loop
Spawn4:
Y_2F DEF 2 bright A_CountDown
loop
SpawnW://,"204:204=4:4","195:195=4:4"
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)
Spawn5:
W_2F ABC 2 bright A_CountDown
loop
Spawn6:
W_2F DEF 2 bright A_CountDown
loop
*/
SpawnV://215 161 160
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)
Spawn7:
V_2F ABC 2 bright A_CountDown
loop
Spawn8:
V_2F DEF 2 bright A_CountDown
loop
}
}

actor FlashmanSparkleFX_X : FlashmanSparkleFX_Base
{
States
{
Spawn:
TNT1 A 0
goto SpawnX
}
}
/*actor FlashmanSparkleFX_Y : FlashmanSparkleFX_Base
{
States
{
Spawn:
TNT1 A 0
goto SpawnY
}
}
actor FlashmanSparkleFX_W : FlashmanSparkleFX_Base
{
States
{
Spawn:
TNT1 A 0
goto SpawnW
}
}*/
actor FlashmanSparkleFX_V : FlashmanSparkleFX_Base
{
States
{
Spawn:
TNT1 A 0
goto SpawnV
}
}
actor FlashmanSparkleFX_Aura : FlashmanSparkleFX_Base
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(32,"SpawnV")
goto SpawnX
}
}

actor TimeStopSparkleHelper : BasicHelper
{
Translation "192:192=4:4","198:198=4:4","250:250=168:168","249:249=208:208"
ReactionTime 3
States
{
Spawn:
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlashmanSparkleFX_X",random(-384,384),random(-384,384),random(-384,384),0,0,0,0,129)
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("FlashmanSparkleFX_V",random(-384,384),random(-384,384),random(-384,384),0,0,0,0,129)
TNT1 A 2 A_CountDown
loop
}
}

actor AntiTimeStopFreezeHelper0 : BasicHelper
{
renderstyle none
ReactionTime 3
States
{
Spawn: //52 As. I counted.
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("TimeStopGFX", random(8, 64), 0, random(0, 64), 0, 0, 0, random(0, 359))
TNT1 A 0 A_TakeFromTarget("SuperEffective",1)
TNT1 A 0 A_GiveToTarget("EndBossFlashStoppered",1)
TNT1 A 0 A_GiveToTarget("TimeStoppedUnfreeze",1)
Protect:
TNT1 A 1 A_GiveToTarget("TimeProtectGFXSpawner",1)
TNT1 A 0 A_JumpIfInTargetInventory("TimeStopProtector",1,"Protect")
stop
}
}

actor AntiTimeStopFreezeHelper : BasicHelper
{
renderstyle none
ReactionTime 3
States
{
Spawn:
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_JumpIfInTargetInventory("EndBossFlashStoppered",1,"Spawn2")
TNT1 A 0 A_TakeFromTarget("SuperEffective",1)
TNT1 A 0 A_GiveToTarget("EndBossFlashStoppered",1)
TNT1 A 0 A_GiveToTarget("TimeStoppedUnfreeze",1)
TNT1 A 0
stop
Spawn2:
TNT1 A 0
stop
}
}

actor AntiTimeStopFreezeHelper2 : BasicHelper
{
renderstyle none
ReactionTime 3
States
{
Spawn:
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_JumpIfInTargetInventory("EndBossFlashStoppered",1,"Spawn2")
TNT1 A 0 A_TakeFromTarget("SuperEffective",1)
TNT1 A 0 A_GiveToTarget("EndBossFlashStoppered",1)
TNT1 A 0 A_GiveToTarget("TimeStoppedUnfreeze",1)
TNT1 A 0
stop
Spawn2:
TNT1 A 0
stop
}
}

actor AntiTimeStopFreezeHelper3 : BasicHelper
{
renderstyle none
ReactionTime 3
States
{
Spawn:
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_JumpIfInTargetInventory("EndBossFlashStoppered",1,"Spawn2")
TNT1 A 0 A_TakeFromTarget("SuperEffective",1)
TNT1 A 0 A_GiveToTarget("EndBossFlashStoppered",1)
TNT1 A 0 A_GiveToTarget("TimeStoppedUnfreeze",1)
TNT1 A 0
stop
Spawn2:
TNT1 A 0
stop
}
}

actor AntiTimeStopFreezeHelper4 : BasicHelper
{
renderstyle none
ReactionTime 3
States
{
Spawn:
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_JumpIfInTargetInventory("EndBossFlashStoppered",1,"Spawn2")
TNT1 A 0 A_TakeFromTarget("SuperEffective",1)
TNT1 A 0 A_GiveToTarget("EndBossFlashStoppered",1)
TNT1 A 0 A_GiveToTarget("TimeStoppedUnfreeze",1)
TNT1 A 0
stop
Spawn2:
TNT1 A 0
stop
}
}

actor TimeStopGFXSmall : TimeStopGFX{scale 0.5}

actor TimeProtectGFXSpawner : CustomInventory
{
  States
  {
    Pickup:
    TNT1 A 0 A_SpawnItemEx("TimeStopGFXSmall", random(8, 64), 0, random(0, 64), 0, 0, 0, random(0, 359))
    stop
  }
}

actor TimeStopFXHelper : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEx("TimeStopSparkleSparkle22222",random(-56,56),random(-18,18),random(0,64),0,0,0,0)
TNT1 AAAAA 1 A_JumpIfInTargetInventory("EndBossFlashStoppered",1,"Nope")
loop
Nope:
TNT1 A 0
stop
}
}

actor TimeStopSparkleSparkle22222
{
+NOGRAVITY
-SOLID
+THRUGHOST
+CLIENTSIDEONLY
+NOINTERACTION
speed 0
Radius 1
Height 1
Scale 2.5
Renderstyle "Translucent"
Alpha 0.95
States
{
Spawn:
FLAS CBACBACBA 2 bright //BABABABA 2 bright 
stop
}
}

actor FlashSussyImpostor
{
PROJECTILE
+THRUACTORS
+NOINTERACTION
scale 2.5
Speed 0
Radius 0
Height 0
Damage (0)
States
{
Spawn:
TNT1 A 0
FLSM "]" 35
goto Death
Death:
FLSM "]" 1 A_Fadeout
loop
}
}

actor BossFlashAOE : BasicHelper
{
reactiontime 52
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("BossFlashAOEStop",1)
TNT1 A 0 A_TakeFromTarget("EndBossFlashStoppered",1)
TNT1 A 0 A_CountDown
goto Spawn2
Spawn2:
TNT1 A 0 A_JumpIfInTargetInventory("EndBossFlashStoppered",1,"Death")
TNT1 A 1 A_GiveToTarget("BossFlashAOEStop",1)
TNT1 A 0 A_CountDown
loop
Death:
TNT1 A 1
stop
}
}

actor BossFlashAOEStop : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Stop
stop
}
}

actor FlashmanMain1_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("FlashBullet" ,0,0,8,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("FlashBulletB",0,0,8,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("FlashBulletR",0,0,8,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("FlashBulletO",0,0,8,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("FlashBulletP",0,0,8,0)goto Done}}

actor FlashmanMain2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("FlashBullet" ,5,0,8,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("FlashBulletB",5,0,8,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("FlashBulletR",5,0,8,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("FlashBulletO",5,0,8,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("FlashBulletP",5,0,8,0)goto Done}}

actor FlashmanMain3_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("FlashBullet" ,10,0,8,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("FlashBulletB",10,0,8,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("FlashBulletR",10,0,8,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("FlashBulletO",10,0,8,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("FlashBulletP",10,0,8,0)goto Done}}

actor FlashmanMain4_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("FlashBullet" ,15,0,8,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("FlashBulletB",15,0,8,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("FlashBulletR",15,0,8,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("FlashBulletO",15,0,8,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("FlashBulletP",15,0,8,0)goto Done}}

actor FlashmanMain5_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("FlashBullet" ,-5,0,8,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("FlashBulletB",-5,0,8,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("FlashBulletR",-5,0,8,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("FlashBulletO",-5,0,8,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("FlashBulletP",-5,0,8,0)goto Done}}

actor FlashmanMain6_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("FlashBullet" ,-10,0,8,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("FlashBulletB",-10,0,8,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("FlashBulletR",-10,0,8,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("FlashBulletO",-10,0,8,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("FlashBulletP",-10,0,8,0)goto Done}}

actor FlashmanMain7_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("FlashBullet" ,-15,0,8,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("FlashBulletB",-15,0,8,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("FlashBulletR",-15,0,8,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("FlashBulletO",-15,0,8,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("FlashBulletP",-15,0,8,0)goto Done}}

actor FlashmanAlt_CI : TeamColor_CI
{
States
{
FireX:
TNT1 A 0 A_FireCustomMissile("FlashStunner",0,0,8,8)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("FlashStunnerB",0,0,8,8)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("FlashStunnerR",0,0,8,8)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("FlashStunnerO",0,0,8,8)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("FlashStunnerP",0,0,8,8)
goto Done
}
}