Actor SnakeImp : SSTDoomImp 3108
{
//$Category Monsters
	Health 100
	Radius 20
	Height 60
	Speed 9
	gibhealth -30
	SeeSound "imp/sight"
	ActiveSound "imp/active"
	PainSound "imp/pain"
	DeathSound "imp/death"
	Obituary "%o tasted the venom of the snake imp."
	HitObituary "%o was shredded by a snake imp."
	MONSTER
	+FLOORCLIP
	States
	{
    Crush:
	TNT1 A 0 A_SpawnItemEx ("Gibs", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR|SXF_CLIENTSIDE)
	TNT1 AAAAAAAA 0 A_SpawnItemEx ("SuperDuperClientsideBloodSpotSpawner", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR|SXF_CLIENTSIDE)
    TNT1 AAAAAAAA 1 A_SpawnItemEx ("Bloodsquirt3", 0,0,0, 0,0,0, random(-180,180), SXF_USEBLOODCOLOR|SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
    TNT1 A -1
    Stop
	Spawn:
		SIMP AB 8 A_Look
		Loop
	See:
		SIMP AABBCCDD 3 A_Chase
		Loop
	Melee:
	Missile:
		SIMP EF 8 A_FaceTarget 
		SIMP G 8 A_CustomComboAttack("SnakeImpFireball",40,4,"imp/melee")
		Goto See
  Pain.Fire:
  	TNT1 AAAA 0 A_SpawnItemEx("imonfire", random(-8,-2),Random(-8,8),random(20, 38), 0, random(-30,30)*0.1, random(10,30)*0.1, 0, 160)
	Goto Pain
	Pain:
		SIMP H 2 A_Pain
		SIMP H 2
		Goto See
  Death.Fire:
	TNT1 A 0 A_Stop
    TNT1 A 0 ACS_ExecuteAlways(926,0, 10,0,0)
	NULL O 0 A_SpawnItemEx ("BurnDeathFX", 0,0,0, momx,momy,momz, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM)
	Goto Death
  Death.Plasma:
	TNT1 A 0 A_Stop
    TNT1 A 0 ACS_ExecuteAlways(926,0, 10,0,0)
	NULL O 0 A_SpawnItemEx ("PlasmaDeathFX", 0,0,0, momx,momy,momz, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_ABSOLUTEMOMENTUM)
    TROO H 0 A_JumpIfHealthLower(-30,"XDeath")
	goto Death

  Death.Shotgun:
  Death.Rocket:
	Death:
		SIMP I 4
		SIMP J 4 A_Scream
		SIMP KL 4
		SIMP M 4 A_Fall
		SIMP M -1
		Stop
  Death.Chainsaw:
	SIMP NNNN 0 A_DropItem("SSTHealthBonus",1,127)
  xDeath.Shotgun:
  xDeath.Rocket:
	XDeath:
		SIMP N 3
		SIMP O 3 A_XScream
		SIMP P 3 A_Fall
        SIMP QQRRSSTT 2 A_SpawnItemEx ("BloodFXSpawner", 0,0,random(0,40), 0,0,0, 0, 160,127) 
        SIMP U -1
		Stop
	Raise:
		SIMP LKJI 5
		Goto See
		
  Pain.GreenPaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 0,0,0)
	Goto Pain
  Pain.BluePaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 1,0,0)
	Goto Pain
  Pain.RedPaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 2,0,0)
	Goto Pain
  Pain.OrangePaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 3,0,0)
	Goto Pain
  Pain.PurplePaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 4,0,0)
	Goto Pain
  Pain.WhitePaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 5,0,0)
	Goto Pain
  Pain.YellowPaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 6,0,0)
	Goto Pain
  Pain.BlackPaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 7,0,0)
	Goto Pain
	}
}

Actor SnakeImpFireball
{
	Radius 8
	Height 16
	Speed 18
	Damage 2
	PoisonDamage 2,5,17 //2,5,7
	PoisonDamageType "Poison"//"Plasma"
	+ADDITIVEPOISONDAMAGE
	+ADDITIVEPOISONDURATION
	SeeSound "imp/attack"
	DeathSound "imp/shotx"
	Decal "GreenRailScorch"
	PROJECTILE
	-nogravity
	Gravity 0.04
	renderstyle add
	alpha 1
	States
	{
	Spawn:
		SIBA A 0 BRIGHT A_SpawnItemEx("GreenEmbers", 0, 0, 0,  (velx/2)+random(-1,1), (vely/2)+random(-1,1), (velz/2)+random(-1,1), 0, SXF_ABSOLUTEVELOCITY|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		SIBA A 1 BRIGHT A_SpawnItemEx("GreenEmbers", 0, 0, 0, 0, 0, 0, 0, 160)
		SIBA B 0 BRIGHT A_SpawnItemEx("GreenEmbers", 0, 0, 0,  (velx/2)+random(-1,1), (vely/2)+random(-1,1), (velz/2)+random(-1,1), 0, SXF_ABSOLUTEVELOCITY|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		SIBA B 1 BRIGHT A_SpawnItemEx("GreenEmbers", 0, 0, 0, 0, 0, 0, 0, 160)
		Loop
	Death:
		NULL A 0 A_SpawnItemEx ("GreenParticleShroom", 0,0,0, 0,0,0, 0, 160) 
		SIBA CCCCCDDDDDEEEEE 1 BRIGHT A_FadeOut(0.05)
		Stop
	}
}
