actor skuttle : actor replaces lostsoul
{
	Monster
	Health 350
	Radius 20
	Height 45
	Mass 400
	Speed 8
	Damage (15)
	PainChance 160
	+FLOAT
	+NOGRAVITY
	+DONTRIP
	+dontfall
	+dontoverlap
	+thruspecies
	+missilemore
	-floorclip
	+bright
	bloodtype null
	seesound "skuttle/see"
	PainSound "skuttle/pain"
	DeathSound "skuttle/die"
	ActiveSound "skuttle/chatter"
	Obituary "%o fell before a Skuttle"
	dropitem "smallsubrefresh" 20
	States
	{
	Spawn:
		BATG AABB 10 A_Look
		loop
	See:
		BATG ABCD 1 A_Chase
		BATG D 0 a_playsound ("skuttle/wing", 0)
		BATG DCBA 1 A_chase
		Loop
	Missile:
		BATG A 0 a_playsound ("skuttle/see", 0)
		BATG A 0 a_jump (100, "ramattack")
		BATG A 10 a_facetarget
		BATG E 3
		BATG F 2 a_facetarget
		BATG G 1 a_facetarget
		BATG G 1 a_custommissile ("magerifleshot",10)
		BATG GFE 2
		goto see
	ramattack:
		BATG A 0 a_jump (60, "superram")
		BATG A 10 a_facetarget
		BATG A 0 A_SkullAttack
		goto ramloop
	superram:
		BATG A 20 a_facetarget
		BATG AB 1
		BATG CD 1
		BATG D 0 a_playsound ("skuttle/wing", 0)
		BATG DC 1
		BATG BA 1 
		BATG D 0 a_playsound ("skuttle/wing", 0)
 		BATG AB 1 a_facetarget
		BATG CD 1
		BATG AB 1
		BATG CD 1
		BATG D 0 a_playsound ("skuttle/wing", 0)
		BATG DC 1
		BATG BA 1 
		BATG D 0 a_playsound ("skuttle/wing", 0)
 		BATG AB 1 a_facetarget
		BATG CD 1
		BATG AB 1
		BATG CD 1
		BATG D 0 a_playsound ("skuttle/wing", 0)
		BATG DC 1
		BATG BA 1 
		BATG D 0 a_playsound ("skuttle/wing", 0)
 		BATG AB 1 a_facetarget
		BATG CD 1
		TNT1 A 0 a_playsound ("skuttle/powerup", 0)
		BATG D 0 a_playsound ("skuttle/wing", 0)
		BATG A 0 A_SkullAttack
		goto superramloop
	ramloop:
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG A 1 a_spawnitemex ("ramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG B 1 a_spawnitemex ("ramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG C 1 a_spawnitemex ("ramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG D 1 a_spawnitemex ("ramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG D 0  a_playsound ("skuttle/wing", 0)
		BATG D 1 a_spawnitemex ("ramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG C 1 a_spawnitemex ("ramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG B 1 a_spawnitemex ("ramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG A 1 a_spawnitemex ("ramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		loop
	superramloop:
		TNT1 A 0 a_jumpifinventory ("Ihitathing", 1, "superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG A 1 a_spawnitemex ("superramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_spawnitem ("skuttleboost1")
		TNT1 A 0 a_jumpifcloser (50,"superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitathing", 1, "superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG B 1 a_spawnitemex ("superramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_spawnitem ("skuttleboost2")
		TNT1 A 0 a_jumpifcloser (50,"superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitathing", 1, "superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG C 1 a_spawnitemex ("superramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_spawnitem ("skuttleboost3")
		TNT1 A 0 a_jumpifcloser (50,"superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitathing", 1, "superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG D 1 a_spawnitemex ("superramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_spawnitem ("skuttleboost4")
		TNT1 A 0 a_jumpifcloser (50,"superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitathing", 1, "superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG D 0 a_playsound ("skuttle/wing", 0)
		BATG D 1 a_spawnitemex ("superramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_spawnitem ("skuttleboost4")
		TNT1 A 0 a_jumpifcloser (50,"superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitathing", 1, "superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG C 1 a_spawnitemex ("superramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_spawnitem ("skuttleboost3")
		TNT1 A 0 a_jumpifcloser (50,"superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitathing", 1, "superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG B 1 a_spawnitemex ("superramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_spawnitem ("skuttleboost2")
		TNT1 A 0 a_jumpifcloser (50,"superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitathing", 1, "superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		BATG A 1 a_spawnitemex ("superramcheck",35,0,5,20,0,0,0,0,0)
		TNT1 A 0 a_spawnitem ("skuttleboost1")
		TNT1 A 0 a_jumpifcloser (50,"superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitathing", 1, "superramhit")
		TNT1 A 0 a_jumpifinventory ("Ihitawall", 1, "fallback")
		TNT1 A 0 a_jumpifcloser (50,"superramhit")
		loop
	fallback:
		TNT1 A 0 a_takeinventory ("Ihitawall", 99)
		TNT1 A 0 a_changeflag ("nopain", 1)
		TNT1 A 0 a_changeflag ("nogravity", 0)
		TNT1 A 0 a_stop
		TNT1 A 0 a_playsound ("skuttle/wallhit",0)
		TNT1 A 0 ThrustThing(angle*256/360+128, 10, 0, 0)
		TNT1 A 0 thrustthingz (0,30,0,0)
		TNT1 A 0 radius_quake (2,10,0,10,0)
		BATG H 20 a_pain
		TNT1 A 0 a_stop
		TNT1 A 0 a_changeflag ("nopain", 0)
		TNT1 A 0 a_changeflag ("nogravity", 1)
		goto see	
	superramhit:
		TNT1 A 0 a_takeinventory ("Ihitathing", 99)
		TNT1 A 0 a_stop
		TNT1 A 0 ACS_ExecuteWithResult(990,0,1,2)//flyback
		BATG A 4
		goto see
	Pain:
		BATG A 0
		BATG H 4 A_Pain
		BATG H 8
		Goto See
	Death:
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		TNT1 A 0 a_stop
	deadloop:
		BATG A 1 A_SetAngle(-55+Angle)
		BATG A 0 a_giveinventory ("spincount", 1)
		BATG A 0 a_jumpifinventory ("spincount", 30, "ded")
		loop
	ded:
		BATG A 2 a_facetarget
		BATG H 2
		TNT1 A 0 a_playsound ("skuttle/explode", 0)
		TNT1 AAAAAAA 0 a_spawndebris ("missiledebris1")
		TNT1 AAAAAAAAAAAA 0 a_spawnitemex ("missiledebris2",random(-16,16),random(-16,16),random(-10,10),random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0,160)
		MWND E 3 Bright
		MWND F 2 Bright
		MWND G 3 Bright
		MWND H 2 Bright
		MWND I 2 Bright
		stop
	death.blazice:
		BATG H 2 a_scream
		BAIC A 2 A_noblocking
		TNT1 A 0 a_stop
		TNT1 A 0 a_playsound ("swordtech/freezedeath")
		TNT1 A 0 a_fadeout (0.20)
		TNT1 AAAAAAAAAAAA 0 a_spawnitemex ("iceparticle",random(-8,8),random(-8,8),32,random(-100,100)/10.0,random(-100,100)/10.0,random(-100,100)/20.0,0,160)
		BAIC B 150 bright
		BAIC B 2 a_changeflag ("nogravity",0)
	falling:
		TNT1 A 0 A_JumpIf(floorz == z, "shatter")
		BAIC B 1 A_JumpIf(floorz == z, "shatter")
		TNT1 A 0 A_JumpIf(floorz == z, "shatter")
		loop
	shatter:
		BAIC C 2 bright
		TNT1 A 0 a_playsound ("swordtech/iceshatter")
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 0, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 45, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 90, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 180, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 270, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 360, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 a_dropitem ("treatspawner",1,140)
		TNT1 AAA 0 a_spawnitemex ("icefragment",0,0,0,random(-10,10),random(-10,10),10) 
		TNT1 AAAA 0 a_spawnitemex ("icefragment",0,0,0,random(-4,13),random(-8,13),8) 
		stop
	death.fatalslash:
		TNT1 A 0
		BATG H 2 a_scream
		TNT1 A 0 a_stop
		BAIC A 4 a_noblocking
		TNT1 A 0 a_stop
		BATG H 15
	randomwait:
		FDSK A 1 a_jump (20,"split")
		loop
	split:
		FDSK AABBCC 5
		FDSK DE 2
		FDSK FGHIJ 3 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDSK J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDSK J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDSK J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDSK J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDSK J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
	exploding:
		FDSK J 1 Bright
		TNT1 A 1 A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDSK J 1 Bright
		TNT1 A 1 A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDSK J 1 Bright
		TNT1 A 1 A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDSK J 1 Bright a_jump (100,"reallydie")
		TNT1 A 1 A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(5,25), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		loop
	reallydie:	
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("fataldrawdeath",0,0,0)
		stop
	}
}

actor ramcheck
{
	+notimefreeze
	projectile
	+FORCEXYBILLBOARD	
	+LOOKALLAROUND
	+THRUSPECIES
	species "enemyshot"
	radius 2
	speed 30
	damage (0)
	Scale 1
	states
	{
	spawn:
		TNT1 AA 1 bright
		stop
	xdeath:
		TNT1 A 0
		stop
	death:
	crash:
		TNT1 A 0 a_givetotarget ("Ihitawall")
		stop
	}
}

actor superramcheck : ramcheck
{
	+notimefreeze
	projectile
	+FORCEXYBILLBOARD	
	+LOOKALLAROUND
	+THRUSPECIES
	species "enemyshot"
	radius 2
	speed 30
	damage (15)
	Scale 1
	states
	{
	spawn:
		TNT1 AA 1 bright
		stop
	xdeath:
		TNT1 A 0 a_playsound ("skellytun/punch", 0)
		TNT1 A 0 a_givetotarget ("Ihitathing")
		stop
	death:
	crash:
		TNT1 A 0 a_givetotarget ("Ihitawall")
		stop
	}
}

actor skuttleboost1
{
	alpha 0.60
	renderstyle add
	projectile
	+clientsideonly
	+dontblast
	+noclip
	scale 1
	states
	{
	spawn:
		TNT1 A 0
		BATG A 6
		stop
	}
}

actor skuttleboost2 : skuttleboost1
{
	states
	{
	spawn:
		BATG B 6
		stop
	}
}

actor skuttleboost3 : skuttleboost1
{
	states
	{
	spawn:
		BATG C 6
		stop
	}
}

actor skuttleboost4 : skuttleboost1
{
	states
	{
	spawn:
		BATG D 6
		stop
	}
}

actor Ihitawall : inventory
{inventory.maxamount 1}

actor Ihitathing : inventory
{inventory.maxamount 1}

actor spincount : inventory
{inventory.maxamount 50}
