ACTOR NemImpDevastatorBall
{
Radius 18
Height 18
Damage 3000
Speed 40
Alpha 0.95
Scale 0.7
RENDERSTYLE Translucent
Species "Imps"
DamageType "Cyber10K"
Alpha 0.85
PROJECTILE
+FORCERADIUSDMG
+FORCEXYBILLBOARD
+EXTREMEDEATH
+SKYEXPLODE
+MTHRUSPECIES
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 0
	TNT1 A 0 A_Jump(128,"DTBFGSFX")
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_PlaySoundEx("devastator/fly","Voice",1)
	TNT1 A 0 A_CustomMissile("ZamasuImpDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
    KGS2 A 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 AAA 0 Bright A_CustomMissile("NemCardLiteShot",0,0,Random(0,360))
	TNT1 A 0 A_CustomMissile("ZamasuImpDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	KGS2 B 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	TNT1 A 0 A_CustomMissile("ZamasuImpDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	KGS2 C 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 CCC 0 Bright A_CustomMissile("NemCardLiteShot",0,0,Random(0,360))
	TNT1 A 0 A_CustomMissile("ZamasuImpDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_CustomMissile("NemDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	KGS2 D 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    Loop
DTBFGSFX:
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_PlaySoundEx("devastator/fly","Voice",1)
	TNT1 A 0 A_Explode(32,450,0)
	TNT1 A 0 A_CustomMissile("ZamasuImpDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhite",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
    KGS2 A 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 A 1 Bright A_CustomMissile("ZamImpDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_Explode(32,450,0)
	TNT1 A 0 A_CustomMissile("ZamasuImpDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhite2",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
    KGS2 B 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 A 1 Bright A_CustomMissile("ZamImpDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_Explode(32,450,0)
	TNT1 A 0 A_CustomMissile("ZamasuImpDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhite",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
    KGS2 C 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 A 1 Bright A_CustomMissile("ZamImpDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_Explode(32,450,0)
	TNT1 A 0 A_CustomMissile("ZamasuImpDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhite2",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
	TNT1 A 0 A_CustomMissile("NemDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
    KGS2 D 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 A 1 Bright A_CustomMissile("ZamImpDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
    Goto Spawn
Death:
    TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 Radius_Quake(3,35,0,10,0)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,10,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,20,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,30,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,40,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,50,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,60,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,70,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,80,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,90,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,100,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,110,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,120,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,130,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,140,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,150,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,160,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,170,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,180,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,190,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,200,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,210,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,220,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,230,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,240,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,250,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,260,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,270,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,280,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,290,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,300,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,310,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,320,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,330,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,340,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,350,CMF_TRACKOWNER)	
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhiteSpawner",0,0,0,0,0,0,0,128)	
	TNT1 A 0 A_Explode(80,256)
	KGS2 A 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 B 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 C 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 D 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 A 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 B 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 C 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 D 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 A 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 B 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 C 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 D 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(128,1024,0)
	TNT1 A 0 A_Explode(460,640,0)
	TNT1 A 0 A_Explode(618,256)
	TNT1 A 0 A_StopSoundEx("Voice")
	TNT1 A 0 Radius_Quake(20,12,0,12,0)
	TNT1 A 0 A_PlaySound("weapons/dtech10kexplode")
	TNT1 A 0 A_SpawnItemEx("NemDevastatorShockWave2",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SpawnItem("NemCardDTBFGEx",0,-10)
	NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,18,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,36,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,54,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,72,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,90,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,108,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,126,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,144,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,144,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,162,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,180,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,196,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,216,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,234,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,252,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,270,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,288,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,306,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,324,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,342,2)
	NGE1 AAAAAABBBBBBCCCCCCDDDDDD 1 A_CustomMissile("NemKaboomDevastator22",0,0,random(0,360),2,random(0,360))
    NGE1 EF 6 Bright
    Stop    
    }
}

Actor SuperZamasuImpAttack
{
Scale 1.2
Projectile
Height 1
Radius 1
Speed 0
+NOCLIP
-ForceRadiusDmg
+ForceYBillBoard
+MTHRUSPECIES
DamageType "Legendary"
Obituary "%o got surprisingly slaughtered by a Zamasu Imp."
Species "Imps"
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Die
	Death:
		TNT1 A 0
		TNT1 A 1 A_StopSound
		TNT1 AAAAAAAA 6 Bright A_SpawnItemEx("NemesisAltBallShockwave")
    	TNT1 A 0 A_PlaySound("Nemesis/BallExplode",1,1.0,0,0.2)
		TNT1 A 1 A_Explode(10000,5000,0,1)
		TNT1 A 1 A_ChangeFlag(FORCERADIUSDMG,1)
		TNT1 A 0 A_Explode(random(500,1000),5000,0,0,2500)
		TNT1 A 0 Radius_Quake(7,105,0,140,0)
		TNT1 A 0 A_SpawnItemEx("NemesisHugeExplosion",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 25 A_SpawnItemEx("NemesisAltBallEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR ActualDarkMatter : Comet
{
  Speed 46
  Damage 30
  Scale 0.5
  +EXTREMEDEATH
  +FORCERADIUSDMG
  +SEEKERMISSILE
  RenderStyle Translucent
  Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
  Alpha 0.625
  Damagetype "Legendary"
  States
  {
  Spawn:
    TNT1 A 0 A_SeekerMissile(90,90)
	TNT1 AAA 0 A_SpawnItemEx("ActualDarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB A 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("ActualDarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB A 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("ActualDarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB A 1 Bright
	TNT1 A 0 A_SeekerMissile(90,90)
	TNT1 AAA 0 A_SpawnItemEx("ActualDarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB B 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("ActualDarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB B 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("ActualDarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB B 1 Bright
	TNT1 A 0 A_SeekerMissile(90,90)
	TNT1 AAA 0 A_SpawnItemEx("ActualDarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB C 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("ActualDarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB C 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("ActualDarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB C 1 Bright
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Playsound("PainLord/Explode1",7)
	TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,Random(20,40),Random(4,-4),Random(4,-4),Random(4,8),0,128)
	TNT1 AAA 0 A_CustomMissile("WhiteKaboom", 0, 0, random(0,360), 2, random(0,360))	
	TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
	TNT1 A 0 A_SpawnItemEx("ZamasuDeathExplosionSpawner",0,0,0,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("ShadowVaporSpawnerZam",0,0,0,0,0,0,0,32)
	TNT1 A 0 A_Explode(200,200,1)
	TNT1 A 15 Radius_Quake(5,15,0,20,0)
	Stop
  }
}

ACTOR ActualDarkMatterSpark
{
  RenderStyle Add
  Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
  Scale 0.75
  Alpha 1.0
  +NOGRAVITY
  +NOINTERACTION
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	VPXS ABCDEFGHIJKL 1 Bright A_FadeOut(0.04)
	Stop
  Toaster:
    TNT1 A 0
	Stop	
  }
}

ACTOR ShadowVaporSpawnerZam
{
  +CLIENTSIDEONLY
  +NOINTERACTION
  Renderstyle None
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Null")
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("ShadowVaporZam",0,0,0,random(4,-4),random(4,-4),random(4,-4),random(0,359),32)
	PLAY A 3
	PLAY BCDEF 5
	Stop
	}
}

ACTOR ShadowVaporZam
{
  Renderstyle Add
  Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
  Scale 0.65
  Alpha 0.7
  +NOINTERACTION
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	VPXS MNOPQRSTUVWXYZ 1 Bright A_FadeOut(0.018)
	VPXZ ABC 2 A_FadeOut(0.018)
	Stop
	}
}

ACTOR ZamasuDeathExplosionSpawner
{
  +NOINTERACTION
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuVapor",0,0,0,random(4,-4),random(4,-4),random(4,-4),random(0,359),32)
	TNT1 A 1
	Stop
  Toaster:
	TNT1 A 1
	Stop
	}
}

ACTOR ZamasuVapor
{
  Renderstyle Add
  Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
  Scale 0.65
  Alpha 0.9
  +NOINTERACTION
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Playsound("PainLord/Explode2",7)
	ICE9 ABCDEF 3
	Stop
  }
}

ACTOR ZamasuNuke
{
 //+NoBlockmap
 +NoGravity
 +EXTREMEDEATH
 +ForceRadiusDmg
 +DONTSPLASH
 +EXPLODEONWATER
 DamageType "Zamasu" //ok
 Obituary "%o died from a cum nuke."
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_PlaySound("Weapons/VexedNemesisNukeExp", 5, 1.0, 0, ATTN_NONE)
   TNT1 A 0 A_Quake(9, 210, 0, 1048576, "None")
   TNT1 A 1 A_Explode(1048576, 256, 1, 1)
   TNT1 A 1 A_Explode(262144, 512, 1, 1)
   TNT1 A 1 A_Explode(65536, 1024, 1, 1)
   TNT1 A 1 A_Explode(16384, 2048, 1, 1)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukeFlare", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
   TNT1 AAAAA 0 A_SpawnItemEx("ZamasuNukeSmokeFloor", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukeFloor", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukeMushroom", 0, 0, 0, 0, 0, 10, 0, SXF_TRANSFERPOINTERS, 0)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukeFlareMushroom", 0, 0, 0, 0, 0, 10, 0, SXF_CLIENTSIDE, 0)
   TNT1 AA 0 A_SpawnItemEx("ZamasuNukeSmokeMushroom", 0, 0, 0, 0, 0, 10, 0, SXF_CLIENTSIDE, 0)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukePillar", 0, 0, 0, 0, 0, 0, 12, SXF_TRANSFERPOINTERS, 0)
   //TNT1 AA 0 A_SpawnItemEx("ZamasuNukeSmokePillar", 0, 0, 0, 0, 0, 12, 0, SXF_CLIENTSIDE, 0)
   TNT1 A 210
   Stop
 }
}

Actor ZamasuNukeFlare : VexedNemesisNukeFire
{
 Scale 16
 +NoInteraction
 +CLIENTSIDEONLY
 States
 {
  Spawn:
   VLAR A 0 Bright A_SetScale(ScaleX -0.1, ScaleY -0.1)
   VLAR A 1 Bright A_FadeOut(0.01)
   Loop
 }
}

Actor ZamasuNukeMushroom : VexedNemesisNuke
{
+CLIENTSIDEONLY
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", Random(0, 128), 0, 0, 0.00001 * Random(0, 25000), 0, 0.00001 * Random(900000, 1100000), Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", Random(0, 192), 0, 0, 0.00001 * Random(0, 50000), 0, 0.00001 * Random(910000, 1090000), Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", Random(0, 256), 0, 0, 0.00001 * Random(0, 75000), 0, 0.00001 * Random(920000, 1080000), Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", Random(0, 320), 0, 0, 0.00001 * Random(0, 100000), 0, 0.00001 * Random(930000, 1070000), Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", Random(0, 384), 0, 0, 0.00001 * Random(0, 200000), 0, 0.00001 * Random(940000, 1060000), Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("VexedNemesisNukeFire", Random(0, 448), 0, 0, 0.00001 * Random(0, 350000), 0, 0.00001 * Random(950000, 1050000), Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   Stop
  Toaster:
   TNT1 A 2
   stop
 }
}

Actor ZamasuNukeFire : VexedNemesisNuke
{
 RenderStyle Add
 +NoInteraction
 States
 {
  Spawn:
   TNT1 AA 0 A_Jump(256, "Spawn1", "Spawn2", "Spawn3", "Spawn4")
  Spawn1:
   VLA1 A 0 A_SetScale(ScaleX +0.002, ScaleY +0.002)
   VLA1 A 1 Bright A_FadeOut(0.005)
   Loop
  Spawn2:
   VLA2 A 0 A_SetScale(ScaleX +0.002, ScaleY +0.002)
   VLA2 A 1 Bright A_FadeOut(0.005)
   Loop
  Spawn3:
   VLA3 A 0 A_SetScale(ScaleX +0.002, ScaleY +0.002)
   VLA3 A 1 Bright A_FadeOut(0.005)
   Loop
  Spawn4:
   VLA4 A 0 A_SetScale(ScaleX +0.002, ScaleY +0.002)
   VLA4 A 1 Bright A_FadeOut(0.005)
   Loop
 }
}

Actor ZamasuNukeFlareMushroom : VexedNemesisNukeFlare
{
 Scale 10
 +CLIENTSIDEONLY
 States
 {
  Spawn:
   VLAR A 0 Bright A_SetScale(ScaleX -0.02, ScaleY -0.02)
   VLAR A 1 Bright A_FadeOut(0.002)
   Loop
 }
}

Actor ZamasuNukePillar : VexedNemesisNuke
{
+CLIENTSIDEONLY
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", 0, 0, 0, 0.00001 * Random(0, 100000), 0, 0.00001 * Random(10000, 1000000), Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 AAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", 0, 0, 0, 0.00001 * Random(0, 100000), 0, 0.00001 * Random(10000, 1000000), Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", 0, 0, 0, 0.00001 * Random(0, 100000), 0, 0.00001 * Random(10000, 1000000), Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 A 0 A_SpawnItem("ZamasuNukeSmokering", 0, 1600, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", 0, 0, 0, 0.00001 * Random(0, 100000), 0, 0.00001 * Random(10000, 1000000), Random(0, 359), SXF_TRANSFERPOINTERS, 64)
   Stop
 }
}

Actor ZamasuNukeSmokering : VexedNemesisNuke
{
+CLIENTSIDEONLY
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ZamasuNukeSmoke2", Random(256, 512), 0, 0, 0.01 * Random(750, 850), 0, 0.01 * random(175, 225), Random(0, 179)*2, 128, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ZamasuNukeSmoke2", Random(256, 512), 0, 0, 0.01 * Random(750, 850), 0, 0.01 * random(175, 225), Random(0, 179)*2, 128, 128)
   Stop
  Toaster:
   TNT1 A 2
   stop
 }
}

Actor ZamasuNukeSmoke2 : VexedNemesisNukeSmoke
{
+CLIENTSIDEONLY
 Scale 2.5
 Alpha 0.05
}

Actor ZamasuNukeSmokeFloor : VexedNemesisNuke
{
+CLIENTSIDEONLY
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ZamasuSmokeSpawner", 0, 0, Random(64,256), 0.016 * Random(1900, 2000), 0, -0.4, Random(0, 359), SXF_CLIENTSIDE, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ZamasuSmokeSpawner", 0, 0, Random(64,256), 0.015 * Random(1900, 2000), 0, -0.4, Random(0, 359), SXF_CLIENTSIDE, 0)
   TNT1 A 5
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ZamasuNukeSmoke3", Random(0,2048), 0, Random(64,192), 0.00001 * Random(0, -500000), 0, 0.00001 * Random(0, -500000), Random(0, 359), SXF_CLIENTSIDE, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeSmoke3", 0, 0, Random(64,192), 0.00001 * Random(0, 500000), 0, 0, Random(0, 359), SXF_CLIENTSIDE, 0)
   Stop
 Toaster:
   TNT1 A 2
   stop
 }
}

Actor ZamasuSmokeSpawner : VexedNemesisNukeSmoke
{
 //+FORCERADIUSDMG
 +CLIENTSIDEONLY
 States
 {
  Spawn:
   TNT1 A 0 A_JumpIfInventory("SmokeCount",6,"SpawnX")
   TNT1 A 0 A_SetScale(ScaleX +0.03, ScaleY +0.03)
   TNT1 A 2
   TNT1 A 0 A_GiveInventory("SmokeCount",1)
   Loop
  SpawnX:
   SMKH A 0 A_JumpIfInventory("SmokeCount",10,"SpawnEnd")
   SMKH A 0 A_SetScale(ScaleX +0.03, ScaleY +0.03)
   TNT1 A 2
   SMKH A 0 A_GiveInventory("SmokeCount",1)
   SMKH A 0 A_Jump(9,1)
   Loop
   SMKH A 0 A_SpawnItemEx("ZamasuNukeSmoke2",random(32,-32),random(32,-32),random(16,-16),0.00001 * Random(0, 300000),0,0,random(0,359), SXF_CLIENTSIDE, 0)
   Goto SpawnX
  SpawnEnd:
   TNT1 A 2
   Stop
 }
}

Actor ZamasuNukeSmoke3 : VexedNemesisNukeSmoke
{
+CLIENTSIDEONLY
 Alpha 0.05
}

Actor ZamasuNukeFloor : VexedNemesisNuke
{
+CLIENTSIDEONLY
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ZamasuNukeFire", 0, 0, Random(64,256), 0.015 * Random(1900, 2000), 0, 0, Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ZamasuNukeFire", 0, 0, Random(64,256), 0.015 * Random(1900, 2000), 0, 0, Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   TNT1 A 5
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeFire", 0, 0, 0, 0.00001 * Random(0, 400000), 0.00001 * Random(0, 400000), 0.5, Random(0, 359), SXF_TRANSFERPOINTERS, 0)
   Stop
 }
}

Actor ZamasuNukeSmokeMushroom : VexedNemesisNuke
{
+CLIENTSIDEONLY
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeSmoke2", Random(0, 192), 0, 0, 0.00001 * Random(0, 100000), 0, 0.00001 * Random(1000000, 1100000), Random(0, 359), SXF_CLIENTSIDE, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeSmoke2", Random(0, 240), 0, 0, 0.00001 * Random(0, 150000), 0, 0.00001 * Random(950000, 1050000), Random(0, 359), SXF_CLIENTSIDE, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeSmoke2", Random(0, 288), 0, 0, 0.00001 * Random(0, 200000), 0, 0.00001 * Random(900000, 1000000), Random(0, 359), SXF_CLIENTSIDE, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeSmoke2", Random(0, 336), 0, 0, 0.00001 * Random(0, 250000), 0, 0.00001 * Random(850000, 950000), Random(0, 359), SXF_CLIENTSIDE, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeSmoke2", Random(0, 384), 0, 0, 0.00001 * Random(0, 300000), 0, 0.00001 * Random(800000, 900000), Random(0, 359), SXF_CLIENTSIDE, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeSmoke2", Random(0, 432), 0, 0, 0.00001 * Random(0, 350000), 0, 0.00001 * Random(750000, 850000), Random(0, 359), SXF_CLIENTSIDE, 0)
   Stop
  Toaster:
   TNT1 A 2
   stop
 }
}

Actor ZamasuNukeSmokePillar : VexedNemesisNuke
{
+CLIENTSIDEONLY
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
   //TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("ZamasuNukeSmoke", 0, 0, 0, 0.00001 * Random(0, 100000), 0, 0.00001 * Random(-250000, 1000000), Random(0, 359), 128, 0)
   Stop
  Toaster:
   TNT1 A 2
   stop
 }
}

ACTOR ZamasuHomingSuperBall : GenericSuperOrb
{
  Speed 40
  Damage 10
  Scale 0.15
  Renderstyle Subtract
  Damagetype "Legendary"
  SeeSound "MReimuBall/Spawn"
  DeathSound "MReimuBall/Explode"
  Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
  +SEEKERMISSILE
  +FORCERADIUSDMG
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_ScaleVelocity(1.05)
	TNT1 A 0 A_Weave(2,2,1.0,1.0)
    TNT1 AA 0 A_SpawnItemEx("DarkRedProjParticleSuperLargeDark",0,0,0,frandom(-10,0),frandom(-8,8),frandom(0,10),0)
    TNT1 AA 0 A_SpawnItemEx("Red2ProjParticleSuperLargeDark",0,0,0,frandom(-10,0),frandom(-8,8),frandom(0,10),0)
    MXT0 A 1 Bright A_SeekerMissile(1,1,SMF_LOOK|SMF_PRECISE)
    Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Quake(6,40,0,1500)
	TNT1 A 0 A_Explode(400,300)
	TNT1 A 0 A_SpawnItem("ZamasuHomingSuperBallExplode")
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("DarkRedProjParticleSuperLargeDark2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(-10,10),random(0,359))
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("Red2ProjParticleSuperLargeDark2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(-10,10),random(0,359))
	TNT1 A 0 A_SetScale(ScaleX+0.1)
    MXT0 L 1 Bright A_FadeOut(0.03)
    Goto Death+4
  }
}

ACTOR ZamasuHomingSuperBallExplode : BaseProjectileEffect
{
  Scale 1.0
  Renderstyle Subtract
  Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
  States
  {
  Spawn:
	MXP0 ABCDEFGHIJKLMNOPQRSTUVWX 2 Bright
    Stop
  }
}

ACTOR DarkRedProjParticleSuperLargeDark : DarkRedProjParticleSuperLarge { Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]" }
ACTOR DarkRedProjParticleSuperLargeDark2 : DarkRedProjParticleSuperLarge2 { Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]" }
ACTOR Red2ProjParticleSuperLargeDark : Red2ProjParticleSuperLarge { Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]" }
ACTOR Red2ProjParticleSuperLargeDark2 : Red2ProjParticleSuperLarge2 { Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]" }

ACTOR ZamasuimpDeathEffect : LegendaryCyberdemonDeathEffect
{
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
	Stop
  }
}

//Nemesis Cardinal

ACTOR DeadNemesisCardinal
{
  +CLIENTSIDEONLY
  Scale 1.1
  States
  {
  Spawn:
	NARD P -1
	Stop
  }
}

Actor FakeNemCardiSummoner
{
 Height 8
 Radius 25
 Speed 30
 Damage (0)
 +RippeR
 +BloodlessImpact
 +NOTIMEFREEZE
  States
   {
    Spawn:
	 TNT1 A 5
	Death:
	 TNT1 A 0
	 TNT1 A 2
	 TNT1 A 0 A_SpawnItemEx("FakeNemCardi")
	 Stop
   }
}

ACTOR FakeNemCardi : NewNemesisCardinal
{
Health 600
Monster
Scale 1.1
Speed 25
Species "Cybers"
MinMissileChance 160
DamageFactor "PDTBFG", 0.05
DamageFactor "PDTBFGTracer", 0.05
DamageFactor "Cyber10K", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "BFGSplash", 0.25
DamageFactor "BFGSpray", 0.25
DamageFactor "PlayerDevBall", 0.025
DamageFactor "PlayerDevBall2", 0.025
DamageFactor "PlayerDTBFGRailgunSlug", 0.025
DamageFactor "PlayerDevTracer", 0.025
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0
DamageFactor "CerEnergyBall", 0.0
DamageFactor "LegMind", 0.0
DamageFactor "SuperWeapon", 0.0
DamageFactor "CDTBFG", 0.0
SeeSound "Null"
PainSound "Null"
DeathSound "Null"
ActiveSound "Null"
var int user_nemcard;
+NOPAIN
-BOSS
+Thruspecies
-CountKill
+LOOKALLAROUND
+MissileEvenMore
+MissileMore
+DONTHARMSPECIES
+DONTHURTSPECIES
-BOSSDeath
States
{
   Spawn:
      TNT1 A 0
   Idle:
      TNT1 A 0 A_JumpIf(user_nemcard >= 60, "Death")
      TNT1 A 0 A_SetUserVar("user_nemcard", user_nemcard+1)
	  NARD C 0 A_Look
      NARD C 1 A_Wander
	  NARD C 0 A_PlayWeaponSound("boss/teleport")
	  NARD CC 0 A_SpawnItemEx("NemesisCyberFlameSpawner")
	  loop
   see:
	  NARD C 0 A_SpawnItemEx("LegCardinalGhost2",0,0,0,0,0,0,0,128)
      NARD A 2 Bright A_Chase
      NARD B 2 Bright A_Chase  
      Goto NemTeleport	
   Missile:
      TNT1 A 0
      TNT1 A 0 A_Jump(256,"NemTeleport")
   MissileFire:
	  TNT1 A 0 A_PlaySound("truelegbfg/fire",7)
	  TNT1 A 0 A_PlaySound("truelegbfg/fire2",6)
      NARD C 10 Bright A_FaceTarget
      NARD C 10 Bright A_FaceTarget
      NARD D 5 A_CustomMissile("NemesisGuruBall", 58, -26, 0, 0)
	  NARD C 5 Bright A_FaceTarget
	  goto death
  NemTeleport:
      TNT1 A 0 A_UnSetShootable
	  TNT1 A 0 Bright A_SpawnItem("NemesisCyberFlameSpawner",0,0,0,0)
      TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("NemesisCyberFlameSpawner",random(-64,64),random(-64,64),random(0,64),0,0,0,0,32)
      NARD CCCCCCCCCCC 1 Bright A_FadeOut(0.1,0)
      TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
      TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase(0, 0, CHF_NIGHTMAREFAST)
      TNT1 A 1 A_PlayWeaponSound("boss/teleport")
      TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("NemesisCyberFlameSpawner",random(-64,64),random(-64,64),random(0,64),0,0,0,0,32)
	  NARD CCCCCCCCCCC 1 A_FadeIn(0.1)
      TNT1 A 0 A_FaceTarget
      TNT1 A 0 A_SetShootable
	  TNT1 A 0 A_SetTranslucent(1)
	  Goto Missilefire
   Death:
      NARD C 1 A_PlayWeaponSound("boss/teleport")
	  NARD C 1 A_Stop
	  NARD CCCCCCCCCCCCC 0 A_SpawnItemEx("WhiteWalkFire")
	  NARD CCCCCCCCCCC 1 A_FadeIn(0.1)
	Stop
	}
}

ACTOR NemBaseEffect
{
 +CLIENTSIDEONLY
 +NOINTERACTION
 +NOGRAVITY
 +NOBLOCKMAP
 +NOTELEPORT
 +NOCLIP
 +NONETID
}

ACTOR NemLightningBolt : NemBaseEffect // Blue
{
RenderStyle Add
Scale 0.15
Alpha 0.5
+MISSILE
+DONTSPLASH
-SOLID
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
    NBL1 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
    NBL2 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
    NBL3 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
    NBL4 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
Death:
    "----" A 1 Bright
    Stop
    }
}

