actor Rask_NashGore_FlyingBlood
{
 Health 1
 Radius 1
 Height 1
 Mass 30
 Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
 PROJECTILE
 -NOGRAVITY
 +NOTELEPORT
 +DONTSPLASH
 +NOBLOCKMAP
 +CLIENTSIDEONLY
 +BLOODLESSIMPACT
 +PAINLESS
 +CORPSE
 deathsound "blood/splat"
 RenderStyle Translucent
 Alpha 0.65
 Scale 0.75
 Gravity 0.75
 states
 {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_Jump(156,"BLUDC","BLUDC","BLUDC")
	TNT1 A 1
	Goto Spawn+2
  BLUDC: 
    FBLD A 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
	FBLD B 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
	FBLD C 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
	FBLD D 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
    loop
	
  BLUDC: 
    FBLD A 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
	FBLD B 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
	FBLD C 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
	FBLD D 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
    loop
	
  BLUDC: 
    FBLD A 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
	FBLD B 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
	FBLD C 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
	FBLD D 2 A_SpawnItem("Rask_BloodTrail",0,0,0,1)
    loop

   Death:
    TNT1 A 0 A_SpawnItemEx("Rask_BloodDroplet",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR|SXF_TRANSFERTRANSLATION)
	GIBX ABCDEF 2
    stop
 }
}

actor Rask_BloodTrail
{
   Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
   Radius 1
   Height 1
   Speed 1
   VSpeed -1
   -SOLID
   -NOGRAVITY
   +DONTSPLASH
   +FLOORCLIP
   +WINDTHRUST  
   +NOBLOCKMAP
  +CLIENTSIDEONLY
  +CORPSE
  +NOTELEPORT
  +RIPPER
  +BLOODLESSIMPACT
  +PAINLESS
  Damage (0)
   Gravity 0.07
   Scale 0.7
   states
    {
    Spawn:
	 BTRL A 2
	 BTRL B 2
	 BTRL C 2
	 BTRL D 2 
     Goto Crash
     stop

    Crash:
     TNT1 A 1 A_FadeOut(0.1)
     stop
     }
}

actor TinyRask_FlyingBlood
{
 game Doom
 scale 0.45
 Gravity 0.75
 health 1
 speed 9
 radius 8
 height 1
 mass 1
 decal "none"
 deathsound "blood/splat"
 RenderStyle Translucent
 Alpha 0.65
 Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
   +CLIENTSIDEONLY
   +MISSILE
   +NOTELEPORT
   +NOBLOCKMAP
   +THRUACTORS
   +BLOODLESSIMPACT 
   +FORCEXYBILLBOARD
   +NODAMAGETHRUST
   +MOVEWITHSECTOR
   +CORPSE
   +NOBLOCKMONST
 states
 {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_Jump(156,"BLUDA","BLUDA","BLUDA")
	BLUD A 1 
	Goto Spawn+2
  BLUDA: 
    FBLD A 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
	FBLD B 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
	FBLD C 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
	FBLD D 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
    loop
	
  BLUDA: 
    FBLD A 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
	FBLD B 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
	FBLD C 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
	FBLD D 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1)
    loop
	
  BLUDA: 
    FBLD A 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
	FBLD B 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
	FBLD C 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1) 
	FBLD D 1 A_SpawnItem("TinyRask_BloodTrail",0,0,0,1)
    loop
 Death:
    TNT1 A 0 A_SpawnItemEx("Rask_BloodDroplet",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR|SXF_TRANSFERTRANSLATION)
    GIBX ABCDEF 2
  stop
 }
}

actor TinyRask_BloodTrail
{
   Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
   Radius 1
   Height 1
   Speed 1
   VSpeed -1
   -SOLID
   -NOGRAVITY
   +DONTSPLASH
   +FLOORCLIP
   +WINDTHRUST  
   +NOBLOCKMAP
  +CLIENTSIDEONLY
  +CORPSE
  +NOTELEPORT
  +RIPPER
  +BLOODLESSIMPACT
  +PAINLESS
  Damage (0)
   Gravity 0.07
   Scale 0.4
   states
    {
    Spawn:
	 BTRL A 1
	 BTRL B 1
	 BTRL C 1
	 BTRL D 1 
     Goto Crash
     stop

    Crash:
     TNT1 A 1 A_FadeOut(0.1)
     stop
     }
}

