Actor WickedDamagefactors : PowerProtection
{ Damagefactor Normal, 0.5
  Powerup.Duration -99}

Actor WickedDamagefactors2 : PowerProtection
{ Damagefactor Normal, 0.35
  Powerup.Duration -99}
Actor Wicked
{
Monster
Health 80
Height 41
Radius 11
Scale 0.45
Mass 200 
Speed 6
FloatSpeed 6
FastSpeed 6
ReactionTime 23
Painchance "SatanGuard", 0
Painchance "BloodElemental", 0
Painchance "Broat", 0
PainChance 100
Damage (random(7,10))
+Float
+NoGravity
+FloorClip
+MissileMore
+DONTHARMSPECIES
Species "EleSouls"
Species "Souls"
DamageType "Wickruel"
//No Infighting
Damagefactor "Wickruel", 0.0
Damagefactor "Wicked", 0.0
Damagefactor "BloodSkull", 0.0
Damagefactor "BloodElemental", 0.0
Damagefactor "Broat", 0.0
DamageFactor "SoulToxic", 0.0
DamageFactor "BombBreath", 0.0
Damagefactor "EleSouls", 0.0
DropItem "LifeEssence", 180
DropItem "HEMArmorBonusMax1", 180
SeeSound "monster/wiksit"
ActiveSound "monster/wikact"
PainSound "monster/wikpai"
DeathSound "monster/wikdth"
Obituary "%o was set ablaze by a Wicked."
HitObituary "%o got a Wicked to the head."
Tag "\c[m9]Wicked\c-"
States
  {
  Spawn:
	WICK ABCD 5 A_Look
	Loop
  See:
	WICK AAA 1 A_Chase("","")
	WICK A 1 A_Chase
	WICK BBB 1 A_Chase("","")
	WICK B 1 A_Chase
	WICK CCC 1 A_Chase("","")
	WICK C 1 A_Chase
	WICK DDD 1 A_Chase("","")
	WICK D 1 A_Chase
	TNT1 A 0 A_Jump(20,"Dodge")
	TNT1 A 0 A_FastChase
	Loop
  See:
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,3)
	TNT1 A 0 A_GiveInventory("WickedDamagefactors",1)
	TNT1 A 0 A_ChangeFlag(Thruspecies,1)
	WICK AAA 1 A_Chase("","")
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,3)
	TNT1 A 0 A_Chase("","",CHF_FASTCHASE)
	TNT1 A 0 A_Jump(42,"Dodge")
	WICK A 1 A_Chase
	WICK BBB 1 A_Chase("","")
	WICK B 1 A_Chase
	WICK CCC 1 A_Chase("","")
	WICK C 1 A_Chase
	WICK DDD 1 A_Chase("","")
	WICK D 1 A_Chase
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Jump(92,"Dodge")
	TNT1 A 0 A_Jump(20,"Dodge")
	TNT1 A 0 A_Chase("","",CHF_FASTCHASE)
	Loop
  Dodge:
	TNT1 A 0 A_Jump(255,"Right","Left","Back","BackLeftRange","BackRightRange")
	GoTo See
  Right:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+64,30,0,0)
	WICK A 5
	GoTo See
  Left:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+192,30,0,0)
	WICK A 5
	GoTo See
  Back:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+128,30,0,0)
	WICK A 5
	GoTo See
  BackLeftRange:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+random(133,187),30,0,0)
	WICK A 5
	GoTo See
  BackRightRange:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+random(69,123),30,0,0)
	WICK A 5
	GoTo See
  Missile:
	WICK I 1 A_PlaySound("monster/wikatk")
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,"Missile.Hard")
	TNT1 A 0 A_Jump(138,"Ram")
	TNT1 A 0 A_Jump(80,"Homer")
  Normal:
	WICK IIII 1 A_FaceTarget
	WICK JJJJKK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	WICK L 8
	Goto See
  Homer:
	WICK IIII 1 A_FaceTarget
	WICK JJJJKK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedHomer",28,0,random(-2,2))
	WICK L 12
	GoTo See
  Ram:
	WICK EEEFFFGGGHEG 1 A_FaceTarget
	WICK G 1 A_SkullAttack(18)
  LoopRam:
	WICK FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1 A_SpawnItem("WickedGhost")
	WICK F 1 A_Stop
	GoTo See
  Missile.Hard:
	TNT1 A 0 A_Jump(138,"Ram")
	TNT1 A 0 A_Jump(80,"Homer.Hard")
  Hard:
	WICK IIII 1 A_FaceTarget
	WICK JJJJKK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	TNT1 A 0 A_CustomMissile("WickedHomer",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	TNT1 A 0 A_CustomMissile("WickedHomer",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	TNT1 A 0 A_CustomMissile("WickedHomer",28,0,random(-2,2))
	WICK KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedShot",28,0,random(-2,2))
	WICK L 8
	TNT1 A 0 A_Jump(82,"Ram")
	Goto See
  Homer.Hard:
	WICK IIII 1 A_FaceTarget
	WICK JJJJKK 1 BRIGHT A_FaceTarget  
	TNT1 AAA 0 A_CustomMissile("WickedHomer",28,0,random(-2,2))
	WICK L 12
	TNT1 A 0 A_Jump(82,"Ram")
	GoTo See
  Pain:
	WICK M 3 A_Pain
	WICK M 4
	GoTo See
  XDeath:
  Death:
	TNT1 A 0
	WICK N 5 A_Scream
	WICK OP 5
	TNT1 A 0 A_SpawnItemEx("GibbedGenerator",0,0,20)
	TNT1 A 0 A_SpawnItemEX("WickedTorso",0,0,41,-7,0,4)
	WICT A 5 A_Fall
	TNT1 A 0 A_ChangeFlag(SOLID,0)
	TNT1 A 0 A_ChangeFlag(THRUACTORS,1)
	TNT1 A 0 A_TakeInventory("Tic",999999)
  Fall:
	WICT B 1 A_CheckFloor("Land")
	TNT1 A 0 A_JumpIfInventory("Tic",525,"Land")
	TNT1 A 0 A_GiveInventory("Tic",1)
	Loop
  Land:
	TNT1 A 0
	TNT1 A 0 A_TakeInventory("Tic",999999)  
	TNT1 A 0 A_ChangeFlag(CORPSE,1)
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(SOLID,0)
	TNT1 A 0 A_ChangeFlag(THRUACTORS,0)
	TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
	WICT CDEF 5
	WICT G 525
  Fade:
	WICT G 5 A_FadeOut(0.1,1)
	Loop
  }
}

