//=====================================================
//=====================================================
//OVERCLOCK LASER
//=====================================================
//=====================================================


actor OCBeamTip : HeatBeamTip
{
	damagetype "SentinelArm"
	states
	{
	Xdeath:
		TNT1 A 1
		TNT1 A 0 A_GiveToTarget ("OCKineticAmmo",8)
		TNT1 A 1
		TNT1 A 2
		stop
	}
}

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


ACTOR OCBeam
{   
	+NOINTERACTION
	+NOGRAVITY
	+FORCEXYBILLBOARD
	+bright
	RenderStyle Add
	Alpha 0.20
	Scale 1.00
	damagetype "SentinelArm"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CheckRange (40,"Emit")
		TNT1 A 1
		stop
	Emit:
		TNT1 A 0 
		OCB1 A 1 A_SetScale (1.90,1.90)
		TNT1 A 0 A_FadeIn (0.75)
		OCB1 A 1 A_SetScale (0.85,0.85) 
		Stop
	}
}

ACTOR OCBeamFinisher : OCBeam
{   
	damagetype "SentinelArm"
	States
	{
	Emit:
		TNT1 A 0 
		OCB1 A 1 A_SetScale (2,2) 
		TNT1 A 0 A_FadeIn (0.75)
		OCB1 A 1 A_SetScale (2.20,2.20) 
		OCB1 A 1 A_SetScale (1.80,1.80) 
		OCB1 A 1 A_SetScale (1.40,1.40) 
		OCB1 A 1 A_SetScale (0.80,0.80) 
		OCB1 A 1 A_SetScale (0.40,0.40) 
		OCB1 A 1 A_SetScale (0.20,0.20) 
		OCB1 A 1 A_SetScale (0.10,0.10) 
		OCB1 A 1 A_SetScale (0.05,0.05) 
		Stop
	}
}

ACTOR OCBeamIgnite : OCBeam
{   
	damagetype "SentinelArm"
	States
	{
	Emit:
		TNT1 A 0 
		OCB1 A 1 A_SetScale (0.20,0.20) 
		OCB1 A 1 A_SetScale (0.80,0.80) 
		TNT1 A 0 A_FadeIn (0.75)
		OCB1 A 1 A_SetScale (2.85,2.85) 
		Stop
	}
}





