//Hammer

actor haelinsgift : Subweaponcandle
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 a_custommissile ("BlazHammerSprite",0,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 a_custommissile ("DoomslayerThunderBombSprite",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,6,0,0)
		//TNT1 A 0 a_log ("The omen warhammer! thou may wield it!")
		TNT1 A 0 a_jumpifinventory ("Hammercheck", 1, "GiveAmmo")
		TNT1 A 0 a_giveinventory ("Hammercheck", 1)
		TNT1 A 0 a_takeinventory ("subweaponammo",99)
		TNT1 A 0 a_giveinventory ("subweaponammo", 1)
		TNT1 A 0 a_takeinventory ("shieldcheck", 99)	
		TNT1 A 0 a_takeinventory ("hatchetcheck", 99)
		TNT1 A 0 a_takeinventory ("daggercheck", 99)
		TNT1 A 0 a_takeinventory ("Lancecheck", 99)
		TNT1 A 0 a_takeinventory ("TrineVoulgecheck", 99)		
		TNT1 A 0 a_takeinventory ("CrystalBombcheck", 99)		
		TNT1 A 0 a_takeinventory ("boomerangcheck", 99)
		TNT1 A 0 a_takeinventory ("Torchcheck", 99)
		stop
	GiveAmmo:
		TNT1 A 0
		TNT1 A 0 a_giveinventory ("subweaponammo", 1)
		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,6,0,0)
		//TNT1 A 0 a_log ("Thunder bomb!")
		TNT1 A 0 a_takeinventory ("SlayerBombCooldown",999)
		TNT1 A 0 a_jumpifinventory ("Thunderbombcheck", 1, "GiveSlayerAmmo")
		TNT1 A 0 a_giveinventory ("Thunderbombcheck", 1)
		TNT1 A 0 a_takeinventory ("bombammo", 99)
		TNT1 A 0 a_giveinventory ("bombammo", 5)
		TNT1 A 0 a_takeinventory ("Firebombcheck", 99)
		TNT1 A 0 a_takeinventory ("beambombcheck", 99)
		stop
	GiveSlayerAmmo:
		TNT1 A 0
		TNT1 A 0 a_giveinventory ("bombammo", 2)
		stop
	}
}

actor hammercheck : ammo
{
	inventory.amount 1
	inventory.maxamount 2
	states
	{
	spawn:
	 TRCN A -1
	 stop
	 }
}

actor BlazHammerSprite : GMOTAweaponsprite
{
	+floatbob
    VisibleToPlayerClass LordBlaz
    States
    {
	spawn:
		TNT1 A 0
		TNT1 A 0 a_playsound ("subweapons/lightningstrike",0,1,0,1)
		TNT1 A 0 a_playsound ("subweapons/thundercrack",0)
	pickalightning:
		TNT1 A 0
		TNT1 A 0 a_jump (255, "lightning1","lightning2","lightning3")
		loop
	lightning1:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem("OmenLightningBoltVar1",0,-50,0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("omenspawnlightning",0,0,0,0,10,0,frandom(0.0,359.9),SXF_NOCHECKPOSITION)		
		goto hammerspawn
	lightning2:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem("OmenLightningBoltVar2",0,-50,0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("omenspawnlightning",0,0,0,0,10,0,frandom(0.0,359.9),SXF_NOCHECKPOSITION)
		goto hammerspawn
	lightning3:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem("OmenLightningBoltVar3",0,-50,0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("omenspawnlightning",0,0,0,0,10,0,frandom(0.0,359.9),SXF_NOCHECKPOSITION)
		goto hammerspawn
	Hammerspawn:
		TNT1 A 0
		CMCP A 1 bright
		TNT1 A 0 a_warp (AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
		TNT1 A 0 a_checkflag ("SPECIAL","Hammerspawn",AAPTR_TARGET)
		CMCP A 1 bright
		goto death
	death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("Blazwinkout")
		stop
    }
}

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



actor DoomslayerThunderBombSprite : GMOTAweaponsprite
{
	+floatbob
    VisibleToPlayerClass DoomSlayer
    States
    {
	spawn:
		TNT1 A 0
		DSTB H 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)
		DSTB H 1 bright
		goto death
	death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("Doomslayerwinkout")
		stop
    }
}






//Hammer spawn visual effects

actor omenspawnlightning
{
	projectile
	speed 4
	+floorhugger
	+NOINTERACTION
	states
	{
	spawn:	
		GRLT ABCBA 1 Bright A_SetTranslucent(.6,1)
		TNT1 AA 1  Bright 
		GRLT BACABC 1 Bright 
		TNT1 AA 1  Bright 
		GRLT ACABC 1 Bright 
		TNT1 A 1  Bright 
		GRLT CBAC 1 Bright 
		Stop
	}
}


Actor OmenLightningBoltVar1
{
    Radius 7
    Height 5
    Speed 0
    Alpha 1
	Scale 4
    PROJECTILE
    RenderStyle Add
	+RANDOMIZE
	+THRUACTORS
	+NOCLIP
	+DONTSPLASH
	+BRIGHT
	+DONTBLAST
	ReactionTime 1
    States
    {
    Spawn:
       LBLT A 1
	   LBLT B 1
	   LBLT C 1
	   LBLT D 1
	   TNT1 A 0 A_Countdown
	   Loop
    Death:
	   TNT1 A 0 Radius_quake (5,10,0,150,0)
	   TNT1 A 0 a_playsound ("subweapons/lancelightning",5,1,0,0)
	   GXLT ABCD 1
       Stop
    }
}


	
Actor OmenLightningBoltVar2
{
    Radius 7
    Height 5
    Speed 0
    Alpha 1
	Scale 4
    PROJECTILE
    RenderStyle Add
	+RANDOMIZE
	+THRUACTORS
	+NOCLIP
	+DONTSPLASH
	+BRIGHT
	+DONTBLAST
	ReactionTime 1
    States
    {
    Spawn:
       LBLT D 1
	   LBLT B 1
	   LBLT C 1
	   LBLT A 1
	   TNT1 A 0 A_Countdown
	   Loop
    Death:
	   TNT1 A 0 Radius_quake (5,10,0,150,0)
	   TNT1 A 0 a_playsound ("subweapons/lancelightning",5,1,0,0)
	   GXLT ABCD 1
       Stop
    }
}


Actor OmenLightningBoltVar3
{
    Radius 7
    Height 5
    Speed 0
    Alpha 1
	Scale 4
    PROJECTILE
    RenderStyle Add
	+RANDOMIZE
	+THRUACTORS
	+NOCLIP
	+DONTSPLASH
	+BRIGHT
	+DONTBLAST
	ReactionTime 1
    States
    {
    Spawn:
       LBLT C 1
	   LBLT A 1
	   LBLT D 1
	   LBLT B 1
	   TNT1 A 0 A_Countdown
	   Loop
    Death:
	   TNT1 A 0 Radius_quake (5,10,0,150,0)
	   TNT1 A 0 a_playsound ("subweapons/lancelightning",5,1,0,0)
	   GXLT ABCD 1
       Stop
    }
}		
