//--sub weapons--//

//This candle acts as the foundation for subweapon pickups, it has a visible sprite
//That slowly diminishes with time to show how much time before the weapon vanishes
//It too uses the disguise sprite system as GMOTA's main weapons!

actor subweaponcandle : custominventory
{
	+notimefreeze
	+dropped
    +DONTGIB
	+inventory.alwayspickup
	Radius 13
	Height 14
	+quiet
	+bright
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
	spawn1:
		TNT1 A 0
		SCNL AB 2
		TNT1 A 0 a_giveinventory ("subtimer",1)
		TNT1 A 0 a_jumpifinventory ("subtimer",30,"Spawn2")
		loop
	Spawn2:
		TNT1 A 0
		SCNL B 1 a_takeinventory ("subtimer",999)
	Burn2:
		TNT1 A 0
		SCNL CD 2
		TNT1 A 0 a_giveinventory ("subtimer",1)
		TNT1 A 0 a_jumpifinventory ("subtimer",30,"Spawn3")
		loop
	Spawn3:
		TNT1 A 0
		SCNL D 1 a_takeinventory ("subtimer",999)
	Burn3:
		SCNL EF 2
		TNT1 A 0 a_giveinventory ("subtimer",1)
		TNT1 A 0 a_jumpifinventory ("subtimer",30,"Spawn4")
		loop
	Spawn4:
		TNT1 A 0
		SCNL F 1 a_takeinventory ("subtimer",999)
	Burn4:
		TNT1 A 0
		SCNL 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
	}
}

actor arthurshatchet : subweaponcandle
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
        TNT1 A 0 a_custommissile ("BlazHatchetSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("DoomslayerBeamBombSprite",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/subweapon",CHAN_ITEM)
		TNT1 A 0 ACS_NamedExecuteAlways("SubLog",0,0,0,0)			
		//TNT1 A 0 a_log ("Hatchet Subweapon!")
		TNT1 A 0 a_jumpifinventory ("hatchetcheck", 1, "GiveAmmo")
		TNT1 A 0 a_giveinventory ("hatchetcheck", 1)
		TNT1 A 0 a_takeinventory ("subweaponammo",99)
		TNT1 A 0 a_giveinventory ("subweaponammo", 8)
		TNT1 A 0 a_takeinventory ("shieldcheck", 99)	
		TNT1 A 0 a_takeinventory ("lancecheck", 99)
		TNT1 A 0 a_takeinventory ("daggercheck", 99)
		TNT1 A 0 a_takeinventory ("torchcheck", 99)
		TNT1 A 0 a_takeinventory ("TrineVoulgecheck", 99)		
		TNT1 A 0 a_takeinventory ("hammercheck", 99)		
		TNT1 A 0 a_takeinventory ("boomerangcheck", 99)
		TNT1 A 0 a_takeinventory ("crystalbombcheck", 99)
		stop
	GiveAmmo:
		TNT1 A 0
		TNT1 A 0 a_giveinventory ("subweaponammo", 8)
		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 a_takeinventory ("SlayerBombCooldown",999)
		TNT1 A 0 ACS_NamedExecuteAlways("SubLog",0,0,0,0)			
		//TNT1 A 0 a_log ("Sapphire beam bomb!")
		TNT1 A 0 a_jumpifinventory ("beambombcheck", 1, "GiveSlayerAmmo")
		TNT1 A 0 a_giveinventory ("beambombcheck", 1)
		TNT1 A 0 a_takeinventory ("bombammo", 99)
		TNT1 A 0 a_giveinventory ("bombammo", 4)
		TNT1 A 0 a_takeinventory ("firebombcheck", 99)
		TNT1 A 0 a_takeinventory ("thunderbombcheck", 99)
		stop
	GiveSlayerAmmo:
		TNT1 A 0
		TNT1 A 0 a_giveinventory ("bombammo", 2)
		stop
	}
}

//Blaz
actor hatchetcheck : ammo 
{
	inventory.amount 1
	inventory.maxamount 2
	states
	{
	spawn:
		HICN A -1
		stop
	}
}

actor BlazHatchetSprite : GMOTAweaponsprite
{
	+floatbob
    VisibleToPlayerClass LordBlaz
    States
    {
	spawn:
		TNT1 A 0
		HICN 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)
		HICN A 1 bright
		goto death
	death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("Blazwinkout")
		stop
    }
}

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



actor DoomslayerBeamBombSprite : GMOTAweaponsprite
{
	+floatbob
    VisibleToPlayerClass DoomSlayer
    States
    {
	spawn:
		TNT1 A 0
		DSBB F 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)
		DSBB F 1 bright
		goto death
	death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("DoomSlayerWinkout")
		stop
    }
}

