Actor Draugr
{
Monster
Health 900
Mass 800
Height 56
Radius 18
Speed 4
YScale 0.78
XScale 0.7
BloodColor "Green"
MeleeRange 360
Reactiontime 25
Painchance "Mine", 128
Painchance 28
+FLOORCLIP
+AvoidMelee
+MISSILEMORE
+MissileEvenMore
+DONTHARMSPECIES
Species "Skeletons"
Damagetype "Draugr"
DamageFactor "Acid", 0.8
DamageFactor "Fire", 0.1
//No infighting
DamageFactor "Revenant", 0.0
DamageFactor "Draugr", 0.0
DamageFactor "SoulToxic", 0.0
DropItem "BossLifeEssence", 200, 8
DropItem "NemesisArmorBonus8", 200
DropItem "Missile", 250, 10
DropItem "MineAmmo", 180, 2
DropItem "HandGrenadeAmmo", 200, 6
DropItem "AmmoPack", 190, 3
Seesound "SUPA6"
Activesound "SUPA6"
Painsound "SUPA5"
Deathsound "DraugrDie"
Obituary "%o was erradicated by a Draugr."
Tag "\cqDraugr\c-"
States
  {
  Spawn:
	DRAU A 10 A_Look
	Loop
  See:
	DRAU AAAA 1 A_Chase("","")
	DRAU AA 1 A_Chase
	DRAU BBBB 1 A_Chase("","")
	DRAU BB 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
	DRAU CCCC 1 A_Chase("","")
	DRAU CC 1 A_Chase
	DRAU DDDD 1 A_Chase("","")
	DRAU DD 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
	TNT1 A 0 Healthing(1)
	Loop
  HardChoice:
	TNT1 A 0 A_Jump(110,"Meteors")
	TNT1 A 0 A_Jump(89,"Grenades")
	TNT1 A 0 A_Jump(52,"PyroRockets")
	Goto Normal
  Missile:
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 //A_CustomMissile("BribeCaco",1,0,0,2,-90)
	TNT1 A 0 A_Jump(128,"Meteors")
	TNT1 A 0 A_Jump(80,"Grenades")
	TNT1 A 0 A_Jump(25,"PyroRockets")
  Normal:
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,"Hard")
	DRAU EEEEEEEEEE 1 A_FaceTarget(45)
	DRAU FFF 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,-11,random(-7,7))
	DRAU GGG 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,-11,random(-7,7))
	DRAU FFF 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,-11,random(-7,7))
	DRAU GGG 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,-11,random(-7,7))
	DRAU FFF 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,-11,random(-7,7))
	DRAU GGG 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,-11,random(-7,7))
	DRAU FFF 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,-11,random(-7,7))
	DRAU GGG 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket",44,-11,random(-7,7))
	DRAU E 9
	GoTo See
  Meteors:
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,"Meteors.Hard")
	DRAU EEEEEEEEEE 1 A_FaceTarget(45)
	DRAU FFF 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("DraugrMeteor",44,11,0)
	TNT1 A 0 A_CustomMissile("DraugrMeteor",44,-11,0)
	DRAU E 15
	GoTo See
  PyroRockets:
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,"PyroRockets.Hard")
	DRAU IIIIIIIIIIIII 1 A_FaceTarget(45)
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("DraugrMissile",44,0,random(-5,5))
	DRAU IIIIIIIII 1 A_FaceTarget
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("DraugrMissile",44,0,random(-5,5))
	DRAU IIIIIIIII 1 A_FaceTarget
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("DraugrMissile",44,0,random(-5,5))
	DRAU I 18
	GoTo See
  Grenades:
	TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,"Grenades.Hard")
	DRAU IIIIIIIIII 1 A_FaceTarget(45)
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/GrenadeFire")
	TNT1 A 0 A_CustomMissile("DraugrGrenade",44,0,random(-5,5))
	DRAU I 18
	GoTo See

  Hard:
	DRAU EEEEEEEEEE 1 A_FaceTarget
  HardLoop:
	DRAU FFF 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket2",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket2",44,-11,random(-7,7))
	DRAU GGG 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("RevMiniRocket2",44,11,random(-7,7))
	TNT1 A 0 A_CustomMissile("RevMiniRocket2",44,-11,random(-7,7))
	TNT1 A 0 A_Jump(11,3)
	TNT1 A 0 A_JumpIfTargetInLOS("HardLoop",130,0,600)
	TNT1 A 0 A_Jump(16,1)
	Loop
	DRAU E 9
	GoTo See
  Meteors.Hard:
	DRAU EEEEEEEEEE 1 A_FaceTarget
	DRAU FFF 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("DraugrMeteor",44,11,0)
	TNT1 A 0 A_CustomMissile("DraugrMeteor",44,-11,0)
	DRAU EE 1 A_FaceTarget
	DRAU GGG 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("DraugrMeteor",44,11,0)
	TNT1 A 0 A_CustomMissile("DraugrMeteor",44,-11,0)
	DRAU E 15
	Goto See
  PyroRockets.Hard:
	DRAU IIIIIIIIIIIII 1 A_FaceTarget
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("DraugrScan",10,0,0,CMF_ABSOLUTEANGLE|CMF_ABSOLUTEPITCH,0)
	TNT1 A 0 A_CustomMissile("DraugrMissile",44,0,random(-5,5))
	DRAU IIIIIIIII 1 A_FaceTarget
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 AAA 0 A_CustomMissile("DraugrScan",10,0,random(360,0),CMF_ABSOLUTEANGLE|CMF_ABSOLUTEPITCH,0)
	TNT1 A 0 A_CustomMissile("DraugrMissile",44,0,random(-5,5))
	DRAU IIIIIIIII 1 A_FaceTarget
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 AAA 0 A_CustomMissile("DraugrScan",10,0,random(360,0),CMF_ABSOLUTEANGLE|CMF_ABSOLUTEPITCH,0)
	TNT1 A 0 A_CustomMissile("DraugrMissile",44,0,random(-5,5))
	DRAU I 18
	Goto See
  Grenades.Hard:
	DRAU IIIIIIIIII 1 A_FaceTarget
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/GrenadeFire")
	TNT1 A 0 A_CustomMissile("DraugrGrenade",44,0,random(-5,5))
	DRAU III 1 A_FaceTarget
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("DraugrGrenade",44,0,random(-5,5))
	DRAU III 1 A_FaceTarget
	DRAU JJJ 1 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("DraugrGrenade",44,0,random(-5,5))
	DRAU I 18
	Goto See
  Pain:
	TNT1 A 0// A_CustomMissile("BribeCaco",1,0,0,2,-90)
	TNT1 A 0 A_Jump(48,"PainMissile")
	DRAU H 3 A_Pain
	DRAU H 5
	Goto See
  PainMissile:
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	DRAU H 3 A_Pain
	DRAU H 5
	Goto Missile
  Death:
	TNT1 A 0
	DRAU H 4 A_Scream
	DRAU K 3
	DRAU L 3 A_SpawnItemEx("GreenGibbedGenerator",0,0,44)
	DRAU M 4 A_Fall
	DRAU NOPQRSTU 4
	DRAU V 63000 CanRaise
	Stop
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	DRAU UTSRQPONMLK 4
	Goto See
  }
}