ACTOR NemLightningBoltWhite : NemLightningBolt
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
    NBL1 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
    NBL2 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
    NBL3 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
    NBL4 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
	Goto Death
    }
}

ACTOR NrcBallLightningBolt4 : NemLightningBoltWhite
{
Scale 0.55
States
 {
 Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("Arcradimus/BFGElectric")
  Goto Super::Spawn
 }
}

Actor NemesisNuke : Nuke
{
 PROJECTILE
 ReactionTime 1
 DamageType "Legendary"
 +NOTIMEFREEZE
 States
 {
  Spawn:
   TNT1 AAA 0 A_Countdown
  Death:
   TNT1 A 0
   TNT1 A 0 A_PlaySoundEx("GoodGame/Mate", "Voice", 0, 2)
   TNT1 A 1 A_Explode(7000, 1300, 1)
   TNT1 A 0 Radius_Quake(7, 105, 0, 140, 0)
   TNT1 A 0 A_SpawnItemEx("WhiteNukeHyperFlare", 0, 0, 0, 0, 0, 0, 0, 128, 0)


   TNT1 A 5 A_SpawnItemEx("NemesisNukeHyperFloor", 0, 0, 0, 0, 0, 0, 0, 128, 0)
   TNT1 A 20 A_SpawnItemEx("NemNukeHyperFloor", 0, 0, 0, 0, 0, 0, 0, 128, 0)
   TNT1 AA 0 A_SpawnItemEx("NukeHyperSmokeFloor", 0, 0, 0, 0, 0, 0, 0, 128, 0)
   TNT1 A 0 A_SpawnItemEx("NemNukeHyperPillar", 0, 0, 0, 0, 0, 10, 0, 128, 0)
   TNT1 A 105 A_SpawnItemEx("NukeHyperSmokePillar", 0, 0, 0, 0, 0, 10, 0, 128, 0)
   TNT1 A 0 A_SpawnItemEx("NemNukeHyperMushroom", 0, 0, 1000, 0, 0, 0, 0, 128, 0)
   TNT1 AA 0 A_SpawnItemEx("NukeHyperSmokeMushroom", 0, 0, 1000, 0, 0, 0, 0, 128, 0)
   Stop
 }
}

