actor Flashman : VCBaseClass
{
Player.ScoreIcon "FLASMUGS"
player.startitem "BaseFlagPack", 1
player.startitem "IsFromMM2"
player.soundclass "flashmanc"
Player.ViewHeight 47
player.displayname "Flashman"
player.startitem "TimeStopperBoss"
player.startitem "Base28Ammo", 28
player.startitem "BaseAltfireAmmo", 112
player.startitem "CanThirdFire"
player.startitem "UltimateAttackItem8", 1
player.startitem "UltSoundWatcherSpawn8"
States
{
Animation1:
Spawn:
FLSM A 0
FLSM B 1 A_JumpIf(z-floorz>0, "Jumping")
FLSM A 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn+2

See:
FLSM BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn

Jumping:
FLSM I 1 A_JumpIf(z-floorz<=0, "Spawn")
wait

Animation100:
Missile:
FLSM GGGGGGGGGGGGGGGGGGGGGGGGGGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile")
Goto Spawn+1

JumpingMissile:
FLSM JJJJJJJJJJJJJJJJJJJJJJJJJJJJ 1 A_JumpIf(z-floorz<=0, "Missile")
Goto Jumping

Animation2:
FLSM K 4
FLSM FLMNLMNLMN 4
goto Spawn+1

ClassTimeStop:
PLAY A 0 SetPlayerProperty(0,1,4)
//PLAY A 0 A_GiveInventory("TimeStoppedFlag",1)
PLAY A 0 ACS_Execute(528,0)
FLSM AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
//PLAY A 0 A_TakeInventory("TimeStoppedFlag",999)
PLAY A 0 SetPlayerProperty(0,0,4)
Goto pain+1
ClassPain:
//FLSM H 0 A_TakeInventory("TimeStoppedFlag",999)
FLSM HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
ClassDeath:
FLSM ] 12 ACS_ExecuteAlways(999,0,0)
FLSM ] 8 A_SpawnItemEx("MM2Death")
FLSM ] 0 A_PlayerScream
NOFX A 0 A_SpawnItemEx("FakeDeathFXMM2",0,0,32)
NOFX A 1 A_CheckPlayerDone
wait
ClassIceDeath:
FLSM A 35
NOFX A 0 A_SpawnItemEx("FrozenDeathFX",0,0,16)
NOFX A 1 A_CheckPlayerDone
wait
WeaponGetM:
CUTM H 0 A_JumpIfInTargetInventory("TimeStopperWepM",1,2)
CUTM H 0 A_GiveToTarget("WeaponGetter")
CUTM H 0 A_GiveToTarget("TimeStopperWepM")
goto ClassDeath
}
}

Actor FlashmanOPPleaseNerf : PowerProtection
{
	Powerup.Duration 0x7FFFFFFF
	DamageFactor "TimeStopper", 0.0
}

