Actor Clowny //Also known as the living curse
{ //Scripted (Can break the spooky spawn limit as well as the dice removing the enemy)
//Creator: Fluffy
//Origin: Ghoul's Forest
//Sprite: CLWX
//Title: "Clowny"  
Health 17000
Radius 32
Height 64
Mass 99999
Speed 18
Floatspeed 10
Monster 
Scale 0.3
RenderStyle Add
SeeSound "clowny/see"
ActiveSound "clowny/active"
DeathSound "clowny/death"
//MeleeSound "clowny/see"
Species "Hell"
DamageFactor "Hell", 0.0
DamageFactor "Clowny", 0.0
DamageFactor "Legendary", 0.5
DropItem "SuperCrate" 256 1
RadiusDamageFactor 0.2
//MeleeRange 94
+FLOORCLIP
+BRIGHT
+NOPAIN
+LOOKALLAROUND
+DONTHARMSPECIES
+NOTIMEFREEZE
//+MISSILEMORE
//+MISSILEEVENMORE
+NOBLOOD
+QUICKTORETALIATE
+NOGRAVITY
+FLOAT
+BOSS
+NOTARGET
+NOINFIGHTING
+NOICEDEATH
+GHOST
//No Infighting
DamageFactor "Legendary1", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "LegendaryZombie", 0.0
DamageFactor "LACGrenade", 0.0
DamageFactor "SoapOpera", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "GeneralTracer", 0.0
DamageFactor "SatanGuard", 0.0
DamageFactor "CurseComet", 0.0
DamageFactor "DementedTerminator", 0.0
DamageFactor "Terminator", 0.0
DamageFactor "Commander", 0.0
DamageFactor "CerChainguns", 0.0	
DamageFactor "CerEnergyBall", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "DBFG2", 0.0
DamageFactor "DBFG10K2", 0.0
DamageFactor "DBFGSplash2", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "Cyber10k", 0.0
DamageFactor "SS", 0.0
Obituary "%o thought %g saw Clowny."
Tag "\cm3h4C10W3ny\c-"
var int user_appear;
var int user_music;
var int user_phase;
var int user_terror;
var int user_terrormode;
var int user_terrortoken;
States
{
  Idle:
    TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalkingIdle")
	TNT1 A 0 A_Stop
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_SetTranslucent(1,1)
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
  IdleLoop:
    CLWX A 10 A_Look
	Loop
  Spawn:
    TNT1 A 0 A_Changeflag(NOCLIP,1)
	TNT1 A 0 A_UnSetShootable
	TNT1 A 0 A_Look
	TNT1 AAAA 3 A_Wander
	Goto Spawn+2
  See:
    TNT1 A 0 A_JumpIf(user_appear == 0,"Appear")
	TNT1 A 0 A_Stop
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
  Seeloop:
    TNT1 A 0 A_JumpIf(user_music == 1,4)
	TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,2043,2004)
	TNT1 A 0 ACS_NamedExecuteAlways("ClownyLight")
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_Warp(AAPTR_DEFAULT,0,0,0,0,WARPF_TESTONLY,1)
	Goto PhaseWalk
    CLWX A 0 A_UnsetInvulnerable
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
	CLWX A 1 A_Chase("MeleeMode","Missile")
	//TNT1 A 0 A_JumpIfCloser(94,"MeleeMode")
	TNT1 A 0 A_Jump(20,"PhaseWalk")
	CLWX A 0 A_Settranslucent(0.1,1)
	CLWX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase("MeleeMode","Missile")
	CLWX A 0 A_Settranslucent(0.2,1)
	CLWX A 1 A_Chase("MeleeMode","Missile")
	CLWX A 0 A_Settranslucent(0.3,1)
	CLWX A 1 A_Chase("MeleeMode","Missile")
	CLWX A 0 A_Settranslucent(0.4,1)
	CLWX A 1 A_Chase("MeleeMode","Missile")
	CLWX A 0 A_Settranslucent(0.5,1)
	CLWX AA 1 A_Chase("MeleeMode","Missile")
	CLWX A 0 A_Settranslucent(0.4,1)
	CLWX AA 1 A_Chase("MeleeMode","Missile")
	CLWX A 0 A_Settranslucent(0.3,1)
	CLWX AA 1 A_Chase("MeleeMode","Missile")
	CLWX A 0 A_Settranslucent(0.2,1)
	CLWX AA 1 A_Chase("MeleeMode","Missile")
	Loop
  Appear:
    TNT1 A 0 A_SetUserVar("user_appear",1)
	TNT1 A 0 A_SetTranslucent(0,1)
    CLWX A 1 A_PlayWeaponSound("phaseimp/teleport")
	CLWX AAAAAAAAAA 2 A_FadeIn(0.1)
	Goto See
  PhaseWalk:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	CLWX A 2 A_FaceTarget
	TNT1 A 0 A_Changeflag(NOCLIP,1)
	//TNT1 A 0 A_Changeflag(NODROPOFF,1)
	TNT1 A 0 A_SetUserVar("user_phase",1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.55,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.35,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.15,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Goto PhaseWalking
  PhaseWalking:
	CLWX AAAAAAAAAAAAAAAA 1 A_ExtChase(0,0)
	CLWX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase("StopPhaseWalking","StopPhaseWalking")
	TNT1 A 0 A_JumpIfCloser(270,"StopPhaseWalking")
	Goto PhaseWalking+32
  StopPhaseWalking:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
	TNT1 A 0 A_SetUserVar("user_phase",0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.15,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.35,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.55,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1,1)
	CLWX A 2 A_FaceTarget	
    Goto See
  StopPhaseWalkingIdle:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
	TNT1 A 0 A_SetUserVar("user_phase",0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.15,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.35,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.55,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	CLWX A 1 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1,1)	
    Goto Idle
  Darkness:
	CLWX A 0 A_SetInvulnerable
	CLWX A 1 A_PlaySound("clowny/stealth")
	CLWX A 3 A_Settranslucent(0.6,1)
	CLWX A 3 A_Settranslucent(0.5,1)
	CLWX A 3 A_Settranslucent(0.4,1)
	CLWX A 3 A_Settranslucent(0.6,1)
	CLWX A 3 A_Settranslucent(0.2,1)
	CLWX A 3 A_Settranslucent(0.1,1)
	CLWX A 3 A_Settranslucent(0.0,1)
	Goto See2
  Rage:
	CLWX A 0 A_SetInvulnerable
	CLWX A 1 A_PlaySound("clowny/stealth")
	CLWX A 10 A_Settranslucent(0.0,1)
	CLWX A 10 A_Settranslucent(0.1,1)
	CLWX A 10 A_Settranslucent(0.2,1)
	CLWX A 10 A_Settranslucent(0.3,1)
	CLWX A 10 A_Settranslucent(0.4,1)
	CLWX A 10 A_Settranslucent(0.5,1)
	CLWX A 10 A_Settranslucent(0.6,1)
	Goto See
  See2:
	CLWX A 0 A_UnsetInvulnerable
	CLWX A 0 A_Jump(1,"Rage")
	CLWX A 1 A_JumpIfCloser(360,"Charge")
	CLWX AA 1 A_Chase("","")
	Loop
  Charge:
	CLWX A 1 A_PlaySound("clowny/see")
	CLWX AAAAAAAAAAAAAA 5 A_FaceTarget
	CLWX A 0 A_UnsetInvulnerable
	CLWX A 0 A_Settranslucent(0.8,1)
	CLWX A 0 A_Recoil(-40)
	CLWX BBBCCCCCCCCCCCCC 6 A_CustomMissile("ClownyAttack",0,0,0,2,0)
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
	Goto See
  ChargeFast:
	CLWX A 1 A_PlaySound("clowny/see")
	CLWX A 5 A_FaceTarget
	CLWX A 0 A_UnsetInvulnerable
	CLWX A 0 A_Settranslucent(0.8,1)
	CLWX A 0 A_Recoil(-40)
	CLWX BBBCCCCCCCCCCCCC 6 A_CustomMissile("ClownyAttack",0,0,0,2,0)
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
	Goto See
  Missile:
    TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalking")
	TNT1 A 0 A_JumpIf(user_terrortoken >= 3,2)
	CLWX A 0 A_Jump(35,"TerrorBegin")
    CLWX A 0 A_Jump(40,"Darkness")
	Goto ChargeFast
  TerrorBegin:
    TNT1 A 0 A_JumpIf(user_terrortoken >= 3,"See")
	TNT1 A 0 A_SetUserVar("user_terrortoken", user_terrortoken+1)
	TNT1 A 0 A_Changeflag(NOCLIP,1)
	//TNT1 A 0 A_Changeflag(NODROPOFF,1)
	TNT1 A 0 A_SetUserVar("user_terror",0)
	TNT1 A 0 A_PlayWeaponSound("phaseimp/teleport")
	CLWX A 1 A_UnSetShootable
	CLWX AAAAAAAAAA 1 A_FadeOut(0.1,0)
	CLWX A 2
  TerrorSeek:
	TNT1 A 0 A_JumpIf(user_terror >= 40, "TerrorSeek2")
	TNT1 A 0 A_SetUserVar("user_terror", user_terror+random(1,2))
	CLWX AAAAAAAA 1 A_Wander
	Loop
  TerrorSeek2:
    TNT1 A 0 A_SetUserVar("user_terror",0)
	TNT1 A 0 A_PlaySound("clowny/stealth",CHAN_VOICE,0.8,0,ATTN_NONE)
  Terrorseek2Loop:
	TNT1 A 0 A_JumpIf(user_terror >= 60, "TerrorChase")
	TNT1 A 0 A_SetUserVar("user_terror", user_terror+random(1,2))
	CLWX AAAAAAAA 1 A_Wander
	Loop
  TerrorChase:
	CLWX AAAAAAAA 1 A_Chase("","")
	TNT1 A 0 A_JumpIfCloser(600,"TerrorAttack")
	Loop
  TerrorAttack:
	TNT1 A 0 A_SetUserVar("user_terror",0)
	TNT1 A 0 A_SetUserVar("user_terrormode",1)
	CLWX B 1 A_FaceTarget
	CLWX B 1 A_SetShootable
	CLWX BBBBBBBBBB 1 A_FadeIn(0.1)
	CLWX C 1 A_FaceTarget
  TerrorAttackLoop:
	TNT1 A 0 A_PlaySound("clowny/see",7)
	TNT1 A 0 A_JumpIf(user_terror >= 40, "TerrorEnd")
	TNT1 A 0 A_SetUserVar("user_terror", user_terror+1)
	CLWX C 1 A_SkullAttack(25)
	TNT1 A 0 A_JumpIfCloser(120,"TerrorHit")
	Goto TerrorAttackLoop+1
  TerrorHit:
	TNT1 A 0 A_Stop
	TNT1 A 0 A_RadiusGive("VesselFuckery",120,RGF_PLAYERS|RGF_CORPSES)
	CLWX C 4 A_VileAttack("NULL",random(170,325),0,120,0,"Clowny",VAF_DMGTYPEAPPLYTODIRECT)
  TerrorEnd:
    TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
	TNT1 A 0 A_Jump(128,"TerrorBegin")
	CLWX CCCCCCCCCC 1  A_FadeOut(0.1,0)
	CLWX A 1 A_UnSetShootable
	CLWX C 2
	CLWX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Wander
	TNT1 A 0 A_SetUserVar("user_terrormode",0)
	CLWX A 1 A_PlayWeaponSound("phaseimp/teleport")
	CLWX AAAAAAAAAA 1 A_FadeIn(0.1)
    CLWX E 1 A_SetShootable
    Goto See
  MeleeMode:
    TNT1 A 0 A_JumpIf(user_terrormode == 1,"TerrorEnd")
    TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalking")
	CLWX A 0 A_UnsetInvulnerable
	CLWX B 0 A_Settranslucent(0.5,1)
	TNT1 A 0 A_JumpIf(user_terrortoken >= 3,2)
	CLWX A 0 A_Jump(35,"TerrorBegin")
	CLWX C 4 A_VileAttack("clowny/see",random(170,325),0,94,0,"Clowny",VAF_DMGTYPEAPPLYTODIRECT)
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
	CLWX CC 35
	Goto See
  Taunt:
	TNT1 AAA 0 A_StopSound
	TNT1 A 0 A_PlaySound("clowny/see",CHAN_VOICE,0.8,0,ATTN_NONE)
	TNT1 A 0 A_TakeInventory("MarineKilled",1)
	Goto See
  Death:
	CLWX A 0 A_Settranslucent(0.4,1)
	CLWX A 0 A_StopSound(7)
	TNT1 A 0 ACS_NamedExecuteAlways("ClownyLightReset")
	CLWX A 50 A_Scream
	CLWX A 4 A_NoBlocking
	TNT1 A 0 A_SpawnItemEx("SignetOfNecromancy",0,0,8,random(0,8),random(0,8),2,random(0,360),0,200)
	TNT1 AAAA 0 A_SpawnItemEx("DiceOfReset",0,0,8,random(0,8),random(0,8),2,random(0,360),0,100)
	TNT1 AAAAAAA 0 A_SpawnItemEx("RandomMegaPresentSpawner",0,0,1,random(1,8),0,random(8,15),random(0,360),0,64)
	CLWX AAAAAAAAAAAAAAAA 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
	CLWX AAAA 5 A_Fadeout(0.1)
	TNT1 A 1
	Stop
}
}

Actor ClownyAttack
{
PROJECTILE
Speed 0
Scale 0.8
+NOTELEPORT
+NOEXTREMEDEATH
+FORCERADIUSDMG
Decal "BloodSplat"
Obituary "%o thought %g saw Clowny."
Damage 0
Height 5
Radius 6
Damagetype "Clowny"
States
{
   Spawn:
    TNT1 A 0
    TNT1 A 1 A_Explode(64,364)
   	TNT1 A 1 A_Explode(196,220)
	Stop
   Death:
    TNT1 A 0
    TNT1 A 1 A_Explode(64,364)
	TNT1 A 1 A_Explode(196,220)
    TNT1 A 1 
	Stop
}
}