ACTOR LegendaryCrusader : Deathknight
{ 
  Health 3000
  Scale 1.15
  Speed 18
  MeleeDamage 40
  MeleeRange 100
  BloodColor "Blue"
  Species "Viles"
  DamageFactor 0.5
  DamageFactor "VileFires", 0
  DamageFactor "Legendary", 0.0
  DamageFactor "Legendary1", 0.0
  DamageFactor "PlayerDTRG", 0.5
  DamageFactor "PDTBFG", 0.25
  DamageFactor "PDTBFGTracer", 0.25
  DamageFactor "PlayerDevBall", 0.125
  DamageFactor "PlayerDevBall2", 0.125
  DamageFactor "PlayerDevTracer", 0.125
  DamageFactor "LegendaryPlayer", 0.3
  DamageFactor "LegendaryGuruPlayer", 0.3
  +NOTIMEFREEZE
  +SHIELDREFLECT
  DropItem "LegendaryUltraSphere" 160 1
  DropItem "LegendarySalvationSphere" 240 1
  DropItem "LegendaryRune" 180 1
  DropItem "LegendarySaber" 180
  DropItem "LDemonAmmoBox" 256
  DropItem "LDemonAmmo" 256
  DropItem "LegendaryBossLifeEssence" 256
  DropItem "LegendaryBossArmorBonusMax" 256
  Obituary "%o stood and fell before a Legendary Crusader's royal might."
  HitObituary "%o was hacked to pieces by a Legendary Crusader." 
  SeeSound "LegendaryCrusader/Sight" 
  PainSound "LegendaryCrusader/Pain" 
  DeathSound "LegendaryCrusader/Death" 
  //ActiveSound "monster/dknact" 
  Tag "\c[z3]Legendary Crusader\c-"
  var int user_music;
  var int user_faminelimit;
  var int user_legrevlimit;
  States 
  { 
  Spawn: 
  Idle:
    TNT1 AA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LGCR A 10 Bright A_Look 
	Loop 
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,735)
	TNT1 A 0 A_SetUserVar("user_music",1)
	LGCR A 0 A_UnSetReflective
	TNT1 A 0 A_Radiusgive("Health",500,RGF_MONSTERS,3)
    TNT1 AA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LGCR AA 3 Bright A_VileChase
    TNT1 AA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LGCR BB 3 Bright A_VileChase
	TNT1 A 0 A_Jump(32,"Rush","Teleport")
	TNT1 A 0 A_PlaySound("LegendaryCrusader/Walk")
    TNT1 AA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LGCR CC 3 Bright A_VileChase
    TNT1 AA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LGCR DD 3 Bright A_VileChase
	TNT1 A 0 A_PlaySound("LegendaryCrusader/Walk")
	TNT1 A 0 A_Jump(32,"Rush","Teleport")
	Loop
  Rush:
	TNT1 A 0 A_SpawnItemEx("LegendaryCrusaderGhostA")
	TNT1 A 0 A_VileChase
	LGCR A 1 Bright A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegendaryCrusaderGhostA")
	TNT1 A 0 A_VileChase	
	LGCR A 1 Bright A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegendaryCrusaderGhostB")
	TNT1 A 0 A_VileChase
	LGCR B 1 Bright A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegendaryCrusaderGhostB")
	TNT1 A 0 A_VileChase
	LGCR B 1 Bright A_VileChase	
	TNT1 A 0 A_PlaySound("LegendaryCrusader/Walk")	
	TNT1 A 0 A_SpawnItemEx("LegendaryCrusaderGhostC")
	TNT1 A 0 A_VileChase
	LGCR C 1 Bright A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegendaryCrusaderGhostC")
	TNT1 A 0 A_VileChase
	LGCR C 1 Bright A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegendaryCrusaderGhostD")
	TNT1 A 0 A_VileChase
	LGCR D 1 Bright A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegendaryCrusaderGhostD")
	TNT1 A 0 A_VileChase
	LGCR D 1 Bright A_VileChase	
	TNT1 A 0 A_PlaySound("LegendaryCrusader/Walk")	
	TNT1 A 0 A_Jump(28,"Teleport")
	TNT1 A 0 A_Jump(32,"See")
	Loop
  Teleport:
    LGCR EA 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LGCR EEEEEEEEEE 1 A_FadeOut(0.1,0)
	LGCR E 2 
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    LGCR E 1 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LGCR EEEEEEEEEEE 1 A_FadeIn(0.1)
    LGCR E 1 Bright A_SetShootable
    Goto See
  Melee:
	LGCR E 5 A_FaceTarget
	LGCR F 1 A_Playsound("monster/dknswg")
	LGCR F 4 A_FaceTarget
	LGCR G 5 A_MeleeAttack 
	Goto See
  Missile:
	//TNT1 A 0 A_Jump(128,2)
	//TNT1 A 0 A_JumpIfCloser(300,"MeleeLunge")
  MissileContinue:
	TNT1 A 0 A_Jump(16,"Soulless")
	TNT1 A 0 A_Jump(256,"Darts1","Darts2","Bolts","Ripper","RazorWind")
	Goto See
  Darts1:
	LGCR E 6 Bright A_FaceTarget
	LGCR F 6 Bright A_Playsound("monster/kntswg")
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,6)
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,3)
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,0)
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,-3)
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,-6)
	Goto see
  Darts2:
	LGCR E 6 Bright A_FaceTarget
	LGCR F 6 Bright A_Playsound("monster/kntswg")
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,-6)
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,-3)
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,0)
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,3)
	LGCR G 1 Bright A_CustomMissile("CrusaderDart",32,0,6)
	Goto see
  Bolts:
	TNT1 A 0 A_SetReflective
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderBolt",58,-4,0,0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderBolt",58,-4,0,0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderBolt",58,-4,0,0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderBolt",58,-4,0,0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderBolt",58,-4,0,0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderBolt",58,-4,0,0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderBolt",58,-4,0,0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderBolt",58,-4,0,0)
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_UnSetReflective
	Goto see
  Ripper:
	TNT1 A 0 A_SetReflective
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	LGCR T 2 Bright A_FaceTarget	
    LGCR U 2 Bright A_CustomMissile("CrusaderRipper",58,-4,random(-6,6),0)
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_UnSetReflective
	Goto see
  RazorWind:
	LGCR E 6 Bright A_FaceTarget
	LGCR F 6 Bright A_Playsound("monster/kntswg")
	LGCR G 6 Bright A_CustomMissile("CrusaderRazorWind",32)
	LGCR E 6 Bright A_FaceTarget
	LGCR F 6 Bright A_Playsound("monster/kntswg")
	LGCR G 6 Bright A_CustomMissile("CrusaderRazorWind",32)
	LGCR E 6 Bright A_FaceTarget
	LGCR F 6 Bright A_Playsound("monster/kntswg")
	LGCR G 6 Bright A_CustomMissile("CrusaderRazorWind",32)
	LGCR E 6 Bright A_FaceTarget
	LGCR F 6 Bright A_Playsound("monster/kntswg")
	LGCR G 6 Bright A_CustomMissile("CrusaderRazorWind",32)
	Goto See
  Soulless:
	TNT1 A 0 A_JumpIf(user_faminelimit >= 5,"MissileContinue")
	TNT1 A 0 A_SetUserVar("user_faminelimit",user_faminelimit+1)
  SoullessSummon:
	TNT1 A 0 A_SetInvulnerable
	LGCR EE 3 Bright A_FaceTarget 
	LGCR E 8 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("LegendarySoulless",50,50,20,0,0,0,random(0,360),SXF_SETMASTER,0)
	TNT1 A 0 A_PlaySound("LegendaryCrusader/Sight")
	TNT1 A 0 A_SpawnItemEx("LegCrusaderHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
	LGCR E 25 Bright 
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_Jump(80,"AOEHeal")
	Goto See
  AoeHeal:
	TNT1 A 0 A_Radiusgive("CrusaderBuffHealth",1000,RGF_MONSTERS)
	TNT1 A 0 A_SpawnItemEx("LegCrusaderHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
	LGCR E 20 Bright A_PlaySound("LegendaryCrusader/Sight",0,1000)
	Goto see
  RaiseChildren:
	LGCR E 20 Bright A_PlaySound("LegendaryCrusader/Attack",0,1000)
	TNT1 A 0 A_RaiseChildren
	Goto see
  Heal:
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,0,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,20,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,40,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,60,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,80,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,100,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,120,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,140,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,160,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,180,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,200,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,220,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,240,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,260,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,280,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,300,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,320,0)
	TNT1 A 0 A_CustomMissile("CrusaderResRadius",10,0,340,0)
	TNT1 A 0 A_SpawnItemEx("LegCrusaderHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
	LGCR E 20 Bright A_PlaySound("LegendaryCrusader/Sight",2)
	TNT1 A 0 A_RadiusGive("CrusaderBuffLegResistance",1000,RGF_MONSTERS)
	TNT1 A 0 A_Jump(64,"BuffResurrected","AOEHeal")
	Goto see
  BuffResurrected:
	LGCR A 10 Bright
	TNT1 A 0 A_RadiusGive("CrusaderBuffAlwaysFast",2000,RGF_MONSTERS)
	TNT1 A 0 A_SpawnItemEx("LegCrusaderHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
	LGCR E 20 Bright A_PlaySound("LegendaryCrusader/Attack",0,1.0,0,ATTN_NONE)
	Goto See
  Pain:
	LGCR H 2 
	LGCR H 2 A_Pain
	Goto See
  XDeath:
  Death:
	LGCR I 0 Bright A_CustomMissile("CrusaderDeathSword",44,32,-90,0)
	LGCR I 8 Bright A_CustomMissile("CrusaderDeathShield",44,-32,90,0)
	TNT1 AAA 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",random(-10,10),random(-10,10),random(30,60),random(0,5),random(0,5),random(0,5))
	TNT1 AAA 0 A_CustomMissile("LegBlueKaboomNoEffect",40,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",40,0,random(0,360),2,random(0,360))
	LGCR J 8 Bright A_Scream 
	TNT1 AAA 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",random(-10,10),random(-10,10),random(30,60),random(0,5),random(0,5),random(0,5))
	TNT1 AAA 0 A_CustomMissile("LegBlueKaboomNoEffect",40,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",40,0,random(0,360),2,random(0,360))
	LGCR K 8 Bright
	TNT1 AAA 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",random(-10,10),random(-10,10),random(30,60),random(0,5),random(0,5),random(0,5))
	TNT1 AAA 0 A_CustomMissile("LegBlueKaboomNoEffect",40,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",40,0,random(0,360),2,random(0,360))
	LGCR L 8 Bright A_NoBlocking 
	LGCR MN 8 Bright A_KillChildren
	LGCR O -1 
	Stop 
	} 
}

ACTOR LegCrusaderHealEffect : VileHealEffect
{
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 0
    //TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	TNT1 A 20 A_SpawnItemEx("LegCrusaderResFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	Stop
	}
}

ACTOR LegCrusaderResFlame : DukeHealFlame
{
Scale 0.45
+NOTIMEFREEZE
States
{
Spawn:
BMKE ABCDEFGHIJKL 2 Bright A_FadeOut
Stop
}
}

ACTOR LegCrusaderResFlameSpawner : RedParticleSpawner
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
	TNT1 A 0
    TNT1 AAAAAAAA 2 A_SpawnItemEx("LegCrusaderResFlame",random(12,-12),random(12,-12),0,0,0,random(2,4),0,128,0)
    Stop
  }
}

ACTOR CrusaderResRadius : DeathKnightResRadius
{
+NOTIMEFREEZE
}

ACTOR CrusaderDart : DKDart
{
  Speed 25
  Damage 12
  Species "Viles"
  Damagetype "Legendary1"
  +NOTIMEFREEZE
  +THRUSPECIES
  +EXTREMEDEATH
  States
  {
  Spawn:
	LCAT ABC 2 Bright A_SpawnItemEx("CrusaderDartTrail",-10)
	loop
  Death:
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("LegendaryKaboom6", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))
	LCAT D 0 Bright A_SetTranslucent (0.85,1)
	LCAT D 3 Bright A_Explode(32,64)
	LCAT EFGHIJKLM 3 Bright
	stop
	}
}

