ACTOR BlastMasterSmoker
{
	projectile
	RenderStyle Translucent
	speed 15
	-SOLID
	+NOBLOCKMAP
	+NOGRAVITY
	+NOCLIP
	+DONTSPLASH
	+NOTELEPORT
	States
	{
	Spawn:
        TNT1 A 0
        TNT1 A 1 
		TNT1 A 1 a_stop
        TNT1 AA 0 A_SpawnItemEx("smashersmoke",frandom(-0.1,0.1),frandom(-0.1,0.1),frandom(-1.5,-1.5),momx,momy,frandom(0.5,1.5),0)
		TNT1 A 1 A_SpawnItemEx("smashersmoke",frandom(-0.1,0.1),frandom(-0.1,0.1),frandom(-1.5,-1.5),momx,momy,frandom(0.5,1.5),0)
		Stop
	}
}

ACTOR BlastMasterFlamer : BlastMasterSmoker
{
	States
	{
	Spawn:
        TNT1 A 0
        TNT1 A 1 a_stop
        TNT1 AA 0 A_SpawnItemEx("RedVentEmber3",frandom(-0.1,0.1),frandom(-0.1,0.1),frandom(-1.5,-1.5),momx,random (-1,1),frandom(0.5,0.8),0)
		TNT1 A 0 a_jump (80,2)
		TNT1 A 1 A_SpawnItemEx("RedVentEmber4",frandom(-0.1,0.1),frandom(-0.1,0.1),frandom(-1.5,-1.5),momx,random (-1,1),frandom(0.5,0.8),0)
		TNT1 A 0
		Stop
	}
}

//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------



//------------------------------------------------
//------------------------------------------------
//Bullet Sparks
//------------------------------------------------
//------------------------------------------------


ACTOR BMBulletSparkBase : Fastprojectile
{
	radius 3
	height 6
	speed 10
	scale 0.25
	projectile
	+nointeraction
	+FLOORCLIP
	+DONTSPLASH
	+thruactors
	+NOTELEPORT
	+clientsideonly
	+bright
	+hexenbounce
	bouncecount 2
	Renderstyle Add
	alpha 0.80
	Missileheight 9
	States
	{
	spawn:	
		TNT1 A 4
		goto death
	Death:
		TNT1 A 1
		stop
	}
}

ACTOR BMBulletSparkBlue : BMBulletSparkBase
{
	missiletype "BlueSparkTrail"
}


actor BlueSparkTrail
{
	+nointeraction
	+clientsideonly
	scale 0.25
	renderstyle add
	alpha 0.90
	translation "0:255=%[0.05,0.17,0.45]:[0.57,0.88,1]" 
	states
	{
	spawn:
		PUFF A 1
		goto death
	death:
		PUFF A 1
		TNT1 A 0 a_fadeout (0.20)
		loop
	}
}


ACTOR BMBulletSparkYellow : BMBulletSparkBase
{
	missiletype "YellowSparkTrail"
}


actor YellowSparkTrail : BlueSparkTrail
{
	translation "0:255=%[0.40,0.44,0]:[0.80,0.90,0.015]" 
}


ACTOR BMBulletSparkRed : BMBulletSparkBase
{
	missiletype "RedSparkTrail"
}


actor RedSparkTrail : BlueSparkTrail
{
	translation "0:255=%[0.47,0.015,0]:[0.86,0.32,0.30]" 
}




//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------



//------------------------------------------------
//------------------------------------------------
//Bullet Puffs
//------------------------------------------------
//------------------------------------------------