ACTOR Rask_BloodDroplet
{
	Radius 4
	Height 4
	+MISSILE
	+NOTONAUTOMAP
	+FORCEXYBILLBOARD
	+NOTELEPORT
	+BLOODLESSIMPACT
	+FLOORCLIP
	+WINDTHRUST
	+NOBLOCKMAP
	+THRUACTORS
	+MOVEWITHSECTOR
	+SLIDESONWALLS
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	RenderStyle Translucent
	Gravity 1
	MaxStepHeight 1
	Speed 8
	Scale 0.5
	States
	{
	Spawn:
		BLUD A 1 NoDelay ACS_NamedExecuteAlways("BloodAlpha")
		TNT1 A 0 ACS_NamedExecuteAlways("BloodScale")
		TNT1 A 0 A_JumpIf(waterlevel > 0, "Underwater")
		goto Fall
	Fall:
		TNT1 A 0 A_JumpIf(z <= floorz, "Death")
		BLUD ABCD 2 A_ScaleVelocity(0.95)
		TNT1 A 0 A_JumpIf(waterlevel > 0, "Underwater")
		Loop
	Death:
		TNT1 A 0 A_ChangeFlag("WINDTHRUST", false)
		TNT1 A 0 A_PlaySound("blood/splat", 0)
		TNT1 A 0 A_SpawnItemEx("BloodDrop2",0,0,4,frandom(-2.0,2.0),frandom(-2.0,2.0),frandom(0.0,2.0),0,SXF_TRANSFERTRANSLATION)
		SPLT A 1 A_JumpIf(ceilingz - z < 8.0, "Ceil")
		SPLT B 1 A_JumpIf(z > floorz + 8.0, "Goodbye")
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"Fog")
		SPLT CD 1
		SPLT E 1 A_SetAngle(random(0.0,359.9))
		SPLT F 1 A_SetScale(0.6,0.45)
		SPLT F 1 A_SetScale(0.7,0.4)
		SPLT F 1 A_SetScale(0.8,0.35)
		SPLT F 1 A_SetScale(0.9,0.3)
		SPLT F 1 A_SetScale(frandom(0.78,1.22),1.0)
		TNT1 A 0 A_QueueCorpse
		SPLT F -1
		stop
	Underwater:
		TNT1 A 0 A_SpawnItemEx("UWBloodFog",0,0,0,velx/3,vely/3,velz/3,0,SXF_TRANSFERTRANSLATION)
		Stop
	Goodbye:
		TNT1 A 0
		Stop
	Ceil:
		TNT1 A 0 A_JumpIf(CallACS("SkyCheck")==0,1)
		Stop
		TNT1 A 0 A_SpawnItemEx("CeilDripper",0,0,10.0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Stop
	Fog:
		TNT1 A 0 A_SpawnItemEx("BloodFog",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Stop
	Cleanup:
		SPLT F 3 A_FadeOut(0.025)
		Loop
	}
}

ACTOR Rask_DecoDroplet : Rask_BloodDroplet
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	States
	{
	Death:
		TNT1 A 0 A_ChangeFlag("WINDTHRUST", false)
		TNT1 A 0 A_PlaySound("blood/splat", 0)
		TNT1 A 0 A_SpawnItemEx("DecoDrop2",0,0,4,frandom(-2.0,2.0),frandom(-2.0,2.0),frandom(0.0,2.0),0,SXF_TRANSFERTRANSLATION)
		SPLT A 1
		SPLT B 1 A_JumpIf(z > floorz + 8.0, "Goodbye")
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"Fog")
		SPLT CD 1
		SPLT E 1 A_SetAngle(random(0.0,359.9))
		SPLT F 1 A_SetScale(0.6,0.45)
		SPLT F 1 A_SetScale(0.7,0.4)
		SPLT F 1 A_SetScale(0.8,0.35)
		SPLT F 1 A_SetScale(0.9,0.3)
		SPLT F 1 A_SetScale(frandom(0.78,1.22),1.0)
		SPLT F random(35,175)
		goto Cleanup
	Fog:
		TNT1 A 0 A_SpawnItemEx("DecoFog",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Stop
	}
}

