ACTOR PhaseFoldingFan
{
//Creator: High Councilor
//Origin: Nexus Infinity
//Sprite: FFAN
//Title: "Phase Folding Fan"
  Monster
  Health 7000
  Height 70
  Radius 40
  Speed 10
  FastSpeed 10
  Mass 10000
  Scale 1.5
  Species "Masterminds"
  PainChance 10
  Alpha 0.8
  DamageFactor 0.45
  DamageFactor "Ice", 0.0
  DamageFactor "PlayerNemesisPlasma", 0.5
  DamageFactor "SatanGuard", 0.0
  DamageFactor "AbyssalSatyr", 0.0
  Damagefactor "Moloch", 0.0
  Damagefactor "Exos", 0.0
  Damagefactor "T3rm", 0.0
  Damagefactor "UltimateLegendary", 0.0
  Damagefactor "DarkBruiserBFG10K", 0.0
  Damagefactor "DarkBruiserRailgunSlug", 0.0
  DamageFactor "Commander", 0.0
  DamageFactor "Baby15K", 0.0
  DamageFactor "LegMind", 0.0
  DamageFactor "UBDTR", 0.0
  DamageFactor "CacoComet", 0.0
  DamageFactor "CadaverRocket", 0.0
  DamageFactor "HellComet", 0.0
  DamageFactor "Hell", 0.0
  DamageFactor "HFCyber", 0.0
  DamageFactor "PyroShot", 0.25
  DamageFactor "PlayerPyro", 0.25
  DamageFactor "PlayerBHole", 0.25
  DamageFactor "Player", 0.05
  DamageFactor "DBFG10K2", 0.0
  DamageFactor "PlayerDBFG10K2", 0.05
  DamageFactor "DBFG2", 0.0
  DamageFactor "PlayerDBFG2", 0.10
  DamageFactor "FreezerBurn", 0.0
  DamageFactor "Ice", 0.0
  DamageFactor "Legendary", 0.25
  DamageFactor "SuperWeapon", 0.25
  DamageFactor "LegendaryPlayer", 0.25
  DamageFactor "LegendaryGuru", 0.25
  DamageFactor "LegendaryGuruPlayer", 0.25
  DamageFactor "PlayerDevBall", 0.25
  DamageFactor "PlayerDevTracer", 0.15
  DamageFactor "PowerDoubleDamage", 0.35
  DamageFactor "BFG10K", 0.65
  DamageFactor "BFG9500Ball", 0.1
  DamageFactor "CustomSpray", 0.1
  DamageFactor "BFGSplash", 0.1
  DamageFactor "BFGSpray", 0.1
  DamageFactor "Explosion", 0.1
  DamageFactor "PDTBFG", 0.1
  DamageFactor "PDTBFGTracer", 0.1
  DamageFactor "PlayerDTBFGRailgunSlug", 0.1
  DamageFactor "PDTPuff", 0.1
  DamageFactor "Cyber10K", 0.0
  DamageFactor "CerChainguns", 0.0	
  DamageFactor "CerEnergyBall", 0.0
  DamageFactor "DemolisherEx", 0.0
  DamageFactor "DarkDemoEx", 0.0
  DamageFactor "Legendary1", 0.0 
  DamageFactor "VileFires", 0.0
  DamageFactor "NobleComet", 0.0
  DamageFactor "ZombieDev", 0.0
  DamageFactor "BeheComet", 0.0
  +BOSS
  +NOFEAR
  +BOSSDEATH
  +NOICEDEATH
  +NOTIMEFREEZE
  +DONTBLAST
  +NOTELEFRAG
  +NOINFIGHTING
  +NOBLOOD
  -FULLVOLACTIVE
  +NEVERRESPAWN
  +MISSILEMORE
  +MISSILEEVENMORE
  +QUICKTORETALIATE
  +NORADIUSDMG
  +NODAMAGETHRUST
  +DONTMORPH
  +NOTARGET
  +TELESTOMP
  +DONTHARMSPECIES
  +FLOAT
  +NOGRAVITY
  seesound "StormCauser/See"
  painsound "StormCauser/See"
  deathsound "StormCauser/Death"
  activesound ""
  DropItem "BossLifeEssence", 256, 150
  DropItem "HEMBossArmorBonusMax25", 256
  DropItem "HEMArmorBonusMax5", 256
  DropItem "HEMArmorBonusMax5", 256
  DropItem "HEMArmorBonusMax5", 256
  DropItem "HEMArmorBonusMax5", 256
  DropItem "DemonAmmoBox", 196, 200
  DropItem "DemonicChalice", 90, 1
  DropItem "ArmorSphere", 96
  DropItem "PainLordSoul" 200
  DropItem "BFG10K " 200
  Obituary "%o was Destroyed by the \ctPhase Folding Fan\c-."
  Tag "\ctPhase Folding Fan\c-"
  var int user_music;
  var int user_missile;
  var int user_phased;
  States
  {
  Spawn:
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
	FFAN A 2 A_Look
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
	FFAN A 2 A_Look
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
	FFAN A 2 A_Look
	Loop
  Idle:
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
	FFAN A 2 A_Wander
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	//TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,978,918) //Crimson Inquisitor
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,978)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
	FFAN AA 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
	FFAN AA 2 A_Chase
	TNT1 A 0 A_Jump(8,"Phase")
	TNT1 A 0 A_Jump(32,"Teleport","Evade")
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
	FFAN AA 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
	FFAN AA 2 A_Chase
	TNT1 A 0 A_Jump(8,"Phase")
	TNT1 A 0 A_Jump(32,"Teleport","Evade")
	Loop
  Phased:
    FFAN AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_ExtChase(0,0)
    FFAN AAAAAAAAAAAAAAAA 1 A_Chase
	TNT1 A 0 A_Jump(24,"UnPhase")
    Goto Phased+32
  Phase:
	TNT1 A 0 A_JumpIf(user_phased == 1,"UnPhase")
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_SetUserVar("user_phased",1)
	FFAN A 2 A_FaceTarget
	FFAN A 1 A_SetTranslucent(0.75)
	FFAN A 1 A_SetTranslucent(0.55)
	FFAN A 1 A_SetTranslucent(0.35)
	FFAN A 1 A_SetTranslucent(0.15)
	Goto Phased
  UnPhase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_SetUserVar("user_phased",0)	
	FFAN A 1 A_SetTranslucent(0.15)
	FFAN A 1 A_SetTranslucent(0.35)
	FFAN A 1 A_SetTranslucent(0.55)
	FFAN A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SetTranslucent(0.8)
	FFAN A 2 A_FaceTarget		
    Goto See
  Evade:
	TNT1 A 0 A_Jump(128,3)
	TNT1 A 0 ThrustThing(Angle*256/360+64,30,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 ThrustThing(Angle*256/360+192,30,0,0)
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner",0,0,50)
	FFAN AA 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner",0,0,50)
	FFAN AA 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner",0,0,50)
	FFAN AA 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner",0,0,50)
	FFAN AA 2 A_Chase
	TNT1 A 0 A_Stop
	Goto See
  Teleport:
	FFAN A 1 A_UnSetShootable
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx("PhaseCyberFlameSpawner")
	FFAN AAAAAAAAAA 1 A_FadeOut(0.1,0)
	FFAN A 2
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	FFAN A 1 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx("PhaseCyberFlameSpawner")
	FFAN AAAAAAAAAA 1 A_FadeIn(0.1)
	FFAN A 1 A_SetShootable
	Goto See
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(0.8)
	TNT1 A 0 A_Jump(120,"SeekerLasers","LaserBombs","FastBullets","DarkMatterBarrage")
	TNT1 A 0 A_Jump(90,"BFG10kSpread","DTBFG","Thunder","Charge")
  Normal:
 	TNT1 A 0 A_FaceTarget
    FFAN A 3 A_SpawnItemEx("PhaseFoldingFanASpawner")
	TNT1 A 0 A_FaceTarget
	FFAN B 3 A_SpawnItemEx("PhaseFoldingFanBSpawner")
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanBSpawner")
	TNT1 A 0 A_CustomMissile("PurpleCardball",45,0,0)
    FFAN B 1 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanBSpawner")
	TNT1 A 0 A_CustomMissile("PurpleCardball",45,0,3)
	TNT1 A 0 A_CustomMissile("PurpleCardball",45,0,-3)
    FFAN B 1 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanBSpawner")
	TNT1 A 0 A_CustomMissile("PurpleCardball",45,0,6)
	TNT1 A 0 A_CustomMissile("PurpleCardball",45,0,-6)
    FFAN B 1 Bright A_FaceTarget
    FFAN A 3 A_SpawnItemEx("PhaseFoldingFanASpawner")
	TNT1 A 0 A_Jump(50,"Normal")
	TNT1 A 0 A_Jump(80,"LaserBombs","SeekerLasers")
    Goto See
  FastBullets: //plus a Seeker laser just to annoying hehe
	TNT1 A 0 A_SetUserVar("user_missile",0)
  FastBulletsLoop:
	TNT1 A 0 A_JumpIf(user_missile >= Random(1,3),"FastBulletsEnd")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,5,10)
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,-5,-10)
    FFAN B 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,5,14)
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,-5,-14)
    FFAN B 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,5,18)
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,-5,-18)
    FFAN B 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,5,22)
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,-5,-22)
    FFAN B 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,5,26)
	TNT1 A 0 A_CustomMissile("FoldingFanFastball",55,-5,-26)
    FFAN B 1 Bright A_FaceTarget
    FFAN AA 3 A_FaceTarget
	FFAN B 3 A_SpawnItemEx("PhaseFoldingFanBSpawner")
	TNT1 A 0 A_CustomMissile("FoldingFanSeekerLaser",55,0,0)
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanBSpawner")
    FFAN B 4 Bright A_FaceTarget
    Loop
  FastBulletsEnd:
	TNT1 A 0 A_Jump(70,"SeekerLasers")
	TNT1 A 0 A_Jump(40,"LaserBombs","Teleport")
    Goto See
  SeekerLasers:
 	TNT1 A 0 A_FaceTarget
    FFAN A 3 A_SpawnItemEx("PhaseFoldingFanASpawner")
	TNT1 A 0 A_FaceTarget
	FFAN B 3 A_SpawnItemEx("PhaseFoldingFanBSpawner")
	TNT1 A 0 A_CustomMissile("FoldingFanSeekerLaser",55,0,0)
	TNT1 A 0 A_CustomMissile("FoldingFanSeekerLaser",55,0,45)
	TNT1 A 0 A_CustomMissile("FoldingFanSeekerLaser",55,0,-45)
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanBSpawner")
    FFAN B 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
    FFAN A 4 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("FoldingFanSeekerLaser",55,0,0)
	TNT1 A 0 A_CustomMissile("FoldingFanSeekerLaser",55,0,45)
	TNT1 A 0 A_CustomMissile("FoldingFanSeekerLaser",55,0,-45)
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanBSpawner")
    FFAN B 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
    FFAN A 4 Bright A_FaceTarget
	//TNT1 A 0 A_Jump(40,"LaserBombs")
    Goto See
  LaserBombs:
    FFAN AAA 2 Bright A_SpawnItemEx("PhaseFoldingFanASpawner")
	TNT1 AAAAAA 0 A_SpawnItemEx("FoldingFanBombSpawner",random(60,100),0,random(30,60),0,0,0,random(0,360),SXF_TRANSFERPOINTERS,64)
	FFAN AAA 2 Bright A_SpawnItemEx("PhaseFoldingFanASpawner")
	Goto See
  DarkMatterBarrage:
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_JumpIf(user_missile >= Random(2,5),"See")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
    FFAN AA 5 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("FoldingFanDarkMatterballmini",55,0,10)
	TNT1 A 0 A_CustomMissile("FoldingFanDarkMatterballmini",55,0,-10)
	TNT1 A 0 A_CustomMissile("FoldingFanDarkMatterballmini",55,0,15)
	TNT1 A 0 A_CustomMissile("FoldingFanDarkMatterballmini",55,0,-15)
	TNT1 A 0 A_CustomMissile("FoldingFanDarkMatterballmini",55,0,20)
	TNT1 A 0 A_CustomMissile("FoldingFanDarkMatterballmini",55,0,-20)
	TNT1 A 0 A_CustomMissile("FoldingFanDarkMatterballmini",55,0,25)
	TNT1 A 0 A_CustomMissile("FoldingFanDarkMatterballmini",55,0,-25)
    FFAN BB 5 Bright A_FaceTarget
    Goto DarkMatterBarrage+1

  BFG10KSpread:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
    FFAN AAAAA 5 Bright A_FaceTarget
	TNT1 A 0 A_ChangeFlag(BRIGHT,1) //i'm too lazy to put a Bright on these frames
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,0)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,2)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-2)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,4)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-4)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,6)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-6)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,8)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-8)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,10)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-10)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,12)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-12)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,14)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-14)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,16)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-16)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,18)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-18)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	FFAN A 0 A_CustomMissile("FoldingFan10K",55,0,20)
	FFAN B 1 A_CustomMissile("FoldingFan10K",55,0,-20)

	TNT1 A 0 A_ChangeFlag(BRIGHT,0)

    FFAN BB 2 Bright

	TNT1 A 0 A_PlaySound("weapons/bfg15kcooldown",CHAN_AUTO)	
    FFAN AAAA 5 Bright A_FaceTarget
	Goto See
  DTBFG:
	TNT1 A 0 A_PlaySound("Cardinal/9k")
	FFAN AAAAAAAAAA 2 Bright A_FaceTarget
	FFAN BBBB 2 Bright A_FaceTarget
	FFAN B 2 Bright A_CustomMissile("CommanderPurpleDTBFG10KBall",45,0,0)
	FFAN BB 2 Bright
	TNT1 A 0 A_Jump(40,"DarkMatterBarrage")
    Goto See
  Thunder:
    FFAN AA 5 Bright A_FaceTarget
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_PlaySound("StormCauser/See")
	TNT1 A 0 Radius_Quake(10,80,0,24,0)
    FFAN BBAA 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN C 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN C 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN D 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN D 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN E 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN E 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN E 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN E 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
	TNT1 A 0 A_PlaySound("DMBall/Impact",0,1.0,0,ATTN_NONE)
    TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("FoldingFanPlasmaBlast",55,0,random(0,359))
	TNT1 AAA 0 A_CustomMissile("PurpleRepeaterPlasma3",55,0,frandom(0,-20),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 AAA 0 A_CustomMissile("PurpleRepeaterPlasma3",55,0,frandom(0,20),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 AA 0 A_CustomMissile("PurpleRepeaterPlasma3",55,0,frandom(-20,-40),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 AA 0 A_CustomMissile("PurpleRepeaterPlasma3",55,0,frandom(20,40),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 AA 0 A_CustomMissile("PurpleRepeaterPlasma3",55,0,frandom(-40,-60),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 AA 0 A_CustomMissile("PurpleRepeaterPlasma3",55,0,frandom(40,60),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 AA 0 A_CustomMissile("PurpleRepeaterPlasma3",55,0,frandom(-60,-80),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 AA 0 A_CustomMissile("PurpleRepeaterPlasma3",55,0,frandom(60,80),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN E 4 Bright 
	TNT1 A 0 A_SpawnItem("CommanderBrainSFX",0,0,0,0)
    FFAN E 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_UnSetInvulnerable
    FFAN EEEEDDCCBBAA 3 Bright
    Goto See
  Charge:
	TNT1 A 0 A_PlaySound("StormCauser/See")
    FFAN BBAA 4 Bright A_FaceTarget
    TNT1 A 0 A_FaceTarget
    FFAN C 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
    TNT1 A 0 A_FaceTarget
    FFAN C 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
    TNT1 A 0 A_FaceTarget
    FFAN D 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
    TNT1 A 0 A_FaceTarget
    FFAN D 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
    TNT1 A 0 A_FaceTarget
    FFAN E 4 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
    TNT1 A 0 A_FaceTarget
    TNT1 A 0 Thing_Stop(0)
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 ThrustThing(angle*256/360,30,0,0)
  Charging:
    TNT1 A 0 A_JumpIf(user_missile >= 20,"StopCharging")	 
    TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
    TNT1 A 0 A_CustomMissile("FoldingFanPlasmaBlast",55,0,-135)
    TNT1 A 0 A_CustomMissile("FoldingFanPlasmaBlast",55,0,135)
    TNT1 A 0 A_CustomMissile("FoldingFanPlasmaBlast",55,0,-45)
    TNT1 A 0 A_CustomMissile("FoldingFanPlasmaBlast",55,0,45)
    TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanASpawner")
    FFAN E 2 Bright A_SpawnItemEx("PhaseCyberFlameSpawner")
    Loop
  StopCharging:
    FFAN EEDDCCAA 3 Bright A_FaceTarget(45)
    FFAN A 0 Thing_Stop(0)
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
    Goto See
  Pain:
	TNT1 A 0 A_Recoil(15)
	TNT1 AAAA 0 A_CustomMissile("CCKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	FFAN BB 2 Bright A_CustomMissile("CCKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("PurpleSmokeFX1",random(20,40),0,random(0,360),2,random(0,360))
	FFAN B 10 Bright A_Pain
	TNT1 A 0 A_Jump(64,"Teleport")
	TNT1 A 0 A_Jump(128,"Missile")
    Goto See
  Death:
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN AAAAA 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN AAAAA 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN AAAAA 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN AAAAA 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN AAAAA 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN AAAAA 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN BBBBB 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN BBBBB 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN BBBBB 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN BBBBB 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN BBBBB 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 LLL 0 A_SpawnItemEx("PurpleCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	FFAN BBBBB 2 Bright A_CustomMissile("CommKaboom",random(45,90),random(15,-15),random(0,360),2,random(0,360))
	TNT1 A 0 A_Scream
	TNT1 A 0 A_NoBlocking
	TNT1 AAAAAAAAAA 0 A_SpawnItemEx("DustMana",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 AAA 0 A_SpawnItemEx("BigDustMana",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_PlaySound("DMBall/Impact",0,1.0,0,ATTN_NONE)
    TNT1 A 0 A_SpawnItemEx("BlackDeathSequence",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A -1 A_KillMaster
    Stop
	}
}

actor FoldingFanFastball : phaseimpball
{
  damage 5
  Scale 1
  speed 35
  FastSpeed 20
  +FORCERADIUSDMG
  states
  {
  spawn:
    TNT1 A 0 A_Explode(2,32)
	PFRT A 1 bright A_SpawnItemEx("phaseballtrail2")
    TNT1 A 0 A_Explode(2,32)
	PFRT A 1 bright A_SpawnItemEx("phaseballtrail2")
    TNT1 A 0 A_Explode(2,32)
	PFRT B 1 bright A_SpawnItemEx("phaseballtrail2")
    TNT1 A 0 A_Explode(2,32)
	PFRT B 1 bright A_SpawnItemEx("phaseballtrail2")
	loop
  death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner",0,0,0,0,0,0,0,128) 
	TNT1 AAA 0 A_CustomMissile("Kaboom8",0,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))
	TNT1 A 0 A_RadiusGive("phasemindfuck",96,RGF_PLAYERS)
    PFRT CDEFG 2 Bright
    Stop
	}
}

ACTOR FoldingFan10K : Red10KProjectile
{
Obituary "%o was turned to mush by heavy weapons from the Cerebral Commander."
+NOTIMEFREEZE
+THRUSPECIES
States
{
  Spawn:
    TPA3 A 1 Bright 
	Loop
  Death:
  XDeath:
   TNT1 A 0
   TNT1 A 1 A_SpawnItem("CommanderPurple10KEx")
   Stop  
   }
}

Actor FoldingFanBombSpawner
{
  +NOTIMEFREEZE
  +ISMONSTER
  -COUNTKILL
  States
  {
   Spawn:
	TNT1 A 0
	TNT1 A random(0,10)
    TNT1 A 0 A_SpawnItemEx("TeleportFog")
    TNT1 A 1 A_SpawnItemEx("FoldingFanLaserBomb",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
	Stop	
	}
}

ACTOR FoldingFanLaserBomb
{
  Health 10
  Radius 8 
  Height 12 
  Scale 2.0
  Mass 3000 
  Speed 1
  MONSTER
  +LOOKALLAROUND
  +AMBUSH
  +DONTGIB
  +NOTARGET
  +NOINFIGHTING
  +NOGRAVITY 
  +FLOAT
  +DONTFALL
  +NOPAIN
  +DONTHARMSPECIES
  +NOBLOCKMONST
  +NOTIMEFREEZE
  +FORCERADIUSDMG
  +THRUSPECIES
  +NOBLOOD
  +FLOATBOB
  -COUNTKILL
  -SOLID
  Species "Masterminds"
  DamageType "DarkDemoEx"
  DamageFactor "DBFG2", 0.0
  DamageFactor "DarkDemoEx", 0.0
  DamageFactor "Legendary", 0.1
  DamageFactor "Baby15K", 0.0
  Obituary "%o was shattered by the Phase Folding Fan's sentry bombs."
  Tag "\ctPhase Sentry Bomb\c-"
  var int user_delay;
  States 
  { 
  Spawn:
	TNT1 A 0 NoDelay A_PlaySound("legbabysentient/trap")
	CBR6 X 20
	CBR6 X 1 A_Stop
	TNT1 A 0 A_JumpIf(user_delay >= 260,"Suicide")
	TNT1 A 0 A_SetUserVar("user_delay",user_delay+1)
	TNT1 A 0 A_Wander
	CBR6 X 1 A_Look
	Goto Spawn+3
  See:
	TNT1 A 0 A_PlaySound("legbabysentient/trap")
	CBR6 XXXXXXXXXX 1 A_Chase
	Goto Missile
  ClearTarget:
	CBR6 X 1 Bright A_ClearTarget
	Goto Spawn+3
  Missile:
	TNT1 A 0
	TNT1 A 0 A_JumpIfTargetInLos(1)
	Goto ClearTarget
	TNT1 A 0 A_JumpIfCloser(100,"Suicide")
	TNT1 A 0 A_SkullAttack(15)
	TNT1 A 0 A_PlaySound("legbabysentient/trap")
	CBR6 Y 5 A_SpawnItemEx("PHellionSmokeSpawner",-4,0,12)
	Loop  
  Suicide:
	CBR6 X 2 A_Die
	Goto Death
  Death:
	TNT1 A 0 A_PlayWeaponSound("weapons/rocklx")
	TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner",0,0,0,0,0,0, 0,128) 
	TNT1 AAA 0 A_CustomMissile("Kaboom8",0,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))
	TNT1 A 0 A_RadiusGive("phasemindfuck",128,RGF_PLAYERS)
    TNT1 AAAAAA 0 A_CustomMissile("PurpleCardball",0,0,random(0,360),0,random(-5,30))
    PHRK B 6 Bright A_Explode(100,130,XF_NOTMISSILE)
    PHRK CDEF 4 Bright A_SetTranslucent(0.75,1)
    Stop
	}
}

ACTOR FoldingFanSeekerLaser : FantasyProjectileWeak
{
  Damage 20
  Speed 30
  +SEEKERMISSILE
  Seesound "DG/LaserBeam"
  MissileType "FoldingFanSeekerLaserTrail"
  States
  {
  Spawn:
	CLBB JJJJJJ 2 Bright A_SeekerMissile(5,5)
  Spawn2:
    CLBB J 1 Bright A_SeekerMissile(5,5,SMF_LOOK)
    Loop
  Death:
	TNT1 A 0
	TNT1 AA 0 A_CustomMissile("Kaboom8",0,0,random(0,360),2,random(0,360))
	TNT1 A 0 A_RadiusGive("phasemindfuck",96,RGF_PLAYERS)
  Death2:
    CLBB J 1 Bright A_FadeOut(0.05)
    Loop
  }
}

ACTOR FoldingFanSeekerLaserTrail
{
  +NOINTERACTION
  +CLIENTSIDEONLY
  RenderStyle Add
  Alpha 0.6
  Scale 0.3
  States
  {
  Spawn:
    CLBA J 1 Bright A_FadeOut(0.1)
    Loop
  }
}

actor FoldingFanDarkMatterballmini : DarkMatterballRM
{
  Damage 10
  Scale 0.25
  -EXTREMEDEATH
  States
  {
  Spawn:
	DMGB A 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB AAA 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB A 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB BBB 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB CCC 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	Loop
  Death:
	TNT1 A 0 A_SpawnItemEx("DShockWave1",0,0,15,0,0,0,0,128)
	TNT1 A 0 A_SpawnItemEx("ShadowVaporSpawnerRM",0,0,0,0,0,0,0,32)
	TNT1 A 0 A_Explode(20,60,0)
	TNT1 A 0 A_RadiusGive("phasemindfuck",80,RGF_PLAYERS)
	TNT1 A 15 Radius_Quake(5,5,0,20,0)
	Stop
	}
}

Actor FoldingFanPlasmaBlast : CommanderPlasmaBlast
{
  States
  {
  Spawn:
    CBLT GH 0 bright A_CustomMissile("CommanderPlasmaBlastTrail",0,0,0)
    CBLT GH 2 bright A_SeekerMissile(20,5)
    Loop
  Death:
  	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner",0,0,0,0,0,0,0,128)
    CBLT IJK 3 bright
    Stop
  }
}

ACTOR FoldingFanMiniBrainWave
{
  Radius 12
  Height 12
  Speed 85
  FastSpeed 100
  Damage 40
  Scale 0.8
  +EXTREMEDEATH
  +DONTREFLECT
  +FORCERADIUSDMG
  +NOTIMEFREEZE
  PROJECTILE
  DamageType "C0mm4nder"
  Renderstyle Add
  SeeSound "Commander/fire"
  DeathSound "weapons/bfg95explode"
  DECAL BFG9500LightningPurple
  states
  {
  Spawn:
	CBTS ABCDEFGHIJ 2 Bright A_SpawnItem("EWAVE")
    Loop
  Death:
	CBTS K 2 BRIGHT A_Explode(35,120)
	TNT1 A 0 A_SpawnItemEx("PurpleDTech10KShockwave2",0,0,15,0,0,0,0,128)
	CBTS LMNOPQRSTUVW 2 BRIGHT
	Stop
	}
}

ACTOR PurpleRepeaterPlasma3 : FastProjectile
{
  Projectile
  Radius 13
  Height 8
  Speed 50
  Damage 5
  Scale 1.2
  +SEEKERMISSILE
  +FORCERADIUSDMG
  -THRUSPECIES
  Species "Masterminds"
  DamageType "DarkDemoEx"
  Renderstyle Add
  Alpha 0.9
  Missileheight 8
  MissileType "PurplePlasmaRepeaterShockTrail"
  SeeSound "PlasmaRepeater1/Altfire"
  DeathSound "OverseerPlasma/explode"
  var int user_weave1;
  var int user_weave2;
  var int user_weave3;
  var int user_weave4;
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar("user_weave1",random(random(6,2),random(-6,-2)))
	TNT1 A 0 A_SetUserVar("user_weave2",random(random(6,2),random(-6,-2)))
	TNT1 A 0 A_SetUserVar("user_weave3",random(random(8,4),random(-8,-4)))
	TNT1 A 0 A_SetUserVar("user_weave4",random(random(8,4),random(-8,-4)))		
  SpawnLoop:
	TNT1 A 0 A_Jump(200,2)
    TNT1 A 0 A_SeekerMissile(15,8,SMF_LOOK)
	TNT1 AA 1 A_Weave(user_weave3,user_weave4,user_weave1,user_weave2)
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(20,180,0,1,60)
	TNT1 A 0 A_Quake(3,18,0,200,0)
	TNT1 AAA 0 A_SpawnItemEx("PurplePlasmaRepeaterShock",random(15,-15),random(15,-15),random(-3,8),0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_RadiusGive("phasemindfuck",64,RGF_PLAYERS)
	CFGP CDEF 3 Bright A_FadeOut(0.25,1)
	Stop
	}
}

ACTOR PurplePlasmaRepeaterShock
{
  Projectile
  Speed 0
  Damage 0
  Alpha 1.0
  Scale 1.2
  Renderstyle Add
  Species "Masterminds"
  DamageType "DarkDemoEx"
  +MTHRUSPECIES
  -THRUSPECIES
  +FORCERADIUSDMG
  +NOTIMEFREEZE
  +NODAMAGETHRUST
  States
  {
  Spawn:
  Death:
	TNT1 A 0
	TNT1 A 1 A_PlaySound("PlasmaRepeater/Explode",4,0.8)
	TNT1 A 0 A_Jump(128,"Spawn2","Spawn3","Spawn4","Spawn5","Spawn6")
  Spawn1:
	PLZ6 A 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 B 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 C 1 Bright A_Explode(9,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 D 1 Bright A_Explode(9,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 E 1 Bright A_Explode(9,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 F 1 Bright A_Explode(8,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 G 1 Bright A_Explode(7,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 H 1 Bright A_Explode(7,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 I 1 Bright A_Explode(6,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 J 1 Bright A_Explode(5,128)
	TNT1 A 0 A_Fadeout(0.1)
	Stop
  Spawn2:
	PLZ6 D 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 F 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 J 1 Bright A_Explode(9,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 B 1 Bright A_Explode(9,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 C 1 Bright A_Explode(8,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 G 1 Bright A_Explode(8,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 A 1 Bright A_Explode(8,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 D 1 Bright A_Explode(7,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 I 1 Bright A_Explode(6,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 C 1 Bright A_Explode(5,128)
	TNT1 A 0 A_Fadeout(0.1)
	Stop	
  Spawn3:
	PLZ6 H 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 H 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 I 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 B 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 F 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 C 1 Bright A_Explode(8,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 D 1 Bright A_Explode(7,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 J 1 Bright A_Explode(6,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 J 1 Bright A_Explode(5,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 A 1 Bright A_Explode(3,128)
	TNT1 A 0 A_Fadeout(0.1)
	Stop	
  Spawn4:
	PLZ6 D 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 D 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 D 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 F 1 Bright A_Explode(10,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 J 1 Bright A_Explode(8,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 H 1 Bright A_Explode(7,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 A 1 Bright A_Explode(5,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 A 1 Bright A_Explode(5,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 B 1 Bright A_Explode(4,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 B 1 Bright A_Explode(4,128)
	TNT1 A 0 A_Fadeout(0.1)
	Stop	
  Spawn5:
	PLZ6 D 2 Bright A_Explode(15,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 D 2 Bright A_Explode(15,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 D 2 Bright A_Explode(11,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 H 2 Bright A_Explode(9,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 H 2 Bright A_Explode(6,128)
	TNT1 A 0 A_Fadeout(0.1)
	Stop	
  Spawn6:
	PLZ6 G 2 Bright A_Explode(15,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 G 2 Bright A_Explode(11,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 G 2 Bright A_Explode(8,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 C 2 Bright A_Explode(6,128)
	TNT1 A 0 A_Fadeout(0.1)
	PLZ6 C 2 Bright A_Explode(4,128)
	TNT1 A 0 A_Fadeout(0.1)
	Stop		
	}
}

ACTOR PurplePlasmaRepeaterShockTrail 
{ 
  Scale 0.25
  Renderstyle Add
  Alpha 1.0
  +NOINTERACTION
  +NOBLOCKMAP
  +NOTIMEFREEZE
  +CLIENTSIDEONLY
  States
  {
  Spawn:
  Death:
	TNT1 A 0
	TNT1 A 0 A_Jump(128,"Spawn2","Spawn3","Spawn4","Spawn5","Spawn6")
  Spawn1:
	PLZ6 ABCDEFGHIJ 1 Bright A_Fadeout(0.1)
	Stop
  Spawn2:
	PLZ6 DFJBCGADIC 1 Bright A_Fadeout(0.1)
	Stop	
  Spawn3:
	PLZ6 HHIBFCDJJA 1 Bright A_Fadeout(0.1)
	Stop	
  Spawn4:
	PLZ6 DDFJHAAABB 1 Bright A_Fadeout(0.1)
	Stop	
  Spawn5:
	PLZ6 DDDHH 2 Bright A_Fadeout(0.1)
	Stop	
  Spawn6:
	PLZ6 GGGCC 2 Bright A_Fadeout(0.1)
	Stop		
	}
}

ACTOR PurpleCardball : BlueCardBall
{
  Speed 22
  Obituary "%k got hit by %o's Purple ball!"
  States
  {
  Spawn:
	C3PP ABCDEFG 1 Bright A_SpawnItemEx("PurpleCardballTrail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(128,128,0)
	TNT1 A 0 A_PlaySound("weapons/t2fbx1",0,0.75,0,ATTN_NORM)
	TNT1 A 0 A_RadiusGive("phasemindfuck",128,RGF_PLAYERS)
	TNT1 A 1 A_SpawnItemEx("PurpleCardballExp")
	Stop
	}
}

ACTOR PurpleCardballExp : BlueCardballExp
{
States
  {
  Spawn:
	TNT1 A 0
	C3PX A 1 Bright A_FadeOut(0.05,1)
	C3PX B 1 Bright A_FadeOut(0.05,1)
	C3PX C 1 Bright A_FadeOut(0.045,1)
	C3PX D 1 Bright A_FadeOut(0.035,1)
	C3PX E 1 Bright A_FadeOut(0.025,1)
	C3PX F 1 Bright A_FadeOut(0.015,1)
  Continuous:
	C3PX G 1 Bright A_FadeOut(0.065,1)
	Loop
	}
}

ACTOR PurpleCardballTrail : BlueCardballTrail
{
States
  {
  Spawn:
	TNT1 A 0
	C3PP A 1 Bright A_FadeOut(0.1)
	C3PP B 1 Bright A_FadeOut(0.1)
	C3PP C 1 Bright A_FadeOut(0.1)
	C3PP D 1 Bright A_FadeOut(0.1)
	C3PP E 1 Bright A_FadeOut(0.1)
	C3PP F 1 Bright A_FadeOut(0.1)
	C3PP G 1 Bright A_FadeOut(0.1)
	Loop
	}
}

ACTOR PurpleCardRocketExplosion : BlueCardinalRocket
{
  Speed 5
  DamageType "DBFG2"
  SeeSound ""
  DeathSound ""
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Jump(128,1)
	Goto AltDeath
	TNT1 A 0
	TNT1 A 0 A_PlaySound("weapons/rockhit")
	Goto Death
  Death:
	CISL B 8 Bright A_Explode
	CISL C 6 Bright
	CISL D 4 Bright
	Stop
  AltDeath:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner",0,0,0,0,0,0,0,128) 
	TNT1 AAA 0 A_CustomMissile("PurpleKaboom2",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 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
	TNT1 A 1 A_Explode
	Stop
	}
}

ACTOR PhaseFoldingFanASpawner : PhaseNightmareASpawner
{
  Scale 1.5
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanA", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseFoldingFanA : PhaseFoldingFanASpawner
{
  States
  {
  Spawn:
	TNT1 A 8
	FFAN A 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseFoldingFanBSpawner : PhaseNightmareASpawner
{
  Scale 1.5
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseFoldingFanB", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseFoldingFanB : PhaseFoldingFanASpawner
{
  States
  {
  Spawn:
	TNT1 A 8
	FFAN B 1 a_fadeout(0.1)
	goto spawn+1
  }
}