ACTOR BlueBMPuff : CAPuff
{
	+NOBLOCKMAP
	+NOGRAVITY
	+ALLOWPARTICLES
	+RANDOMIZE
	+thruspecies
	+MTHRUSPECIES
	+puffonactors
	+bright
	+NOEXTREMEDEATH
	species "Player"
	RenderStyle Add
	Alpha 0.90
	VSpeed 0
	scale 0.30
	Mass 5
	translation "0:255=%[0.05,0.17,0.45]:[0.57,0.88,1]" 
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		BPK1 A 1
	XDeath:
		TNT1 A 0 a_playsound ("blastmaster/PuffHit",CHAN_VOICE,0.8,0,1.5)	
		TNT1 A 0 a_setscale (0.90,0.90)
		MNSP ABCD 1
		stop
	Crash:
	Death:
		BPK1 A 1 Bright
		TNT1 A 0 a_playsound ("blastmaster/ricochet",CHAN_VOICE,0.5,0,1.5)	
		TNT1 AA 0 a_spawnitemex ("BMBulletSparkBlue",5,0,0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)		
		BPK1 A 1 A_SetScale (scalex * frandom(1.20,1.40),scaley * frandom(1.20,1.40))
		BPK1 A 1 A_SetScale (scalex * frandom(0.70,0.80),scaley * frandom(0.70,0.80))
		BPK1 A 1 A_SetScale (scalex * frandom(0.20,0.40),scaley * frandom(0.20,0.40))
		Stop
	}
}


ACTOR YellowBMPuff : BlueBMPuff
{
	translation "0"
	states
	{
	Crash:
	Death:
		BPK1 A 1 Bright
		TNT1 A 0 a_playsound ("blastmaster/ricochet",CHAN_VOICE,0.5,0,1.5)	
		TNT1 AA 0 a_spawnitemex ("BMBulletSparkYellow",5,0,0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)		
		BPK1 A 1 A_SetScale (scalex * frandom(1.20,1.40),scaley * frandom(1.20,1.40))
		BPK1 A 1 A_SetScale (scalex * frandom(0.70,0.80),scaley * frandom(0.70,0.80))
		BPK1 A 1 A_SetScale (scalex * frandom(0.20,0.40),scaley * frandom(0.20,0.40))
		Stop
	}
}

ACTOR RedBMPuff : BlueBMPuff
{
	translation "0:255=%[0.27,0.015,0]:[0.86,0.42,0.40]" 
	states
	{
	Crash:
	Death:
		BPK1 A 1 Bright
		TNT1 A 0 a_playsound ("blastmaster/ricochet",CHAN_VOICE,0.5,0,1.5)	
		TNT1 AA 0 a_spawnitemex ("BMBulletSparkRed",5,0,0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)		
		BPK1 A 1 A_SetScale (scalex * frandom(1.20,1.40),scaley * frandom(1.20,1.40))
		BPK1 A 1 A_SetScale (scalex * frandom(0.70,0.80),scaley * frandom(0.70,0.80))
		BPK1 A 1 A_SetScale (scalex * frandom(0.20,0.40),scaley * frandom(0.20,0.40))
		Stop
	}
}


//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//Shotgun puffs
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------

ACTOR BlueShotgunPuff : BlueBMPuff
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		BPK1 A 1
	XDeath:
		TNT1 A 0 a_playsound ("blastmaster/PuffHit",CHAN_VOICE,0.6,0,1.9)	
		TNT1 A 0 a_setscale (0.90,0.90)
		MNSP ABCD 1
		stop
	Crash:
	Death:
		BPK1 A 1 Bright
		TNT1 A 0 a_playsound ("blastmaster/ricochet",CHAN_VOICE,0.5,0,1.9)	
		TNT1 AA 0 a_spawnitemex ("BMBulletSparkBlue",5,0,0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)		
		BPK1 A 1 A_SetScale (scalex * frandom(1.20,1.40),scaley * frandom(1.20,1.40))
		BPK1 A 1 A_SetScale (scalex * frandom(0.70,0.80),scaley * frandom(0.70,0.80))
		BPK1 A 1 A_SetScale (scalex * frandom(0.20,0.40),scaley * frandom(0.20,0.40))
		Stop
	}
}


ACTOR YellowShotGunPuff : BlueShotgunPuff 
{
	translation "0"
	states
	{
	Crash:
	Death:
		BPK1 A 1 Bright
		TNT1 A 0 a_playsound ("blastmaster/ricochet",CHAN_VOICE,0.5,0,1.9)	
		TNT1 AA 0 a_spawnitemex ("BMBulletSparkYellow",5,0,0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)		
		BPK1 A 1 A_SetScale (scalex * frandom(1.20,1.40),scaley * frandom(1.20,1.40))
		BPK1 A 1 A_SetScale (scalex * frandom(0.70,0.80),scaley * frandom(0.70,0.80))
		BPK1 A 1 A_SetScale (scalex * frandom(0.20,0.40),scaley * frandom(0.20,0.40))
		Stop
	}
}