ACTOR Rask_BloodDrop2 : Rask_BloodDroplet
{
	+DONTSPLASH
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	Radius 3
	Height 3
	Speed 12
	Scale 0.33
	States
	{
	Spawn:
		BLUD A 1 NoDelay ACS_NamedExecuteAlways("BloodAlpha")
		TNT1 A 0 ACS_NamedExecuteAlways("BloodScale")
		goto Fall
	Death:
		TNT1 A 0 A_ChangeFlag("WINDTHRUST", false)
		TNT1 A 0 A_PlaySound("blood/drip", 0, 0.67)
		TNT1 A 0 A_SpawnItemEx("BloodDrop3",0,0,4,frandom(-2.0,2.0),frandom(-2.0,2.0),frandom(0.0,2.0),0,SXF_TRANSFERTRANSLATION)
		SPLT A 1 A_JumpIf(ceilingz - z < 6.0, "Ceil")
		SPLT B 1 A_JumpIf(z > floorz + 8.0, "Goodbye")
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"Fog")
		SPLT CD 1
		SPLT E 1 A_SetAngle(random(0.0,359.9))
		SPLT F 1 A_SetScale(0.39,0.30)
		SPLT F 1 A_SetScale(0.46,0.27)
		SPLT F 1 A_SetScale(frandom(0.26,0.78),0.52)
		TNT1 A 0 A_QueueCorpse
		SPLT F -1
		stop
	Underwater:
		TNT1 A 0 A_Jump(128,1)
		Stop
		TNT1 A 0 A_SpawnItemEx("UWBloodFog",0,0,0,velx/3,vely/3,velz/3,0,SXF_TRANSFERTRANSLATION)
		Stop
	Ceil:
		TNT1 A 0 A_JumpIf(CallACS("SkyCheck")==0,1)
		Stop
		TNT1 A 0 A_SpawnItemEx("CeilDrip2",0,0,10.0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Stop
	Fog:
		TNT1 A 0 A_SpawnItemEx("BloodFog2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Stop
	}
}

ACTOR Rask_DecoDrop2 : Rask_BloodDrop2
{
	Speed 2
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	States
	{
	Death:
		TNT1 A 0 A_ChangeFlag("WINDTHRUST", false)
		TNT1 A 0 A_PlaySound("blood/drip", 0, 0.67)
		TNT1 A 0 A_SpawnItemEx("DecoDrop3",0,0,4,frandom(-2.0,2.0),frandom(-2.0,2.0),frandom(0.0,2.0),0,SXF_TRANSFERTRANSLATION)
		SPLT A 1
		SPLT B 1 A_JumpIf(z > floorz + 8.0, "Goodbye")
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"Fog")
		SPLT CD 1
		SPLT E 1 A_SetAngle(random(0.0,359.9))
		SPLT F 1 A_SetScale(0.39,0.30)
		SPLT F 1 A_SetScale(0.46,0.27)
		SPLT F 1 A_SetScale(frandom(0.26,0.78),0.52)
		SPLT F random(35,175)
		goto Cleanup
	Fog:
		TNT1 A 0 A_SpawnItemEx("DecoFog2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Stop
	}
}

ACTOR Rask_BloodDrop3 : Rask_BloodDroplet
{
	+DONTSPLASH
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	Radius 2
	Height 2
	Speed 23
	Scale 0.17
	States
	{
	Spawn:
		BLUD A 1 NoDelay ACS_NamedExecuteAlways("BloodAlpha")
		TNT1 A 0 ACS_NamedExecuteAlways("BloodScale")
		goto Fall
	Death:
		TNT1 A 0 A_ChangeFlag("WINDTHRUST", false)
		TNT1 A 0 A_PlaySound("blood/drip", 0, 0.33)
		SPLT A 1 A_JumpIf(ceilingz - z < 4.0, "Ceil")
		SPLT B 1 A_JumpIf(z > floorz + 8.0, "Goodbye")
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"Fog")
		SPLT CD 1
		SPLT E 1 A_SetAngle(random(0.0,359.9))
		SPLT F 1 A_SetScale(frandom(0.09,0.26),0.175)
		TNT1 A 0 A_QueueCorpse
		SPLT F -1
		stop
	Underwater:
		TNT1 A 0
		Stop
	Ceil:
		TNT1 A 0 A_JumpIf(CallACS("SkyCheck")==0,1)
		Stop
		TNT1 A 0 A_SpawnItemEx("CeilDrip3",0,0,10.0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Stop
	Fog:
		TNT1 A 0 A_SpawnItemEx("BloodFog3",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Stop
	}
}

ACTOR Rask_DecoDrop3 : Rask_BloodDrop3
{
	Speed 2
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	States
	{
	Death:
		TNT1 A 0 A_ChangeFlag("WINDTHRUST", false)
		TNT1 A 0 A_PlaySound("blood/drip", 0, 0.33)
		SPLT A 1
		SPLT B 1 A_JumpIf(z > floorz + 8.0, "Goodbye")
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"Fog")
		SPLT CD 1
		SPLT E 1
		SPLT F 1 A_SetScale(frandom(0.09,0.26),0.175)
		SPLT F random(35,175)
		goto Cleanup
	Fog:
		TNT1 A 0 A_SpawnItemEx("DecoFog3",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Stop
	}
}

actor Rask_XDeathSpawner {
	states{
		spawn:
			TNT1 A 0
			TNT1 AA 0 A_PlaySound("misc/gibbed")
			TNT1 A 0 A_CustomMissile ("Rask_XDeath1", 6, 0, random (0, 360), 2, random (0, 160))
			TNT1 AA 0 A_CustomMissile ("Rask_XDeath2", 6, 0, random (0, 360), 2, random (0, 160))
			TNT1 AA 0 A_CustomMissile ("Rask_XDeath3", 6, 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("Rask_XDeath4", 6, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAA 0 A_CustomMissile ("Rask_Instestin", 6, 0, random (0, 360), 2, random (0, 160))
			TNT1 AA 0 A_SpawnItemEx ("Rask_gore_bloodmist", random(-2,2), random(-2,2), 8, frandom(-0.4,0.4) ,frandom(-0.4,0.4) ,0 , random(1,360))
			TNT1 AAAAA 0 A_CustomMissile("Rask_gore_fleshbit", 25, 0, random(0,180),2,random(20,120))
			TNT1 AAAAA 0 A_CustomMissile("Rask_gore_fleshbit", 25, 0, random(181,360),2,random(20,120))
			TNT1 AAA 0 A_CustomMissile("Rask_gore_fleshbit", 25, 0, random(0,180),2,random(20,120))
			TNT1 AAA 0 A_CustomMissile("Rask_gore_fleshbit", 25, 0, random(181,360),2,random(20,120))
			TNT1 A 0 A_SpawnItem ("Rask_gore_spawner")
			TNT1 A 0 A_SpawnItem ("Rask_gore_spawner")
			TNT1 AAAAA 0 A_CustomMissile("Rask_gore_fleshbit", 25, 0, random(0,180),2,random(20,120))
			TNT1 AAAAA 0 A_CustomMissile("Rask_gore_fleshbit", 25, 0, random(181,360),2,random(20,120))
			TNT1 AAAAA 0 A_CustomMissile("Rask_gib_spawner", 25, 0, random(0,180),2,random(20,120))
			TNT1 AAAAA 0 A_CustomMissile("Rask_gib_spawner", 25, 0, random(0,180),2,random(20,120))
			TNT1 A 5
			stop
	
	}
}	

actor Rask_gore_spawner {
	+CLIENTSIDEONLY
	states{
		spawn:
			TNT1 A 0
			TNT1 AAA 0 A_SpawnItemEx ("Rask_gore_bloodmist", random(-2,2), random(-2,2), 8, /*f*/random(-0.4,0.4) ,/*f*/random(-0.4,0.4) ,0 , random(1,360))
			TNT1 AAAAAAA 0 A_CustomMissile("Rask_gore_fleshbit", 25, 0, random(0,180),2,random(20,120))
			TNT1 AAAAAAA 0 A_CustomMissile("Rask_gore_fleshbit", 25, 0, random(181,360),2,random(20,120))
			TNT1 A 4
			stop
	
	}
}

actor Rask_gore_bloodmist {
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	mass 0
	radius 1
	height 1
	scale 0.6
	alpha 0.5
	renderstyle translucent
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+CLIENTSIDEONLY
	states {
		spawn:
			TNT1 A 0
			TNT1 A 0 A_Jump(255, "gm1", "gm2","gm3", "gm4", "gm5")
		gm1:
			GRMI A 35
		gm1out:
			GRMI A 2 A_FadeOut(0.01)
			loop
		gm2:
			GRMI B 35
		gm2out:
			GRMI B 2 A_FadeOut(0.01)
			loop
		gm3:
			GRMI C 35
		gm3out:
			GRMI C 2 A_FadeOut(0.01)
			loop
		gm4:
			GRMI D 35
		gm4out:
			GRMI D 2 A_FadeOut(0.01)
			loop
		gm5:
			GRMI E 35
		gm5out:
			GRMI E 2 A_FadeOut(0.01)
			loop
			
	}

} 

actor Rask_gore_bloodmist_small : gore_bloodmist{
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	scale 0.18
	alpha 0.4
	states {
		spawn:
			TNT1 A 0
			TNT1 A 0 A_Jump(255, "gm1", "gm2","gm3", "gm4", "gm5")
		gm1:
			GRMI A 15
		gm1out:
			GRMI A 2 A_FadeOut(0.02)
			loop
		gm2:
			GRMI B 15
		gm2out:
			GRMI B 2 A_FadeOut(0.02)
			loop
		gm3:
			GRMI C 15
		gm3out:
			GRMI C 2 A_FadeOut(0.02)
			loop
		gm4:
			GRMI D 15
		gm4out:
			GRMI D 2 A_FadeOut(0.02)
			loop
		gm5:
			GRMI E 15
		gm5out:
			GRMI E 2 A_FadeOut(0.02)
			loop
			
	}
}

actor Rask_gore_fleshbit {
	mass 1
	speed 7
	radius 2
	height 2
	scale 0.6
	gravity 0.5
	deathsound "blood/splat"
	renderstyle translucent
	alpha 0.65
	+MISSILE
	+FLOORCLIP
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	states{
		spawn:
			NULL A 0
			FLBT ABCD 1 A_SpawnItemEx ("TinyRask_BloodTrail", 0, 0, 0,  random(-2,2) ,  random(-2,2) ,  random(-2,2) , random(0,360))
			loop
		death:
			GIBX ABCDEF 2
			stop
	}
	
}

actor Rask_gib_spawner{
	+CLIENTSIDEONLY
	speed 4
	states{
		spawn:
			TNT1 A 0
			NULL A 0 A_Jump(255,"Gib1","Gib2","Gib3","Gib4","Gib5","Gib6","Gib7","Gib8")
		Gib1:
			NULL A 0 
			stop
		Gib2:
			NULL A 0  A_SpawnItemEx ("Rask_Gib2", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360))
			stop
		Gib3:
			NULL A 0  A_SpawnItemEx ("Rask_Gib3", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360))
			stop
		Gib4:
			NULL A 0  A_SpawnItemEx ("Rask_Gib4", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360))
			stop
		Gib5:
			NULL A 0  A_SpawnItemEx ("Rask_Gib5", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360))
			stop
		Gib6:
			NULL A 0  A_SpawnItemEx ("Rask_Gib6", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360))
			stop
		Gib7:
			NULL A 0  A_SpawnItemEx ("Rask_Gib7", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360))
			stop
		Gib8:
			NULL A 0  A_SpawnItemEx ("Rask_Gib8", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360))
			stop
	}
}

