ACTOR DukeBlood : ZMissile replaces Blood
{
  Radius 4
  Height 4
  Speed 0
  Projectile
  -NOGRAVITY
  -NOBLOCKMAP
  +CLIENTSIDEONLY
  +THRUGHOST
  Gravity 0.5
  scale 0.5
  States
  {
  Spawn:
    TNT1 AAAAAA 0 NoDelay
    TNT1 A 0 A_SpawnItemEx("DukeBlood2", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)
  Spawn2:
    GIB6 A 1
    GIB6 B 4
    loop
  Death:
    GIB6 CDEFGH 5
    stop
  }
}

ACTOR DukeBlood2 : ZMissile
{
  Mass 5
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  +THRUGHOST
  scale 0.7
  States
  {
  Spawn:
    BLUD ABCD 4 NoDelay A_Stop
    Stop
  }
}

ACTOR NewRedBlood1 : ZRedBlood
{
  Radius 4
  Height 4
  Speed 0
  Projectile
  -NOGRAVITY
  -NOBLOCKMAP
  +THRUGHOST
  Gravity 0.5
  scale 0.125
  +THRUSPECIES
  Species "DukeDebris"

  var int user_newblood;

  States
  {
  Spawn:

    TNT1 A 0 NoDelay A_SetScale(random[RIDMONSTER](12, 25)/100.0, random[RIDMONSTER](12, 25)/100.0)
    TNT1 A 0 A_Jump(256,"newblood1s","newblood2s","newblood3s","newblood4s")

    newblood1s:
	TNT1 A 0 A_setUserVar("user_newblood",1)
	goto spawn1
    newblood2s:
	TNT1 A 0 A_setUserVar("user_newblood",2)
	goto spawn2
    newblood3s:
	TNT1 A 0 A_setUserVar("user_newblood",3)
	goto spawn3
    newblood4s:
	TNT1 A 0 A_setUserVar("user_newblood",4)
	goto spawn4

    spawn1:
	CBL1 E 5
	loop
    spawn2:
	CBL2 E 5
	loop
    spawn3:
	CBL3 E 5
	loop
    spawn4:
	CBL4 E 5
	loop

    stop

  Death:

    TNT1 A 0 A_ChangeFlag("FLATSPRITE", 1)
    TNT1 A 0 A_SetScale(random[RIDMONSTER](12, 25)/100.0)

    TNT1 A 0 A_Jump(128,2)
    TNT1 A 0 A_ChangeFlag("SPRITEFLIP", 1)
    TNT1 A 0

    TNT1 A 0 A_JumpIf(user_newblood==1,"newblood1d")
    TNT1 A 0
    TNT1 A 0 A_JumpIf(user_newblood==2,"newblood2d")
    TNT1 A 0
    TNT1 A 0 A_JumpIf(user_newblood==3,"newblood3d")
    TNT1 A 0
    TNT1 A 0 A_JumpIf(user_newblood==4,"newblood4d")
    TNT1 A 1
    stop

    newblood1d:
    	CBL1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    	TNT1 A 0 A_JumpIf(d3d_vanishblood==1, "Vanish1")
    	CBL1 E -1
    	stop
    Vanish1:
	CBL1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
	stop
    newblood2d:
    	CBL2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    	TNT1 A 0 A_JumpIf(d3d_vanishblood==1, "Vanish2")
    	CBL2 E -1
    	stop
    Vanish2:
	CBL2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
	stop
    newblood3d:
    	CBL3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    	TNT1 A 0 A_JumpIf(d3d_vanishblood==1, "Vanish3")
    	CBL3 E -1
    	stop
    Vanish3:
	CBL3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
	stop
    newblood4d:
    	CBL4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    	TNT1 A 0 A_JumpIf(d3d_vanishblood==1, "Vanish4")
    	CBL4 E -1
    	stop
    Vanish4:
	CBL4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    stop

  }
}

