actor MinorHeadDamage
{
Radius 1
Height 1
DamageType Head
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
+FORCERADIUSDMG
PROJECTILE
+MISSILE
States
{
Spawn:
TNT1 A 0
VZOM A 0 A_JumpIf(4 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomUnforgiving")
VZOM A 0 A_JumpIf(3 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSuicidal")
VZOM A 0 A_JumpIf(2 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomModerate")
VZOM A 0 A_JumpIf(1 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSoft")
VZOM A 0 A_JumpIf(0 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomMeat")
Goto BoomModerate
BoomMeat:
TNT1 A 0 A_Explode(140,200)
Stop
BoomSoft:
TNT1 A 0 A_Explode(120,200)
Stop
BoomModerate:
TNT1 A 0 A_Explode(100,200)
Stop
BoomSuicidal:
TNT1 A 0 A_Explode(80,200)
Stop
BoomUnforgiving:
TNT1 A 0 A_Explode(50,200)
Stop
 }
}

actor HeadshotTargetBase
{
+NOTARGET
damagefactor "Cut", 1.25
damagefactor "PowerCut", 1.65
damagefactor "Sharpshooter", 1.15
damagefactor "PerkedSS", 1.55
damagefactor "SSG", 9.0
damagefactor "Plasma", 5.9
damagefactor "Blood", 0.0
damagefactor "Head", 0.0
damagefactor "MinorHead", 0.0
damagefactor "KillMe", 0.0
damagefactor "Explosive", 2.0
damagefactor "Fire", 5.0
damagefactor "Shotgun", 0.7
MONSTER
-COUNTKILL
Health 35
Radius 8
Height 14
DamageType head
PainChance 255
+NOGRAVITY
+SHOOTABLE
+NOTELEPORT
-SOLID
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+GHOST
+NOCLIP
+SERVERSIDEONLY
-COUNTKILL
States
{

//============================================================
// INITIAL SPAWN STATE
//============================================================
Spawn:
TNT1 A 0
TNT1 A 0 ACS_ExecuteWithResult(49,0,0,0)
XXXX A 5
XXXX A 1
Stop

//============================================================
// PAIN STATE: NORMAL
//============================================================
Pain:
TNT1 A 0 A_PlaySound("skull/hit")
TNT1 A 1
XDT3 A 0 A_Explode(70,20)
Stop

//============================================================
// PAIN STATE: MELEE WEAPONS
//============================================================

Pain.MeleeLeft:
Pain.MeleeRight:
Pain.MeleeDecap:
TNT1 A 0 A_PlaySound("skull/hit")
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("HeadshotMinorHitMelee",0,0,0)
//XDT3 A 0 A_Explode(70,20)
Stop

//============================================================
// PAIN STATE: MORE MELEE WEAPONS
//============================================================

Pain.Cut:
TNT1 A 0 A_PlaySound("skull/hit")
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("HeadshotMinorHitMelee",0,0,0)
//XDT3 A 0 A_Explode(70,20)
Stop

//============================================================
// PAIN STATE: SHOTGUN
//============================================================

Pain.Shotgun:
TNT1 A 0 A_PlaySound("skull/hit")
TNT1 A 1
XDT3 A 0 A_Explode(160,20)
Stop

//============================================================
// PAIN STATE: POWERFUL SLASH
//============================================================

Pain.PowerCut:
TNT1 A 0 A_PlaySound("skull/hit")
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("HeadshotMajorHitMelee",0,0,0)
//XDT3 A 0 A_Explode(150,20)
Stop

//============================================================
// DEATH STATE: NORMAL
//============================================================

Death:
XDT3 A 0 A_Explode(170,20)
TNT1 A 1
Stop

//============================================================
// DEATH STATE: PLASMA PROBABLY UNUSED
//============================================================

Death.Plasma:
TNT1 A 1
TNT1 A 0 A_Explode(100,20)
Stop

//============================================================
// DEATH STATE: FLAMES
//============================================================

Death.Fire:
TNT1 A 1
TNT1 A 0 A_Explode(100,20)
Stop

//============================================================
// DEATH STATE: MELEE WEAPONS
//============================================================

Death.Cut:
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("HeadshotMajorHitMelee",0,0,0)
//TNT1 A 0 A_Explode(150,20)
Stop

//============================================================
// DEATH STATE: SHOTGUN
//============================================================

Death.Shotgun:
TNT1 A 1
TNT1 A 0 A_Explode(220,20)
Stop

//============================================================
// DEATH STATE: MELEE WEAPONS
//============================================================

Death.MeleeDecap:
TNT1 A 1
TNT1 A 0 A_Explode(150,20)
Stop

//============================================================
// DEATH STATE: MORE MELEE
//============================================================

Death.PowerCut:
TNT1 A 1
TNT1 A 0 A_SpawnItemEx("HeadshotMajorHitMelee",0,0,0)
//TNT1 A 0 A_Explode(200,20)
Stop

//============================================================
// DEATH STATE: EXPLOSIVE WEAPONS
//============================================================

// DO NOTHING SINCE EXPLOSIVES REALLY SHOULDN'T AFFECT HEADS

Death.ExplosiveDamage:
Death.Explosive:
XDeath:
TNT1 A 1
Stop

 }
}

actor HeadshotTarget1: HeadshotTargetBase
{
Renderstyle Translucent
Alpha 0.1
States
 {
Spawn:
XXXX A 0
XXXX A 1
Stop
 }
}

actor HeadshotTarget1Strong : HeadshotTargetBase
{
Health 75
Renderstyle Translucent
Alpha 0.1
States
 {
Spawn:
XXXX A 0
XXXX A 1
Stop
 }
}

actor HeadshotTarget2: HeadshotTargetBase
{
States
 {
Spawn:
XXXX A 3
Stop
 }
}

actor HeadshotTarget3: HeadshotTargetBase
{
States
 {
Spawn:
XXXX A 4
Stop
 }
}

actor HeadshotTarget4: HeadshotTargetBase
{
States
 {
Spawn:
XXXX A 5
Stop
 }
}

actor HeadshotHitPlasma
{
	+NOTARGET
Radius 10
Height 10
DamageType Plasma2
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
PROJECTILE
+FORCERADIUSDMG
	+DEHEXPLOSION
	+ACTIVATEMCROSS
States
{
Spawn:
VZOM A 0
VZOM A 0 A_JumpIf(4 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomUnforgiving")
VZOM A 0 A_JumpIf(3 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSuicidal")
VZOM A 0 A_JumpIf(2 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomModerate")
VZOM A 0 A_JumpIf(1 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSoft")
VZOM A 0 A_JumpIf(0 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomMeat")
Goto BoomModerate
BoomMeat:
XDT3 A 0 A_Explode(100,20)
Goto End
BoomSoft:
XDT3 A 0 A_Explode(80,20)
Goto End
BoomModerate:
XDT3 A 0 A_Explode(70,20)
Goto End
BoomSuicidal:
XDT3 A 0 A_Explode(60,20)
Goto End
BoomUnforgiving:
XDT3 A 0 A_Explode(40,20)
Goto End
End:
TNT1 ABC 1
Stop
 }
}

actor HeadshotHitFire
{
	+NOTARGET
Radius 10
Height 10
DamageType Fire
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
PROJECTILE
+FORCERADIUSDMG
	+DEHEXPLOSION
	+ACTIVATEMCROSS
States
{
Spawn:
VZOM A 0
VZOM A 0 A_JumpIf(4 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomUnforgiving")
VZOM A 0 A_JumpIf(3 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSuicidal")
VZOM A 0 A_JumpIf(2 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomModerate")
VZOM A 0 A_JumpIf(1 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSoft")
VZOM A 0 A_JumpIf(0 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomMeat")
Goto BoomModerate
BoomMeat:
XDT3 A 0 A_Explode(100,20)
Goto End
BoomSoft:
XDT3 A 0 A_Explode(80,20)
Goto End
BoomModerate:
XDT3 A 0 A_Explode(60,20)
Goto End
BoomSuicidal:
XDT3 A 0 A_Explode(50,20)
Goto End
BoomUnforgiving:
XDT3 A 0 A_Explode(30,20)
Goto End
End:
TNT1 ABC 1
Stop
 }
}

actor HeadshotHitSaw
{
	+NOTARGET
Radius 10
Height 10
DamageType Decapitate
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
PROJECTILE
+FORCERADIUSDMG
	+DEHEXPLOSION
	+ACTIVATEMCROSS
States
{
Spawn:
XDT3 A 0 A_Explode(150,20)
XDT3 A 0 A_Explode(150,20)
TNT1 ABC 1
Stop
 }
}

actor HeadshotHit
{
	+NOTARGET
+FORCERADIUSDMG
Radius 10
Height 10
DamageType head
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+NOEXTREMEDEATH
+FORCERADIUSDMG
+DEHEXPLOSION
+ACTIVATEMCROSS
PROJECTILE
States
{
Spawn:
VZOM A 0
VZOM A 0 A_JumpIf(4 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomUnforgiving")
VZOM A 0 A_JumpIf(3 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSuicidal")
VZOM A 0 A_JumpIf(2 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomModerate")
VZOM A 0 A_JumpIf(1 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSoft")
VZOM A 0 A_JumpIf(0 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomMeat")
Goto BoomModerate
BoomMeat:
XDT3 A 0 A_Explode(170,20)
XDT3 A 0 A_Explode(170,20)
Goto End
BoomSoft:
XDT3 A 0 A_Explode(160,20)
XDT3 A 0 A_Explode(160,20)
Goto End
BoomModerate:
XDT3 A 0 A_Explode(150,20)
XDT3 A 0 A_Explode(150,20)
Goto End
BoomSuicidal:
XDT3 A 0 A_Explode(125,20)
XDT3 A 0 A_Explode(125,20)
Goto End
BoomUnforgiving:
XDT3 A 0 A_Explode(150,20)
Goto End
End:
TNT1 ABC 1
Stop
 }
}

ACTOR HeadshotHitShotgun : HeadshotHit
{
	DamageType Head_Shotgun
	States
	{
Spawn:
VZOM A 0
VZOM A 0 A_JumpIf(4 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomUnforgiving")
VZOM A 0 A_JumpIf(3 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSuicidal")
VZOM A 0 A_JumpIf(2 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomModerate")
VZOM A 0 A_JumpIf(1 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSoft")
VZOM A 0 A_JumpIf(0 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomMeat")
Goto BoomModerate
BoomMeat:
XDT3 A 0 A_Explode(220,20)
XDT3 A 0 A_Explode(220,20)
Goto End
BoomSoft:
XDT3 A 0 A_Explode(210,20)
XDT3 A 0 A_Explode(210,20)
Goto End
BoomModerate:
XDT3 A 0 A_Explode(200,20)
XDT3 A 0 A_Explode(200,20)
Goto End
BoomSuicidal:
XDT3 A 0 A_Explode(145,20)
XDT3 A 0 A_Explode(145,20)
Goto End
BoomUnforgiving:
XDT3 A 0 A_Explode(80,20)
Goto End
End:
TNT1 ABC 1
Stop
	}
}

actor HeadshotHitMelee : HeadshotHit
{
DamageType MeleeDecap
}

actor HeadshotMajorHitMelee : HeadshotHit
{
DamageType MeleeDecap
}

actor HeadshotX
{
	+NOTARGET
+FORCERADIUSDMG
Radius 10
Height 10
//DamageType head
Damagetype head
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+FORCERADIUSDMG
	+DEHEXPLOSION
	+ACTIVATEMCROSS
PROJECTILE
+EXTREMEDEATH
States
{
Spawn:
VZOM A 0
VZOM A 0 A_JumpIf(4 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomUnforgiving")
VZOM A 0 A_JumpIf(3 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSuicidal")
VZOM A 0 A_JumpIf(2 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomModerate")
VZOM A 0 A_JumpIf(1 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSoft")
VZOM A 0 A_JumpIf(0 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomMeat")
Goto BoomModerate
BoomMeat:
XDT3 A 0 A_Explode(280,20)
XDT3 A 0 A_Explode(280,20)
Goto End
BoomSoft:
XDT3 A 0 A_Explode(260,20)
XDT3 A 0 A_Explode(260,20)
Goto End
BoomModerate:
XDT3 A 0 A_Explode(250,20)
XDT3 A 0 A_Explode(250,20)
Goto End
BoomSuicidal:
XDT3 A 0 A_Explode(195,20)
XDT3 A 0 A_Explode(195,20)
Goto End
BoomUnforgiving:
XDT3 A 0 A_Explode(130,20)
Goto End
End:
TNT1 ABC 1
Stop
 }
}

actor HeadshotXX: HeadshotX
{
States
{
Spawn:
VZOM A 0
VZOM A 0 A_JumpIf(4 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomUnforgiving")
VZOM A 0 A_JumpIf(3 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSuicidal")
VZOM A 0 A_JumpIf(2 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomModerate")
VZOM A 0 A_JumpIf(1 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSoft")
VZOM A 0 A_JumpIf(0 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomMeat")
Goto BoomModerate
BoomMeat:
XDT3 A 0 A_Explode(330,20)
XDT3 A 0 A_Explode(330,20)
Goto End
BoomSoft:
XDT3 A 0 A_Explode(310,20)
XDT3 A 0 A_Explode(310,20)
Goto End
BoomModerate:
XDT3 A 0 A_Explode(300,20)
XDT3 A 0 A_Explode(300,20)
Goto End
BoomSuicidal:
XDT3 A 0 A_Explode(225,20)
XDT3 A 0 A_Explode(225,20)
Goto End
BoomUnforgiving:
XDT3 A 0 A_Explode(130,20)
Goto End
End:
TNT1 ABC 1
Stop
 }
}

actor HeadshotSSG
{
	+NOTARGET
Radius 10
Height 10
DamageType head
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
+FORCERADIUSDMG
+NOEXTREMEDEATH
States
{
Spawn:
TNT1 A 0 A_Explode(500,20)
TNT1 A 0 A_Explode(500,20)
TNT1 ABC 1
Stop
 }
}

actor HeadshotMinorHit
{
	+NOTARGET
Radius 10
Height 10
DamageType minorhead
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
PROJECTILE
+FORCERADIUSDMG
	+DEHEXPLOSION
	+ACTIVATEMCROSS
+NOEXTREMEDEATH
States
{
Spawn:
XDT3 A 0 A_Explode(70,20)
XDT3 A 0 A_Explode(70,20)
TNT1 ABC 3
Stop
 }
}

actor HeadshotMinorHitShotgun : HeadshotMinorHit
{
DamageType Head_Shotgun
States
{
Spawn:
VZOM A 0
VZOM A 0 A_JumpIf(4 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomUnforgiving")
VZOM A 0 A_JumpIf(3 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSuicidal")
VZOM A 0 A_JumpIf(2 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomModerate")
VZOM A 0 A_JumpIf(1 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomSoft")
VZOM A 0 A_JumpIf(0 == (ACS_ExecuteWithResult(50,0,0,0)),"BoomMeat")
Goto BoomModerate
BoomMeat:
XDT3 A 0 A_Explode(160,20)
XDT3 A 0 A_Explode(160,20)
Goto End
BoomSoft:
XDT3 A 0 A_Explode(140,20)
XDT3 A 0 A_Explode(140,20)
Goto End
BoomModerate:
XDT3 A 0 A_Explode(130,20)
XDT3 A 0 A_Explode(130,20)
Goto End
BoomSuicidal:
XDT3 A 0 A_Explode(115,20)
XDT3 A 0 A_Explode(115,20)
Goto End
BoomUnforgiving:
XDT3 A 0 A_Explode(90,20)
Goto End
End:
TNT1 ABC 1
Stop
 }
}

ACTOR HeadshotMinorHitMelee : HeadshotMinorHit
{
	Damagetype MeleeDecap
}

actor HeadshotMinorHitKnife
{
	+NOTARGET
Radius 10
Height 10
DamageType minorhead
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
PROJECTILE
+FORCERADIUSDMG
	+DEHEXPLOSION
	+ACTIVATEMCROSS
+NOEXTREMEDEATH
States
{
Spawn:
XDT3 A 0 A_Explode(70,20)
XDT3 A 0 A_Explode(70,20)
TNT1 ABC 3
Stop
 }
}

actor HeadshotPowerHitKnife
{
	+NOTARGET
Radius 10
Height 10
DamageType minorhead
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+THRUGHOST
+NORADIUSDMG
PROJECTILE
+FORCERADIUSDMG
	+DEHEXPLOSION
	+ACTIVATEMCROSS
+NOEXTREMEDEATH
States
{
Spawn:
XDT3 A 0 A_Explode(150,20)
XDT3 A 0 A_Explode(150,20)
TNT1 ABC 3
Stop
 }
}