Actor GaussCannonPuffNormal2 replaces GaussCannonPuffNormal //main puff, shockwave fast
{
	+NOINTERACTION
	Translation "0:255=%[0,0,0]:[0.9,2.0,2.0]"
	Scale 0.3
	RenderStyle Add
	+ALWAYSPUFF
	+PUFFONACTORS
	+FORCEXYBILLBOARD
	+PUFFGETSOWNER
	DamageType "GaussExplosion"
	Decal "D4GaussPrimary"
	States
	{
	Spawn:	//hit non bleeding
		TNT1 A 1 A_GiveToTarget("GaussSPHitSound")
		Goto Crash
	Xdeath:	//hit bleeder
		TNT1 A 1 A_GiveToTarget("GaussSPHitSound")
		Goto Crash
	Crash:
		TNT1 A 0 A_Warp(AAPTR_DEFAULT,5,0,0,WARPF_NOCHECKPOSITION) //moves it 5MU towards the player, to get it unstuck from walls
		TNT1 A 0 A_PlaySound("Doom4/Weapon/GaussGun/GaussPuffExplo",CHAN_AUTO,1.0,false,0.8)
		TNT1 A 1 A_SpawnItem(GaussExplosionBackSmall)
		TNT1 AA 0 A_SpawnItem(GaussCannonExplosionShockWave)
		TNT1 A 2 A_Explode(96,96,0,0,32)// Light(BlueExplosionLight)
		TNT1 AAAAAA 0 A_SpawnItemEx(ExplosionSparkBlue,0,0,0,FRandom(2,10),0,FRandom(-5,10),Random(1,360))
		TNT1 AAA 0 A_SpawnItemEx(GaussCannonSmoke,0,0,0,FRandom(0,2),0,FRandom(-2,2),Random(1,360))
		TNT1 AAA 0 A_SpawnItemEx(GaussExplosionSprite,0,0,0,FRandom(0,4),0,FRandom(-4,4),Random(1,360))
		TNT1 AAA 0 A_SpawnItemEx(GaussExplosionSprite2,0,0,0,FRandom(0,4),0,FRandom(-4,4),Random(1,360))
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile(GaussCannonExplosionSpark,5,0,Random(1,360),2,Random(-45,90))
		TNT1 A 10 Radius_Quake (5, 10, 0, 10, 0) //Light(BlueExplosionLight) 
		Stop
	}
}

//*****************************
// Siege mode
Actor GaussCannonPuffSiege2 : GaussCannonPuffNormal replaces GaussCannonPuffSiege//main puff, shockwave fast
{
	Obituary "%o fell to %k's siege."
	States
	{
	Idle:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Doom4/Weapon/GaussGun/GaussPuffExplo",CHAN_AUTO,1.0,false,0.8)
		TNT1 A 1 A_SpawnItem(GaussExplosionBack)
		TNT1 AAAA 0 A_SpawnItem(GaussCannonExplosionShockWave2)
		TNT1 A 2 A_Explode(128,128,0,0,96)// Light(BlueExplosionLight)
		TNT1 AAAAAA 0 A_SpawnItemEx(GaussCannonSmoke,0,0,0,FRandom(0,3),0,FRandom(-3,3),Random(1,360))
		TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx(ExplosionSparkBlue,0,0,0,FRandom(5,15),0,FRandom(-5,15),Random(1,360))
		TNT1 AAAAAAA 0 A_SpawnItemEx(GaussExplosionSprite,0,0,0,FRandom(0,6),0,FRandom(-6,6),Random(1,360),SXF_TRANSFERSCALE)
		TNT1 AAAAAAA 0 A_SpawnItemEx(GaussExplosionSprite2,0,0,0,FRandom(0,6),0,FRandom(-6,6),Random(1,360),SXF_TRANSFERSCALE)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile(GaussCannonExplosionSpark,5,0,Random(1,360),2,Random(-45,90))
		TNT1 A 10 Radius_Quake (5, 10, 0, 10, 0)// Light(BlueExplosionLight)
		Stop
	}
}