actor TimeStopperBoss : VCBaseWeapon
{
	Weapon.AmmoType "Base28Ammo"
	Weapon.AmmoType2 "BaseAltfireAmmo"
	Obituary "$OB_FLASHMAN1"
	States
	{
		Ready:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,2)
		TNT1 A 0 A_JumpIfInventory("Base28Ammo",14,"Ready.CanTF")
		FLSA A 1 A_WeaponReady FLSA A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		FLSA A 1 A_WeaponReady FLSA A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		FLSA A 1 A_WeaponReady FLSA A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		FLSA A 0 A_GiveInventory("Base28Ammo",1)
		FLSA A 0 A_GiveInventory("BaseAltfireAmmo",2)
		goto Ready
		
		Ready.CanTF:
		FLSA A 1 A_WeaponReady FLSA A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") FLSA A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		FLSA A 1 A_WeaponReady FLSA A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") FLSA A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		FLSA A 1 A_WeaponReady FLSA A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") FLSA A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		FLSA A 0 A_GiveInventory("Base28Ammo",1)
		FLSA A 0 A_GiveInventory("BaseAltfireAmmo",2)
		goto Ready
		
		Deselect:
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
		FLSA A 1 A_Lower
		Loop
		
		Select:
		TNT1 A 0 A_GiveInventory("FlashmanOPPleaseNerf",1)
		TNT1 A 0 ACS_ExecuteAlways(991,0,745)
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		FLSA A 1 A_Raise
		Loop
		
		Fire:
		FLSA BC 2
		TNT1 A 0 A_PlaySoundEx("weapon/mm2shot","Auto")
		FLSA B 0 A_FireCustomMissile("FlashBuster",0,0,8,8)
		FLSA C 1 Offset(4,30)
		FLSA C 1 Offset(1,33)
		FLSA C 1 Offset(4,36)
		TNT1 A 0 A_PlaySoundEx("weapon/mm2shot","Auto")
		FLSA B 0 A_FireCustomMissile("FlashBuster",random(-7,7),0,8,8)
		FLSA C 1 Offset(4,30)
		FLSA C 1 Offset(1,33)
		FLSA C 1 Offset(4,36)
		TNT1 A 0 A_PlaySoundEx("weapon/mm2shot","Auto")
		FLSA B 0 A_FireCustomMissile("FlashBuster",random(-7,7),0,8,8)
		FLSA C 1 Offset(4,30)
		FLSA C 1 Offset(1,33)
		FLSA C 1 Offset(4,36)
		TNT1 A 0 A_PlaySoundEx("weapon/mm2shot","Auto")
		FLSA B 0 A_FireCustomMissile("FlashBuster",random(-7,7),0,8,8)
		FLSA C 1 Offset(4,30)
		FLSA C 1 Offset(1,33)
		FLSA C 1 Offset(4,36)
		TNT1 A 0 A_PlaySoundEx("weapon/mm2shot","Auto")
		FLSA B 0 A_FireCustomMissile("FlashBuster",random(-7,7),0,8,8)
		FLSA C 1 Offset(4,30)
		FLSA C 1 Offset(1,33)
		FLSA C 1 Offset(4,36)
		TNT1 A 0 A_PlaySoundEx("weapon/mm2shot","Auto")
		FLSA B 0 A_FireCustomMissile("FlashBuster",random(-7,7),0,8,8)
		FLSA C 1 Offset(4,30)
		FLSA C 1 Offset(1,33)
		FLSA C 1 Offset(4,36)
		FLSA C 0 A_Refire("Fire.Rapid")
		
		Fire.Stop:
		FLSA A 0 A_ClearRefire
		FLSA A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		FLSA A 17 A_WeaponReady(WRF_NOFIRE)
		goto Ready
		
		Fire.Rapid:
		FLSA A 0 A_JumpIfInventory("Base28Ammo",1,1)
		goto Fire.Stop
		TNT1 A 0 A_PlaySoundEx("weapon/mm2shot","Auto")
		FLSA B 0 A_GiveInventory("FlashM1Handler",1)
		FLSA C 1 Offset(4,30)
		FLSA C 1 Offset(1,33)
		FLSA C 1 Offset(4,36)
		FLSA C 0 A_Refire("Fire.Rapid")
		goto Fire.Stop
		
		Altfire:
		RATU A 0 A_JumpIfInventory("NoAltfire",1,"NoAmmo")
		FLSA A 0 A_JumpIfInventory("BaseAltfireAmmo",112,1)
		goto NoAmmo
		FLSA B 2
		FLSA B 0 A_FireCustomMissile("FlashStunner",0,0,8,8)
		FLSA B 0 A_TakeInventory("BaseAltfireAmmo",112)
		FLSA C 8 A_PlaySoundEx("weapon/flashstunshoot","Weapon")
		FLSA A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		FLSA BAAAA 2
		goto Ready
		
		User1:
		FLSA H 1 A_FireCustomMissile("FlashPreview",0,0,0,0)
		FLSA HH 1 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		FLSA H 0
		
		User1.Start:
		FLSA A 0 A_GiveInventory("FlashTFHandler1",1)
		FLSA A 1 A_Stop
		FLSA A 0 A_SetTranslucent(0.0)
		FLSA A 1 A_Stop
		FLSA A 0 A_SetTranslucent(0.0)
		FLSA A 1 A_Stop
		FLSA A 0 A_SetTranslucent(0.0)
		FLSA A 1 A_Stop
		FLSA A 0 A_SetTranslucent(0.0)
		FLSA A 1 A_Stop
		FLSA A 0 A_SetTranslucent(0.0)
		FLSA A 1 A_Stop
		FLSA A 0 A_SetTranslucent(0.0)
		FLSA A 1 A_Stop
		TNT1 A 1 A_ChangeVelocity(cos(pitch)*400,0,-sin(pitch)*400,CVF_RELATIVE|CVF_REPLACE)
		FLSA A 0 A_GiveInventory("FlashTFHandler2",1)
		FLSA FFF 1 A_Stop
		FLSA A 0 A_SetTranslucent(1.0)
		FLSA F 1 A_Stop
		FLSA A 0 A_SetTranslucent(1.0)
		FLSA F 1 A_Stop
		FLSA A 0 A_SetTranslucent(1.0)
		FLSA F 1 A_Stop
		FLSA AAAAAAA 0 A_SetTranslucent(1.0)
		FLSA FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1 A_JumpIfInventory("FlashWarpHit",1,"User1.End")
		User1.End:
		FLSA EDA 2 A_SetTranslucent(1.0)
		goto Ready
		
		UltimateAttack:
		TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,18)
		FIRB C 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
		TIMH H 0 A_GiveInventory("BaseCustomFlag1",1) //To disable warping
		FLSA A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		FLSA DDEEEFFFFIIIIJJJJFFFIIIJJJFFIIJJFIJ 1
		FLSA A 0 A_GunFlash
		TNT1 A 0 A_GiveInventory("FlashUltBuildCooldownGiver",1)
		TNT1 A 0 A_GiveInventory("FlashUltSpeed",1)
		TNT1 A 0 A_GiveInventory("FlashUltDamage",1)
		FLSA A 0 A_GiveInventory("Base28Ammo",28)
		FLSA A 0 A_GiveInventory("BaseAltfireAmmo",112)
		FLSA A 0 ACS_NamedExecuteAlways("VC_MusicStop10Seconds",0)
		FLSA A 0 A_SpawnItemEx("FlashManMapSparkler")
		FLSA AA 0 ACS_NamedExecuteAlways("VC_FlashmanUltStart",0)
		FLSA GHHH 2
		FLSA GFEDA 1 A_TakeInventory("UltAttackFlag",1)
		goto Ready
		
		Flash:
		TNT1 A 3 A_TakeInventory("MaximumUltimateAmmo",7)
		TNT1 A 0 A_JumpIfInventory("MaximumUltimateAmmo",1,"Flash")
		TNT1 A 0 A_TakeInventory("BaseCustomFlag1")
		stop
		
		NoAmmo:
		FLSA A 0 A_GiveInventory("Base28Ammo",1)
		FLSA A 3 A_GiveInventory("BaseAltfireAmmo",2)
		goto Ready
	}
}