Actor DraugrMeteor : GuardianTracer
{
Speed 20
FastSpeed 24
+THRUSPECIES
+DONTHARMSPECIES
}

Actor RevMiniRocket : MiniRocket
{
Species "Skeletons"
Damagetype "Draugr"
}
Actor RevMiniRocket2 : ZMiniRocket
{
 Damagetype "Draugr"
 Species "Skeletons"
}

Actor DraugrMissile : Rocket
{
Speed 26
Damage 24
-ROCKETTRAIL
+THRUSPECIES
+DONTHARMSPECIES
Damagetype "Draugr"
SeeSound "rocket/fire"
States
  {
  Spawn:
	TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(4,6),Random(-2,2)) 
	TNT1 A 0 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(4,6),Random(-2,2)) 
	TNT1 A 0 Bright A_SpawnItemEx("FireSpawnerTail",-3,0,8)
	MIS9 A 1 Bright
	Loop
  Death:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0) 
	TNT1 AAA 0 Bright A_CustomMissile("Kaboom3",0,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 Bright A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(0,360))
	TNT1 AAAA 0 Bright A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,SXF_CLIENTSIDE,0)
	TNT1 A 0 Bright A_Explode(random(120,130),128,0)
	TNT1 AAAAAAAAAA 0 Bright A_CustomMissile("DragurFireSpawner",0,0,random(0,360),2,random(0,360))
	TNT1 A 1 Bright A_SpawnItem("RocketEx")
	Stop
  }
}