actor Rask_Gib1 {
	radius 4
	height 4
	mass 1
	scale 0.8
	gravity 0.7
	+MISSILE
	+FLOORCLIP
	+NOTELEPORT
	+CLIENTSIDEONLY
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	DeathSound "blood/splat"
	states{
		spawn:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			GIB1 A 1 A_SpawnItemEx ("Rask_NashGore_FlyingBlood", 0, 0, 0,  random(-2,2) ,  random(-2,2) ,  random(-2,2) , random(0,360))
			loop
		Crash:
			GIBX ABCDEF 2
			Stop
        Splash:
			TNT1 A 0
			Stop

	}
}

actor Rask_Gib2 : Gib1 {
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	DeathSound "blood/splat"
	states{
		spawn:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			GIB2 A 1 A_SpawnItemEx ("Rask_NashGore_FlyingBlood", 0, 0, 0,  random(-2,2) ,  random(-2,2) ,  random(-2,2) , random(0,360))
			loop
		Crash:
			GIBX ABCDEF 2
			Stop
        Splash:
			TNT1 A 0
			Stop
	}
}

actor Rask_Gib3 : Gib1 {
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	DeathSound "blood/splat"
	states{
		spawn:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			GIB3 A 1 A_SpawnItemEx ("Rask_NashGore_FlyingBlood", 0, 0, 0,  random(-2,2) ,  random(-2,2) ,  random(-2,2) , random(0,360))
			loop
		Crash:
			GIBX ABCDEF 2
			Stop
        Splash:
			TNT1 A 0
			Stop
	}
}