actor FlashBuster
{
Obituary "$OB_FLASHMAN1"
PROJECTILE
damagetype "Flashman"
Speed 75
Damage (5)
radius 10
height 10
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
6ULT X 1
wait
}
}

actor FlashStunner
{
Obituary "$OB_FLASHMAN2"
PROJECTILE
+SKYEXPLODE
+HITTRACER
damagetype "FlashmanStun"
Speed 85
Damage (0)
radius 16
height 16
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
FSU1 AABBCCDDEEFF 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))
goto Spawn+2
Death:
Crash:
XDeath:
TNT1 A 0 A_JumpIfInventory("CanBeGrabBustered", 1, "TeamCheck", AAPTR_TRACER)
goto Explode
TeamCheck:
TNT1 A 0 A_JumpIfInventory("LightTeamFlag", 1, "LightCheck", AAPTR_TARGET)
TNT1 A 0 A_JumpIfInventory("WilyTeamFlag", 1, "WilyCheck", AAPTR_TARGET)
TNT1 A 0 A_JumpIfInventory("CossackTeamFlag", 1, "CossackCheck", AAPTR_TARGET)
TNT1 A 0 A_JumpIfInventory("KingTeamFlag", 1, "KingCheck", AAPTR_TARGET)
goto Explode
LightCheck:
TNT1 A 0 A_JumpIfInventory("LightTeamFlag", 1, "UnstunCheck", AAPTR_TRACER)
TNT1 A 1 A_JumpIf(true, "Explode")
wait
WilyCheck:
TNT1 A 0 A_JumpIfInventory("WilyTeamFlag", 1, "UnstunCheck", AAPTR_TRACER)
TNT1 A 1 A_JumpIf(true, "Explode")
wait
CossackCheck:
TNT1 A 0 A_JumpIfInventory("CossackTeamFlag", 1, "UnstunCheck", AAPTR_TRACER)
TNT1 A 1 A_JumpIf(true, "Explode")
wait
KingCheck:
TNT1 A 0 A_JumpIfInventory("KingTeamFlag", 1, "UnstunCheck", AAPTR_TRACER)
TNT1 A 1 A_JumpIf(true, "Explode")
wait
UnstunCheck:
TNT1 A 0
TNT1 A 1 A_JumpIfInventory("PowerShock", 1, "Unstun", AAPTR_TRACER)
goto Explode
Unstun:
TNT1 A 0 A_GiveInventory("StunDispel",1,AAPTR_TRACER)
Explode:
FSU1 G 0 A_Explode(5,96,0,0,96)
FSU1 G 0 A_PlaySoundEx("weapon/flashstunboom","Body")
FSU1 GHI 3
stop
}
}

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 FlashStunWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
Renderstyle none
reactiontime 35
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Warp(AAPTR_TARGET, 0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_SpawnItemEx("TimeStopGFX", random(8, 64), 0, random(0, 64), 0, 0, 0, random(0, 359))
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor FlashWarpFX1 : BasicClientSide
{
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileFXCode")
		FL2W AB 2
		stop
	}
}