ACTOR NemesisNuke2
{
 //+NoBlockmap
 +NoGravity
 +EXTREMEDEATH
 +ForceRadiusDmg
 +DONTSPLASH
 +EXPLODEONWATER
 +DONTHARMSPECIES
 DamageType "Legendary"
 Species "Cybers"
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_PlaySound("Weapons/VexedNemesisNukeExp", 5, 1.0, 0, ATTN_NONE)
   TNT1 A 0 A_Quake(9, 210, 0, 1048576, "None")
   TNT1 A 1 A_Explode(1048576, 256, 1, 1)
   TNT1 A 1 A_Explode(262144, 512, 1, 1)
   TNT1 A 1 A_Explode(65536, 1024, 1, 1)
   TNT1 A 1 A_Explode(16384, 2048, 1, 1)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukeFlare", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
   TNT1 AAAAA 0 A_SpawnItemEx("ZamasuNukeSmokeFloor", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukeFloor", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukeMushroom", 0, 0, 0, 0, 0, 10, 0, SXF_TRANSFERPOINTERS, 0)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukeFlareMushroom", 0, 0, 0, 0, 0, 10, 0, SXF_CLIENTSIDE, 0)
   TNT1 AA 0 A_SpawnItemEx("ZamasuNukeSmokeMushroom", 0, 0, 0, 0, 0, 10, 0, SXF_CLIENTSIDE, 0)
   TNT1 A 0 A_SpawnItemEx("ZamasuNukePillar", 0, 0, 0, 0, 0, 0, 12, SXF_TRANSFERPOINTERS, 0)
   TNT1 AA 0 A_SpawnItemEx("ZamasuNukeSmokePillar", 0, 0, 0, 0, 0, 12, 0, SXF_CLIENTSIDE, 0)
   TNT1 A 210
   Stop
 }
}

Actor WhiteNukeHyperFlare : NukeFire
{
 Scale 48
 +NoInteraction
 States
 {
  Spawn:
   NLUF A 1 Bright A_FadeOut(0.01)
   Wait
 }
}

Actor NemesisNukeHyperFire : LegNukeHyperFire
{
 RenderStyle Add
 +NoInteraction
 +ClientSideOnly
 -ForceYBillBoard
 +NOTIMEFREEZE
 Scale 3
 PROJECTILE
 DamageType "Cyber10K"
 States
 {
  Spawn:
   TNT1 AA 0 A_Jump(196, "Spawn2", "Spawn3")
   TNT1 A 0 A_JumpIf(Alpha<0.3,2)
   VHD1 A 0 A_Explode(15,1300)
   VHD1 A 1 Bright A_FadeOut(0.015)
   Wait
  Spawn2:
   TNT1 A 0 A_JumpIf(Alpha<0.3,2)
   VHD2 A 0 A_Explode(15,1300)
   VHD2 A 1 Bright A_FadeOut(0.015)
   Wait
  Spawn3:
   TNT1 A 0 A_JumpIf(Alpha<0.3,2)
   VHD3 A 0 A_Explode(15,1300)
   VHD3 A 1 Bright A_FadeOut(0.015)
   Wait
 }
}

Actor NemesisNukeHyperFloor : Nuke
{
 +ClientSideOnly
 +NoNetID
 +NOTIMEFREEZE
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("NemesisNukeHyperFire", 0, 0, 0, 0.00001 * Random(400000, 900000), 0.00001 * Random(400000, 900000), 0, Random(0, 359), 128, 0)
   Stop
 }
}