ACTOR NewGreenBlood1 : ZGreenBlood
{
  Radius 4
  Height 4
  Speed 0
  Projectile
  -NOGRAVITY
  -NOBLOCKMAP
  +CLIENTSIDEONLY
  +THRUGHOST
  Gravity 0.5
  scale 0.125
  Translation "32:47=112:127", "184:191=160:167", "232:235=124:127"
  +THRUSPECIES
  Species "DukeDebris"

  var int user_newblood;

  States
  {
  Spawn:

    TNT1 A 0 NoDelay A_SetScale(random[RIDMONSTER](12, 25)/100.0, random[RIDMONSTER](12, 25)/100.0)
    TNT1 A 0 A_Jump(256,"newblood1s","newblood2s","newblood3s","newblood4s")

    newblood1s:
	TNT1 A 0 A_setUserVar("user_newblood",1)
	goto spawn1
    newblood2s:
	TNT1 A 0 A_setUserVar("user_newblood",2)
	goto spawn2
    newblood3s:
	TNT1 A 0 A_setUserVar("user_newblood",3)
	goto spawn3
    newblood4s:
	TNT1 A 0 A_setUserVar("user_newblood",4)
	goto spawn4

    spawn1:
	CBL1 E 5
	loop
    spawn2:
	CBL2 E 5
	loop
    spawn3:
	CBL3 E 5
	loop
    spawn4:
	CBL4 E 5
	loop

    stop

  Death:

    TNT1 A 0 A_ChangeFlag("FLATSPRITE", 1)
    TNT1 A 0 A_SetScale(random[RIDMONSTER](12, 25)/100.0)

    TNT1 A 0 A_Jump(128,2)
    TNT1 A 0 A_ChangeFlag("SPRITEFLIP", 1)
    TNT1 A 0

    TNT1 A 0 A_JumpIf(user_newblood==1,"newblood1d")
    TNT1 A 0
    TNT1 A 0 A_JumpIf(user_newblood==2,"newblood2d")
    TNT1 A 0
    TNT1 A 0 A_JumpIf(user_newblood==3,"newblood3d")
    TNT1 A 0
    TNT1 A 0 A_JumpIf(user_newblood==4,"newblood4d")
    TNT1 A 1
    stop

    newblood1d:
    	CBL1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    	TNT1 A 0 A_JumpIf(d3d_vanishacid==1, "Vanish1")
    	CBL1 E -1
    	stop
    Vanish1:
	CBL1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
	stop
    newblood2d:
    	CBL2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    	TNT1 A 0 A_JumpIf(d3d_vanishacid==1, "Vanish2")
    	CBL2 E -1
    	stop
    Vanish2:
	CBL2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
	stop
    newblood3d:
    	CBL3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    	TNT1 A 0 A_JumpIf(d3d_vanishacid==1, "Vanish3")
    	CBL3 E -1
    	stop
    Vanish3:
	CBL3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
	stop
    newblood4d:
    	CBL4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    	TNT1 A 0 A_JumpIf(d3d_vanishacid==1, "Vanish4")
    	CBL4 E -1
    	stop
    Vanish4:
	CBL4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    stop

  }
}

