actor hitcancel : WoC_Boolean {}

actor hit : WoC_Boolean {}

actor wallhit : WoC_Boolean {}

Actor ScreenPitchHalf : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch-0.5)
		Stop
	}
}

Actor ScreenPitchHalfBack : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch+0.5)
		Stop
	}
}

Actor ScreenPitch1 : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch-1)
		Stop
	}
}

Actor ScreenPitch1Back : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch+1)
		Stop
	}
}

Actor ScreenPitch2 : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch-2)
		Stop
	}
}

Actor ScreenPitch2Back : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch+2)
		Stop
	}
}

Actor ScreenPitch3 : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch-3)
		Stop
	}
}

Actor ScreenPitch3Back : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch+3)
		Stop
	}
}

Actor ScreenPitch4 : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch-4)
		Stop
	}
}

Actor ScreenPitch4Back : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_SetPitch(Pitch+4)
		Stop
	}
}

actor WoCSlotPickup: CustomInventory
{
	+QUIET
	Inventory.PickupMessage ""

	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WOC ISDROPPED") == 1, "IWasDropped")
		TNT1 A 35 A_JumpIf(1==1,"SpawnLoop")
		Wait

	PickupSuccess:
		TNT1 A 0 A_RailWait//A_SpawnItemEx("WoCDummyPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)   // because you'll totally have floatbob as a player
		stop

	PickupFailure:
		TNT1 A 0 A_RailWait
		fail

	Invisible:
		TNT1 A 35
		TNT1 A 0 A_Jump(255, "SpawnLoop")
		loop
	Vanishing:
		TNT1 A 0
		Stop
	}
}

actor WoCSlotTwoPickup : WoCSlotPickup
{
    ConversationID 194

    States
    {
      IWasDropped:
        TNT1 A 0 A_SpawnItemEx("WoCSlotTwoDrop", 0,0,0, momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM)
        stop
        
      SpawnLoop:      
        "----" A 35 bright ACS_ExecuteAlways(WOC_CLIENT_CLASS, 0, 2)
        loop
        
        NoGuy:    TNT1 A 1 bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        
        Fighter:  	 WFAX A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Cleric:  	 WCSS A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Mage:  	 	 WMCS ABC 8 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Hunter:  	 BWPU A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Necromancer: WHRT ABCDABCDABCDABCDABC 4 Bright A_ChangeFlag("FLOATBOB", 0)
					 WHRT D 4 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
		Assassin:  	 IBOW Z 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 2) & 3) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCSlotTwoDrop : WoCSlotTwoPickup
{
    States
    {
      Spawn:
        TNT1 A 0
        goto SpawnLoop
        
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 2, 1) & 1) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCSlotThreePickup : WoCSlotPickup
{
    ConversationID 195

    States
    {
      IWasDropped:
        TNT1 A 0 A_SpawnItemEx("WoCSlotThreeDrop", 0,0,0, momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM)
        stop
        
      SpawnLoop:      
        "----" A 35 bright ACS_ExecuteAlways(WOC_CLIENT_CLASS, 0, 3)
        loop
        
        NoGuy:    TNT1 A 1 bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        
        Fighter:  	 WFHM A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Cleric:  	 WCFM ABCDEFGH 4 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Mage:  	 	 WMLG ABCDEFGH 4 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Hunter:  	 WBOW B 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Necromancer: WLIC A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
		Assassin:  	 SGRN Z 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 3) & 3) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCSlotThreeDrop : WoCSlotThreePickup
{
    States
    {
      Spawn:
        TNT1 A 0
        goto SpawnLoop
        
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 3, 1) & 1) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCSlotFourPickup : WoCSlotPickup
{
    ConversationID 193

    States
    {
      IWasDropped:
        TNT1 A 0 A_SpawnItemEx("WoCSlotFourDrop", 0,0,0, momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM)
        stop
        
      SpawnLoop:      
        "----" A 35 bright ACS_ExecuteAlways(WOC_CLIENT_CLASS, 0, 4)
        loop
        
        NoGuy:    TNT1 A 1 bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        
        Fighter:  	 QUTP Z 35 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Cleric:  	 WVRG Z 35 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Mage:  	 	 BDSC Z 35 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Hunter:  	 WHFC A 35 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Necromancer: RVNS A 35 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
		Assassin:  	 HXBO J 35 Bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 4) & 3) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCSlotFourDrop : WoCSlotFourPickup
{
    States
    {
      Spawn:
        TNT1 A 0
        goto SpawnLoop
        
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 4, 1) & 1) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCSlotFivePickup : WoCSlotPickup
{
    ConversationID 188

    States
    {
      IWasDropped:
        TNT1 A 0 A_SpawnItemEx("WoCSlotFiveDrop", 0,0,0, momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM)
        stop
        
      SpawnLoop:      
        "----" A 35 bright ACS_ExecuteAlways(WOC_CLIENT_CLASS, 0, 5)
        loop
        
        NoGuy:    TNT1 A 1 bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        
        Fighter:  	 WBLS A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Cleric:  	 MRNS A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Mage:  	 	 RBYW C 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Hunter:  	 XBOW Z 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Necromancer: WGNT A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
		Assassin:  	 NAIG A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 5) & 3) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCSlotFiveDrop : WoCSlotFivePickup
{
    States
    {
      Spawn:
        TNT1 A 0
        goto SpawnLoop
        
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 5, 1) & 1) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCSlotSixPickup : WoCSlotPickup
{
    ConversationID 190

    States
    {
      IWasDropped:
        TNT1 A 0 A_SpawnItemEx("WoCSlotSixDrop", 0,0,0, momx,momy,momz, 0, SXF_ABSOLUTEMOMENTUM)
        stop
        
      SpawnLoop:      
        "----" A 35 bright ACS_ExecuteAlways(WOC_CLIENT_CLASS, 0, 6)
        loop
        
        NoGuy:    TNT1 A 1 bright A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        
        Fighter:  	 WVBL A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Cleric:  	 LTBR A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Mage:  	 	 SKST A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Hunter:  	 BLUN Z 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
        Necromancer: BDSP A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
		Assassin:  	 WVNM A 35 A_ChangeFlag("FLOATBOB", 0)   goto SpawnLoop
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 6) & 3) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCSlotSixDrop : WoCSlotSixPickup
{
    States
    {
      Spawn:
        TNT1 A 0
        goto SpawnLoop
        
      Pickup:
        TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(WOC_GIVEWEAPON, 6, 1) & 1) == 1, "PickupSuccess")
        goto PickupFailure
    }
}

actor WoCDummyPickup : CustomInventory
{
	+INVENTORY.ALWAYSPICKUP
	Inventory.MaxAmount 0
	+INVENTORY.AUTOACTIVATE
	Inventory.PickupSound "PickupWeapon"
	Inventory.PickupMessage "\0"
	States
	{
	Spawn:
		TNT1 A 2
		Stop
	Pickup:
		TNT1 A 0 A_RailWait
		Stop
	}
}

actor WoCDummyPickup4 : WoCDummyPickup
{
	Inventory.PickupSound "pickup/four"
}


Actor NewVolcanoBlast : VolcanoBlast replaces VolcanoBlast
{
	Renderstyle Add
}

Actor NewVolcanoTBlast : VolcanoTBlast replaces VolcanoTBlast
{
	Renderstyle Add
}

Actor NewSuperMap : SuperMap replaces SuperMap
{
	Inventory.PickupSound "pickup/allmap"
}