actor Rask_Gib4 : Gib1 {
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	DeathSound "blood/splat"
	states{
		spawn:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			GIB4 A 1 A_SpawnItemEx ("Rask_NashGore_FlyingBlood", 0, 0, 0,  random(-2,2) ,  random(-2,2) ,  random(-2,2) , random(0,360))
			loop
		Crash:
			GIBX ABCDEF 2
			Stop
        Splash:
			TNT1 A 0
			Stop
	}
}

actor Rask_Gib5 : Gib1 {
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	DeathSound "blood/splat"
	states{
		spawn:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			GIB5 A 1 A_SpawnItemEx ("Rask_NashGore_FlyingBlood", 0, 0, 0,  random(-2,2) ,  random(-2,2) ,  random(-2,2) , random(0,360))
			loop
		Crash:
			GIBX ABCDEF 2
			Stop
        Splash:
			TNT1 A 0
			Stop
	}
}

actor Rask_Gib6 : Gib1 {
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	DeathSound "blood/splat"
	states{
		spawn:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			GIB6 A 1 A_SpawnItemEx ("Rask_NashGore_FlyingBlood", 0, 0, 0,  random(-2,2) ,  random(-2,2) ,  random(-2,2) , random(0,360))
			loop
		Crash:
			GIBX ABCDEF 2
			Stop
        Splash:
			TNT1 A 0
			Stop
	}
}