actor FlashWarpFX2 : BasicClientSide
{
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileFXCode")
		FL2W BA 2
		stop
	}
}

actor FlashWarpHitbox
{
species "DustManType"
+THRUSPECIES
Obituary "$OB_FLASHMAN3"
PROJECTILE
+SKYEXPLODE
-DONTBLAST
damagetype "FlashmanWarp"
Speed 0
Damage (0)
radius 1
height 1
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(20,112,0,0,112)
stop
}
}

Actor FlashTimeStopGiver : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("FrozenByFlashman")
TNT1 A 0 A_GiveInventory("DarkCannonDebuff")
TNT1 A 0 A_SpawnItemEx("FlashManStopWatcher")
stop
}
}

actor FlashManStopWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
Renderstyle none
reactiontime 350
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("MovementFrozen5")
//TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_Warp(AAPTR_TARGET, 0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEx("TimeStopGFX", random(8, 64), 0, random(0, 64), 0, 0, 0, random(0, 359), 0, 192)
TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("BubbleTrapProtection",1)
loop
Death:
TNT1 A 0 A_TakeFromTarget("NoThirdFire")
TNT1 A 0 A_GiveToTarget("MovementReturnFailsafe",1)
stop
}
}

actor FlashManMapSparkler
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
Renderstyle none
reactiontime 350
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("TimeStopGFX", random(-5000, 5000), 0, random(0,800), 0, 0, 0, random(0, 359))
TNT1 A 1 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor FlashWarpHit : Powerup
{
Powerup.Duration 14
}

actor FlashUltBuildCooldownGiver : UltBuildCooldownGiver
{
	Powerup.Duration 350
}

actor FlashPreview : FastProjectile
{
	PROJECTILE
	+SKYEXPLODE
	+NOEXPLODEFLOOR
	+THRUACTORS
	+DONTSPLASH
	damage (0)
	speed 200
	radius 1
	height 1
	states
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		TNT1 A 1
		Death:
		TNT1 A 0 A_SpawnItemEx("FlashWarpMarkerFXHelper",0,0,0,0,0,0)
		TNT1 A 1
		stop
	}
}

actor FlashWarpMarkerFXHelper : BasicHelper
{
+CLIENTSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 5 A_JumpIf(CallACS("GVH_IsTargetClient")==1,"Spawn2")
goto Death
Spawn2:
TNT1 A 0 A_SpawnItemEx("FlashWarpMarkerFX")
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
stop
Death:
TNT1 A 0
stop
}
}

actor FlashWarpMarkerFX
{
	+SKYEXPLODE
	+NOEXPLODEFLOOR
	+NOTARGETSWITCH
	PROJECTILE
	scale 2.5
	radius 5
	height 5
	Renderstyle Translucent
	Alpha 0.6
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
		FLSM X 2
		stop
	}
}

actor FrozenByFlashman : Powerup
{
Powerup.Duration 350
}

actor FlashM1Handler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_FireCustomMissile("FlashBuster",random(-7,7),0,8,8)
TNT1 A 0 A_JumpIfInventory("PowerUltBuildCooldown",1,"Nope")
TNT1 A 0 A_TakeInventory("Base28Ammo",1)
stop

Nope:
TNT1 A 0
stop
}
}

actor FlashTFHandler1 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_ChangeFlag("INVULNERABLE",1)
TNT1 A 0 A_GiveInventory("InvProtection")
TNT1 A 0 A_TakeInventory("UnSolid",1)
TNT1 A 0 A_ChangeFlag("SOLID",0)
TNT1 A 0 A_ChangeFlag("PICKUP",0)
TNT1 A 0 A_SpawnItem("FlashWarpFX1")
TNT1 A 0 A_PlaySoundEx("weapon/flashwarp1","Weapon")
TNT1 A 0 A_TakeInventory("Base28Ammo",14)
TNT1 A 0 A_SetTranslucent(0.0)
stop
}
}