ACTOR CrusaderDartTrail : ImpBallTrail
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	LCAT ABC 1 A_FadeOut(0.25)
	Loop
	}
}

ACTOR CrusaderBolt : DKbolt
{
  Speed 25
  Damage 15
  Damagetype "Legendary1"
  +NOTIMEFREEZE
  +SEEKERMISSILE
  +EXTREMEDEATH
  States
  {
  Spawn:
	TNT1 A 0 A_SpawnItemEx("CrusaderBoltTrail")
	TNT1 A 0 A_SeekerMissile(1,1)
	LBOL A 1 Bright A_BishopMissileWeave
	loop
  Death:
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("LegendaryKaboom6", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))
	LHBA EFHI 2 Bright
	stop
  }
}

ACTOR CrusaderBoltTrail : ImpBallTrail
{
  RenderStyle Add
  Alpha 1
  Scale 0.25
  +NOTIMEFREEZE
  States
  {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
   BMKE ABCDEFGHIJK 1 Bright A_FadeOut
   Stop
  }
}

ACTOR CrusaderRipper : LegArchonRipper
{
  Damagetype "Legendary1"
  States
  {
  Death:
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("LegendaryKaboom6",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
    ICE9 P 0 Bright A_SetTranslucent (0.75,1)
    ICE9 A 2 Bright A_Explode(64,64,1)
    ICE9 P 0 Bright A_SpawnItemEx("CrusaderRipperSpike",0,0,0,50,0,0,0,0,0)
    ICE9 P 0 Bright A_SpawnItemEx("CrusaderRipperSpike",0,0,0,50,0,0,60,0,0)
    ICE9 P 0 Bright A_SpawnItemEx("CrusaderRipperSpike",0,0,0,50,0,0,120,0,0)
    ICE9 P 0 Bright A_SpawnItemEx("CrusaderRipperSpike",0,0,0,50,0,0,180,0,0)
    ICE9 P 0 Bright A_SpawnItemEx("CrusaderRipperSpike",0,0,0,50,0,0,240,0,0)
    ICE9 P 0 Bright A_SpawnItemEx("CrusaderRipperSpike",0,0,0,50,0,0,300,0,0)
    ICE9 BCDEF 2 Bright
    stop
  }
}

ACTOR CrusaderRipperSpike : LegArchonRipperSpike
{
  Damagetype "Legendary1"
}

Actor CrusaderRazorWind
{
    RenderStyle Add
    Alpha 0.95
    Radius 10
    Height 2
    Speed 60
	Damage 5
	Damagetype "Legendary1"
	DeathSound "Claw/Hit"
    Projectile
	+FORCERADIUSDMG
	+RIPPER
    +THRUACTORS
    +PIERCEARMOR
    +EXTREMEDEATH
    +FOILINVUL
    +DONTREFLECT
    +NOTIMEFREEZE
    States
    {
    Spawn:
        TNT1 A 0 A_Explode(128,90,0)
        TNT1 A 1 Light("LegImpSeekBallExplode3") A_SpawnItemEx("CrusaderRazorWindTrail", 0,               0,              2)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (2 *momx)/-30.0, -(2 *momy)/-30.0, 2+(2 *momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (4 *momx)/-30.0, -(4 *momy)/-30.0, 2+(4 *momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (6 *momx)/-30.0, -(6 *momy)/-30.0, 2+(6 *momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (8 *momx)/-30.0, -(8 *momy)/-30.0, 2+(8 *momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (10*momx)/-30.0, -(10*momy)/-30.0, 2+(10*momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (12*momx)/-30.0, -(12*momy)/-30.0, 2+(12*momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (14*momx)/-30.0, -(14*momy)/-30.0, 2+(14*momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (16*momx)/-30.0, -(16*momy)/-30.0, 2+(16*momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (18*momx)/-30.0, -(18*momy)/-30.0, 2+(18*momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (20*momx)/-30.0, -(20*momy)/-30.0, 2+(20*momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (22*momx)/-30.0, -(22*momy)/-30.0, 2+(22*momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (24*momx)/-30.0, -(24*momy)/-30.0, 2+(24*momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("CrusaderRazorWindTrail", (26*momx)/-30.0, -(26*momy)/-30.0, 2+(26*momz)/-30.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        loop
    Death:
        TNT1 A 1
        Stop
    }
}

Actor CrusaderRazorWindTrail : RazorWindTrail
{
  States
  {
  Spawn:
	TNT1 A 0
    //TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	LCSL A 1 A_Fadeout(0.2)
	loop
  Toaster:
    TNT1 A 0
	Stop			
    }
}

ACTOR CrusaderDeathSword : DKSword
{  
  +NOTIMEFREEZE
  States
  {
  Spawn:
	LSWD KLMNOPQ 3 BRIGHT
	goto Death 
  Death:
	LSWD RS 4 BRIGHT
	LSWD T 4 BRIGHT
	LSWD U 4
	LSWD T 4 BRIGHT
	LSWD U 8
	LSWD T 4 BRIGHT
	LSWD U 16
	LSWD T 4 BRIGHT
	LSWD U -1
	Stop
  }
}

ACTOR CrusaderDeathShield : DKShield
{  
  +NOTIMEFREEZE
  States
  {
  Spawn:
	LSHI ABCDEFGHI 3
	goto death 
  Death:
	LSHI H -1
	Stop
  }
}

Actor CrusaderBuff : CustomInventory
{
  +NOTIMEFREEZE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.IGNORESKILL
  Inventory.Amount 1
  Inventory.MaxAmount 1
  States
  {
  Spawn:
	TNT1 A 1
	Stop
  Nope:
	TNT1 A 0
	Stop
  }
}

Actor CrusaderBuffHealth : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("GHellionSmokeSpawner")
	TNT1 A 0 A_GiveInventory("Health",200)
	Stop
  }
}

Actor CrusaderBuffLegResistance : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_JumpIfInventory("CrusaderBuffLegResistanceCheck",1,"Nope")
	TNT1 A 0 A_GiveInventory("CrusaderBuffLegResistanceCheck")
	TNT1 A 0 A_GiveInventory("CrusaderPowerLegProtection")
	TNT1 A 0 ACS_NamedExecuteAlways("LegCrusaderLegResistance")
	Stop
  }
}
Actor CrusaderBuffLegResistanceCheck : Inventory { Inventory.MaxAmount 1 }
ACTOR CrusaderBuffLegResistanceEffectSpawner : LHellionSmokeSpawner
{
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_CheckSight("Toaster")
	TNT1 A 0 A_SpawnItemEx("CrusaderBoltTrail",0,0,0,0,0,random(1,4),0,128,0) 
	TNT1 A 1 Bright
	Stop	
  }
}
ACTOR CrusaderLegProtection : PowerProtection
{
  DamageFactor "Legendary", 0
  DamageFactor "VileFires", 0
  DamageFactor "VilesFire", 0
}
actor CrusaderPowerLegProtection : PowerupGiver
{
  inventory.pickupmessage " "
  inventory.maxamount 1
  powerup.type "CrusaderLegProtection"
  powerup.duration 0x7FFFFFFD
  +NOTIMEFREEZE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.AUTOACTIVATE
}



Actor CrusaderBuffAlwaysFast : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_JumpIfInventory("CrusaderBuffAlwaysFastCheck",1,"Nope")
	TNT1 A 0 A_GiveInventory("CrusaderBuffAlwaysFastCheck")
	TNT1 A 0 A_ChangeFlag("NOINFIGHTING",1)
	TNT1 A 0 A_ChangeFlag("ALWAYSFAST",1)
	TNT1 A 0 ACS_NamedExecuteAlways("LegCrusaderAlwaysFast")
	Stop
  }
}
Actor CrusaderBuffAlwaysFastReset : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_ChangeFlag("NOINFIGHTING",0)
	TNT1 A 0 A_ChangeFlag("ALWAYSFAST",0)
	Stop
  }
}
Actor CrusaderBuffAlwaysFastCheck : Inventory { Inventory.MaxAmount 1 }
ACTOR CrusaderBuffAlwaysFastEffectSpawner : LHellionSmokeSpawner
{
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_CheckSight("Toaster")
	TNT1 A 0 A_SpawnItemEx("LegendaryBluePowerLine",0,0,0,0,0,random(1,4),0,128,0) 
	TNT1 A 1 Bright
	Stop	
  }
}

actor CrusaderPowerX2Damage : PowerDamage
{
damagefactor "normal", 2
}

actor CrusaderPowerDoubleDamage : PowerupGiver
{
 inventory.pickupmessage " "
 inventory.maxamount 1
 damagefactor "normal", 2
 powerup.type "CrusaderPowerX2Damage"
 powerup.duration 60
 +AUTOACTIVATE
  states
 {
 Spawn:
  TNT1 A 0
  stop
 }
}





ACTOR LegendaryCrusaderGhostA
{
Scale 1.15
RENDERSTYLE Translucent
Alpha 0.7
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	TNT1 A 1 Bright
	Goto Fade
  Fade:
	LGCR A 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1 Bright
	Stop
  }
}

ACTOR LegendaryCrusaderGhostB : LegendaryCrusaderGhostA
{
States
  {
  Fade:
	LGCR B 2 A_FadeOut(0.1,1)
	Loop
  }
}

ACTOR LegendaryCrusaderGhostC : LegendaryCrusaderGhostA
{
States
  {
  Fade:
	LGCR C 2 A_FadeOut(0.1,1)
	Loop
  }
}

ACTOR LegendaryCrusaderGhostD : LegendaryCrusaderGhostA
{
States
  {
  Fade:
	LGCR D 2 A_FadeOut(0.1,1)
	Loop
  }
}




ACTOR LegendarySoulless : Famine
{
  PainChance 30
  Health 900
  Speed 16
  DamageFactor "Legendary", 0
  DamageFactor "VileFires", 0
  DamageFactor "VilesFire", 0
  +MISSILEEVENMORE
  +THRUSPECIES
  +NOINFIGHTING
  HitObituary "%o got knocked the hell out by a Legendary Soulless."
  Obituary "%o was devastated by a Legendary Soulless."
  BloodColor "Blue"
  Tag "\c[z3]Legendary Soulless\c-"
  States
  {
  Spawn:
    LGFV PONML 5
  Idle:
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LGFV AA 6 A_Look
    Loop
  See:
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
    LGFV AABBCC 2 A_Chase
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
    LGFV DDEEFF 2 A_Chase
    Loop
  Melee:
    TNT1 A 0 A_JumpIfInventory("FamineMeleeToken",1,"Melee2")
    TNT1 A 0 A_FaceTarget
    LGFV G 5 A_SkelWhoosh
    LGFV H 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("FamineMeleeToken",1)	
    LGFV I 5 A_SkelFist
    Goto See
  Melee2:
    TNT1 A 0 A_FaceTarget
    LGFV R 5 A_SkelWhoosh
    LGFV S 5 A_FaceTarget
	TNT1 A 0 A_TakeInventory("FamineMeleeToken",1)	
    LGFV T 5 A_SkelFist
    Goto See
  Missile:
    TNT1 A 0 A_JumpIfCloser(275,"DashPunch")
  Normal:		
    LGFV J 14 Bright A_FaceTarget
    TNT1 A 0 A_CustomMissile("LegSoullessTracer", 40, -14, 0)
    LGFV K 10 A_CustomMissile("LegSoullessTracer", 40, 14, 0) 
	LGFV K 10
    Goto See
  DashPunch:
    TNT1 A 0 A_Jump(32,"Normal")
    TNT1 A 0 A_JumpIfInventory("FamineMeleeToken",1,"DashPunch2")
	TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_Recoil(-40)
    TNT1 A 0 A_SkelWhoosh	
	LGFV GGGGG 1 A_SpawnItemEx("LegSoullessDashGhostA",0,0,0,0,0,0,0,128)
    TNT1 A 0 A_GiveInventory("FamineMeleeToken",1)
	LGFV HHHHH 1 A_SpawnItemEx("LegSoullessDashGhostA2",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_CustomMissile("LegSoullessDashPunch",32,0,0,CMF_AIMDIRECTION)
	LGFV III 1 A_SpawnItemEx("LegSoullessDashGhostA3",0,0,0,0,0,0,0,128)
	LGFV T 2 A_Stop	
    Goto See
  DashPunch2:
    TNT1 A 0 A_Jump(32,"Normal")
	TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_Recoil(-40)
    TNT1 A 0 A_SkelWhoosh	
	LGFV RRRRR 1 A_SpawnItemEx("LegSoullessDashGhostB",0,0,0,0,0,0,0,128)
    TNT1 A 0 A_TakeInventory("FamineMeleeToken",1)
	LGFV SSSSS 1 A_SpawnItemEx("LegSoullessDashGhostB2",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_CustomMissile("LegSoullessDashPunch",32,0,0,CMF_AIMDIRECTION)
	LGFV TTT 1 A_SpawnItemEx("LegSoullessDashGhostB3",0,0,0,0,0,0,0,128)
	LGFV T 2 A_Stop
    Goto See	
  Pain:
    TNT1 A 0 A_Jump(42,"PainEvade","PainEvade2")
    TNT1 A 0 A_Jump(104,"MissilePain")
    LGFV L 10 A_Pain
    Goto See
  PainEvade:
	TNT1 A 0 A_Pain
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	TNT1 A 0 ThrustThing(Angle*256/360+64,20,0,0)
    LGFV AAAAAAAA 1 A_SpawnItemEx("LegSoullessGhost",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_Jump(62,"Missile")
	Goto See
  PainEvade2:
	TNT1 A 0 A_Pain
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	TNT1 A 0 ThrustThing(Angle*256/360+192,20,0,0)
    LGFV AAAAAAAA 1 A_SpawnItemEx("LegSoullessGhost",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_Jump(62,"Missile")
	Goto See
  MissilePain:
	LGFV L 10 A_Pain
    Goto Missile
  Death:
  XDeath:
    TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_JumpIfInventory("FamineDeathToken",1,"TrueDeath")
	TNT1 A 0 A_Die
	TNT1 A 0 A_NoBlocking
	//TNT1 A 0 A_Jump(84,"FakeDeath")
  TrueDeath:
	TNT1 A 0 A_Jump(128,2,3,4)
	TNT1 A 0 A_SpawnItemEx("LegendaryBossLifeEssence",0,0,12,0,0,0,0,0,200)
	TNT1 A 0 A_SpawnItemEx("LegendaryBossArmorBonusMax",0,0,12,0,0,0,0,0,200)
    LGFX A 5 Bright
	TNT1 AAA 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 40, 0, 0, 0, 0, 128)
    LGFX B 5 Bright A_Scream
    LGFX C 5 Bright
	LGFX D 5 Bright A_CustomMissile("LegArchonSoul",72,0,0,2,90)
	TNT1 AAAA 0 A_CustomMissile("SmokeFX", Random(30,60), 0, random(0,360), 2, random(0,360))
	LGFX EFGH 4 Bright
	LGFX I 4 A_SpawnItem("BodyCrash",0,0,0,0)
	LGFX J 4 A_TakeInventory("FamineDeathToken",1)
    LGFX K -1
    Stop
  FakeDeath:
    LGFV L 7 A_GiveInventory("FamineDeathToken",1)
	LGFV MNO 7
    LGFV P 7 A_SpawnItem("BodyCrash",0,0,0,0)
    TNT1 A 0 A_Jump(128,2,3,4,5)
    LGFV QQQQQ 100
	TNT1 A 0 A_CustomMissile("FamineResurrection",0,0,0)
	LGFV Q -1
	Stop
  Raise:/*
 	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("LegCrusaderHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    LGFV PONML 5
    Goto See*/
	Stop
    }
}

ACTOR LegSoullessDashGhostA
{
Scale 0.8
RENDERSTYLE Translucent
Alpha 0.75
+CLIENTSIDEONLY
+NOINTERACTION
+NOTIMEFREEZE
States
{
Spawn:
    LGFV G 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegSoullessDashGhostA2 : LegSoullessDashGhostA
{
States
{
Spawn:
    LGFV H 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegSoullessDashGhostA3 : LegSoullessDashGhostA
{
States
{
Spawn:
    LGFV I 2 A_FadeOut(0.18)
    Loop
    }
}


ACTOR LegSoullessDashGhostB : LegSoullessDashGhostA
{
States
{
Spawn:
    LGFV R 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegSoullessDashGhostB2 : LegSoullessDashGhostA
{
States
{
Spawn:
    LGFV S 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegSoullessDashGhostB3 : LegSoullessDashGhostA
{
States
{
Spawn:
    LGFV T 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegSoullessGhost : LegSoullessDashGhostA
{
States
{
Spawn:
    LGFV A 2 A_FadeOut(0.12)
    Loop
    }
}

ACTOR LegSoullessDashPunch : FamineDashPunch
{
+NOTIMEFREEZE
}

ACTOR LegSoullessTracer : FamineTracer
{
Speed 15
FastSpeed 20
Renderstyle Add
Alpha 0.9
+NOTIMEFREEZE
Damagetype "Legendary1"
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump(64,"Homing")
Normal:
    IMSO AB 2 Bright
	Loop
Homing:
	TNT1 A 0 A_Jump(128,1,3,5,7,9)
    IMSO ABABABABAB 2 Bright
	Goto StartSeek
StartSeek:
    TNT1 A 0 Bright A_SpawnItemEx("LegSoullessTracerTrail") 
    IMSO A 2 Bright	A_Tracer2
	IMSO B 2 Bright A_SpawnItemEx("LegSoullessTracerTrail") 
	Loop
Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("LegendaryKaboom6", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 A 0 A_SetScale(0.75)
	IMSO CDEFGHIJKL 2 Bright A_FadeOut(0.05)
    Stop
    }
}

ACTOR LegSoullessTracerTrail : BFG9500Trail
{
Scale 0.65
States
{
Spawn:
	TNT1 A 2
	LCFT ABCDE 2 Bright A_FadeOut(0.2)
	Stop
	}
}
/*
Actor DKLegendaryRevenant : LegendaryRevenant
{
Species "Viles"
DamageFactor "VilesFire", 0
DamageFactor "NobleComet", 0
DamageFactor "CadaverRocket", 0
DamageFactor "CacoComet", 0
DamageFactor "BeheComet", 0
DamageFactor "Baby15K", 0
DamageFactor "Cyber10K", 0
DamageFactor "Masterminds", 0
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "ImpComet", 0.0
+MissileEvenMore
+THRUSPECIES
+NOINFIGHTING
+DONTHURTSPECIES
+DONTHARMSPECIES
States
{
Spawn:
LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))
LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))  
LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))
LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))
LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))
LREV PONML 10
Idle:
LREV A 10 A_Look
Loop
}
}*/