ACTOR RedShotgunPuff : BlueShotgunPuff
{
	translation "0:255=%[0.27,0.015,0]:[0.86,0.42,0.40]" 
	states
	{
	Crash:
	Death:
		BPK1 A 1 Bright
		TNT1 A 0 a_playsound ("blastmaster/ricochet",CHAN_VOICE,0.5,0,1.9)	
		TNT1 AA 0 a_spawnitemex ("BMBulletSparkRed",5,0,0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,Frandom(-200,200)/20.0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)		
		BPK1 A 1 A_SetScale (scalex * frandom(1.20,1.40),scaley * frandom(1.20,1.40))
		BPK1 A 1 A_SetScale (scalex * frandom(0.70,0.80),scaley * frandom(0.70,0.80))
		BPK1 A 1 A_SetScale (scalex * frandom(0.20,0.40),scaley * frandom(0.20,0.40))
		Stop
	}

}





//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//Fission Sweeper puff
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------



ACTOR RedFissionPuff : CAPuff
{
	Alpha 0.50
	+HITTRACER
	VSpeed 0
	scale 0.70
	Mass 5
	Decal RedFissionScorch
	ProjectileKickback 800
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
	XDeath:
		TNT1 A 0 A_playsound ("BMPlasGun/RedHit",CHAN_VOICE)
		TNT1 AA 0 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_giveinventory ("FissionKicker",1,AAPTR_TRACER)
		FSB3 EFGHI 1 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		stop
	Death:
	Crash:
		TNT1 A 1
		TNT1 A 0 A_playsound ("BMPlasGun/RedHit",CHAN_VOICE)
		TNT1 AA 0 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		FSB3 EFGHI 1 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 3 A_spawnItemex ("BlastMasterFlamer",0,0,0,random(-3,3),random(-3,3),random(-3,3),0,SXF_NOCHECKPOSITION)
		stop
	}
}



ACTOR FissionKicker : CustomInventory
{
	+AUTOACTIVATE
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		Stop
	Use:
		TNT1 A 0
		TNT1 A 0 thrustthingz (0,15,0,0)
		TNT1 A 1 
		Stop
	}
}



//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------


//------------------------------------------------
//------------------------------------------------
//Hot casings for the Defiance
//------------------------------------------------
//------------------------------------------------

Actor DefianceCasing
{
	Radius 2
	Height 4
	Speed 30
	Scale 0.15
	PROJECTILE
	-NOGRAVITY
	+BounceOnActors
	+DONTSPLASH
	+DOOMBOUNCE
	+bright
	+thruspecies
	Species "Player"
	Gravity 0.75
	BounceCount 6
	BounceFactor 0.6  
	SeeSound "Casing/Bullet"
	DeathSound "Casing/Bullet"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 a_scalevelocity (frandom(0.40,0.80))
		TNT1 A 0 ThrustThingZ (0,random(6,10),0,1)
		TNT1 A 0 a_scalevelocity (frandom(0.70,0.90))
		TNT1 A 0 A_PlaySound("silence", CHAN_VOICE)
		CAS1 ABCDEFGH 1 
		Goto rollingloop		
	rollingloop:
		CAS1 ABCDEFGH 1 
		Loop
	Death:
		TNT1 A 0 a_jump (256, "dead1","dead2")
		TNT1 A 1
		loop
	dead1:
		CAS1 I 60
		CAS1 I 1 a_fadeout (0.01)
		wait
 	dead2:
		CAS1 J 60
		CAS1 J 1 a_fadeout (0.01)
		wait
	}
}