Actor NemNukeHyperFire : Nuke
{
 RenderStyle Add
 +NoInteraction
 +ClientSideOnly
 -ForceYBillBoard
 +NOTIMEFREEZE
 Scale 3
 PROJECTILE
 DamageType "Cyber10K"
 States
 {
  Spawn:
   TNT1 AA 0 A_Jump(196, "Spawn2", "Spawn3", "Spawn4")
   TNT1 A 0 A_JumpIf(Alpha<0.3,2)
   GFL1 A 0 A_Explode(15,1300)
   GFL1 A 1 Bright A_FadeOut(0.015)
   Wait
  Spawn2:
   TNT1 A 0 A_JumpIf(Alpha<0.3,2)
   GFL2 A 0 A_Explode(15,1300)
   GFL2 A 1 Bright A_FadeOut(0.015)
   Wait
  Spawn3:
   TNT1 A 0 A_JumpIf(Alpha<0.3,2)
   GFL3 A 0 A_Explode(15,1300)
   GFL3 A 1 Bright A_FadeOut(0.015)
   Wait
  Spawn4:
   TNT1 A 0 A_JumpIf(Alpha<0.3,2)
   GFL4 A 0 A_Explode(15,1300)
   GFL4 A 1 Bright A_FadeOut(0.015)
   Wait
 }
}

Actor NemNukeHyperFloor : Nuke
{
 +ClientSideOnly
 +NoNetID
 +NOTIMEFREEZE
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("NemNukeHyperFire", 0, 0, 0, 0.00001 * Random(0, 900000), 0.00001 * Random(0, 900000), 0, Random(0, 359), 128, 0)
   Stop
 }
}

Actor NemNukeHyperPillar : Nuke
{
 +ClientSideOnly
 +NoNetID
+NOTIMEFREEZE
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1  A_SpawnItemEx("NemNukeHyperFire", 0, 0, 0, 0.00001 * Random(0, 300000), 0.00001 * Random(0, 300000), 0.00001 * Random(0, -600000), Random(0, 359), 128, 0)
   TNT1 A 0 A_SpawnItem("NukeHyperSmokering", 0, 0, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("NemNukeHyperFire", 0, 0, 0, 0.00001 * Random(0, 300000), 0.00001 * Random(0, 300000), 0.00001 * Random(0, -600000), Random(0, 359), 128, 0)
   Stop
 }
}

Actor NemNukeHyperMushroom : Nuke
{
 +ClientSideOnly
 +NoNetID
+NOTIMEFREEZE
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("NemNukeHyperFire", 0, 0, 0, 0.00001 * Random(0, 600000), 0.00001 * Random(0, 900000), 0.00001 * Random(-400000, 400000), Random(0, 359), 128, 0)
   Stop
 }
}

ACTOR NemCardiBombTrail : LCABaseEffect
{
	Alpha 0.50
	Renderstyle Add
	+CLIENTSIDEONLY
	+NOTIMEFREEZE
	Scale 1.1
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SetScale(ScaleX -0.01, ScaleY -0.01)
	XXLA BDBDB 1 Bright A_FadeOut(0.05)
	Loop
	}
}

actor NemCardiFinalAttack
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 1
  alpha 0.25
  PROJECTILE
  +NOTIMEFREEZE
  states
  {
  Spawn:
    XXLA BDBD 8 bright A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    goto Death
  Death:
    XXLA A 4 A_SpawnItemEx("NemCardiFinalAttack2")
    stop
  }
}

actor NemCardiFinalAttack2
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 2
  alpha 0.35
  PROJECTILE
  +NOTIMEFREEZE
  states
  {
  Spawn:
    XXLA BDBD 9 bright A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    goto Death
  Death:
    XXLA A 4 A_SpawnItemEx("NemCardiFinalAttack3",0,0,0)
    stop
  }
}

actor NemCardiFinalAttack3
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 3
  alpha 0.45
  PROJECTILE
  +NOTIMEFREEZE
  states
  {
  Spawn:
    XXLA BDBD 9 bright A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    goto Death
  Death:
    XXLA A 4 A_SpawnItemEx("NemCardiFinalAttack4") 
    stop
  }
}

actor NemCardiFinalAttack4
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 4
  alpha 0.55
  PROJECTILE
  +NOTIMEFREEZE
  states
  {
  Spawn:
    XXLA BDBD 9 bright A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    goto Death
  Death:
    XXLA A 4 A_SpawnItemEx("NemCardiFinalAttack5") 
    stop
  }
}

actor NemCardiFinalAttack5
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 5
  alpha 0.65
  PROJECTILE
  +NOTIMEFREEZE
  states
  {
  Spawn:
    XXLA BDBD 10 bright A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    goto Death
  Death:
    XXLA A 4 A_SpawnItemEx("NemCardiFinalAttack6") 
    stop
  }
}

actor NemCardiFinalAttack6
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 6
  alpha 0.75
  deathsound "Gateway/Hell"
  PROJECTILE
  DamageType "Nemesis"
  +NOTIMEFREEZE
  states
  {
  Spawn:
    XXLA BDBD 11 bright A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    goto Death
  Death:
    XXLA A 4 A_SpawnItemEx("NemCardiFinalAttack7")
    stop
  }
}

actor NemCardiFinalAttack7
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 7
  alpha 0.85
  deathsound "Gateway/Hell"
  PROJECTILE
  DamageType "Legendary"
  +NOTIMEFREEZE
  states
  {
  Spawn:
    XXLA BDBD 11 bright A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    goto Death
  Death:
    XXLA A 4 A_SpawnItemEx("NemCardiFinalAttack8") 
    stop
  }
}

actor NemCardiFinalAttack8
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 8
  alpha 0.95
  deathsound "Gateway/Hell"
  PROJECTILE
  DamageType "Legendary"
  +NOTIMEFREEZE
  states
  {
  Spawn:
    XXLA BDBD 12 bright A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    goto Death
  Death:
    XXLA A 4 A_SpawnItemEx("NemCardiFinalAttack9")
    stop
  }
}

actor NemCardiFinalAttack9
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 9
  alpha 0.95
  deathsound "Gateway/Hell"
  PROJECTILE
  DamageType "Legendary"
  +NOTIMEFREEZE
  states
  {
  Spawn:
    XXLA BDBD 12 bright A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    goto Death
  Death:
    XXLA A 4 A_SpawnItemEx("NemCardiFinalAttack10")
    stop
  }
}

actor NemCardiFinalAttack10
{
  obituary "%o was destroyed."
  radius 0
  height 0
  speed 0
  damage 0
  renderstyle Add
  scale 10
  Alpha 1.0
  deathsound "Gateway/Hell"
  PROJECTILE
  DamageType "Legendary"
  +NOTIMEFREEZE
  states
  {
  Spawn:
    UBAL B 10 BRIGHT A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    XXLA BDBDBDBDBDBDBDBDBD 8 bright
    goto Death
  Death:
    XXLA B 4 BRIGHT
    stop
  }
}

ACTOR NemesisCardinalFinalBall
{
  radius 30
  height 30
  Speed 15
  DamageType "UltimateLegendary"
  Damage 100000
  Projectile
  RenderStyle Add
  +FORCERADIUSDMG
  +SKYEXPLODE
  +FOILINVUL
  +EXTREMEDEATH
  +RIPPER
  +BLOODLESSIMPACT
  //+DONTBLAST
  -RANDOMIZE
  +NOTIMEFREEZE
  Scale 1.1
  Alpha 1.0
  MissileType "ArcLesserProjectileTrail"
  SeeSound "Arcradimus/BFGFire"
  States
  {
  Spawn:
    // White
	TNT1 A 0
	TNT1 A 0 A_Explode(600,192,0,1)
	TNT1 A 0 A_SpawnItemEx("NemCardiBombTrail",5,0,0,0,0,0,0,0,0)
    TNT1 A 0 A_Jump(224, 2)
	TNT1 A 0 A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    TNT1 A 0 A_Jump(16, 2)
    TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowX",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowY",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("NrcBallLightningBolt4",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
	XXLA D 1 Bright
    TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	XXLA D 1 Bright
	//Gray
	TNT1 A 0
	TNT1 A 0 A_Explode(600,192,0,1)
	TNT1 A 0 A_SpawnItemEx("NemCardiBombTrail",5,0,0,0,0,0,0,0,0)
    TNT1 A 0 A_Jump(224, 2)
	TNT1 A 0 A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    TNT1 A 0 A_Jump(16, 2)
    TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowX",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowY",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("NrcBallLightningBolt4",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
	XXLA B 1 Bright
    TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	XXLA B 1 Bright
	//White
	TNT1 A 0
	TNT1 A 0 A_Explode(600,192,0,1)
	TNT1 A 0 A_SpawnItemEx("NemCardiBombTrail",5,0,0,0,0,0,0,0,0)
    TNT1 A 0 A_Jump(224, 2)
	TNT1 A 0 A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    TNT1 A 0 A_Jump(16, 2)
    TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowX",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowY",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("NrcBallLightningBolt4",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
	XXLA D 1 Bright
    TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	XXLA D 1 Bright
	//Gray
	TNT1 A 0
	TNT1 A 0 A_Explode(600,192,0,1)
	TNT1 A 0 A_SpawnItemEx("NemCardiBombTrail",5,0,0,0,0,0,0,0,0)
    TNT1 A 0 A_Jump(224, 2)
	TNT1 A 0 A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    TNT1 A 0 A_Jump(16, 2)
    TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowX",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowY",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("NrcBallLightningBolt4",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
	XXLA D 1 Bright
    TNT1 B 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	XXLA B 1 Bright
	//White
	TNT1 A 0
	TNT1 A 0 A_Explode(600,192,0,1)
	TNT1 A 0 A_SpawnItemEx("NemCardiBombTrail",5,0,0,0,0,0,0,0,0)
    TNT1 A 0 A_Jump(224, 2)
	TNT1 A 0 A_SpawnItemEx("NemesisUltraBombFluxShockwave",0,0,0,10,0,0,0,0,0)
    TNT1 A 0 A_Jump(16, 2)
    TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowX",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowY",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("NrcBallLightningBolt4",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
	XXLA D 1 Bright
    TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	XXLA D 1 Bright
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_SpawnItem("NemesisNuke")
	TNT1 A 0 A_Explode(10000,10000,0,1)
	TNT1 A 0 A_BFGSpray("ArcSpray",15,20)
	TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowX",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("NemesisGuruStruckGlowY",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItem("NemesisDeathBall")
	TNT1 AAAAAAAA 0 A_CustomMissile("NemesisCyberBouncyBFG",0,0,random(0,360),2,random(-5,30))
	TNT1 A 0 A_SpawnItem("NemesisDeathBall")
	Stop
  }
}

ACTOR NemesisBombShockwave : LCAShockwave
{
  +NOTIMEFREEZE
  +CLIENTSIDEONLY
  States
  {
    Spawn:
		 TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
      NBRY A 1 Bright A_FadeOut(0.04)
      NBRY B 1 Bright A_FadeOut(0.04)
      NBRY C 1 Bright A_FadeOut(0.04)
      NBRY D 1 Bright A_FadeOut(0.04)
      NBRY E 1 Bright A_FadeOut(0.04)
      NBRY F 1 Bright A_FadeOut(0.04)
      NBRY G 1 Bright A_FadeOut(0.04)
      NBRY H 1 Bright A_FadeOut(0.04)
      NBRY I 1 Bright A_FadeOut(0.04)
      NBRY J 1 Bright A_FadeOut(0.04)
      NBRY K 1 Bright A_FadeOut(0.04)
      NBRY L 1 Bright A_FadeOut(0.04)
      NBRY M 1 Bright A_FadeOut(0.04)
      NBRY N 1 Bright A_FadeOut(0.04)
      NBRY O 1 Bright A_FadeOut(0.04)
      NBRY P 1 Bright A_FadeOut(0.04)
      NBRY Q 1 Bright A_FadeOut(0.04)
      NBRY R 1 Bright A_FadeOut(0.04)
      Stop
  Toaster:
    TNT1 A 0
	Stop	  
  }
}


ACTOR NemesisUtraBombShockwave : NemesisBombShockwave{Scale 8.0}


ACTOR NemesisUltraBombFluxShockwave : NemesisUtraBombShockwave
{
  Scale 1.1
  Alpha 1.0
  Projectile
}

ACTOR NemesisCardiBombTrail : LCABaseEffect
{
	Alpha 0.50
	Renderstyle Add
	+CLIENTSIDEONLY
	+NOTIMEFREEZE
	Scale 7.0
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SetScale(ScaleX -0.01, ScaleY -0.01)
	XXLA BDBDB 1 Bright A_FadeOut(0.05)
	Loop
	}
}

ACTOR Naboom15 : Kaboom
{
Speed 6
Scale 1.15
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
NXPG AABBCDEFGHIJKLM 2 Bright A_FadeOut(0.05)
Stop
}
}

ACTOR Kaboom9White : Kaboom6
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
NXPG AABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05)
Stop
}
}