actor Rask_Gib7 : Gib1 {
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	DeathSound "blood/splat"
	states{
		spawn:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			GIB7 A 1 A_SpawnItemEx ("Rask_NashGore_FlyingBlood", 0, 0, 0,  random(-2,2) ,  random(-2,2) ,  random(-2,2) , random(0,360))
			loop
		Crash:
			GIBX ABCDEF 2
			Stop
        Splash:
			TNT1 A 0
			Stop
	}
}

actor Rask_Gib8 : Gib1 {
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	DeathSound "blood/splat"
	states{
		spawn:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			GIB8 A 1 A_SpawnItemEx ("Rask_NashGore_FlyingBlood", 0, 0, 0,  random(-2,2) ,  random(-2,2) ,  random(-2,2) , random(0,360))
			loop
		Crash:
			GIBX ABCDEF 2
			Stop
        Splash:
			TNT1 A 0
			Stop
	}
}

ACTOR Rask_XDeath1
{
    Radius 8
    Height 8
    Speed 10
    Scale 1.2
	Mass 0
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +RIPPER
    +BLOODLESSIMPACT 
	-DONTSPLASH
	+THRUGHOST
damagetype Blood
Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath1"
	Decal BrutalBloodSplat
	Mass 0
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XDT1 ABCD 2 A_CustomMissile ("Rask_BloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Crash:
        GIBX ABCDEF 2
        Stop
        TNT1 A 1
     Splash:
        TNT1 A 0
        Stop
    }
}

