//Teleport Fog. Last Improved 31.08.2019 GRAU, ConradRDW

ACTOR VP_TeleFog replaces TeleportFog
{
	radius 0
	height 0
	+NOGRAVITY
	+NOCLIP
	renderstyle add
	States
	{
	Spawn:
		TELS DD 1 BRIGHT A_PlaySound("world/tele")
		TELS DCCBBAABBAABBCCDDEEFF 1 BRIGHT A_SpawnItemEx("VP_TeleSpark", random(-10, 10), random(-10, 10), random(0, 40), 0, 0, 0, 128)
		Stop
	}
}

ACTOR VP_TeleSpark
{ 
	Scale 0.3
	radius 0
	height 0
	renderstyle add
	+NOCLIP
	+NOGRAVITY
	States
	{
	Spawn:
		TELS DCBCDEF 2 bright
		Stop
	}
}

//Burning Barrel Flame. Have To Be Done!!

ACTOR VP_BarrelFlame
{ 
	Scale 0.8
	radius 0
	height 0
	renderstyle add
	+NOCLIP
	+NOGRAVITY
	States
	{
	Spawn:
		YFLM AABCDD 2 bright A_FadeOut(0.12)
		Stop
	}
}

ACTOR VP_FireSpark
{ 
	Scale 0.2
	radius 0
	height 0
	renderstyle add
	+NOCLIP
	+NOGRAVITY
	States
	{
	Spawn:
		FSPR AAAAAAA 2 bright A_FadeOut(0.12)
		Stop
	}
}


actor VP_RockFlame
{
	Scale 0.2
	radius 0
	height 0
	renderstyle add
	+NOGRAVITY
	States
	{
	Spawn:
		RFLM AB 1 bright
		RFLM C 1 bright A_SpawnItemEx("VP_ImpSmoke", 0, 0, 0, 0, 0, 0, 128)
		RFLM DE 1 bright
		Stop
	}
}

actor VP_Explode
{
	radius 2
	height 2
	alpha 0.8
	Renderstyle Add
	+NOGRAVITY
	States
	{
	Spawn:
		EXPL A 1 BRIGHT
		EXPL A 1 BRIGHT A_PlaySound("world/barrelx")
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExpSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-2, 8), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExploPart", 0, 0, 0, random(-5, 5), random(-5, 5), random(-1, 6), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExploPart", 0, 0, 0, random(-5, 5), random(-5, 5), random(-1, 6), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExploPart", 0, 0, 0, random(-5, 5), random(-5, 5), random(-1, 6), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExploPart", 0, 0, 0, random(-5, 5), random(-5, 5), random(-1, 6), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExploPart", 0, 0, 0, random(-5, 5), random(-5, 5), random(-1, 6), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExploPart", 0, 0, 0, random(-5, 5), random(-5, 5), random(-1, 6), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExploPart", 0, 0, 0, random(-5, 5), random(-5, 5), random(-1, 6), 128)
		EXPL A 0 BRIGHT A_SpawnItemEx("VP_ExploPart", 0, 0, 0, random(-5, 5), random(-5, 5), random(-1, 6), 128)
		EXPL BCDEFGHI 1 BRIGHT
		Stop
	}
}


actor VP_ExploPart
{
	PROJECTILE
	radius 1
	height 1
	Renderstyle Add
	alpha 0.8
	-NOGRAVITY
	Gravity 0.2
	States
	{
	Spawn:
		EXPL BCDE 1 BRIGHT
		EXPL F 1 BRIGHT A_SpawnItemEx("VP_ExpSmoke", 0, 0, 0, 0, 0, 0, 128)
		EXPL GHI 1 BRIGHT
		Stop
	}
}


actor VP_ExpSpark
{ 
	PROJECTILE
	radius 1
	height 1
	Scale 0.4
	Renderstyle Add
	-NOGRAVITY
	Gravity 0.5
	States
	{
	Spawn:
		FSPR AAAAAAAA 3 bright A_FadeOut(0.12)
		Stop
	}
}


ACTOR VP_ExpSmoke
{ 
	Scale 5
	renderstyle Translucent
	alpha 0.5
	+NOCLIP
	+NOGRAVITY
	States
	{
		Spawn:
		SMOK ABCDE 2 A_FadeOut(0.025) 
		SMOK FGHIJKLMNOPQRSTUVWX 3 A_FadeOut(0.025) 
		Stop
	}
}

//=============================================================_BULLET_PUFF_========================


actor RD_PUFSpark
{ 
	radius 1
	height 1
	Scale 0.9
	alpha 0.9
	Renderstyle Add
	-NOGRAVITY
	+NOBLOCKMAP
	Gravity 0.2
	States
	{
	Spawn:
		PSPR AABCDDDD 1 bright A_FadeOut(0.1)
		Stop
	}
}

ACTOR RD_Puff replaces BulletPuff
{
	+NOBLOCKMAP
	+NOGRAVITY
	RenderStyle Translucent
	Alpha 0.7
	VSpeed 0.5
	Mass 5
	States
	{
	Spawn:
		SMOK A 1 A_SpawnItemEx("RD_PUFSpark", 0, 0, 0, random(-3, 3), random(-3, 3), Random(-2, 3), 128)
		SMOK A 0 A_SpawnItemEx("RD_PUFSpark", 0, 0, 0, random(-3, 3), random(-3, 3), Random(-2, 3), 128)
		SMOK A 0 A_SpawnItemEx("RD_PUFSpark", 0, 0, 0, random(-3, 3), random(-3, 3), Random(-2, 3), 128)
		SMOK A 0 A_SpawnItemEx("RD_PUFSpark", 0, 0, 0, random(-3, 3), random(-3, 3), Random(-2, 3), 128)
		SMOK BCDEFGHIJ 2 A_FadeOut(0.08)
		// Intentional fall-through
	Melee:
		SMOK ABCDEFG 2 A_FadeOut(0.1)
		Stop
	}
}

ACTOR RD_SgPuff
{
	+NOBLOCKMAP
	+NOGRAVITY
	RenderStyle Translucent
	Alpha 0.7
	VSpeed 0.5
	Mass 5
	States
	{
	Spawn:
		SMOK A 1 
		SMOK BCDEFGHIJ 2 A_FadeOut(0.08)
		Stop
	}
}
