Actor Salamander
{
MONSTER
Health 400
Height 60
Radius 18
MASS 800
Speed 5
Painchance 20
BloodColor Orange
BloodType "NewBloodOrange"
MeleeRange 75
Reactiontime 18
Painchance "Mine", 128
Painchance "AdvancedImp", 0
Painchance "Shadow", 0
+FLOORCLIP
+MissileMore
+DONTHARMSPECIES
Species "Imps"
Damagefactor "Acid", 0.7
Damagefactor "AdvancedImp", 0.2
Damagefactor "Shadow", 0.2
//No Infighting
Damagefactor "Fire", 0.0
Damagefactor "Nightshade", 0.0
DamageFactor "AfritComet", 0.0
DamageFactor "HellionFire", 0.0
DropItem "LifeEssence", 200, 8
DropItem "HEMArmorBonusMax8", 200
SeeSound "imp/sight"
ActiveSound "imp/active"
PainSound "imp/pain"
DeathSound "imp/death"
Obituary "%o was roasted by a Magma Salamander."
HitObituary "%o was carved hot by a Magma Salamander."
Tag "\c[x1]Salamander\c-"
States
	{
	Spawn:
		SALA A 10 A_Look
		Loop
	See:
		SALA AAAABBBBCCCCDDDD 1 A_Chase
		TNT1 A 0 A_Jump(15,"Pounce")
		Loop
	Melee:
	Missile:
		TNT1 A 0 A_Jump(120,"Spread")
		TNT1 A 0 A_Jump(70,"Comet")
		SALA EF 3 A_FaceTarget
		TNT1 A 0 A_Jump(60,"Pounce")
		SALA G 4 A_CustomComboAttack("SalamanderBall",40,8,"imp/melee","Melee")
		SALA FEF 3 A_FaceTarget 
		SALA G 4 A_CustomComboAttack("SalamanderBall",40,8,"imp/melee","Melee")
		SALA FEF 3 A_FaceTarget 
		SALA G 4 A_CustomComboAttack("SalamanderBall",40,8,"imp/melee","Melee")
		SALA FE 3
		Goto See
	Spread:
		SALA EF 3 A_FaceTarget
		TNT1 A 0 A_Jump(40,"Pounce")
		SALA G 5 A_CustomMissile("SalamanderBall",40,0,0)
		TNT1 A 0 A_CustomMissile("SalamanderBall",40,0,20)
		TNT1 A 0 A_CustomMissile("SalamanderBall",40,0,-20)
		SALA FE 3
		TNT1 A 0 A_Jump(70,"Comet")
		GoTo See
	Comet:
	    SALA EF 4 A_FaceTarget
		TNT1 A 0 A_Jump(20,"Pounce")
		SALA G 4 A_CustomComboAttack("Comet",40,8,"imp/melee")
		SALA FE 4 A_FaceTarget
		GoTo See
	Pain:
		SALA H 4 A_Pain
		TNT1 A 0 A_Jump(40,"Pounce")
		SALA H 4
		Goto See
	Pounce:
		SALA F 1
		TNT1 A 0 A_Recoil(random(-35,-25))
		TNT1 A 0 ThrustThingZ(0,random(16,8),0,0)
		SALA FF 1
	Flight:
		SALA F 1 A_JumpIf(momz==0,"land")
		Loop
	Land:
		TNT1 A 0 A_JumpIfCloser(75,"Melee")
		SALA F 2 A_Stop
		GoTo See
	Death:
		TNT1 A 0
		SALA I 5
		SALA J 5 A_Scream
		SALA KL 5
		SALA M 5 A_Fall
		TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
		SALA M 63000 CanRaise
		Stop
	XDeath:
		TNT1 A 0
		SALA N 3 A_SpawnItemEx("OrangeGibbedGenerator",0,0,0,0,0,0,0,128,0)
		SALA O 3 A_XScream
		TNT1 A 0 A_GiveInventory("XDeathCheck",1)
		SALA P 3 
		SALA Q 3 A_Fall
		SALA RST 3
		SALA U 63000 CanRaise
		Stop
	Raise:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_JumpIfInventory("XDeathCheck",1,"XRaise")
		SALA LKJI 5
		Goto See
	XRaise:
		TNT1 A 0 A_TakeInventory("XDeathCheck",1)
		SALA TSRQPON 4
		GoTo See
	}
}

Actor SalamanderBall
{
PROJECTILE
Height 10
Radius 8
Speed 18
FastSpeed 22
RENDERSTYLE ADD
Damage (random(7,9))
+DontHarmspecies
+DontHurtSpecies
Species "Imps"
Species "AdvancedImp"
Damagetype "Fire"
SeeSound "imp/attack"
DeathSound "imp/shotx"
States
	{
	Spawn:
		FRTM AB 1 Bright A_SpawnItemEx("AfritTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		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 Bright A_CustomMissile("Kaboom9",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))	
		TNT1 AAA 0 Bright A_CustomMissile("SalamanderFlameShot",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
		FRTM CDE 3 Bright
		Stop
	}
}

Actor SalamanderFlameShot : BaseFireSpawner
{
Species "Imps"
Species "AdvancedImp"
Damage (random(15,25))
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,SXF_CLIENTSIDE)
		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("SalamanderFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER)
		FRTM CDE 3 Bright
		Stop
	}
}

Actor SalamanderFlare : BaseFireFlare
{
Species "Imps"
Species "AdvancedImp"
Obituary "%o fell in the little flares of a Salamander."
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetUserVar("user_firedamage",20)
		TNT1 A 0 Bright A_Die
		Goto Death
	}
}