actor FlashTFHandler2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)
TNT1 A 0 A_TakeInventory("InvProtection")
TNT1 A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_ChangeFlag("PICKUP",1)
TNT1 A 0 A_SpawnItem("FlashWarpFX2")
TNT1 A 0 A_SpawnItemEx("FlashWarpHitbox")
TNT1 A 0 A_PlaySoundEx("weapon/flashwarp2","Weapon")
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlashStunnerTrail",random(-3,3),random(-3,3),random(0,48),random(1,3),random(1,3),random(-3,3),random(0,359))
stop
}
}

Actor FlashUltSpeed : PowerSpeed
{
	Powerup.Duration 350
	Speed 2.0
	+POWERSPEED.NOTRAIL
}

actor FlashUltDamage : PowerDamage
{
damagefactor "normal", 2.0
Powerup.Duration 350
}

actor LightDeathFX1 : BasicClientSide
{
renderstyle add
reactiontime 12
States
{
Spawn:
TNT1 A 0
LGDX A 0 A_SpawnItemEx("LightDeathFX2",0,0,0,frandom(-2,2),frandom(-2,2),frandom(-2,2),random(0,359),0,196)
LGDX A 1 A_SetScale(scalex - 0.078, scaley - 0.078)
LGDX A 0 A_GiveInventory("CutterFlag",1)
LGDX A 0 A_JumpIfInventory("CutterFlag",12,"Spawn2")
loop
Spawn2:
LGDX B 0 A_SpawnItemEx("LightDeathFX2",0,0,0,frandom(-2,2),frandom(-2,2),frandom(-2,2),random(0,359),0,196)
LGDX B 1 A_SetScale(scalex - 0.078, scaley - 0.078)
LGDX B 0 A_GiveInventory("CutterFlag",1)
LGDX B 0 A_JumpIfInventory("CutterFlag",24,"Spawn3")
loop
Spawn3:
LGDX C 0 A_SpawnItemEx("LightDeathFX2",0,0,0,frandom(-2,2),frandom(-2,2),frandom(-2,2),random(0,359),0,196)
LGDX C 1 A_SetScale(scalex - 0.078, scaley - 0.078)
LGDX C 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor LightDeathFX2 : LightDeathFX1
{
States
{
Spawn:
TNT1 A 0
LGDX A 0 A_SpawnItemEx("LightDeathFX3",0,0,0,frandom(-3,3),frandom(-3,3),frandom(-3,3),random(0,359),0,196)
LGDX A 1 A_SetScale(scalex - 0.078, scaley - 0.078)
LGDX A 0 A_GiveInventory("CutterFlag",1)
LGDX A 0 A_JumpIfInventory("CutterFlag",12,"Spawn2")
loop
Spawn2:
LGDX B 0 A_SpawnItemEx("LightDeathFX3",0,0,0,frandom(-3,3),frandom(-3,3),frandom(-3,3),random(0,359),0,196)
LGDX B 1 A_SetScale(scalex - 0.078, scaley - 0.078)
LGDX B 0 A_GiveInventory("CutterFlag",1)
LGDX B 0 A_JumpIfInventory("CutterFlag",24,"Spawn3")
loop
Spawn3:
LGDX C 0 A_SpawnItemEx("LightDeathFX3",0,0,0,frandom(-3,3),frandom(-3,3),frandom(-3,3),random(0,359),0,196)
LGDX C 1 A_SetScale(scalex - 0.078, scaley - 0.078)
LGDX C 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor LightDeathFX3 : LightDeathFX1
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_ScaleVelocity(0.9)
LGDX A 1 A_SetScale(scalex - 0.078, scaley - 0.078)
LGDX A 0 A_GiveInventory("CutterFlag",1)
LGDX A 0 A_JumpIfInventory("CutterFlag",12,"Spawn2")
loop
Spawn2:
TNT1 A 0 A_ScaleVelocity(0.9)
LGDX B 1 A_SetScale(scalex - 0.078, scaley - 0.078)
LGDX B 0 A_GiveInventory("CutterFlag",1)
LGDX B 0 A_JumpIfInventory("CutterFlag",24,"Spawn3")
loop
Spawn3:
TNT1 A 0 A_ScaleVelocity(0.9)
LGDX C 1 A_SetScale(scalex - 0.078, scaley - 0.078)
LGDX C 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}