ACTOR NPSG1 : EnergyProjectileSparkWhite
{
Scale 0.06
}

ACTOR NPSG2 : EnergyProjectileSparkWhite
{
Speed 1
Scale 0.05
}

ACTOR NPSG3 : EnergyProjectileSparkWhite
{
Speed 2
Scale 0.04
}

ACTOR NPSG4 : EnergyProjectileSparkWhite
{
Speed 3
Scale 0.03
}

ACTOR NPSG5 : EnergyProjectileSparkWhite
{
Speed 4
Scale 0.02
}

ACTOR NPSG6 : EnergyProjectileSparkWhite
{
Speed 5
Scale 0.01
}

ACTOR WhiteParticleSpawnerCard : GreenParticleSpawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    TNT1 A 0 A_SpawnItemEx("NPSG1",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("NPSG2",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 0 A_SpawnItemEx("NPSG3",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("NPSG4",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 0 A_SpawnItemEx("NPSG5",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("NPSG6",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 1
    Stop
  }
}

ACTOR NemCardiEnergyProjectileSparkWhite : EnergyProjectileSparkRed
{
BounceFactor 0.6
Gravity 0.2
States
{
Spawn:
MPKG A 2 Bright A_FadeOut(0.08)
Loop
}
}

ACTOR NPSG7 : NemCardiEnergyProjectileSparkWhite
{
Scale 0.040
}

ACTOR NPSG8 : NemCardiEnergyProjectileSparkWhite
{
Scale 0.035
}

ACTOR NPSG9 : NemCardiEnergyProjectileSparkWhite
{
Scale 0.030
}

ACTOR NPSG10 : NemCardiEnergyProjectileSparkWhite
{
Scale 0.025
}

ACTOR NPSG11 : NemCardiEnergyProjectileSparkWhite
{
Scale 0.020
}

ACTOR NPSG12 : NemCardiEnergyProjectileSparkWhite
{
Scale 0.015
}

ACTOR WhiteParticleSpawnerDT : RedParticleSpawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    TNT1 A 0 A_SpawnItemEx("NPSG7",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("NPSG8",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 0 A_SpawnItemEx("NPSG9",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("NPSG10",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 0 A_SpawnItemEx("NPSG11",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("NPSG12",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 1
    Stop
  }
}
ACTOR WhiteSpray : CustomSpray
{
+NOBLOCKMAP
+NOGRAVITY
+ACTIVATEPCROSS
+ACTIVATEIMPACT
+NOTELEPORT
+DROPOFF
+EXTREMEDEATH
+NOTIMEFREEZE
RENDERSTYLE ADD
Radius 1
Height 1
Damage 0
Speed 0
States
{
Spawn:
   TNT1 A 0
   NFE2 A 6 Bright A_SpawnItemEx("WhiteParticleSpawnerDT", 0, 0, 0, 0, 0, 0, 0, 128)
   NFE2 BCD 6 Bright 
   Stop
   }
}

ACTOR NemCardDTBFGTracer : FastProjectile
{
   Height 4
   Radius 16
   Speed 60
   Damage 100
   Decal None
   Species "Cybers"
   DamageType "Cyber10K"
   +THRUSPECIES
   +NOTIMEFREEZE
   States
   {
   Spawn:
      TNT1 A 15
	  Stop
   Death:
      TNT1 A 1
      Stop
   XDeath:
	  TNT1 A 0
      TNT1 A 1 A_SpawnItem("WhiteSpray")
      Stop
	  }
}



ACTOR NemCardDTBFGProjectileAttack : PlayerDTBFGProjectileAttack
{
PROJECTILE
+LOOKALLAROUND
+ISMONSTER
+QUICKTORETALIATE
+NOTARGET
+NOCLIP
+NOTIMEFREEZE
Obituary " The Nemesis Cardinal showed %o who the strongest in the multiverse really is."
MissileType "CardinalDTBFGRailgunSlug"
States
{
Spawn:
    TNT1 A 0
	TNT1 AAAAA 1 A_Look
	Stop
See:
    TNT1 A 0
	TNT1 A 1 A_JumpIfCloser(1250,"Attack")
	Stop
Attack:
    TNT1 A 0
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_MissileAttack
	TNT1 A 1 A_CustomRailgun(-1,0,NONE,"White",1,1,1)
	Goto Death	
Death:
	TNT1 A 1
	Stop
	}
}

ACTOR DTBFGLightningWhiteSpawner : BluePowerLineSpawner
{
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 Bright A_SpawnItemEx("DTBFGLightningWhite2",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
    Stop
    }
}
ACTOR DTBFGLightningWhite : TeleportFogLightning
{
Renderstyle Add
Scale 0.25
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
	NEL1 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
	NEL2 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
	NEL3 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
	NEL4 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
Death:
	"----" A 1 Bright
	Stop
	}
}

Actor DTBFGLightningWhite2 : DTBFGLightningWhite { Scale 0.38 }

ACTOR NemLiteTrail : LiteTrail
{
+NOTIMEFREEZE
   States
   {
   Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
      NLIT ABC 3 Bright
      Stop
   }
}

ACTOR NemEnergyProjectileSparkRed
{
Height 0
Radius 0
Mass 0
Damage 0
+THRUACTORS
+NOTELEPORT
+DONTSPLASH
+DOOMBOUNCE
+CLIENTSIDEONLY
+MISSILE
+NOBLOCKMAP
+FORCEXYBILLBOARD
RENDERSTYLE ADD
BounceFactor 0.5
Gravity 0.4
Scale 0.02
States
{
Spawn:
LSKR A 2 Bright A_FadeOut(0.08)
Loop
}
}


ACTOR NemProjectileTrailParticleRed : NemEnergyProjectileSparkRed
{
+NOGRAVITY
Scale 0.02
}

ACTOR NemEnergyProjectileSparkGreen : NemEnergyProjectileSparkRed
{
BounceFactor 0.6
Gravity 0.2
Scale 0.02
States
{
Spawn:
NSKG A 2 Bright A_FadeOut(0.08)
Loop
}
}



ACTOR NaboomDevastator
{
Radius 1
Height 1
Speed 3
Damage 0
Renderstyle ADD
Alpha 0.75
PROJECTILE
+NOBLOCKMAP
+NOTELEPORT
+DONTSPLASH
+NOGRAVITY
+MISSILE
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
+NOINTERACTION
+NOCLIP
Scale 1.4
States
{
Spawn:
TNT1 A 0
NVPR A 1 Bright A_PlaySound("weapons/rocklx")
NVPR BCDEFGHIJKLMNOP 1 Bright A_FadeOut(0.025)
Stop
}
}

ACTOR NemKaboomDevastator15 : NaboomDevastator
{
Speed 1
Scale 0.3
+NOTIMEFREEZE
States
{
Spawn:
MVPR ABCDEFGHIJKLMNOP 1 Bright A_FadeOut(0.025)
Stop
}
}

ACTOR NemBoltTrail : BoltTrail
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    NVS1 GHIJK 1 Bright A_FadeOut (0.05)
    Stop
  }
}

ACTOR NemCardDevastatorBolt : DevastatorBolt
{
  Damage 150
  +NOTIMEFREEZE
  States
  {
  Spawn:
  	NVS1 A 0 A_Seekermissile(5,5,SMF_LOOK)
    NVS1 A 1 A_SpawnItem("NemBoltTrail")
    Loop
  Death:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "ToasterDeath")
    TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",0,0,0,0,0,0,0,128)
    TNT1 AAAA 0 A_CustomMissile("NemKaboomDevastator15",0,0,random(0,360),2,random(0,360))
  ToasterDeath:
    NVS1 LMN 2
    Stop
  }
}

ACTOR NemDevastatorBall
{
Radius 18
Height 18
Damage 3000
Speed 40
Alpha 0.95
Scale 0.7
RENDERSTYLE Translucent
Species "Cybers"
DamageType "Cyber10K"
Alpha 0.85
PROJECTILE
+FORCERADIUSDMG
+FORCEXYBILLBOARD
+EXTREMEDEATH
+SKYEXPLODE
+MTHRUSPECIES
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 0
	TNT1 A 0 A_Jump(128,"DTBFGSFX")
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_PlaySoundEx("devastator/fly","Voice",1)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
    KGS2 A 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 AAA 0 Bright A_CustomMissile("NemCardLiteShot",0,0,Random(0,360))
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	KGS2 B 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	KGS2 C 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 CCC 0 Bright A_CustomMissile("NemCardLiteShot",0,0,Random(0,360))
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_CustomMissile("NemDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	KGS2 D 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    Loop
DTBFGSFX:
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_PlaySoundEx("devastator/fly","Voice",1)
	TNT1 A 0 A_Explode(32,450,0)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhite",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
    KGS2 A 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 A 1 Bright A_CustomMissile("NemCardDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_Explode(32,450,0)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhite2",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
    KGS2 B 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 A 1 Bright A_CustomMissile("NemCardDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_Explode(32,450,0)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhite",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
    KGS2 C 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 A 1 Bright A_CustomMissile("NemCardDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_Explode(32,450,0)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhite2",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
	TNT1 A 0 A_CustomMissile("NemDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
    KGS2 D 1 Bright A_SpawnItemEx("ProjectileTrailParticleWhite",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	KGS2 A 1 Bright A_CustomMissile("NemCardDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
    Goto Spawn
Death:
    TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 Radius_Quake(3,35,0,10,0)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,10,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,20,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,30,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,40,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,50,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,60,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,70,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,80,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,90,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,100,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,110,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,120,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,130,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,140,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,150,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,160,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,170,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,180,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,190,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,200,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,210,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,220,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,230,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,240,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,250,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,260,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,270,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,280,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,290,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,300,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,310,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,320,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,330,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,340,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("NemCardDTBFGTracer",0,0,350,CMF_TRACKOWNER)	
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningWhiteSpawner",0,0,0,0,0,0,0,128)	
	TNT1 A 0 A_Explode(80,256)
	KGS2 A 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 B 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 C 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 D 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 A 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 B 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 C 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 D 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 A 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 B 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 C 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	KGS2 D 6 Bright A_SpawnItemEx("NemDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(128,1024,0)
	TNT1 A 0 A_Explode(460,640,0)
	TNT1 A 0 A_Explode(618,256)
	TNT1 A 0 A_StopSoundEx("Voice")
	TNT1 A 0 Radius_Quake(20,12,0,12,0)
	TNT1 A 0 A_PlaySound("weapons/dtech10kexplode")
	TNT1 A 0 A_SpawnItemEx("NemDevastatorShockWave2",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SpawnItem("NemCardDTBFGEx",0,-10)
	NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,18,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,36,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,54,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,72,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,90,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,108,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,126,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,144,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,144,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,162,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,180,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,196,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,216,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,234,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,252,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,270,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,288,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,306,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,324,2)
    NGE1 D 0 Bright A_CustomMissile("NemCardDevastatorBall2",0,0,342,2)
	NGE1 AAAAAABBBBBBCCCCCCDDDDDD 1 A_CustomMissile("NemKaboomDevastator22",0,0,random(0,360),2,random(0,360))
    NGE1 EF 6 Bright
    Stop    
    }
}

ACTOR NemCardDevastatorProjectileAttack
{

Obituary "%o was pulverised by %k's Devastator."
MissileType "PlayerDTBFGRailgunSlug"
Monster
Species "Cybers"
+THRUSPECIES
+LOOKALLAROUND
+ISMONSTER
+QUICKTORETALIATE
+NOTARGET
+NOCLIP
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 0
	TNT1 A 0 A_Look
	TNT1 AAAAA 1 A_Chase
	Stop
See:
    TNT1 A 0
	TNT1 A 1 A_JumpIfCloser(1250,"Attack")
	Stop
Attack:
    TNT1 A 0
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_MissileAttack
	TNT1 A 1 A_CustomRailgun(-1,0,NONE,"White",1,1,2)
	Goto Death	
Death:
	TNT1 A 1
	Stop
	}
}

Actor FakeVenemCardinalThunder 
{
+NOGRAVITY
+ExtremeDeath
+NOCLIP
+FORCERADIUSDMG
+NOTIMEFREEZE
Renderstyle Add
Height 32
Radius 16
Alpha 0.2
Scale 4.0
DamageType "Cyber10k"
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySoundEx("thunder/hit","Voice",0,2)    
	TNT1 A 0 A_Explode(80,100)
	TNT1 A 0 Radius_Quake(175,8,512,1024,0)
	TNT1 AAA 0 A_CustomMissile("SmokeFX3",0,0,random(0,360),2,random(0,360))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("VeXNemCardiThunderSpark",0,0,0,random(1,10),0,random(1,10),random(0,359),129)
	LTHN AAAA 2 Bright A_FadeIn(0.2)
	LTHN AAAA 8 Bright A_FadeOut(0.2)
	Stop
    }     
}

Actor VeXNemCardiThunderSpark
{
Speed 3
Height 2
Radius 1
Mass 0
+Missile 
+CLIENTSIDEONLY
+NOCLIP
+LOWGRAVITY
+NOTIMEFREEZE
RenderStyle Add
Scale 0.5
States
{
   Spawn:
	TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 0 A_Jump(80,4)
    SS22 ABC 2 Bright
	Loop
	SS22 DEF 4 Bright A_FadeOut(0.25)
	Stop
   Death:
	SS22 DEF 4 Bright A_FadeOut(0.25)
	Stop
  Toaster:
    TNT1 A 0
	Stop		
	}
}


ACTOR NemesisPortalParticleSpawner2 : LegendaryPortalParticleSpawner
{
    States
    {
      Spawn:
       TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 A_SpawnItemEx("NEmesisPortalParticle",0,0,0,FRandom(9.0,8.5),0,FRandom(-9.0,9.0),Random(0,359),128)
       Stop
    }
}
ACTOR NemesisPortalParticleSpawner3 : LegendaryPortalParticleSpawner
{
    States
    {
      Spawn:
       TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("NEmesisPortalParticle",0,0,0,FRandom(9.0,8.5),0,FRandom(-9.0,9.0),Random(0,359),128)
       Stop
    }
}

ACTOR NemesisPortalParticleSpawner
{
	Height 0
	Radius 0
	Mass 0
	Damage 0
	+THRUACTORS
	+NOTELEPORT
	+NOGRAVITY
	+NOBLOCKMAP
	+CLIENTSIDEONLY
	+NOBLOCKMAP
	+NOINTERACTION
    +NOTIMEFREEZE

    States
	{
	  Spawn:
	   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4 A_SpawnItemEx("NEmesisPortalParticle",0,0,0,FRandom(9.0,8.5),0,FRandom(-9.0,9.0),Random(0,359),128)
       Stop
    }
}

ACTOR NEmesisPortalParticle
{
Height 0
Radius 0
Mass 0
Damage 0
+THRUACTORS
+NOTELEPORT
+DONTSPLASH
+NOGRAVITY
+NOBLOCKMAP
+CLIENTSIDEONLY
+MISSILE
+NOBLOCKMAP
+FORCEXYBILLBOARD
+NOINTERACTION
+NOTIMEFREEZE
RENDERSTYLE ADD
Alpha 0.0
BounceFactor 0.5
Scale 0.09
States
{
Spawn:
TNT1 A 0
TNT1 A 5
TNT1 A 1 A_ScaleVelocity(frandom(-0.1,-0.2))
SPKY AAAAA 1 Bright A_FadeIn(0.2)
Fly:
SPKY A 2 Bright A_FadeOut(0.06)
Loop
}
}

ACTOR VexedNemesisCardinalGhost
{
Scale 1.2
RENDERSTYLE Translucent
Alpha 0.75
+NOGRAVITY
+CLIENTSIDEONLY
+DONTSPLASH
+NOINTERACTION
+NOCLIP
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    TNRD A 2 A_FadeOut(0.18)
    Loop
  Toaster:
    TNT1 A 0
	Stop		
    }
}

ACTOR BlackNemesisKaboom3 : NemesisKaboom
{
Speed 2
Scale 0.9
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
N33S AABBCDEFGHIJKL 1 Bright A_FadeOut(0.05)
Stop
}
}

ACTOR VexedCardinalFireEx : BlackNemesisKaboom3
{
Speed 0
Scale 0.85
}

ACTOR WhitNemesisCardinalKaboom2 : WhiteNemesisKaboom
{
Speed 1
Scale 0.9
+NOTIMEFREEZE
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
N43S AABBCDEFGHIJKL 1 Bright A_FadeOut(0.05)
Stop
}
}

ACTOR NemCardinalFireEx : WhitNemesisCardinalKaboom2
{
Speed 0
Scale 0.85
+NOTIMEFREEZE
}

ACTOR VexedNemesisCardinalFireSpawner : LegendaryRedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_PlaySound("monster/ambientfire3")
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 0 A_SpawnItemEx("NemCardinalFireEx",random(8,-8),random(4,-4),random(70,80),0,0,random(-4,-6),0,128,0)
	TNT1 A 0 A_SpawnItemEx("VexedCardinalFireEx",random(8,-8),random(4,-4),random(70,80),0,0,random(-4,-6),0,128,0)	
    TNT1 AAAA 0 A_SpawnItemEx("VexedNemesisCardinalFire",random(18,-18),random(14,-14),random(70,80),0,0,random(-6,-8),0,128,0)
    TNT1 AAAA 0 A_SpawnItemEx("NemesisCardinalFire",random(18,-18),random(14,-14),random(70,80),0,0,random(-6,-8),0,128,0)
    TNT1 A 1
    Stop
  }
}

ACTOR VexedNemesisCardinalFire
{
+MISSILE
+DONTSPLASH
+CLIENTSIDEONLY
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
+FORCEXYBILLBOARD
+THRUACTORS
+NOTIMEFREEZE
RenderStyle Add
Scale 0.4
States
{
Spawn:
N33S ABCDEFGHIJKL 2 Bright A_FadeOut
Stop
}
}

/*
ACTOR NemesisCardinalFire
{
+MISSILE
+DONTSPLASH
+CLIENTSIDEONLY
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
+FORCEXYBILLBOARD
+THRUACTORS
+NOTIMEFREEZE
RenderStyle Add
Scale 0.4
States
{
Spawn:
N43S ABCDEFGHIJKL 2 Bright A_FadeOut
Stop
}
}
*/

ACTOR CardinalSpecialNemesisGuruBall : CardinalSpecialGuruBall
{
  Radius 16
  Height 8
  Speed 20
  DamageType "Cyber10K"
  Damage 5000
  Projectile
  Renderstyle Add
  +FORCERADIUSDMG
  +EXTREMEDEATH
  +FOILINVUL
  +RIPPER
  +BLOODLESSIMPACT
  +DONTBLAST
  +THRUSPECIES
  Scale 0.50
  Species "Cybers"
  MissileType "GuruLesserProjectileTrail"
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Jump(128,"LEGBFGSFX")
	TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
	TNT1 A 0 A_Explode(600,64,0,1)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("BlackGuruTrailSpark",random(28,-28),random(28,-28),random(28,-28),0,0,0,0,0,0)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("BlackGuruTrail",-3,0,0,0,0,0,0,0,0)
	B21C A 1 Bright A_SpawnItemEx("NemCardDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	loop
    Goto Spawn
  LEGBFGSFX:
    TNT1 A 0 A_SpawnItemEx("BlackGuruTrailSpark",random(28,-28),random(28,-28),random(28,-28),0,0,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("BlackGuruTrail",-3,0,0,0,0,0,0,0,0)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	B21C A 1 Bright A_SpawnItemEx("NemCardDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
    TNT1 A 0 A_SpawnItemEx("BlackGuruTrailSpark",random(28,-28),random(28,-28),random(28,-28),0,0,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("BlackGuruTrail",-3,0,0,0,0,0,0,0,0)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	B21C A 1 Bright A_SpawnItemEx("NemCardDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
    TNT1 A 0 A_SpawnItemEx("BlackGuruTrailSpark",random(28,-28),random(28,-28),random(28,-28),0,0,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("BlackGuruTrail",-3,0,0,0,0,0,0,0,0)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	B21C A 1 Bright A_SpawnItemEx("NemCardDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
    TNT1 A 0 A_SpawnItemEx("BlackGuruTrailSpark",random(28,-28),random(28,-28),random(28,-28),0,0,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("BlackGuruTrail",-3,0,0,0,0,0,0,0,0)
	TNT1 A 0 A_CustomMissile("NemCardDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	B21C A 1 Bright A_SpawnItemEx("NemCardDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
    Goto Spawn
  Death:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	//COLLATERAL DAMAGE EFFECTS
	TNT1 A 0 A_Explode(6000,486,0,1)
	TNT1 A 0 A_BFGSpray("BlackGuruSpray",15,20)
	//IMPACT STUFF
	TNT1 A 0 A_SpawnItemEx("BlackGuruStruckGlowX",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("BlackGuruStruckGlowY",0,0,10,0,0,0,0,128,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("VexedCardinalBlackGuruSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("BlackGuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("BlackGuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	Stop
  }
}

ACTOR BlackGuruSpray : GuruSpawnerInheritance
{
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("BlackGuruSprayGlowX",0,0,0,0,0,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("BlackGuruSprayGlowY",0,0,0,0,0,0,0,0,0)
	TNT1 AAAAAA 3 A_SpawnItemEx("BlackGuruSpraySpark",random(24,-24),random(24,-24),random(24,-24),0,0,0,0,0,0)
	Stop
	}
}

ACTOR BlackGuruSprayGlowY : GuruSprayGlowX
{
	Alpha 0.35
	Scale 0.025
	States
	{
	Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	Fade:
      B12C A 0 A_SetScale(ScaleX +0.05, ScaleY +0.01)
	  B12C A 1 Bright A_FadeOut(0.01) //A_FadeOut(0.01)
	  Loop
    Toaster:
      TNT1 A 0
      Stop
	}
}

ACTOR BlackGuruSprayGlowX : GuruSprayGlowY
{
	States
	{
	Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	Fade:
	  B12C A 0 A_SetScale(ScaleX +0.01, ScaleY +0.05)
	  B12C A 1 Bright A_FadeOut(0.01) //A_FadeOut(0.01)
	  Loop
    Toaster:
      TNT1 A 0
      Stop
	}
}

ACTOR BlackGuruSpraySpark : GuruEffectInheritance
{
	Scale 0.25
	+CLIENTSIDEONLY
	States
	{
	Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
      B11C ABCDEF 2 Bright A_FadeOut(0.1)
	  Stop
    Toaster:
      TNT1 A 0
      Stop
	}
}

ACTOR BlackGuruChunkSpark : GuruTrailSpark
{
	Scale 1.30
	+CLIENTSIDEONLY
	States
	{
	Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
      B11C ABCDEF 2 Bright A_FadeOut(0.1)
      Stop
    Toaster:
      TNT1 A 0
      Stop
	}
}
ACTOR BlackGuruStruckGlowY : GuruEffectInheritance
{
	Alpha 0.5
	+CLIENTSIDEONLY
	Scale 0.3
	States
	{
	Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	Fade:
	  B12C A 0 A_SetScale(ScaleX +0.025, ScaleY +0.1)
	  B12C A 1 Bright A_FadeOut(0.01)
	  Loop
    Toaster:
      TNT1 A 0
      Stop
	}
}

ACTOR BlackGuruStruckGlowX : GuruEffectInheritance
{
	Alpha 0.5
	+CLIENTSIDEONLY
	Scale 0.4
	States
	{
	Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	Fade:
	  B12C A 0 A_SetScale(ScaleX +0.1, ScaleY +0.025)
	  B12C A 1 Bright A_FadeOut(0.01)
	  Loop
    Toaster:
      TNT1 A 0
      Stop
	}
}

ACTOR BlackGuruTrail : GuruEffectInheritance
{
	Alpha 0.65
	Renderstyle Add
	+CLIENTSIDEONLY
	Scale 0.50
	States
	{
	Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    Fade:
	  TNT1 A 0 A_SetScale(ScaleX -0.01, ScaleY -0.01)
	  B21C A 1 Bright A_FadeOut(0.1)
	  Loop
    Toaster:
      TNT1 A 0
      Stop
	}
}

ACTOR BlackGuruTrailSpark : GuruEffectInheritance
{
	Scale 1.0
	+CLIENTSIDEONLY
	States
	{
	Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
      B11C ABCDEF 1 Bright A_FadeOut(0.1)
	  Stop
    Toaster:
      TNT1 A 0
      Stop
	}
}

ACTOR VexedCardinalBlackGuruSmoke
{
	Scale 3.0
	Alpha 0.88
	PROJECTILE
	Damage 4444
	DamageType "Cyber10K"
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 1 A_Jump(255,"Spawn1","Spawn2","Spawn3","Spawn4","Spawn5","Spawn6")
	Stop
	Spawn1:
	 TNT1 A 0 A_SetScale(ScaleX -0.002, ScaleY -0.002)
	 TNT1 A 0 A_JumpIf(Alpha<0.3,2)
	 1SD1 A 0 A_Explode(10,200)
	 1SD1 A 4 Bright A_FadeOut(0.0065)
	 Loop
	Spawn2:
	 TNT1 A 0 A_SetScale(ScaleX -0.002, ScaleY -0.002)
	 TNT1 A 0 A_JumpIf(Alpha<0.3,2)
	 1SD1 A 0 A_Explode(10,200)
	 1SD2 A 4 Bright A_FadeOut(0.0065)
	 Loop
	Spawn3:
	 TNT1 A 0 A_SetScale(ScaleX -0.002, ScaleY -0.002)
	 TNT1 A 0 A_JumpIf(Alpha<0.3,2)
	 1SD1 A 0 A_Explode(10,200)
	 1SD3 A 4 Bright A_FadeOut(0.0065)
	 Loop
	Spawn4:
	 TNT1 A 0 A_SetScale(ScaleX -0.002, ScaleY -0.002)
	 TNT1 A 0 A_JumpIf(Alpha<0.3,2)
	 1SD1 A 0 A_Explode(10,200)
	 1SD1 A 4 Bright A_FadeOut(0.0065)
	 Loop
	Spawn5:
	 TNT1 A 0 A_SetScale(ScaleX -0.002, ScaleY -0.002)
	 TNT1 A 0 A_JumpIf(Alpha<0.3,2)
	 1SD1 A 0 A_Explode(10,200)
	 1SD2 A 4 Bright A_FadeOut(0.0065)
	 Loop
	Spawn6:
	 TNT1 A 0 A_SetScale(ScaleX -0.002, ScaleY -0.002)
	 TNT1 A 0 A_JumpIf(Alpha<0.3,2)
	 1SD1 A 0 A_Explode(10,200)
	 1SD3 A 4 Bright A_FadeOut(0.0065)
	 Loop
	}
}

Actor NemesisGate
{
Speed 0
Height 0
Radius 0
Mass 0
Damage 0
+THRUACTORS
+NOTELEPORT
+DONTSPLASH
+NOGRAVITY
+NOBLOCKMAP
+MISSILE
+NOBLOCKMAP
-FORCEXYBILLBOARD
+NOINTERACTION
+NOTIMEFREEZE
RENDERSTYLE ADD
Scale 1.0
States
{
Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("Gateway/Hell", CHAN_AUTO, 1.0, True)
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
Death:
  BO1L ABCDEFGHIJKLMNOPABCD 1 Bright A_FadeOut(0.05)
  Stop
}
}

Actor NemesisGate2 : NemesisGate
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
Scale 1.50
}

Actor NemesisGate3 : NemesisGate
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
Scale 2.0
}

Actor NemesisGate4 : NemesisGate
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
Scale 2.5
}

Actor NemesisGate5 : NemesisGate
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
Scale 3.0
}

Actor NemesisGate6 : NemesisGate
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
Scale 3.5
}

Actor NemesisGate7 : NemesisGate
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
Scale 4.0
}

Actor NemesisGate8 : NemesisGate
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
Scale 4.5
}

Actor NemesisGateSpawnTear : NemesisGate
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
Scale 5.0
States {
  Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("brain/spit", CHAN_AUTO, 1.0, True)
  BO1L ABCDEFGHIJKLMNOP 1 Bright A_FadeOut(0.10)
  Stop
  }
}


Actor NemesisGateSpawner : NemesisGate 
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
  States {
  Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("Gateway/Hell", CHAN_AUTO, 1.0, True)
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate2", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate3", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate4", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate5", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate6", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate7", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate8", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLM 1 Bright
  BO1L NOP 2 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCDEFGHIJKLMN 1 Bright
  BO1L OP 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCD 1 Bright
  BO1L EF 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L GHIJKLMN 1 Bright
  BO1L KLMNOP 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L OP 1 Bright
  BO1L ABCDE 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L FGHIJKLMOP 1 Bright
  TNT1 A 0 A_PlaySound("Rage", CHAN_VOICE, 1.0, False, ATTN_NONE)
  TNT1 A 0 A_SpawnItemEx("NemesisImp", random(40,-40), -22, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_SpawnItemEx("NemesisSoul", random(40,-40), 0, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_SpawnItemEx("NemesisImp", random(40,-40), 22, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_AlertMonsters
  TNT1 A 0 A_SpawnItemEx("NemesisGate5", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate6", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate7", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate8", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLM 1 Bright
  BO1L NOP 2 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCDEFGHIJKLMN 1 Bright
  BO1L OP 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCD 1 Bright
  BO1L EF 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L GHIJKLMN 1 Bright
  BO1L KLMNOP 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L OP 1 Bright
  BO1L ABCDE 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L FGHIJKLMOP 1 Bright
  TNT1 A 0 A_PlaySound("Rage", CHAN_VOICE, 1.0, False, ATTN_NONE)
  TNT1 A 0 A_SpawnItemEx("NemesisPhantasm", random(40,-40), -22, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_SpawnItemEx("NemesisZombie", random(40,-40), 0, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_SpawnItemEx("NemesisAssaultCaptain", random(40,-40), 22, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_AlertMonsters
  TNT1 A 0 A_SpawnItemEx("NemesisGate5", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate6", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate7", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate8", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLM 1 Bright
  BO1L NOP 2 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCDEFGHIJKLMN 1 Bright
  BO1L OP 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCD 1 Bright
  BO1L EF 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L GHIJKLMN 1 Bright
  BO1L KLMNOP 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L OP 1 Bright
  BO1L ABCDE 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L FGHIJKLMOP 1 Bright
  TNT1 A 0 A_PlaySound("Rage", CHAN_VOICE, 1.0, False, ATTN_NONE)
  TNT1 A 0 A_SpawnItemEx("NemesisStealthTrooper", random(40,-40), -25, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_SpawnItemEx("NemesisCommando", random(40,-40), 0, 0, -60, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_SpawnItemEx("NemesisHellKnight", random(40,-40), 25, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_AlertMonsters
  TNT1 A 0 A_SpawnItemEx("NemesisGate5", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate6", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate7", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate8", Random(1,-1), Random(1,-1), Random(1,-1), 0, 0, 0, Random(0,359))
  BO1L ABCDEFGHIJKLM 1 Bright
  BO1L NOP 2 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCDEFGHIJKLMN 1 Bright
  BO1L OP 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCD 1 Bright
  BO1L EF 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L GHIJKLMN 1 Bright
  BO1L KLMNOP 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L OP 1 Bright
  BO1L ABCDE 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L FGHIJKLMOP 1 Bright
  TNT1 A 0 A_PlaySound("Rage", CHAN_VOICE, 1.0, False, ATTN_NONE)
  TNT1 A 0 A_SpawnItemEx("NemesisRedeemer", random(40,-40), 25, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_SpawnItemEx("NemesisCyberdemon", random(40,-40), -0, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_SpawnItemEx("NemesisBabySentient", random(40,-40), -25, -60, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
  TNT1 A 0 A_AlertMonsters
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  Goto Death
  }
}

ACTOR NemesisCardinalStormBolt
{
   Speed 1
   Radius 8
   Height 12
   Renderstyle Add
   Damage 50
   SeeSound ""
   PROJECTILE
   -NOGRAVITY
   +BLOODLESSIMPACT
   +RIPPER
   +FORCERADIUSDMG
   +EXTREMEDEATH
   +NOTIMEFREEZE
   Gravity 2.0
   DamageType "Cyber10K"
   States
   {
   Spawn:
      TNT1 A 0
	  TNT1 A 0 A_SetAngle(7 + angle)
      TNT1 A 2 A_SpawnItemEx("NemesisStormBoltFade",0,0,0,frandom(0.25,-0.25),frandom(0.25,-0.25),frandom(0.25,-0.25),128,0)
      Loop
   Death:
      TNT1 A 0 A_PlayWeaponSound("legstorm/explode")
      TNT1 A 0 A_Explode(64,278,0)
      TNT1 A 0 A_SpawnItemEx("BlackGuruStormBoltStruckGlowX",0,0,0,0,0,0,0,128,0)
      TNT1 A 0 A_SpawnItemEx("BlackGuruStormBoltStruckGlowY",0,0,0,0,0,0,0,128,0)
      TNT1 AAAAAAA 2 A_SpawnItemEx("BlackGuruSpray",random(20,-20),random(20,-20),random(30,-5),0,0,0,0,128,0)
      Stop
   }
}

ACTOR NemesisStormBoltFade : LegSentientStormBoltFade
{
   States
   {
   Spawn:
	B92D A 0
	B92D ABCDABCDABCD 1 Bright A_FadeOut(0.05)
	Stop
   }
}

ACTOR BlackGuruStormBoltStruckGlowY : GuruBoltStruckGlowY
{
	-CLIENTSIDEONLY
	+FORCERADIUSDMG	
	+NOTIMEFREEZE
	Alpha 0.5
	XScale 0.35
	YScale 1.5
	DamageType "Cyber10K"
	States
	{
	Spawn:
	TNT1 A 0
	B12C A 0 A_Explode(3,192)
	B12C A 1 Bright A_FadeOut(0.005)
	Loop
	}	
}

ACTOR BlackGuruStormBoltStruckGlowX : GuruBoltStruckGlowY
{
    -CLIENTSIDEONLY
	+FORCERADIUSDMG	
	+NOTIMEFREEZE
	XScale 1.5
	YScale 0.35
	DamageType "Cyber10K"
	States
	{
	Spawn:
	TNT1 A 0
	B12C A 0 A_Explode(3,192)
	B12C A 1 Bright A_FadeOut(0.005)
	Loop
	}	
}

Actor NemesisCardinalStormBoltAttack : CustomInventory
{
  +INVENTORY.QUIET
  +INVENTORY.UNDROPPABLE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.AUTOACTIVATE       
  +COUNTITEM
  +NOTIMEFREEZE
  Inventory.Amount 1
  Inventory.MaxAmount 0
  States
  {
  Pickup:
    NULL A 1 
	NULL AAAA 0 A_SpawnItemEx("NemesisStormBoltSpawner",Random(512,-512),Random(512,-512),0,0,0,0,SXF_NOCHECKPOSITION,64)
	NULL AAAA 1 A_SpawnItemEx("VexedNemesisStormBoltSpawner",Random(512,-512),Random(512,-512),0,0,0,0,SXF_NOCHECKPOSITION,64)
    Stop	
  }
}

ACTOR NemesisStormBoltSpawner : LegCardinalStormBoltSpawner~
{
Height 2
Radius 2
Speed 6
PROJECTILE
+SPAWNCEILING
+CEILINGHUGGER
+NOCLIP
+DONTSPLASH
+NOTIMEFREEZE
States
{
Spawn:
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Wander
    TNT1 A 0 A_CustomMissile("NemesisCardinalStormBolt",-18,random(0,20),random(0,360),2)
	Stop
	}
}

ACTOR VexedNemesisStormBoltSpawner
{
Height 2
Radius 2
Speed 6
PROJECTILE
+SPAWNCEILING
+CEILINGHUGGER
+NOCLIP
+DONTSPLASH
+NOTIMEFREEZE
+THRUACTORS
+NOTELESTOMP
+SERVERSIDEONLY
States
{
Spawn:
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Wander
    TNT1 A 0 A_CustomMissile("VexedNemesisStormBolt",-18,random(0,20),random(0,360),2)
	Stop
}
}

ACTOR VexedNemesisStormBolt
{
   Speed 1
   Radius 8
   Height 12
   Renderstyle Add
   Damage 5
   SeeSound ""
   PROJECTILE
   -NOGRAVITY
   +BLOODLESSIMPACT
   +RIPPER
   +FORCERADIUSDMG
   +EXTREMEDEATH
   +NOTIMEFREEZE
   Gravity 2.0
   DamageType "NemMind"
   States
   {
   Spawn:
      TNT1 A 0
	  TNT1 A 0 A_SetAngle(7 + angle)
      TNT1 A 2 A_SpawnItemEx("VexedNemesisStormBoltFade",0,0,0,frandom(0.25,-0.25),frandom(0.25,-0.25),frandom(0.25,-0.25),128,0)
      Loop
   Death:
      TNT1 A 0 A_PlayWeaponSound("legstorm/explode")
      TNT1 A 0 A_Explode(64,278,0)
      TNT1 A 0 A_SpawnItemEx("VexedBlackGuruStormBoltStruckGlowX",0,0,0,0,0,0,0,128,0)
      TNT1 A 0 A_SpawnItemEx("VexedBlackGuruStormBoltStruckGlowY",0,0,0,0,0,0,0,128,0)
      TNT1 AAAAAAA 2 A_SpawnItemEx("PlayerNemesisGuruSpray",random(20,-20),random(20,-20),random(30,-5),0,0,0,0,128,0)
      Stop
   }
}

ACTOR VexedNemesisStormBoltFade : LegSentientStormBoltFade
{
   States
   {
   Spawn:
	B21S A 0
	B21S ABCDABCDABCD 1 Bright A_FadeOut(0.05)
	Stop
   }
}

ACTOR VexedBlackGuruStormBoltStruckGlowY : GuruBoltStruckGlowY
{
	-CLIENTSIDEONLY
	+FORCERADIUSDMG	
	+NOTIMEFREEZE
	Alpha 0.5
	XScale 0.35
	YScale 1.5
	DamageType "Cyber10K"
	States
	{
	Spawn:
	TNT1 A 0
	B21S A 0 A_Explode(3,192)
	B21S A 1 Bright A_FadeOut(0.005)
	Loop
	}	
}

ACTOR VexedBlackGuruStormBoltStruckGlowX : GuruBoltStruckGlowY
{
    -CLIENTSIDEONLY
	+FORCERADIUSDMG	
	+NOTIMEFREEZE
	XScale 1.5
	YScale 0.35
	DamageType "Cyber10K"
	States
	{
	Spawn:
	TNT1 A 0
	B21S A 0 A_Explode(3,192)
	B21S A 1 Bright A_FadeOut(0.005)
	Loop
	}	
}

Actor VexedNemesisThunderSpawner
{
Height 0
Radius 0
Mass 0
Damage 0
+THRUACTORS
+NOTELEPORT
+NOGRAVITY
+NOBLOCKMAP
+NOBLOCKMAP
+NOINTERACTION
+NOTIMEFREEZE
States
{
Spawn:
TNT1 A 0 
TNT1 AAAAAAAAAAAAAAAAAAAAA 17 A_SpawnItemEx("VexedNemesisCardinalThunder",random(812,-812),random(812,-812))
Stop
}
}

Actor VexedNemesisCardinalThunder 
{
+NOGRAVITY
+ExtremeDeath
+NOCLIP
+FORCERADIUSDMG
+NOTIMEFREEZE
Renderstyle Add
Height 32
Radius 16
Alpha 0.2
Scale 4.0
DamageType "Cyber10k"
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySoundEx("thunder/hit","Voice",0,2)    
	TNT1 A 0 A_Explode(400,684)
	TNT1 A 0 Radius_Quake(175,8,512,1024,0)
	TNT1 AAA 0 A_CustomMissile("SmokeFX3",0,0,random(0,360),2,random(0,360))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("NemCardiThunderSpark",0,0,0,random(1,10),0,random(1,10),random(0,359),129)
	2SDS AAAA 2 Bright A_FadeIn(0.2)
	2SDS AAAA 8 Bright A_FadeOut(0.2)
	Stop
    }     
}