actor DukeRedBloodPool : ZRedBlood
{
	radius 1
	height 1
	mass 1
	Health 600
	RenderStyle Normal
	Alpha 0.99
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+MOVEWITHSECTOR
	+FLOORCLIP
	+MISSILE
	+DONTSPLASH
	Scale 0.3
  +THRUSPECIES
  Species "DukeDebris"
	states
	{
	Spawn:
		  TNT5 A 1

		  TNT5 A 1 A_SetScale(0.33, 0.33)
		  TNT5 A 1 A_SetScale(0.36, 0.36)
		  TNT5 A 1 A_SetScale(0.39, 0.39)
		  TNT5 A 1 A_SetScale(0.42, 0.42)
		  TNT5 A 1 A_SetScale(0.45, 0.45)
		  TNT5 A 1 A_SetScale(0.48, 0.48)
		  TNT5 A 1 A_SetScale(0.50, 0.50)

		  TNT5 A 2 A_SetScale(0.53, 0.53)
		  TNT5 A 2 A_SetScale(0.56, 0.56)
		  TNT5 A 2 A_SetScale(0.59, 0.59)
		  TNT5 A 2 A_SetScale(0.62, 0.62)
		  TNT5 A 2 A_SetScale(0.65, 0.65)
		  TNT5 A 2 A_SetScale(0.68, 0.68)
		  TNT5 A 2 A_SetScale(0.70, 0.70)

		  TNT5 A 3 A_SetScale(0.73, 0.73)
		  TNT5 A 3 A_SetScale(0.76, 0.76)
		  TNT5 A 3 A_SetScale(0.79, 0.79)
		  TNT5 A 3 A_SetScale(0.82, 0.82)
		  TNT5 A 3 A_SetScale(0.85, 0.85)
		  TNT5 A 3 A_SetScale(0.88, 0.88)
		  TNT5 A 3 A_SetScale(0.90, 0.90)

		  TNT5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 35
		  TNT1 A 0 A_JumpIf(d3d_vanishblood==1, "Vanish")
		  TNT5 A -1
		  stop
	Vanish:
		  TNT5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeOut(0.1)
		  Stop
	}
}

ACTOR RedBloodFootPrintLeft
{
	radius 1
	height 1
	mass 1
	Health 600
	RenderStyle Normal
	Alpha 0.99
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+MOVEWITHSECTOR
	+FLOORCLIP
	+MISSILE
	+DONTSPLASH
	Scale 0.09
	+CLIENTSIDEONLY
  +THRUSPECIES
  Species "DukeDebris"
	states
	{
	Spawn:
	Death:
	Crash:
		TNT1 A 4
		TNT1 A 0 A_CheckFloor("ShowUp")
	ShowUp:
		TNT1 A 0 A_Jump(256,"footprint1","footprint2","footprint3","footprint4")
	footprint1:
		BPDL AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 35
		BPDL AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeOut(0.1)
		Stop
	footprint2:
		BPDL BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 35
		BPDL BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_FadeOut(0.1)
		Stop
	footprint3:
		BPDL CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 35
		BPDL CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 1 A_FadeOut(0.1)
		Stop
	footprint4:
		BPDL DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 35
		BPDL DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 1 A_FadeOut(0.1)
		Stop
	}
}

ACTOR RedBloodFootPrintRight: RedBloodFootPrintLeft
{
	states
	{
	Spawn:
	Death:
	Crash:
		TNT1 A 4
		TNT1 A 0 A_CheckFloor("ShowUp")
	ShowUp:
		TNT1 A 0 A_Jump(256,"footprint1","footprint2","footprint3","footprint4")
	footprint1:
		BPDL AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 35
		BPDL AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeOut(0.1)
		Stop
	footprint2:
		BPDL BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 35
		BPDL BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_FadeOut(0.1)
		Stop
	footprint3:
		BPDL CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 35
		BPDL CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 1 A_FadeOut(0.1)
		Stop
	footprint4:
		BPDL DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 35
		BPDL DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 1 A_FadeOut(0.1)
		Stop
	}
}

