ACTOR CorpseEffect
{
	+NOINTERACTION
	+NOGRAVITY
	+NOTONAUTOMAP
	States
	{
	Spawn:
	TNT1 AA 0 A_SpawnItemEx("CorpseEffectSpawner")
	TNT1 A 20
	Stop
	}
}

ACTOR CorpseEffectPart
{
	+NOINTERACTION
	+NOGRAVITY
	+NOTONAUTOMAP
	Scale 0.35
	Alpha 0.99
	Renderstyle Add
	States
	{
	Spawn:
	TNT1 A 0
	Sprite:
	RPRT A 0 A_Jump(256,"Main")
	Main:
	"####" "#" 0 A_JumpIf(ScaleX <= 0,"NULL")
	"####" "#" 0 A_FadeOut(frandom(0.02,0.04))
	"####" "#" 0 A_ChangeVelocity(0,0,frandom(-0.1,0.15),CVF_RELATIVE)
	"####" "#" 1 Bright A_SetScale(ScaleX-frandom(0.03,0.02),ScaleY+frandom(0.01,0.02))
	Loop
	}
}

ACTOR CorpseEffectSpawner
{
	+NOINTERACTION
	+NOGRAVITY
	+NOTONAUTOMAP
	var int User_Count1;
	var int User_Count2;
	States
	{
	Spawn:
	TNT1 AA 0 A_SetUserVar("User_Count1",30)
	Looplet1:
	TNT1 A 0 A_SetUserVar("User_Count1", User_Count1 - 1)
	TNT1 A 0 A_JumpIf(User_Count1 <= 0, "Phase2")
	TNT1 A 0 A_SpawnItemEx("CorpseEffectPart",random(60,-60),random(60,-60),random(50,-30),frandom(1.0,-1.0),frandom(1.0,-1.0),0,random(0,360),SXF_CLIENTSIDE,20)
	Loop
	Phase2:
	TNT1 AA 0 A_SetUserVar("User_Count2",10)
	Looplet2:
	TNT1 A 0 A_SetUserVar("User_Count2", User_Count2 - 1)
	TNT1 A 0 A_JumpIf(User_Count2 <= 0, "NULL")
	TNT1 A 1 A_SpawnItemEx("CorpseEffectPart",random(30,-30),random(30,-30),random(40,-40),frandom(1.0,-1.0),frandom(1.0,-1.0),0,random(0,360),SXF_CLIENTSIDE,20)
	Loop
	}
}

Actor CorpseBlaster : CustomInventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	States
	{
	Spawn:
	TNT1 A -1
	Stop
	Pickup:
	Use:
	TNT1 A 0 A_CheckFlag("CORPSE","Yus")
	Stop
	Yus:
	TNT1 A 0 A_GiveInventory("CorpseTrigger",1)
	Stop
	}
}

Actor CorpseTrigger : Inventory { Inventory.MaxAmount 1 }

//Tomed
Actor CorpseBlaster2 : CustomInventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	States
	{
	Spawn:
	TNT1 A -1
	Stop
	Pickup:
	Use:
	TNT1 A 0 A_CheckFlag("CORPSE","Yus")
	Stop
	Yus:
	TNT1 A 0 A_GiveInventory("CorpseTrigger2",1)
	Stop
	}
}

Actor CorpseTrigger2 : Inventory { Inventory.MaxAmount 1 }