ACTOR HotDefianceCasing : DefianceCasing
{
	Scale 0.15
	Speed 45
	Damage (8)
	+painless
	-Bounceonactors
	BounceCount 6
	BounceFactor 0.6  
	translation "0:255=%[0.85,0,0]:[1,1,0.05]" 
	SeeSound "Defiance/HotCasing"
	DeathSound "Defiance/HotStop"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 a_scalevelocity (frandom(0.40,0.80))
		TNT1 A 0 ThrustThingZ (0,random(7,13),0,1)
		TNT1 A 0 a_scalevelocity (frandom(0.70,0.90))
		TNT1 A 0 A_PlaySound("silence", CHAN_VOICE)
		TNT1 A 1 a_jump (50,"PainfulCasing")
		CAS1 ABCDEFGH 1 a_spawnitemex ("MiniSmoke",0,0,1,0,0,random(1,2),0,SXF_NOCHECKPOSITION)
		Goto rollingloop
	PainfulCasing:
		TNT1 A 0 a_changeflag ("PAINLESS",0)
		CAS1 ABCDEFGH 1 a_spawnitemex ("MiniSmoke",0,0,1,0,0,random(1,2),0,SXF_NOCHECKPOSITION)
		Goto rollingloop
		
	rollingloop:
		CAS1 ABCDEFGH 1 a_spawnitemex ("MiniSmoke",0,0,1,0,0,random(1,2),0,SXF_NOCHECKPOSITION)
		Loop
	Death:
		TNT1 A 0 
		TNT1 A 0 A_SpawnItemEx("DefianceSpawner1",0,0,3,random(-1,1),random(-1,1),random(2,4),random(0,359),SXF_NOCHECKPOSITION)
		TNT1 A 1
		stop
	XDeath:
		TNT1 A 0 a_changeflag ("NOGRAVITY",1)
		TNT1 A 0 a_playsound ("BlastMaster/BlueFireHit",0,0.80,0,1.60)
		TNT1 A 1 a_spawnitemex ("DefianceHitSpark",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)
		Stop
	}
}


actor DefianceHitSpark
{
    Radius 1
    Height 1
	Scale 0.40
	renderstyle add
	Alpha 0.80
    Projectile
	+FORCEXYBILLBOARD
	+clientsideonly
    +NOCLIP
    States
	{
	Spawn:
		VBX4 DEFGHIJ 1 A_SetScale (scalex * frandom(1.10,1.20),scaley * frandom(1.10,1.20))
		VBX4 J 1 a_fadeout (0.20)
		stop
	}
}



actor DefianceSpawner1
{
	Radius 1
	Height 1
	Speed 15
	PROJECTILE
	+hexenbounce
	-NOGRAVITY
	+THRUACTORS
	scale 0.35
	gravity 0.80
	states
	{
	spawn:
		TNT1 A 1
		goto death
	death:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HotDefianceWaiter",0,0,2,0,0,0,0,SXF_NOCHECKPOSITION)
		stop
	}
}



Actor HotDefianceWaiter
{
	PROJECTILE
	+notimefreeze
	+bright
	+floorhugger
	-nogravity
	damage (8)
	speed 0
	+thruspecies
	species "Player"
	+FORCEXYBILLBOARD
	radius 9
	height 16
	scale 0.15
	gravity 0.8
	Projectilekickback 100
	translation "0:255=%[0.85,0,0]:[1,1,0.05]" 
	
	var int user_CasingTimer;
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 a_jump (140,"Flip")
		CAS1 I 1
		goto waiting
	Flip:
		CAS1 I 1 a_setscale (-0.15,0.15)
		goto waiting
	Waiting:
		CAS1 I 2 
		CAS1 I 2 a_spawnitemex ("MiniSmoke",0,0,1,0,0,random(1,2),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_setuservar("User_CasingTimer", User_CasingTimer+1)
		TNT1 A 0 a_jumpif (user_CasingTimer >= 120, "FadingOut")
		loop
	FadingOut:
		CAS1 I 10 a_spawnitemex ("MiniSmoke",0,0,1,0,0,random(1,2),0,SXF_NOCHECKPOSITION)
		CAS1 I 1 a_fadeout (0.10)
		Loop
	Death:
		TNT1 A 0
		TNT1 A 1
		stop
	XDeath:
		TNT1 A 0 
		TNT1 A 0 a_changeflag ("NOGRAVITY",1)
		TNT1 A 0 a_playsound ("BlastMaster/BlueFireHit",0,0.80,0,1.60)
		TNT1 A 1 a_spawnitemex ("DefianceHitSpark",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)
		Stop
	}
}


//----------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------
//SLAG CASINGS
//----------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------