actor DukeGreenBloodPool : ZGreenBlood
{
	radius 1
	height 1
	mass 1
	Health 600
	RenderStyle Normal
	Alpha 0.99
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+MOVEWITHSECTOR
	+FLOORCLIP
	+MISSILE
	+DONTSPLASH
	Scale 0.3
  +THRUSPECIES
  Species "DukeDebris"
	states
	{
	Spawn:
		  TNT5 A 1

		  TNT5 A 1 A_SetScale(0.33, 0.33)
		  TNT5 A 1 A_SetScale(0.36, 0.36)
		  TNT5 A 1 A_SetScale(0.39, 0.39)
		  TNT5 A 1 A_SetScale(0.42, 0.42)
		  TNT5 A 1 A_SetScale(0.45, 0.45)
		  TNT5 A 1 A_SetScale(0.48, 0.48)
		  TNT5 A 1 A_SetScale(0.50, 0.50)

		  TNT5 A 2 A_SetScale(0.53, 0.53)
		  TNT5 A 2 A_SetScale(0.56, 0.56)
		  TNT5 A 2 A_SetScale(0.59, 0.59)
		  TNT5 A 2 A_SetScale(0.62, 0.62)
		  TNT5 A 2 A_SetScale(0.65, 0.65)
		  TNT5 A 2 A_SetScale(0.68, 0.68)
		  TNT5 A 2 A_SetScale(0.70, 0.70)

		  TNT5 A 3 A_SetScale(0.73, 0.73)
		  TNT5 A 3 A_SetScale(0.76, 0.76)
		  TNT5 A 3 A_SetScale(0.79, 0.79)
		  TNT5 A 3 A_SetScale(0.82, 0.82)
		  TNT5 A 3 A_SetScale(0.85, 0.85)
		  TNT5 A 3 A_SetScale(0.88, 0.88)
		  TNT5 A 3 A_SetScale(0.90, 0.90)

		  TNT5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 35
		  TNT1 A 0 A_JumpIf(d3d_vanishacid==1, "Vanish")
		  TNT5 A -1
		  stop
	Vanish:
		  TNT5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeOut(0.1)
		  Stop
	}
}

ACTOR GreenBloodFootPrintLeft: RedBloodFootPrintLeft
{
translation "16:47=112:123", "232:235=116:118"
}

ACTOR GreenBloodFootPrintRight: RedBloodFootPrintRight
{
translation "16:47=112:123", "232:235=116:118"
}

actor DukeIceBloodPool : ZIceBlood
{
	radius 1
	height 1
	mass 1
	Health 600
	RenderStyle Normal
	Alpha 0.99
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+MOVEWITHSECTOR
	+FLOORCLIP
	+MISSILE
	+DONTSPLASH
	Scale 0.3
  +THRUSPECIES
  Species "DukeDebris"
	states
	{
	Spawn:
		  TNT5 A 1

		  TNT5 A 1 A_SetScale(0.33, 0.33)
		  TNT5 A 1 A_SetScale(0.36, 0.36)
		  TNT5 A 1 A_SetScale(0.39, 0.39)
		  TNT5 A 1 A_SetScale(0.42, 0.42)
		  TNT5 A 1 A_SetScale(0.45, 0.45)
		  TNT5 A 1 A_SetScale(0.48, 0.48)
		  TNT5 A 1 A_SetScale(0.50, 0.50)

		  TNT5 A 2 A_SetScale(0.53, 0.53)
		  TNT5 A 2 A_SetScale(0.56, 0.56)
		  TNT5 A 2 A_SetScale(0.59, 0.59)
		  TNT5 A 2 A_SetScale(0.62, 0.62)
		  TNT5 A 2 A_SetScale(0.65, 0.65)
		  TNT5 A 2 A_SetScale(0.68, 0.68)
		  TNT5 A 2 A_SetScale(0.70, 0.70)

		  TNT5 A 3 A_SetScale(0.73, 0.73)
		  TNT5 A 3 A_SetScale(0.76, 0.76)
		  TNT5 A 3 A_SetScale(0.79, 0.79)
		  TNT5 A 3 A_SetScale(0.82, 0.82)
		  TNT5 A 3 A_SetScale(0.85, 0.85)
		  TNT5 A 3 A_SetScale(0.88, 0.88)
		  TNT5 A 3 A_SetScale(0.90, 0.90)

		  TNT5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 35
		  TNT1 A 0 A_JumpIf(d3d_vanishblood==1, "Vanish")
		  TNT5 A -1
		  stop
	Vanish:
		  TNT5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeOut(0.1)
		  Stop
	}
}

ACTOR IceBloodFootPrintLeft: RedBloodFootPrintLeft
{
translation "Ice"
}

ACTOR IceBloodFootPrintRight: RedBloodFootPrintRight
{
translation "Ice"
}