actor SpinelScourge : GrenadierRevenant
{
	Speed 14
	Species "GeoRev"
    bloodtype bonespray
	HitObituary "%o got too close to a Spinel Scourge."
	Obituary  "%o was shredded by a Spine Scourge's gem shot"
	dropitem "lilchest" 15
	translation "1:1=191:191", "2:2=190:190", "3:3=175:175", "5:5=188:188", "6:6=189:189", "7:7=190:190", "8:8=191:191", "102:111=171:185", "128:159=96:111", "64:79=96:111", "144:151=95:105", "246:246=190:190", "79:79=185:185", "77:77=183:183", "163:167=100:105"
	states
	{
	Missile:
		TNT1 A 0
		TNT1 A 0 a_jumpifcloser (250,"bonethrow")
	longrange:
		GREV G 0 Bright A_FaceTarget
		GREV G 10 Bright A_FaceTarget
		TNT1 A 0 a_jump (80, "homingshot")
		GREV H 2 A_custommissile ("Geoshot",56,-12)
		GREV H 2 A_custommissile ("GeoRing",58,-12)
		GREV I 5 A_FaceTarget
		Goto See
	Homingshot:
		GREV H 2 A_custommissile ("GeoHomingshot",56,-12)
		GREV H 2 A_custommissile ("GeoRing",58,-12)
		GREV I 5 A_FaceTarget
		Goto See
	bonethrow:
		GREV J 1 A_FaceTarget
		GREV J 3 A_PlaySound ("skellytun/woosh")
		GREV K 4 A_FaceTarget
		TNT1 A 0 A_CustomMissile("ScourgeBone",32,0,0,1)
		GREV L 3
		TNT1 A 0 a_jump (120, "bonethrow")
		TNT1 A 0 a_jump (30,"longrange")
		TNT1 A 0 a_jump (80, "Combone")
		Goto See
	Combone:
		GREV J 1 A_FaceTarget
		GREV J 2 A_PlaySound ("skellytun/woosh")
		GREV K 2 A_FaceTarget
		TNT1 A 0 A_CustomMissile("ScourgeBone",32,0,0,1)
		GREV L 1
		TNT1 A 0 a_giveinventory ("ComboneCount",random(2,3))
		TNT1 A 0 a_jumpifinventory ("ComboneCount",15,"BonerFinisher")
		loop
	BonerFinisher:
		GREV J 2 A_FaceTarget
		TNT1 A 0 a_takeinventory ("ComboneCount",999)
		GREV J 3 A_PlaySound ("skellytun/woosh")
		GREV K 4 A_FaceTarget
		TNT1 A 0 a_custommissile ("ScourgeBone",32,0,-30)
		TNT1 A 0 a_custommissile ("ScourgeBone",32,0,-20)
		TNT1 A 0 a_custommissile ("ScourgeBone",32,0,-10)
		TNT1 A 0 a_custommissile ("ScourgeBone",32,0,0)
		TNT1 A 0 a_custommissile ("ScourgeBone",32,0,10)
		TNT1 A 0 a_custommissile ("ScourgeBone",32,0,20)
		TNT1 A 0 a_custommissile ("ScourgeBone",32,0,30)
		GREV L 3
		Goto See
		
		
	Melee:
		GREV J 1 A_FaceTarget
		GREV J 5 A_PlaySound("skellytun/woosh")
		GREV K 4 A_FaceTarget
		TNT1 A 0 A_CustomMeleeAttack(random(1,10)*4,"skellytun/punch","none") //----------------This is a custom replication of the basic revenant punch damage
		TNT1 A 0 ACS_ExecuteWithResult(990,0,1,2)//flyback//------------------------------------Change arg4 for higher knockback distances. 2 is pretty big tho.
		GREV L 4
		TNT1 A 0 a_jump (70, "bonethrow")
		Goto See
	Death:
		GREV M 4
		GREV M 3 a_scream
		GREV M 1 A_NoBlocking
		SCXP A 20
		TNT1 A 0 A_PlaySound("skellytun/laugh1")
		SCXP ABABABABABABABAB 1
		SCXP A 8
		GRIC A 2
		SCXP A 2
		GRIC A 1
		SCXP A 1
		GRIC A 2
		TNT1 A 0 a_facetarget
		TNT1 A 0 A_CustomMissile("ScourgeBone", 30,0, 0, CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("ScourgeBone", 30,0, 60, CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("ScourgeBone", 30,0, 120, CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("ScourgeBone", 30,0, 180, CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("ScourgeBone", 30,0, 240, CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("ScourgeBone", 30,0, 300, CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("ScourgeBone", 30,0, 360, CMF_AIMDIRECTION)
		goto Xdeath
	Xdeath:
		TNT1 A 0
		TNT1 A 0 a_spawnitemex("Spinelgib1",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("Spinelgib2",0,0,0,frandom(-15,15),frandom(-10,10),frandom(8,16),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("Spinelgib2",0,0,0,frandom(-10,15),frandom(-10,10),frandom(8,16),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("Spinelgib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,15),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("Spinelgib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,18),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 thrustthingz (0,35,0,1)
		TNT1 A 0 ThrustThing(angle*256/360+128, 3, 0, 0)		
		TNT1 A 0 a_playsound ("skeleton/gib",0,1,0,0.6)
		TNT1 A 0 A_NoBlocking
		TNT1 AAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-10,10),random(-10,10),random(11,15))
		TNT1 AAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-14,18),random(-15,19),random(11,15))
		TNT1 AAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-8,15),random(-20,13),random(11,15))
		GRGB M 5
	flyback:
		GRGB N 1 A_JumpIf(Abs(VelZ) <= 0.01, "Land")
		loop
	land:
		GRGB P 1 thrustthingz (0,15,0,1)
		TNT1 A 0 a_playsound ("hellfos/fall",0)
		GRGB OPQ 1
		TNT1 A 0 a_jump (15,"GibbedDarkPortal")
		GRGB Q -1
		stop
	GibbedDarkPortal:
		TNT1 A 0
		GRGB Q random(50,180) 
		TNT1 A 0 a_playsound ("Darkportal/form",0)
		GRGB Q 3 Thing_SetTranslation(0, 4242)
		HWRP ABCD 1
		TNT1 A 1 a_spawnitemex ("MediumPortal")
		stop		
	death.superkick:
		GREV M 1 a_scream
		GREV M 1 a_scalevelocity (0.1)
		GREV M 1 a_stop
		GREV M 1 a_noblocking
		TNT1 A 0 a_changeflag ("NOCLIP",1)
		TNT1 A 0 a_changeflag ("NOGRAVITY",1)
		GREV M 1 a_facetarget
		TNT1 A 0 thrustthingz (0,80,0,1)
		TNT1 A 0 ThrustThing(angle*256/360+128, 110, 1, 0)
		TNT1 A 0 a_spawnitemex ("kickdeathsound")
		TNT1 A 0 a_spawnitemex("Spinelgib4",0,0,4,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("Spinelgib1",0,0,70,0,0,3,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("Spinelgib3",0,50,20,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("Spinelgib3",0,-50,20,0,0,0,0,SXF_NOCHECKPOSITION)
  		GRGB O 1
  		GRGB N 2
	kickfly:
		GRGB MMMMMMM 1 a_spawnitemex ("KustamParticle",random(-8,8),random(-8,8),random(-10,10),random(-120,120)/15.0,random(-130,130)/12.0,random(-110,110)/17.0,0)
		TNT1 A 0 a_fadeout (0.02)
		loop
	}
}
	




ACTOR Scourgebone : ThrownBone
{
	Speed 20
	Damage (15)
	Obituary "%o was boned by a Spinel Scourge."
	translation "112:223=94:111"
	States
	{
	Spawn:
		TNT1 A 0
		RBNE A 1
		RBNE B 1
		RBNE C 1 A_PlaySound("Skeleton/Swing")
		RBNE D 1
		Loop
	}
}
	
	
	
	


//Gib stuff

actor SpinelGib1 : bonergib1
{
	translation "1:1=191:191", "2:2=190:190", "3:3=175:175", "5:5=188:188", "6:6=189:189", "7:7=190:190", "8:8=191:191", "102:111=171:185", "128:159=96:111", "64:79=96:111", "144:151=95:105", "246:246=190:190", "79:79=185:185", "77:77=183:183", "163:167=100:105"
}

actor SpinelGib2 : SpinelGib1
{
	states
	{
	spawn:
		GRGB EFGH 1
		loop
	}
}

actor SpinelGib3 : SpinelGib1
{
	states
	{
	spawn:
		GRGB IJKL 1
		loop
	}
}

actor SpinelGib4 : bonergib4
{
	translation "1:1=191:191", "2:2=190:190", "3:3=175:175", "5:5=188:188", "6:6=189:189", "7:7=190:190", "8:8=191:191", "102:111=171:185", "128:159=96:111", "64:79=96:111", "144:151=95:105", "246:246=190:190", "79:79=185:185", "77:77=183:183", "163:167=100:105"
	states
	{
	spawn:
		GRGB R 180
		goto death
	death:
		TNT1 A 0
		TNT1 A 0 a_playsound ("skeleton/gib",0,1,0,0.6)
		TNT1 AAAA 0 a_spawnitemex("bonegib",0,0,0,random(-10,10),random(-10,10),random(11,15))
		TNT1 AAAA 0 a_spawnitemex("bonegib",0,0,0,random(-14,18),random(-15,19),random(11,15))
		TNT1 AAAA 0 a_spawnitemex("bonegib",0,0,0,random(-8,15),random(-20,13),random(11,15))
		TNT1 A 0 a_spawnitemex("Spinelgib2",0,0,0,frandom(-15,15),frandom(-10,10),frandom(8,16),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("Spinelgib2",0,0,0,frandom(-10,15),frandom(-10,10),frandom(8,16),0,SXF_NOCHECKPOSITION)
		TNT1 A 3
		stop
	}
}

actor combonecount : inventory
{inventory.maxamount 15}