ACTOR SlagDefianceCasing : DefianceCasing
{
	Scale 0.15
	Speed 55
	Damage (8)
	+painless
	-Bounceonactors
	BounceCount 6
	BounceFactor 0.6  
	translation "0:255=%[0.85,0.21,0]:[1,1,1]" 
	SeeSound "Defiance/SlagCasing"
	DeathSound "Defiance/SlagStop"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 a_scalevelocity (frandom(0.40,0.80))
		TNT1 A 0 ThrustThingZ (0,random(9,14),0,1)
		TNT1 A 0 a_scalevelocity (frandom(0.70,0.90))
		TNT1 A 0 A_PlaySound("silence", CHAN_VOICE)
		TNT1 A 1 a_jump (120,"PainfulCasing")
		CAS1 ABCD 1
		CAS1 EFGH 1 a_spawnitemex ("RedVentEmber3",0,0,1,frandom(-0.50,0.50),frandom(-0.50,0.50),frandom(0.50,1),0,SXF_NOCHECKPOSITION)
		Goto rollingloop
	PainfulCasing:
		CAS1 ABCD 1
		CAS1 EFGH 1 a_spawnitemex ("RedVentEmber3",0,0,1,frandom(-0.50,0.50),frandom(-0.50,0.50),frandom(0.50,1),0,SXF_NOCHECKPOSITION)
		Goto rollingloop		
	rollingloop:
		CAS1 ABCDEFGH 1 a_spawnitemex ("RedVentEmber3",0,0,1,frandom(-0.50,0.50),frandom(-0.50,0.50),frandom(0.50,1),0,SXF_NOCHECKPOSITION)
		Loop
	Death:
		TNT1 A 0 
		TNT1 A 0 A_SpawnItemEx("DefianceSpawner2",0,0,3,random(-1,1),random(-1,1),random(2,4),random(0,359),SXF_NOCHECKPOSITION)
		stop
	XDeath:
		TNT1 A 0 a_changeflag ("NOGRAVITY",1)
		TNT1 A 0 a_playsound ("BlastMaster/BlueFireHit",0,0.80,0,1.60)
		TNT1 A 1 a_spawnitemex ("DefianceHitSpark",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)
		Stop
	}
}

actor DefianceSpawner2
{
	Radius 1
	Height 1
	Speed 15
	PROJECTILE
	+hexenbounce
	-NOGRAVITY
	+THRUACTORS
	scale 0.35
	gravity 0.80
	states
	{
	spawn:
		TNT1 A 1
		goto death
	death:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SlagDefianceWaiter",0,0,2,0,0,0,0,SXF_NOCHECKPOSITION)
		stop
	}
}



Actor SlagDefianceWaiter
{
	PROJECTILE
	+notimefreeze
	+bright
	+floorhugger
	-nogravity
	damage (8)
	speed 0
	+thruspecies
	species "Player"
	+FORCEXYBILLBOARD
	radius 9
	height 16
	scale 0.15
	gravity 0.8
	Projectilekickback 100
	translation "0:255=%[0.85,0.21,0]:[1,1,1]" 
	
	var int user_CasingTimer;
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 a_jump (140,"Flip")
		CAS1 I 1
		goto waiting
	Flip:
		CAS1 I 1 a_setscale (-0.15,0.15)
		goto waiting
	Waiting:
		CAS1 I 2 
		CAS1 I 2 a_spawnitemex ("RedVentEmber3",0,0,1,frandom(-0.50,0.50),frandom(-0.50,0.50),frandom(0.50,1),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_setuservar("User_CasingTimer", User_CasingTimer+1)
		TNT1 A 0 a_jumpif (user_CasingTimer >= 120, "FadingOut")
		loop
	FadingOut:
		CAS1 I 10 a_spawnitemex ("RedVentEmber3",0,0,1,frandom(-0.50,0.50),frandom(-0.50,0.50),frandom(0.50,1),0,SXF_NOCHECKPOSITION)
		CAS1 I 1 a_fadeout (0.10)
		loop
	Death:
		TNT1 A 0
		TNT1 A 1
		stop
	XDeath:
		TNT1 A 0 
		TNT1 A 0 a_changeflag ("NOGRAVITY",1)
		TNT1 A 0 a_playsound ("BlastMaster/BlueFireHit",0,0.80,0,1.60)
		TNT1 A 1 a_spawnitemex ("DefianceHitSpark",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)
		Stop
	}
}
