//--Spells--//

actor spellcandle : custominventory
{
	+notimefreeze
	+dropped
    +DONTGIB
	+inventory.alwayspickup
	Radius 13
	Height 14
	+quiet
	+bright
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
	spawn1:
		TNT1 A 0
		BCNL AB 2
		TNT1 A 0 a_giveinventory ("subtimer",1)
		TNT1 A 0 a_jumpifinventory ("subtimer",30,"Spawn2")
		loop
	Spawn2:
		TNT1 A 0
		BCNL B 1 a_takeinventory ("subtimer",999)
	Burn2:
		TNT1 A 0
		BCNL CD 2
		TNT1 A 0 a_giveinventory ("subtimer",1)
		TNT1 A 0 a_jumpifinventory ("subtimer",30,"Spawn3")
		loop
	Spawn3:
		TNT1 A 0
		BCNL D 1 a_takeinventory ("subtimer",999)
	Burn3:
		BCNL EF 2
		TNT1 A 0 a_giveinventory ("subtimer",1)
		TNT1 A 0 a_jumpifinventory ("subtimer",30,"Spawn4")
		loop
	Spawn4:
		TNT1 A 0
		BCNL F 1 a_takeinventory ("subtimer",999)
	Burn4:
		TNT1 A 0
		BCNL GH 2
		TNT1 A 0 a_giveinventory ("subtimer",1)
		TNT1 A 0 a_jumpifinventory ("subtimer",30,"death")
		loop
	death:
		TNT1 A 0
		TNT1 A 1 
		stop
	}
}




//crush missile

actor crushmissilespell : spellcandle
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 a_custommissile ("BlazCrushMissileSprite",0,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 a_custommissile ("DoomslayerGlassDaggerSprite",0,0,0,CMF_AIMDIRECTION)
		Goto spawn1		
	Pickup:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory ("IamLordBlaz",1,"Blaz")
		TNT1 A 0 A_JumpIfInventory ("IamDoomSlayer",1,"DoomSlayer")
		TNT1 A 1
		stop
	Blaz:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_setblend (FFFF00,0.1,5)
		TNT1 A 0 a_playsound ("powerups/spellorb",CHAN_ITEM)
		TNT1 A 0 ACS_NamedExecuteAlways("SubLog",0,9,0,0)
		//TNT1 A 0 a_log ("Crush Missile Subshot!")
		TNT1 A 0 a_jumpifinventory ("crushmissilecheck", 1, "GiveAmmo")
		TNT1 A 0 a_giveinventory ("crushmissilecheck", 1)
		TNT1 A 0 a_takeinventory ("subshotammo", 99)
		TNT1 A 0 a_giveinventory ("subshotammo", 10)
		TNT1 A 0 a_takeinventory ("rollingbombcheck", 99)
		TNT1 A 0 a_takeinventory ("scattershotcheck", 99)
		TNT1 A 0 a_takeinventory ("heatbeamcheck", 99)
		TNT1 A 0 a_takeinventory ("spikevulcancheck", 99)
		TNT1 A 0 a_takeinventory ("heavymacercheck", 99)
		stop
	GiveAmmo:
		TNT1 A 0
		TNT1 A 0 a_giveinventory ("subshotammo", 10)
		stop
	Doomslayer:
		TNT1 A 0
		TNT1 A 0 a_setblend (FFFF00,0.1,5)
		TNT1 A 0 a_playsound ("doomslayer/subpickup",CHAN_ITEM)
		TNT1 A 0 ACS_NamedExecuteAlways("SubLog",0,9,0,0)
		//TNT1 A 0 a_log ("Shatter slicer!")
		TNT1 A 0 a_takeinventory ("SlayerDaggerCooldown",999)
		TNT1 A 0 a_jumpifinventory ("glassdaggercheck", 1, "GiveSlayerAmmo")
		TNT1 A 0 a_giveinventory ("glassdaggercheck", 1)
		TNT1 A 0 a_takeinventory ("daggerammo", 99)
		TNT1 A 0 a_giveinventory ("daggerammo", 4)
		TNT1 A 0 a_takeinventory ("SpreadDaggerCheck", 99)
		TNT1 A 0 a_takeinventory ("AmmoDaggerCheck", 99)
		TNT1 A 0 a_takeinventory ("FoodDaggerCheck", 99)
		stop
	GiveSlayerAmmo:
		TNT1 A 0
		TNT1 A 0 a_giveinventory ("daggerammo", 4)
		stop
	}
}

actor crushmissilecheck : ammo
{	
	inventory.amount 1
	inventory.maxamount 1
	states
	{
	spawn:
		CCRS A -1
		stop
	}
}

actor BlazCrushMissileSprite : GMOTAweaponsprite
{
	+floatbob
    VisibleToPlayerClass LordBlaz
    States
    {
	spawn:
		TNT1 A 0
		CCRS A 1 bright
		TNT1 A 0 a_warp (AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
		TNT1 A 0 a_checkflag ("SPECIAL","spawn",AAPTR_TARGET)
		CCRS A 1 bright
		goto death
	death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("Blazwinkout")
		stop
    }
}

//Doomslayer
actor glassdaggercheck : ammo 
{
	inventory.amount 1
	inventory.maxamount 9
	states
	{
	spawn:
		HICN A -1
		stop
	}
}



actor DoomslayerGlassDaggerSprite : GMOTAweaponsprite
{
	Scale 0.80
	+floatbob
    VisibleToPlayerClass DoomSlayer
    States
    {
	spawn:
		TNT1 A 0
		SLGD J 1 bright
		TNT1 A 0 a_warp (AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
		TNT1 A 0 a_checkflag ("SPECIAL","spawn",AAPTR_TARGET)
		SLGD J 1 bright
		goto death
	death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("Doomslayerwinkout")
		stop
    }
}