Actor CruelBall : NewDoomImpBall
{
 Damage 2
 Damagetype Wickruel
}

Actor WickedHomer : CruelBall
{
BounceCount 3
BounceFactor 1.1
+SeekerMissile
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_Jump(120,"Weave","Slither")
	TNT1 A 0 Bright A_Jump(65,"Bounce")
  Normal:
	BAL8 AB 1 Bright A_SpawnItemEx("DoomImpBallTrail",0,0,RANDOM(-3,3),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 Bright A_SeekerMissile(8,10)
	Loop
  Weave:
	BAL8 A 1 Bright A_SpawnItemEx("DoomImpBallTrail",0,0,RANDOM(-3,3),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 AA 0 Bright A_BishopMissileWeave
	BAL8 B 1 Bright A_SpawnItemEx("DoomImpBallTrail",0,0,RANDOM(-3,3),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 AA 0 Bright A_BishopMissileWeave
	TNT1 A 0 Bright A_SeekerMissile(8,10)
	Loop
  Slither:
	BAL8 A 1 Bright A_SpawnItemEx("DoomImpBallTrail",0,0,RANDOM(-3,3),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 AA 0 Bright A_CStaffMissileSlither
	BAL8 B 1 Bright A_SpawnItemEx("DoomImpBallTrail",0,0,RANDOM(-3,3),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 AA 0 Bright A_CStaffMissileSlither
	TNT1 A 0 Bright A_SeekerMissile(8,10)
	Loop
  Bounce:
	BAL8 A 1 Bright A_ChangeFlag(HexenBounce,1)
	TNT1 A 0 Bright A_Jump(128,"Weave","Slither")
	GoTo Normal
  }
}

Actor WickedShot : DoomImpBall
{
  FastSpeed 21
  Scale 0.65
  Speed 17
  Decal DoomImpScorch
  Damagetype Wickruel
  Damage 1
States
  {
  Spawn:
	FDMB A 1 Bright A_SpawnItemEx("WickedFX",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	Loop
  Death:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 AAA 0 A_CustomMissile("Kaboom9",0,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))
	FDMB BCDE 3 Bright
	Stop
  }
}

Actor WickedFX
{
Scale 0.65
RENDERSTYLE Add
+FORCEXYBILLBOARD
+NOINTERACTION
+CLIENTSIDEONLY
+NONETID
States
  {
  Spawn:
	TNT1 A 1 Bright
	FDMB A 1 Bright A_FadeOut(0.1,1)
	Goto Spawn+1
  }
}

Actor WickedGhost
{
Radius 2
Height 41
Scale 0.45
Alpha 0.7
RENDERSTYLE Translucent
+NOINTERACTION
+CLIENTSIDEONLY
+NONETID
States
  {
  Spawn:
	TNT1 A 1 Bright
	WICK F 2 A_FadeOut(0.1,1)
	Goto Spawn+1
  }
}

Actor WickedTorso
{
Mass 1000000
Radius 1
Height 1
Scale 0.45
+IsMonster
+Corpse
+FloorClip
+THRUACTORS
+NOBLOCKMAP
States
  {
  Spawn:
	WICK Q 5 A_PlaySound("monster/tenpn1")
	WICK R 525
  Crash:
	WICK S 1
	WICK S 4 A_PlaySound("monster/tenpn2")
	WICK TUV 5
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
	WICK W 525
  Fade:
	WICK W 5 A_FadeOut(0.1,1)
	Loop
  }
}

Actor CruelGhost : WickedGhost
{
Height 48
Scale 0.6
States
  {
  Spawn:
	TNT1 A 1
	CRUL F 2 A_FadeOut(0.1,1)
	Goto Spawn+1
  }
}

Actor CruelTorso
{
Mass 1000000
Radius 1
Height 1
Scale 0.6
+IsMonster
+Corpse
+FloorClip
+THRUACTORS
+NOBLOCKMAP
States
  {
  Spawn:
	CRUL Q 5 A_PlaySound("monster/tenpn1")
	CRUL R 525
  Crash:
	CRUL S 1
	CRUL S 4 A_PlaySound("monster/tenpn2")
	CRUL TUV 5
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
	CRUL W 525
  Fade:
	CRUL W 5 A_FadeOut(0.1,1)
	Loop
  }
}

Actor Cruel : Wicked
{
Health 100
Height 48
Radius 16
Mass 300
Scale 0.6
Bloodcolor Black
Damage (random(17,20))
DropItem "LifeEssence" 195 5
DropItem "HEMArmorBonusMax3" 250
Obituary "%o was charred by a Cruel."
HitObituary "%o was rammed by a Cruel."
States
  { 
  Spawn:
	CRUL ABCD 5 A_Look
	Loop
  See:
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,3)
	TNT1 A 0 A_GiveInventory("WickedDamagefactors2",1)
	TNT1 A 0 A_ChangeFlag(Thruspecies,1)
	CRUL AAAABBBB 1 A_Chase
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,3)
	TNT1 A 0 A_Chase("","",CHF_FASTCHASE)
	TNT1 A 0 A_Jump(42,"Dodge")
	TNT1 A 0 A_Chase("","",CHF_FASTCHASE)
	CRUL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,3)
	TNT1 A 0 A_Chase("","",CHF_FASTCHASE)
	TNT1 A 0 A_Jump(42,"Dodge")
	TNT1 A 0 A_Chase("","",CHF_FASTCHASE)
	TNT1 A 0 A_Jump(20,"Dodge")
	Loop
  Dodge:
	TNT1 A 0
	TNT1 A 0 A_Jump(255,"Right","Left","Back","BackLeftRange","BackRightRange")
	GoTo See
  Right:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+64,30,0,0)
	CRUL A 5
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,"See")
	TNT1 A 0 A_Jump(42,"Missile")
	GoTo See
  Left:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+192,30,0,0)
	CRUL A 5
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,"See")
	TNT1 A 0 A_Jump(42,"Missile")
	GoTo See
  Back:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+128,30,0,0)
	CRUL A 5
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,"See")
	TNT1 A 0 A_Jump(42,"Missile")
	GoTo See
  BackLeftRange:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+random(133,187),30,0,0)
	CRUL A 5
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,"See")
	TNT1 A 0 A_Jump(42,"Missile")
	GoTo See
  BackRightRange:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+random(69,123),30,0,0)
	CRUL A 5
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,"See")
	TNT1 A 0 A_Jump(42,"Missile")
	GoTo See
  Missile:
	CRUL I 1 A_PlaySound("monster/wikatk")
	TNT1 A 0 A_Jump(138,"Ram")
	TNT1 A 0 A_Jump(80,"Homer")
	Goto Normal
  Normal:
	CRUL IIII 1 A_FaceTarget
	CRUL JJJJKK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("CruelBall",34,0,random(-2,2))
	CRUL LKK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("CruelBall",34,0,random(-2,2))
	CRUL LKK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("CruelBall",34,0,random(-2,2))
	CRUL LKK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("CruelBall",34,0,random(-2,2))
	CRUL LKK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("CruelBall",34,0,random(-2,2))
	CRUL L 8
	Goto See
  Homer:
	CRUL IIII 1 A_FaceTarget
	CRUL LLL 1 A_FaceTarget  
	CRUL KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedHomer",34,0,random(-2,2))
	CRUL LLL 1 A_FaceTarget  
	CRUL KK 1 BRIGHT A_FaceTarget  
	TNT1 A 0 A_CustomMissile("WickedHomer",34,0,random(-2,2))
	CRUL LLL 1 A_FaceTarget  
	CRUL L 12
	GoTo See
  Ram:
	CRUL EEEFFFGGGHEG 1 A_FaceTarget
	CRUL G 1 A_SkullAttack(22)
	Goto LoopRam
  LoopRam:
	CRUL FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1 A_SpawnItem("CruelGhost")
	CRUL F 1 A_Stop
	GoTo See
  Pain:
    CRUL M 3 A_Pain
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,2)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Jump(118,"Dodge")
	CRUL M 4
	GoTo See
  XDeath:
  Death:
	TNT1 A 0
	CRUL N 5 A_Scream
	CRUL OP 5
	TNT1 A 0 A_SpawnItemEx("BlackGibbedGenerator",0,0,20,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEX("CruelTorso",0,0,48,-7,0,4)
	CRUT A 5 A_Fall
	TNT1 A 0 A_ChangeFlag(SOLID,0)
	TNT1 A 0 A_ChangeFlag(THRUACTORS,1)
	TNT1 A 0 A_TakeInventory("Tic",999999)
	Goto Fall
  Fall:
	CRUT B 1 A_CheckFloor("Land")
	TNT1 A 0 A_JumpIfInventory("Tic",525,"Land")
	TNT1 A 0 A_GiveInventory("Tic",1)
	Loop
  Land:
	TNT1 A 0
	TNT1 A 0 A_TakeInventory("Tic",999999)  
	TNT1 A 0 A_ChangeFlag(CORPSE,1)
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(SOLID,0)
	TNT1 A 0 A_ChangeFlag(THRUACTORS,0)
	TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
	CRUT CDEF 5
	CRUT G 525
	Goto Fade
  Fade:
	CRUT G 5 A_FadeOut(0.1,1)
	Loop
  }
}