actor Azazel
{
//$Category Stronghold_Monsters
spawnid 216
painchance "Stunner", 128

    Health 2400
    Radius 22
    Height 64
    Speed 12
    PainChance 20
    Mass 1500
    MONSTER 
    +FLOORCLIP
    +MISSILEEVENMORE
    +MISSILEMORE
    +NORADIUSDMG
    MinMissileChance 20
    SeeSound "diablo2/goatman/sight"
    PainSound "diablo2/goatman/pain"
    DeathSound "Goat/death"
    ActiveSound "diablo2/goatman/idle"
    MeleeSound "baron/melee"
    Obituary "%o was slaughtered by Azazel."
    MeleeDamage 8
    States
    {
    Spawn:
        AZEW A 5 A_Look
        Loop
    See:
        AZEW AABBCCDD 3 A_Chase
        Loop
    Missile:
	  TNT1 A 0 A_Jump(64,"MDoubleSerie")
	  TNT1 A 0 A_Jump(128,"MRightHand")
    MLeftHand:
	  TNT1 A 0 A_PlaySound("Goat/Attack")
	  AZEA D 4 A_FaceTarget
	  AZEA E 4 A_FaceTarget
	  AZEA F 7 A_CustomMissile("SatyrLordMissile1",32,-5,0)
	  Goto see
    MRightHand:
	  TNT1 A 0 A_PlaySound("Goat/Attack")
	  AZEA A 4 A_FaceTarget
	  AZEA B 4 A_FaceTarget
	  AZEA C 7 A_CustomMissile("SatyrLordMissile2",32,5,0)
	  Goto see	
    MDoubleSerie:
	  TNT1 A 0 A_PlaySoundEx("missile1charge","SoundSlot5")
	  TNT1 A 0 A_FaceTarget
	  AZEA D 5 A_SpawnItemEx("SatyrLordMissileDual1Fake",10,-20,60,0,0,0,32)
	  AZEA E 5 A_SpawnItemEx("SatyrLordMissileDual1Fake",10,-9,46,0,0,0,32)
	  AZEA F 6 A_SpawnItemEx("SatyrLordMissileDual1Fake",10,4,28,0,0,0,32)
	  TNT1 A 0 A_PlaySoundEx("missile2charge","SoundSlot6")
	  TNT1 A 0 A_FaceTarget
	  AZEA A 5 A_SpawnItemEx("SatyrLordMissileDual2Fake",10,20,60,0,0,0,32)
	  AZEA B 5 A_SpawnItemEx("SatyrLordMissileDual2Fake",10,9,46,0,0,0,32)
	  AZEA C 6 A_SpawnItemEx("SatyrLordMissileDual2Fake",10,-4,28,0,0,0,32)
	  TNT1 A 0 A_PlaySound("Goat/Attack")
	  TNT1 A 0 A_FaceTarget
	  AZEA D 5 A_CustomMissile("SatyrLordMissileDual1Real",60,-20,0)
	  AZEA E 5 A_CustomMissile("SatyrLordMissileDual1Real",46,-9,0)
	  AZEA F 6 A_CustomMissile("SatyrLordMissileDual1Real",28,4,0)
	  TNT1 A 0 A_PlaySound("Goat/Attack")
	  TNT1 A 0 A_FaceTarget
	  AZEA A 5 A_CustomMissile("SatyrLordMissileDual2Real",60,20,0)
	  AZEA B 5 A_CustomMissile("SatyrLordMissileDual2Real",46,9,0)
	  AZEA C 6 A_CustomMissile("SatyrLordMissileDual2Real",28,-4,0)
	  Goto see  
    Melee:
	  TNT1 A 0 A_Jump(128,"Melee2")
	  TNT1 A 0 A_PlaySound("Goat/Attack")
        AZEA AB 7 A_FaceTarget
        AZEA C 7 A_MeleeAttack
	  Goto See
    Melee2:
	  TNT1 A 0 A_PlaySound("Goat/Attack")
        AZEA DE 7 A_FaceTarget
        AZEA F 7 A_MeleeAttack
        Goto See
    Pain:
    	TNT1 A 0 A_Jump(64,"Paincounteratk")
        AZEP A 2
        AZEP A 6 A_Pain
        Goto See
    Paincounteratk:
    	AZEP A 2
        AZEP A 2 A_Pain
	  TNT1 A 0 HealThing(random(10,120))
	  AZEP A 1 A_CustomMissile("SLGroundFire",0,0,0)
	  AZEP A 1 A_CustomMissile("SLGroundFire",0,0,45)
	  AZEP A 1 A_CustomMissile("SLGroundFire",0,0,-45)
	  AZEP A 1 A_CustomMissile("SLGroundFire",0,0,90)
	  AZEP A 1 A_CustomMissile("SLGroundFire",0,0,-90)
	  AZEP A 1 A_CustomMissile("SLGroundFire",0,0,135)
	  AZEP A 1 A_CustomMissile("SLGroundFire",0,0,-135)
	  AZEP A 1 A_CustomMissile("SLGroundFire",0,0,180)
	  AZEP A 4
        Goto See
        Goto See
    Pain.Stunner:
       AZEP A 2 A_ChangeFlag("NoPain", 1)
       AZEP A 300 A_Pain
       AZEP A 0 A_ChangeFlag("NoPain", 0)
       goto See     
    Death:
        TNT1 A 0 A_GiveToTarget("AwardItem", 24)
        AZED A 5
        AZED B 5 A_Scream
        AZED C 5
        AZED D 4 A_Fall
        AZED E 4
        AZED F 3
        AZED G 3000
        AZED GGGGGGGGGGGG 2 A_FadeOut(0.1)
        Stop
    }
}


