actor BlazThrownBarrel
{
	+notimefreeze
	projectile
	+hexenbounce
	+bright
	+EXTREMEDEATH
	-bounceonwalls
	-nogravity
	-ALLOWBOUNCEONACTORS
	+FORCEXYBILLBOARD	
	+thruspecies
	species "friendly"
	seesound "fatguard/miss"
	Gravity 0.70
	BounceCount 3
	BounceFactor 1.20  
	Radius 14
	scale 1
	Damage (150)
	DamageType "TossedBarrel"
	Speed 35
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("silence", CHAN_VOICE)
	flying:
		1BRL A 2
		loop
	death:
	crash:
		TNT1 A 0 A_ChangeFlag ("nogravity", 1)
		BEXP C 0 Radius_Quake (3,20,0,80,0)
		TNT1 A 0 A_Explode (20,200,1)
		TNT1 A 0 A_Explode (160,200,0,1,60)
		TNT1 A 0 A_RadiusThrust (1000,300,1)
		TNT1 A 0 A_PlaySound ("world/Barrelx",0,1,0,0.60)
		TNT1 AAAAAAAAAAA 0 Bright A_SpawnItemEx("LavaLazerTrail",frandom(-21,21),frandom(-21,21),frandom(-21,21),frandom(-1,1),frandom(-1,1),frandom(0,1))
		TNT1 AAAAAAAAAAA 0 Bright A_SpawnItemEx("LavaLazerEmber2",frandom(-16,16),frandom(-16,16),frandom(-16,16),frandom(-1,1),frandom(-1,1),frandom(0,1))
		TNT1 AAAAAAAAAAA 0 Bright A_SpawnItemEx("LavaLazerSmoke2",frandom(-4,4),frandom(-4,4),frandom(-4,4),frandom(-1,1),frandom(-1,1),frandom(0,1))
		TNT1 AAAAAAAAAA 0 Bright A_SpawnItemEx("LavaLazerSmoke",frandom(-4,4),frandom(-4,4),frandom(-4,4),0,0,frandom(1,2))
		WRML C 3 bright
		WRML EFGH 2 bright
		stop
	}
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


//=======================
//=====Golden Barrel=====
//=======================


actor BlazThrownGoldenBarrel
{
	+notimefreeze
	projectile
	+hexenbounce
	+bright
	+EXTREMEDEATH
	-nogravity
	-ALLOWBOUNCEONACTORS
	+FORCEXYBILLBOARD	
	+thruspecies
	+FORCEPAIN
	+SKYEXPLODE
	+HITTRACER
	species "friendly"
	seesound "GoldenBarrel/Bounce"
	Gravity 0.70
	BounceCount 3
	BounceFactor 1.20  
	Radius 14
	scale 1
	Damage (300)
	DamageType "GoldenBarrel"
	Speed 35
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("silence", CHAN_VOICE)
	flying:
		4BRL A 2
		loop
	Xdeath:
		TNT1 A 0 A_ChangeFlag ("nogravity", 1)
		BEXP C 0 Radius_Quake (3,20,0,80,0)
		TNT1 A 0 A_PlaySound ("Subweapons/Straighthit",0)
		TNT1 A 0 A_PlaySound ("GoldenBarrel/Hit",0,1)
		TNT1 A 0 A_SpawnItemEx ("GoldenBarrelHitFX",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_Stop
		TNT1 A 0 A_Jump (30, "CRIT")
		4BRL A 4
		TNT1 A 1 A_SpawnItemEx ("SpinningGoldenBarrel",0,0,0,frandom(-5,-1),frandom(-7,7),frandom(5,9),0, SXF_NOCHECKPOSITION)
		stop
	CRIT:
		TNT1 A 0
		4BRL A 4
		TNT1 A 0 A_SetDamageType ("Normal")
		TNT1 A 0 A_PlaySound ("GoldenBarrel/Crit",0,1,0,0.40)
		TNT1 A 0 A_SpawnItemEx ("GoldenCritsplosion",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)
		TNT1 A 0 A_Explode (300,200,0,0,200)
		TNT1 A 1 A_SpawnItemEx ("SpinningBurntGoldenBarrel",0,0,0,frandom(-25,-14),frandom(-14,14),frandom(15,35),0, SXF_NOCHECKPOSITION)
		stop
	Death:
	crash:
		TNT1 A 0 A_ChangeFlag ("nogravity", 1)
		BEXP C 0 Radius_Quake (3,20,0,80,0)
		TNT1 A 0 A_JumpIf(CheckClass("GoldenBarrel", AAPTR_TRACER, TRUE), "CRIT")
		TNT1 A 1 A_SpawnItemEx ("SpinningGoldenBarrel",0,0,5,frandom(-5,-1),frandom(-7,7),frandom(5,9),0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_PlaySound ("Subweapons/Haymakermiss",0,0.60)
		TNT1 A 0 A_PlaySound ("GoldenBarrel/Hit",0,1)
		TNT1 A 0 A_SetScale (2)
		BZP2 ABCDEFGH 1
		stop
	}
}
