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 1 A_CheckFlag("Dropped", "IWasDropped")
		TNT1 A 35 A_JumpIf(1==1,"SpawnLoop")
		Wait

	PickupSuccess:
		TNT1 A 0 A_RailWait  // 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
	}
}

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
      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
      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
      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:  	 	 JADE 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
      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
      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 TimonAxeGiver : WoCSlotTwoPickup replaces FWeapAxe
{
	Game Hexen
	SpawnID 27
}

Actor HammerOfRetributionGiver : WoCSlotThreePickup replaces FWeapHammer
{
	Game Hexen
	SpawnID 28
}

Actor DragonClawGiver : WoCSlotFivePickup replaces FWeaponPiece3
{
	Game Hexen
	SpawnID 31
}

Actor VorpalBladeGiver : WoCSlotSixPickup replaces FWeaponPiece2
{
	Game Hexen
	SpawnID 30
}

Actor QuietusGiver : WoCSlotFourPickup replaces FWeaponPiece1
{
	Game Hexen
	SpawnID 29
}

Actor SerpentStaffSpawnThing : WoCSlotTwoPickup replaces CWeapStaff
{
	Game Hexen
	SpawnID 32
}

Actor DummiestItemEvar : Inventory
{
	Inventory.MaxAmount 2500
}

Actor MorningStarSpawnThing : WoCSlotFivePickup replaces CWeaponPiece3
{
	Game Hexen
	SpawnID 35
}

Actor LightbringerSpawnThing : WoCSlotSixPickup replaces CWeaponPiece2
{
	Game Hexen
	SpawnID 34
}

Actor FireStormSpawnThing : WoCSlotThreePickup replaces CWeapFlame
{

}

Actor WraithvergeSpawnThing : WoCSlotFourPickup replaces CWeaponPiece1
{
	Game Hexen
	SpawnID 33
}

Actor FrostShardsGiverSpot : WoCSlotTwoPickup replaces MWeapFrost
{
	Game Hexen
	SpawnID 36
}

Actor JadeWandGiverSpot : WoCSlotFivePickup replaces MWeaponPiece3
{
	Game Hexen
	SpawnID 39
}

Actor ArcOfDeathGiverSpot : WoCSlotThreePickup replaces MWeapLightning
{
}

Actor SkullStaffGiverSpot : WoCSlotSixPickup replaces MWeaponPiece2
{
	Game Hexen
	SpawnID 38
}

Actor BloodScourgeGiverRGiver : WoCSlotFourPickup replaces MWeaponPiece1
{
	Game Hexen
	SpawnID 37
}

Actor NewShotgunSpot : WoCSlotTwoPickup replaces Shotgun
{
	Game Doom
	SpawnID 27
}

Actor NewSuperShotgunSpot : WoCSlotTwoPickup replaces SuperShotgun
{
	Game Doom
	SpawnID 33
}

Actor NewChaingunSpot : WoCSlotFivePickup replaces Chaingun //Mana1(2)
{
	Game Doom
	SpawnID 28
}

Actor NewRocketLauncherSpot : WoCSlotThreePickup replaces RocketLauncher //Mana2(1)
{
	Game Doom
	SpawnID 29
}

Actor NewPlasmaRifleSpot : WoCSlotSixPickup replaces PlasmaRifle //Mana2(2)
{
	Game Doom
	SpawnID 30
}

Actor NewBFG9000Spot : WoCSlotFourPickup replaces BFG9000 //Ultimates
{
	Game Doom
	SpawnID 31
}