Actor PatriarchTerminator : RMTerminator
{
  Species "NemesisPatriarch"
  +THRUSPECIES
  Tag "\crTerminator\c-"
  States
  {
   See:
    TNT1 A 0 A_JumpIf(user_tier == 1, "SeeTier")
    TNT1 A 0 A_UnSetInvulnerable
    TNT1 A 0 A_JumpIf(user_music == 1,2)
    TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,604)
    TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_JumpIf(user_tier == 1,7)
	TNT1 A 0 A_JumpIfInTargetInventory("BlackHole Generator",1,"Tier3")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"Tier3")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"Tier3")
    TNT1 A 0 A_JumpIfInTargetInventory("LegendaryRuneToken",1,"Tier2")
    TNT1 A 0 A_JumpIfInTargetInventory("VitalityRuneToken",1,"Tier2")
    TNT1 A 0 A_JumpIfInTargetInventory("AgilityRuneToken",1,"Tier2")
	TNT1 A 0 A_JumpIfInTargetInventory("Pyrocannon",1,"Tier2")
    TNT1 A 0 A_Jump(100,"Rush")
    TERM A 0 A_PlaySound("Terminator/terstepA")
    TERM AABB 3 A_Chase
    TERM C 0 A_PlaySound("Terminator/terstepA")
    TERM CCDD 3 A_Chase
    TNT1 A 0 A_Jump(40,"Teleport")
    Loop
  Death:
	TNT1 A 0
	TERM M 10 A_Scream
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	TERM NNNOOO 5 Bright A_CustomMissile("Kaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	TNT1 A 0 A_SpawnItemEx("EFGFusionNukeFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_CustomMissile("TerminatorEFGFusionNukeExplode",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	TERM PPPQQQ 2 Bright A_CustomMissile("Kaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	TERM SSSTTT 2 Bright A_CustomMissile("Kaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	TERM UUUVVV 2 Bright A_CustomMissile("Kaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TERM W 4
	TNT1 A 0 A_SpawnItemEx("BfgUpgrade",0,0,64,random(1,8),0,2,random(0,360),0,192)
	TNT1 A 0 A_SpawnItemEx("Explosive Minigun",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech Devastator",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("BFG10K ",0,0,64,random(0,8),0,2,random(1,360),0,0)
	TNT1 A 0 A_SpawnItemEx("PyroCannon",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("HellfireUltrasphere",0,0,64,random(1,8),0,2,random(0,360),0,64)
	TERM "X" 6 A_Fall
	TERM "Y" 6
	TERM "Z" 1 A_Playsound("Terminator/terstepA",CHAN_BODY)
	TERM "Z" 5 A_Bossdeath
	TNT1 A 0 A_KillMaster
	TERM "[" 63000 CanRaise
	Stop
	}
}

Actor PatriarchDementedTerminator : DementedTerminator
{
  Species "NemesisPatriarch"
  +THRUSPECIES
  Tag "\c[o7]Demented\c- \crTerminator\c-"
  States
  {
See:
    TNT1 A 0 A_JumpIf(user_tier == 1, "SeeTier")
  	TNT1 A 0 A_JumpIf(user_script == 1,2)
    TNT1 A 0 ACS_NamedExecuteAlways("RMFireSpawner",0,4)
	TNT1 A 0 A_SetUserVar("user_script",1)
	TNT1 A 0 A_JumpIf(user_tier == 1,7)
	TNT1 A 0 A_JumpIfInTargetInventory("BlackHole Generator",1,"Tier3")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"Tier3")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"Tier3")
    TNT1 A 0 A_JumpIfInTargetInventory("LegendaryRuneToken",1,"Tier2")
    TNT1 A 0 A_JumpIfInTargetInventory("VitalityRuneToken",1,"Tier2")
    TNT1 A 0 A_JumpIfInTargetInventory("AgilityRuneToken",1,"Tier2")
	TNT1 A 0 A_JumpIfInTargetInventory("Pyrocannon",1,"Tier2")
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,602)
	TNT1 A 0 A_Changeflag(countkill,1)
	TNT1 A 0 A_SetUserVar("user_music",1)
	DTRM A 2 A_Chase
	TNT1 A 0 A_Jump(48,"Rush")
	DTRM B 2 A_Chase
	TNT1 A 0 A_Jump(48,"Teleport")
	Loop
  Death:
	DTRM M 10 A_Scream
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	DTRM NNNOOO 5 Bright A_CustomMissile("Kaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	TNT1 A 0 A_SpawnItemEx("EFGFusionNukeFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_CustomMissile("TerminatorEFGFusionNukeExplode",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	DTRM PPPQQQ 2 Bright A_CustomMissile("Kaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	DTRM SSSTTT 2 Bright A_CustomMissile("Kaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	DTRM UUUVVV 2 Bright A_CustomMissile("Kaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	DTRM W 4
	TNT1 A 0 A_SpawnItemEx("BfgUpgrade",0,0,64,random(1,8),0,2,random(0,360),0,192)
	TNT1 A 0 A_SpawnItemEx("Explosive Minigun",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech Devastator",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("BFG10K ",0,0,64,random(0,8),0,2,random(1,360),0,0)
	TNT1 A 0 A_SpawnItemEx("PyroCannon",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("HellfireUltrasphere",0,0,64,random(1,8),0,2,random(0,360),0,64)
	DTRM "X" 6 A_Fall
	DTRM "Y" 2 A_Bossdeath
	TNT1 A 0 A_KillMaster
	DTRM "Z" 63000 CanRaise
	Stop
	}
}

Actor PatriarchLegendaryTerminator : LegendaryTerminator
{
  Species "NemesisPatriarch"
  +THRUSPECIES
  States
  {
  Death:
	TNT1 A 0
	LTER M 10 A_Scream
	TNT1 AA 0 A_SpawnItemEx("LegBlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigBlueBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	LTER NNNOOO 5 Bright A_CustomMissile("PainfulDeathKaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TNT1 AA 0 A_SpawnItemEx("LegBlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigBlueBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	TNT1 A 0 A_SpawnItemEx("EFGFusionNukeFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_CustomMissile("TerminatorEFGFusionNukeExplode",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	TNT1 A 0 A_SpawnItemEx("TrueDeathBall")
	LTER PPPQQQ 2 Bright A_CustomMissile("PainfulDeathKaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TNT1 AA 0 A_SpawnItemEx("LegBlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigBlueBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	LTER SSSTTT 2 Bright A_CustomMissile("PainfulDeathKaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	TNT1 AA 0 A_SpawnItemEx("LegBlueGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigBlueBloodCloud",random(10,80),0,random(0,360),2,random(0,360))
	LTER UUUVVV 2 Bright A_CustomMissile("PainfulDeathKaboom",random(10,60),random(30,-30),random(0,360),2,random(0,360))
	LTER W 4 A_ChangeFlag("BRIGHT",0)
	TNT1 A 0 A_SpawnItemEx("BfgUpgrade",0,0,64,random(1,8),0,2,random(0,360),0,192)
	TNT1 A 0 A_SpawnItemEx("Legendary Assault Shotgun",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCoachgun",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Legendary Light Machine Gun",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Legendary Plasmatic Rifle",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Legendary BFG 10K",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Legendary AK-47",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Legendary Plasmatic Cannon",0,0,64,random(0,8),0,2,random(1,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Legendary BFG",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("TrueLegendaryUltraSphere",0,0,64,random(1,8),0,2,random(0,360),0,64)
	LTER "X" 6 A_Fall
	LTER "Y" 6
	LTER "Z" 1 A_Playsound("Terminator/terstepA",CHAN_BODY)
	LTER "Z" 5 A_Bossdeath
	TNT1 A 0 A_KillMaster
	LTER "[" 63000 CanRaise
	Stop
	}
}

Actor TerminatorTeamSpawner
{
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TerminatorTeamSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0,tid)
	TNT1 A 0 A_SpawnItemEx("TerminatorTeamSpawner3",0,-250,0,0,0,0,0,SXF_NOCHECKPOSITION,0,tid)
	TNT1 A 0 A_SpawnItemEx("TerminatorTeamSpawner4",0,250,0,0,0,0,0,SXF_NOCHECKPOSITION,0,tid)
	Stop
  }
}
Actor TerminatorTeamSpawner2
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A random(0,10)
	TNT1 A 0 A_SpawnItemEx("TeleportFog")
	TNT1 A 0 A_SpawnItemEx("PatriarchTerminator",0,0,0,0,0,0,random(0,360),SXF_NOCHECKPOSITION,0,tid)
	Stop
	}
}
Actor TerminatorTeamSpawner3
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A random(0,10)
	TNT1 A 0 A_SpawnItemEx("TeleportFog")
	TNT1 A 0 A_SpawnItemEx("PatriarchDementedTerminator",0,0,0,0,0,0,random(0,360),SXF_NOCHECKPOSITION,0,tid)
	Stop
	}
}
Actor TerminatorTeamSpawner4
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A random(0,10)
	TNT1 A 0 A_SpawnItemEx("TeleportFog")
	TNT1 A 0 A_SpawnItemEx("PatriarchLegendaryTerminator",0,0,0,0,0,0,random(0,360),SXF_NOCHECKPOSITION,0,tid)
	Stop
	}
}