Actor NemesisRuneLineSpawner : BluePowerLineSpawner
{
 +NOTIMEFREEZE
 States
 {
  Spawn:
	TNT1 A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
	TNT1 AAAAAAAAAAA 1 A_SpawnItemEx("NBlackPowerLine",random(-15,15),random(-15,15),random(28,44),0,0,random(1,4)) 
	Stop  
 }
}

ACTOR NemPlayerSmoke : LPlayerSmoke
{
 +NOTIMEFREEZE
 +NOINTERACTION
 +CLIENTSIDEONLY
 Renderstyle Subtract
 Alpha 0.5
 Scale 0.7
 var int user_delay;
 States 
 {
  Spawn:
	TNT1 A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Null")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SetScale(-1.0,1.0)
	TNT1 A 0 A_SetUserVar(user_delay,random(2,3))
	NRMF ABCDEFG 1 Bright A_SetTics(user_delay)
	Stop
 }	
}

ACTOR NemPlayerSmokeSpawner : LegendaryRedParticleSpawner //Uh oh stinky
{
 Scale 0.01
 States 
 {
  Spawn:
	TNT1 A 0
        TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Toaster")
	LMKE A 0 A_JumpIfInventory("NemesisRuneToken",1,"Smoking",AAPTR_TARGET)
	Stop
  Smoking:
	FIG1 AA 0 Bright A_SpawnItemEx("NemPlayerSmoke",random(12,-12),random(12,-12),random(-16,16),0,0,random(1,3),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	FIG1 A 1
	Stop
  Toaster:
	TNT1 A 0
	Stop
 }
}


actor "IsNexusPlayer": Inventory
{
 +INVENTORY.UNDROPPABLE
 +INVENTORY.HUBPOWER
 +INVENTORY.PERSISTENTPOWER
}

ACTOR ComplexNexusPlayer : CFDoomPlayer
{
 DamageFactor "Player", 0.0
 DamageFactor "Players", 0.0
 DamageFactor "PlayerNemesisPlasma", 0.0
 DamageFactor "PlayerDevBall", 0.0
 DamageFactor "PlayerDevBall2", 0.0
 DamageFactor "PlayerDevTracer", 0.0
 DamageFactor "PlayerExplosive", 0.0
 DamageFactor "PlayerDTRG", 0.0
 DamageFactor "PDTBFG", 0.35
 DamageFactor "PDTBFGTracer", 0.35
 DamageFactor "LegendaryPlayer", 0.0
 DamageFactor "LegendaryGuruPlayer", 0.0
 DamageFactor "PlayerPyro", 0.0
 damageFactor "PlayerFireSword", 0.0
 DamageFactor "PlayerBHole", 0.0
 DamageFactor "PDTPuff", 0.0
 DamageFactor "Player2hu", 0.0
 DamageFactor "TrueLegendaryPlayer", 0.0
 //Ark
 DamageFactor "PlayerTear", 0.0
 DamageFactor "PlayerDBFG2", 0.0
 //TXS
 DamageFactor "VulcanPlasmaPuff", 0.0
 DamageFactor "VulcanLazer", 0.0
 DamageFactor "VulcanLazerEffect", 0.0
 //DamageFactor "Fire", 0.0
 DamageFactor "PlayerBrimstone", 0.0
 DamageFactor "ChaosC", 0.0
 -NOSKIN
 +NOBLOOD //A known way to fix the nemesis charging on players, somewhat
 Player.SoundClass "Marine"
 Player.ColorRange 112, 127
 Player.DisplayName "Doom Guy"
 Player.CrouchSprite "PLYC"
 Player.StartItem "Handgun"
 Player.StartItem "PlasmaHandgun"
 Player.StartItem "DemonTechPistol"
 Player.StartItem "PistolMagazine" 16
 Player.StartItem "BulletMag" 60
 Player.StartItem "Melee"
 Player.StartItem "Hand Grenade"
 Player.StartItem "HandGrenadeAmmo" 4
 Player.StartItem "Land Mine"
 Player.StartItem "MineAmmo" 4
 Player.StartItem "NewShell" 8
 Player.StartItem "SpringMine" 4
 Player.StartItem "PlasmaHGCell" 100
 Player.StartItem "ShotgunMagazine" 9
 Player.StartItem "SSGShell" 2
 Player.StartItem "QuadShell" 4
 Player.StartItem "HexaShell" 6
 Player.StartItem "RocketDrum" 7
 Player.StartItem "GrenadeDrum" 7
 Player.StartItem "ARMagazine" 41
 Player.StartItem "BulletMag" 60
 Player.StartItem "CellCharge" 50
 Player.StartItem "DemonMagazine" 60
 Player.StartItem "MP40Mag" 33
 Player.StartItem "ExplosiveShotgunMagazine" 9
 Player.StartItem "ExpSSGShell" 2
 Player.StartItem "NemesisPellets" 2
 Player.StartItem "LegendaryCoachShells" 2
 Player.StartItem "ELegendaryCoachShells" 2
 Player.StartItem "EnragedLegendaryShotgunDrum" 16
 Player.StartItem "EXPCellCharge" 60
 Player.StartItem "SpringMine" 4
 Player.StartItem "PlasmaHGCell" 100
 Player.StartItem "DTPistolMagazine" 16
 Player.StartItem "M79G" 1
 Player.StartItem "LEGRailgunAmmo" 50
 Player.StartItem "LEGENDARYRevolverSpinner" 6
 Player.StartItem "NewCell" 90
 Player.StartItem "OccultLasersToken2" 1
 Player.StartItem "IsCFPlayer" 1
 Player.StartItem "IsNexusPlayer" 1
 Player.StartItem "Using Power" 1
 Player.StartItem "Managing Inventory" 1
 Player.StartItem "CFMedikitPack"
 Player.StartItem "CFArmorPack"
 States
 {
  Spawn:
	PLAY A 5 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	Loop
  See:
	PLAY A 5 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY B 5 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY C 5 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY D 5  
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	Goto Spawn
  Missile: 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY E 1
	TNT1 A 0 A_JumpIfInventory("kickAnim",1,"Kick")
	PLAY E 5 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY E 5 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY E 1
	Goto Spawn
  Melee:
	PLAY F 1 Bright
	TNT1 A 0 A_JumpIfInventory("kickAnim",1,"Kick") 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY F 5 Bright
	Goto Missile
  Kick:
	TNT1 A 0 A_TakeInventory("kickAnim",1)
	TNT1 A 0 A_JumpIfInventory("PowerStrength",1,"KickBerserked")
	PLAY X 6 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY Y 6 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY Z 6 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY Y 6 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY X 6
	Goto Spawn
  KickBerserked:
	PLAY XY 3
	TNT1 A 0 A_SpawnItem("LPlayerSmokeSpawner",0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItem("VPlayerSmokeSpawner",0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItem("AGPlayerSmokeSpawner",0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY ZY 3 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY X 6
	Goto Spawn
  Pain:
	PLAY G 4 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	PLAY G 4 A_Pain
	TNT1 A 0 ACS_NamedLockedExecute("VoidRuneInvisibility",0,SXF_CLIENTSIDE) 
	TNT1 A 0 A_SpawnItemEx("LPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("VPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("AGPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("NemPlayerSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,220)
	Goto Spawn
  Incorp:
	TNT1 A 0 A_ChangeFlag("SOLID",FALSE)
	Goto Spawn
  Corp:		
	TNT1 A 0 A_ChangeFlag("SOLID",TRUE)
	Goto Spawn
 }
}