ACTOR OCBeamImpact : Fastprojectile
{
	Projectile
	-BLOODSPLATTER
	+THRUSPECIES
	+DONTBLAST
	+FORCEPAIN
	+NOBLOOD
	+NOEXTREMEDEATH
	+DONTREFLECT
	+PAINLESS
	+FORCERADIUSDMG
	+HITTRACER
	+BRIGHT
	Species "Friendly"
	Radius 2
	Height 2
	RenderStyle Add
	Alpha 0.95
	Scale 1
	Speed 1024
	damagetype "SentinelArm"
	states
	{
	Spawn:
		TNT1 A 1
		Stop
	XDeath:
	Crash:
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale (frandom(0.98,1.05),frandom(0.98,1.05))
		TNT1 A 1 A_SpawnItemEx("SteamFX",5,0,0,frandom(-3,3),frandom(-3,3),frandom(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 AAAA 0 A_SpawnItemEx("SteamFX",5,0,0,frandom(-3,3),frandom(-3,3),frandom(-3,3),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_Jump (120, 3) //Roll for pain, if it fails, just go to OCB1
		TNT1 A 0 A_ChangeFlag ("PAINLESS", 0)
		TNT1 A 0 A_Explode (2,20,0,1,20)
		OCB2 A 1 Bright
		stop
	}
}



ACTOR OCBeamTipFX1 : KustamPuff1
{
	+PAINLESS
	decal DoomimpScorch
	States
	{
	Spawn:
	Death:
	Crash:
		TNT1 A 1 
		TNT1 A 0 A_Jump (150,2)
		TNT1 A 0 A_RadiusGive ("BossBrainSmoother", 250, RGF_OBJECTS, 1)
		TNT1 A 0 A_SetScale (0.75,0.75)
		TNT1 A 1 A_SetScale (scalex * frandom(1.10,1.20),scaley * frandom(1.10,1.20))
		TNT1 A 0 A_PlaySound ("Kustam/HVolleyHit",0)
		TNT1 A 0 A_PlaySound ("Kustam/VentBoosterHit",0,0.30)
		SMSK AB 1 A_SpawnItemEx("SteamFX",5,0,0,frandom(-3,3),frandom(-3,3),frandom(-3,3),0,SXF_NOCHECKPOSITION)
		SMSK C 1 A_SetScale (scalex * frandom(1.10,1.20),scaley * frandom(1.10,1.20))
		SMSK D 1 A_SetScale (scalex * frandom(1.12,1.22),scaley * frandom(1.12,1.22))
		SMSK D 1 A_SetScale (scalex * frandom(1.13,1.23),scaley * frandom(1.13,1.23))
		stop	
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_SetScale (0.75,0.75)
		TNT1 A 1 A_SetScale (scalex * frandom(1.10,1.20),scaley * frandom(1.10,1.20))
		TNT1 A 0 A_PlaySound ("Kustam/HVolleyHit",0)
		TNT1 A 0 A_PlaySound ("Kustam/VentBoosterHit",0,0.30)
		SMSK AB 1
		SMSK C 1 A_SetScale (scalex * frandom(1.10,1.20),scaley * frandom(1.10,1.20))
		SMSK D 1 A_SetScale (scalex * frandom(1.12,1.22),scaley * frandom(1.12,1.22))
		SMSK D 1 A_SetScale (scalex * frandom(1.13,1.23),scaley * frandom(1.13,1.23))
		stop
	}
}

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

//Kinetic spread gun arm


actor KustamOverClockPellet : KustamScatterPellet
{
	damage (60)
	speed 60
	height 12
	radius 12
	Scale 2
	alpha 0.95
	-painless
	+BLOODSPLATTER
	+NOEXTREMEDEATH
	+HITTRACER
	//Decal ArtiDecal
	damagetype "SentinelArm"
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		RBP1 A 3
		RBP1 B 3
	flying:
		RBP1 C 1
		loop
	Death:
		TNT1 A 0
		RBPT DHI 2
		stop
	XDeath:
		TNT1 A 0
		TNT1 A 0
		STBE B random(1,2)
		TNT1 A 0 A_JumpIfInventory ("HitTimer",1,3,AAPTR_TRACER)
		TNT1 A 0 A_GiveInventory ("HitTimer",1,AAPTR_TRACER)
		TNT1 A 0 A_PlaySound("Kustam/jabhit", 5)
		TNT1 A 0 A_GiveToTarget ("OCLaserAmmo",10)
		STBE CDE 2
		stop
	}
}

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

//FLAMER STUFF

actor KustamFlamer
{
	+notimefreeze
	+FORCEXYBILLBOARD	
	+thruspecies	
	+bright
	Projectile
	damage (15)
	species "Friendly"
	speed 60
	height 12
	radius 12
    Scale 1
	alpha 0.95
	deathsound "kustam/ventflame"
	+bloodlessimpact
	+NOEXTREMEDEATH
	Decal DoomImpScorch
	damagetype "SentinelArm"
	states
	{
	Spawn:
		OCFI A 2
		TNT1 A 0 a_jump(40,"Spawn2")
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI B 1
		OCFI B 1
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI C 2
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI D 2
		TNT1 A 0 A_ScaleVelocity (0.50)
		OCFI E 2
		TNT1 A 0 A_ScaleVelocity (0.50)
		OCFI F 2
		stop
	Spawn2:
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI G 1
		OCFI H 1
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI I 2
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI J 2
		TNT1 A 0 A_ScaleVelocity (0.50)
		OCFI E 2
		TNT1 A 0 A_ScaleVelocity (0.50)
		OCFI F 2	
		stop
	Death:
		TNT1 A 1
		TNT1 AAA 0 A_SpawnItemEx ("SteamFX",random(-8,8),random(-8,8),random(-10,10),random(-60,60)/20.0,random(-60,60)/20.0,random(-60,60)/20.0,0,160)
		stop
	}
}


actor AnkleFlames : KustamFlamer
{
	+notimefreeze
	+FORCEXYBILLBOARD	
	+thruspecies	
	+bright
	+painless
	+thruactors
	+clientsideonly
	Projectile
	damage (0)
	species "Friendly"
	speed 60
	height 12
	radius 12
    Scale 0.50
	alpha 0.95
	deathsound null
	+bloodlessimpact
	+NOEXTREMEDEATH
	Decal null
	damagetype null
	states
	{
	Spawn:
		OCFI A 2
		TNT1 A 0 a_jump(40,"Spawn2")
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI B 1
		OCFI B 1
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI C 2
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI D 2
		TNT1 A 0 A_ScaleVelocity (0.50)
		OCFI E 2
		TNT1 A 0 A_ScaleVelocity (0.50)
		OCFI F 2
		stop
	Spawn2:
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI G 1
		OCFI H 1
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI I 2
		TNT1 A 0 A_ScaleVelocity (0.75)
		OCFI J 2
		TNT1 A 0 A_ScaleVelocity (0.50)
		OCFI E 2
		TNT1 A 0 A_ScaleVelocity (0.50)
		OCFI F 2	
		stop
	Death:
		TNT1 A 1
		TNT1 AAA 0 A_SpawnItemEx ("SteamFX",random(-8,8),random(-8,8),random(-10,10),random(-60,60)/20.0,random(-60,60)/20.0,random(-60,60)/20.0,0,160)
		stop
	}
}

//----------------------------------------------------------------
//----------------------------------------------------------------
//Extra overclock stuff

ACTOR KustamExplosion
{
	Radius 4
	Height 4
	Scale 0.80
	+bright
	+NOCLIP
	+NOGRAVITY
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 A 0
		KSBG ABCDE 2
		Stop
	}
}

actor SentinelExplosion
{
	+thruspecies
	species "friendly"
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 1 A_Explode (250,200,0,0,200)
		stop
	}
}

actor SentinelShield : powerprotection
{
	damagefactor "normal", 0.40
	Powerup.Duration -99999
	Powerup.Color 0, 0, 0, 0
    inventory.maxamount 1
    +INVENTORY.AUTOACTIVATE
}