actor SLGroundFire
{
	Projectile
	Speed 12
	Damage 1
	+RIPPER
	Scale 0.4
	+FLOORHUGGER
	SeeSound "groundfirestart"
	RenderStyle Add
	Alpha 0.9
	Decal Scorch
	States
	{
	Spawn:
		FX03 B 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 C 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 D 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 E 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 F 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 G 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 H 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 I 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 J 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 K 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 L 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 M 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 N 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 O 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 P 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 Q 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 R 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 S 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 T 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 U 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 V 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 W 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 X 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		FX03 Y 2 A_SpawnItemEx("SLGFXtraSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_Explode(16,16,0)
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}


Actor SLGFXtraSpawner
{
	+NOCLIP
	RenderStyle None
	States
	{
	Spawn:
		TNT1 A 0
		PLAY AAA 0 A_SpawnItemEx("SLGFXtra",0,0,0,random(3,-3),random(3,-3),random(3,-3),0)
		Stop
	}
}

Actor SLGFXtra
{
	Projectile
	Damage 0
	+NOCLIP
	Speed 0
	Radius 1
	+DONTBLAST
	Height 1
	Scale 0.09
	RenderStyle Add
	States
	{
	Spawn:
		STAR P 3 Bright
		STAR P 0 A_Jump(128,1)
		Loop
		STAR P 3 Bright
		STAR P 1 Bright A_FadeOut
		Wait
	Death:
		TNT1 A 1
		Stop
	}
}

//*************************************************
//*************************************************
Actor SatyrLordMissile1
{
	Projectile
	Radius 8
	Height 16
	Speed 14
	Damage 10
	Scale 0.65
	RenderStyle Add
	SeeSound "redballbsee"
	DeathSound "redballbdeth"
	Translation "192:207=172:191"
	Decal PlasmaScorchLower
	States
	{
	Spawn:
		ANFB AAA 1 Bright A_SpawnItemEx("SLM1Trail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		ANFB BBB 1 Bright A_SpawnItemEx("SLM1Trail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		ANFB CCC 1 Bright A_SpawnItemEx("SLM1Trail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		Loop
	Death:
		ANFB DEFG 3 Bright
		Stop
	}
}


Actor SLM1Trail
{
	Projectile
	-NOGRAVITY
	Gravity 0.4
	+NOCLIP
	Damage 0
	RenderStyle Add
	Alpha 0.8
	Scale 0.5
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 ThrustThingZ(0,random(-3,8),0,1)
		SHTR ABCDDE 3 Bright
		SHTR F 1 Bright A_FadeOut(0.1)
		Wait
	}
}




//*************************************************
//*************************************************
Actor SatyrLordMissile2
{
	Speed 10
	damage 8
	scale 0.35
	radius 6
	height 12
	RENDERSTYLE ADD
	Alpha 0.75
	PROJECTILE
	+SEEKERMISSILE
	seesound "whiteballbsee"
	deathsound "whiteballbdeth"
	states
	{
	Spawn:
		PSMM A 2 Bright A_SeekerMissile(10,10)
		TNT1 A 0 A_SpawnItemEx("SLM2Trail",0,0,0,0,0,0,0,128)
		PSMM A 2 Bright A_SeekerMissile(10,10)
		TNT1 A 0 A_SpawnItemEx("SLM2Trail",0,0,0,0,0,0,0,128)
		PSMM B 2 Bright A_SeekerMissile(10,10)
		TNT1 A 0 A_SpawnItemEx("SLM2Trail",0,0,0,0,0,0,0,128)
		PSMM B 2 Bright A_SeekerMissile(10,10)
		TNT1 A 0 A_SpawnItemEx("SLM2Trail",0,0,0,0,0,0,0,128)
		PSMM C 2 Bright A_SeekerMissile(10,10)
		TNT1 A 0 A_SpawnItemEx("SLM2Trail",0,0,0,0,0,0,0,128)
		PSMM C 2 Bright A_SeekerMissile(10,10)
		TNT1 A 0 A_SpawnItemEx("SLM2Trail",0,0,0,0,0,0,0,128)

		PSMM D 2 Bright A_SeekerMissile(10,10)
		TNT1 A 0 A_SpawnItemEx("SLM2Trail",0,0,0,0,0,0,0,128)
		PSMM E 2 Bright A_SeekerMissile(10,10)
		TNT1 A 0 A_SpawnItemEx("SLM2Trail",0,0,0,0,0,0,0,128)
		PSMM F 2 Bright A_SeekerMissile(10,10)
		TNT1 A 0 A_SpawnItemEx("SLM2Trail",0,0,0,0,0,0,0,128)
		goto Spawn+12
	Death:
		PSMM GGHHIIJJKKLLMM 2 Bright A_FadeOut(0.05)
		stop
	}
}

Actor SLM2Trail
{
	Projectile
	+NOCLIP
	Damage 0
	RenderStyle Add
	Alpha 0.45
	Scale 0.9
	States
	{
	Spawn:
		TNT1 A 2
		PUF2 BDFHJLNPRTVXZ 1
		PUF3 B 1 A_FadeOut(0.2)
		Wait
	}
}

//*************************************************
//*************************************************
Actor SatyrLordMissileDual1Fake
{
	Projectile
	Speed 0
	Scale 0.34
	RenderStyle Add
	SeeSound "waitingballsspawn"
	States
	{
	Spawn:
		MSP2 ABCD 2
		MSP2 ABCD 2
		MSP2 ABCD 2
		MSP2 ABCD 2
		Stop
	Death:
		TNT1 A 1
		Stop
	}
}
Actor SatyrLordMissileDual1Real
{
	Projectile
	Speed 16
	Scale 0.34
	RenderStyle Add
	Damage 12
	Radius 6
	height 12
	SeeSound "redballssee"
	DeathSound "redballsdeth"
	Decal DoomImpScorch
	States
	{
	Spawn:
		MSP2 A 1 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		TNT1 AA 0 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		MSP2 A 1 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		TNT1 AA 0 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		MSP2 B 1 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		TNT1 AA 0 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		MSP2 B 1 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		TNT1 AA 0 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		MSP2 C 1 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		TNT1 AA 0 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		MSP2 C 1 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		TNT1 AA 0 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		MSP2 D 1 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		TNT1 AA 0 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		MSP2 D 1 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		TNT1 AA 0 A_SpawnItemEx("SLMD1RTrail",random(8,-8),0,random(5,-5),0,0,0,0,128)
		Loop
	Death:
		MSP1 GHIJKLMNO 2
		Stop
	}
}

Actor SLMD1RTrail
{
	Projectile
	-NOGRAVITY
	Gravity 0.4
	+NOCLIP
	Damage 0
	RenderStyle Add
	Alpha 0.8
	Scale 0.3
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 ThrustThingZ(0,random(-3,5),0,1)
		SHTR ABCDDE 3 Bright
		SHTR F 1 Bright A_FadeOut(0.1)
		Wait
	}
}

Actor SatyrLordMissileDual2Fake
{
	Projectile
	Speed 0
	Scale 0.8
	RenderStyle Add
	Alpha 0.75
	SeeSound "waitingballsspawn"
	Translation "112:127=80:111"
	States
	{
	Spawn:
		CSSF DEDE 2 Bright
		CSSF DEDE 2 Bright
		CSSF DEDE 2 Bright
		CSSF DEDE 2 Bright
		Stop
	Death:
		TNT1 A 1
		Stop
	}
}
Actor SatyrLordMissileDual2Real
{
	Projectile
	Speed 14
	Radius 6
	Damage 6
	Scale 0.8
	RenderStyle Add
	Alpha 0.75
	+SeekerMissile
	Translation "112:127=80:111"
	SeeSound "whiteballssee"
	DeathSound "whiteballsdeth"
	height 12
	Decal PlasmaScorchLower
	States
	{
	Spawn:
		CSSF D 1 Bright A_SeekerMissile(5,10)
		TNT1 AAA 0 A_SpawnItemEx("SLMD2RTrail",random(5,-5),0,random(5,-5),0,0,0,0,128)
		CSSF D 1 Bright A_SeekerMissile(5,10)
		TNT1 AAA 0 A_SpawnItemEx("SLMD2RTrail",random(5,-5),0,random(5,-5),0,0,0,0,128)
		CSSF E 1 Bright A_SeekerMissile(5,10)
		TNT1 AAA 0 A_SpawnItemEx("SLMD2RTrail",random(5,-5),0,random(5,-5),0,0,0,0,128)
		CSSF E 1 Bright A_SeekerMissile(5,10)
		TNT1 AAA 0 A_SpawnItemEx("SLMD2RTrail",random(5,-5),0,random(5,-5),0,0,0,0,128)
		Loop
	Death:
		CSSF GHI 4 Bright 
		CSSF I 1 Bright A_FadeOut
		Wait
	}
}

Actor SLMD2RTrail
{
	Projectile
	Speed 0
	Damage 0
	+NOCLIP
	RenderStyle Add
	Alpha 0.5
	Scale 0.25
	States
	{
	Spawn:
		PUF2 BCDEFGHIJKL 1 
		PUF2 L 1 A_FadeOut(0.2)
		Wait
	}
}