ACTOR Rask_XDeath2: Rask_XDeath1
{
    +CLIENTSIDEONLY
	+DONTSPLASH
	+FLOORCLIP
	+DOOMBOUNCE
	Bouncefactor 0.01
    Speed 10
	Gravity 0.4
    DeathSound "misc/xdeath2"
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	Decal BrutalBloodSplat
    Scale 0.6
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME1 ABCD 2 A_CustomMissile ("Rask_BloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Crash:
        GIBX ABCDEF 2
        Stop
        TNT1 A 1
     Splash:
        TNT1 A 0
        Stop
    }
}


ACTOR Rask_XDeath2b
{
    +CLIENTSIDEONLY
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	+DONTSPLASH
	+FLOORCLIP
	+DOOMBOUNCE
	Bouncefactor 0.01
    Speed 4
	Gravity 0.4
    DeathSound "misc/xdeath2"
	Decal BrutalBloodSplat
    Scale 0.6
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME1 ABCD 2 A_CustomMissile ("Rask_BloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Crash:
        GIBX ABCDEF 2
        Stop
        TNT1 A 1
     Splash:
        TNT1 A 0
        Stop
    }
}

ACTOR Rask_XDeath3: Rask_XDeath2
{
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	Decal BrutalBloodSplat
	+CLIENTSIDEONLY
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME2 ABCD 2 A_CustomMissile ("Rask_BloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Crash:
        GIBX ABCDEF 2
        Stop
        TNT1 A 1
     Splash:
        TNT1 A 0
        Stop
    }
}

ACTOR Rask_XDeath3b: Rask_XDeath3
{
+CLIENTSIDEONLY
Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
Speed 4
}

ACTOR Rask_XDeath4: Rask_XDeath2
{
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	+CLIENTSIDEONLY
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME3 ABCD 2 A_CustomMissile ("Rask_BloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Crash:
        GIBX ABCDEF 2
        Stop
        TNT1 A 1
     Splash:
        TNT1 A 0
        Stop
    }
}


ACTOR Rask_XDeath5: Rask_XDeath2
{
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
	Scale 1.1
	+CLIENTSIDEONLY
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME5 ABCD 2 A_CustomMissile ("Rask_BloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Crash:
        GIBX ABCDEF 2
        Stop
        TNT1 A 1
     Splash:
        TNT1 A 0
        Stop
    }
}

ACTOR Rask_XDeathGuts: Rask_XDeath2
{
    Scale 1.1
	+CLIENTSIDEONLY
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME4 ABCD 2 A_CustomMissile ("Rask_BloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Crash:
        GIBX ABCDEF 2
        Stop
        TNT1 A 1
     Splash:
        TNT1 A 0
        Stop
    }
}

ACTOR Rask_Instestin
{
    Radius 8
    Height 8
    Speed 7
	Mass 6
	BounceFactor 0.5
	+DOOMBOUNCE
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +DONTSPLASH
    +CLIENTSIDEONLY
    +FORCEXYBILLBOARD
	Translation "0:255=%[0.00,0.00,0.00]:[0.25,0.25,0.25]"
    DeathSound "misc/xdeath1"
	Decal BrutalBloodSplat
	Scale 1.1
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        GUTS ABCD 2 A_CustomMissile ("Rask_BloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Crash:
        GIBX ABCDEF 2
        Stop
        TNT1 A 1
    Splash:
        TNT1 A 0
        Stop
    }
}