Actor DragurFireSpawner : BaseFireSpawner
{
Damage (random(50,60))
Damagetype "Draugr"
States
  {
  Death:
	TNT1 AAA 0 Bright A_StopSound(CHAN_BODY)
	TNT1 A 0 Bright A_Stop
	TNT1 A 0 Bright A_NoGravity
	TNT1 A 0 Bright A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,128)
	TNT1 AA 0 Bright A_CustomMissile("Kaboom69",0,0,random(0,360),2,random(0,360))
	TNT1 AA 0 Bright A_CustomMissile("SmokeFX7",0,0,random(0,360),2,random(0,360))
	TNT1 A 0 Bright A_SpawnItemEx("DragurFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER)
	TNT1 AAAA 0 Bright A_SpawnItemEx("DragurFlare",0,0,0,random(2,4),random(2,4),2,random(0,360),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER)
	FRTM CDE 3 Bright
	Stop
  }
}

Actor DragurFlare : BaseFireFlare
{
Damagetype ""
Damagetype "Draugr"
Obituary "%o was burned down on fire of rockets a Draugr."
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_SetUserVar("user_firedamage",60)
	TNT1 A 0 Bright A_Die
	Goto Death
  }
}

Actor DraugrGrenade
{
Projectile
Height 6
Radius 6
Speed 30
FastSpeed 24
Scale 0.75
Gravity 0.4
Bouncetype Doom
WallBounceFactor 0.25
BounceFactor 0.36
Reactiontime 245
Damage 20
+DONTSPLASH
+THRUSPECIES
+DOOMBOUNCE
-NOGRAVITY
-GRENADETRAIL
-ROCKETTRAIL
+DONTHARMSPECIES
DamageType "Draugr"
SeeSound "Weapons/GrenadeBounce"
DeathSound "Weapons/RockLX"
States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_StopSound
  SpawnLoop:
	GRND A 1 A_CustomMissile("GrenadeTrail",Random(-1,1),Random(-1,1))
	TNT1 A 0 A_Countdown
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0) 
	TNT1 AAA 0 A_CustomMissile("Kaboom3",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,SXF_CLIENTSIDE,0)
	TNT1 AAAAA 0 A_CustomMissile("ExplosiveFrag",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
	TNT1 A 0 A_Explode(random(120,130),128,0)
	TNT1 A 1 A_SpawnItem("RocketEx")
	Stop  
  }
}

Actor ExplosiveFrag
{
PROJECTILE
Height 4
Radius 4
Speed 11
Scale 0.3
Decal "Scorch"
Gravity 1.0
Bouncetype Hexen
BounceFactor 1.05
BounceCount 3
WallBounceFactor 1.05
Reactiontime 245
Damage 1
+HexenBounce
-NOGRAVITY
+DONTHARMSPECIES
DamageType "Draugr"
SeeSound "ZZZFragBounce"
Deathsound "PulseNail/hit"
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_StopSound
  SpawnLoop:
	BALL A 1 Bright
	TNT1 A 0 Bright A_Countdown
	Loop
  Death:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_Explode(35,90,0)
	TNT1 AAA 0 Bright A_SpawnItemEX("Kaboom9",0,0,0,random(-2,2),random(-2,2),random(-2,2),random(0,360))
	 TNT1 AAA 0 Bright A_SpawnItemEX("SmokeFX4",0,0,0,random(-2,2),random(-2,2),random(-2,2),random(0,360))
	 TNT1 A 0 Bright A_SpawnItemEx("OrangeParticleSpawner",0,0,1,0,0,0,0,128)
	   TNT1 A 0 Bright A_SetTranslucent(0.85,1)
	MISL BCD 4 Bright
	Stop
  }
}