Actor AccessoryRandomSpawner : RandomSpawner
{
	Tag "Accessory"
	DropItem "QuicksilverTreadsItem"
	DropItem "LivingSteelAmuletItem"
	DropItem "LichSkullItem"
	DropItem "MaskOfTerroritem"
	DropItem "PolymorphProtectionRuneItem"
	DropItem "TalismanOfTheDepthsItem"
	DropItem "RingOfFocusItem"
	DropItem "CharmOfSpiritItem"
	DropItem "BracersOfForceItem"
	DropItem "CloakOfShadowsItem"
	DropItem "BloodAmuletItem"
	DropItem "PhilosopherStoneItem"
	DropItem "OrbOfClarityItem"
}

Actor AccessorySlot : Inventory
{
	Inventory.MaxAmount 1
	+Inventory.Undroppable
}

Actor AccessoryTypesItem : Inventory
{
	Inventory.MaxAmount 13
	+Inventory.Undroppable
}

Actor AccessoryTypes2Item : AccessoryTypesItem {}


Actor AccessoryBaseItem : Inventory
{
	Inventory.MaxAmount 1
	+Inventory.Undroppable
	+FLOATBOB
	+Inventory.BigPowerup
	Inventory.PickupSound "pickup/accessory"
}

Actor NoAccessoryItem : AccessoryBaseItem {}

Actor QuickSilverTreadsItem : AccessoryBaseItem //0
{
	Inventory.PickupMessage "Sandstorm Trek"
	States
	{
	Spawn:
		AS01 ABC 4 Bright
		Loop
	}
}
	
Actor LivingSteelAmuletItem : AccessoryBaseItem //1
{
	Inventory.PickupMessage "Mara's Keladiscope"
	tag "Mara's Keladiscope"
	States
	{
	Spawn:
		AS02 A 4
		Loop
	}
}

Actor LichSkullItem : AccessoryBaseItem //2
{
	Inventory.PickupMessage "Hellfire Torch"
	Tag "Hellfire Torch"
	States
	{
	Spawn:
		AS03 ABCD 3 Bright
		Loop
	}
}

Actor MaskOfTerrorItem : AccessoryBaseItem //3
{
	Inventory.PickupMessage "Andariels Visage"
	Tag "Andariels Visage"
	States
	{
	Spawn:
		AS04 AAAAAAAAABCB 3 Bright
		Loop
	}
}

Actor PolymorphProtectionRuneItem : AccessoryBaseItem //4
{
	Inventory.PickupMessage "Annihilus"
	Tag "Annihilus"
	States
	{
	Spawn:
		AS05 A 3 Bright
		Loop
	}
}

Actor TalismanOfTheDepthsItem : AccessoryBaseItem //5
{
	Inventory.PickupMessage "The Cats Eye"
	Tag "The Cats Eye"
	States
	{
	Spawn:
		AS06 A 3
		Loop
	}
}

Actor RingOfFocusItem : AccessoryBaseItem //6
{
	Inventory.PickupMessage "Nagelring"
	Tag "Nagelring"
	States
	{
	Spawn:
		AS07 A 3
		Loop
	}
}

Actor CharmOfSpiritItem : AccessoryBaseItem //7
{
	Inventory.PickupMessage "Seraph's Hymn"
	Tag "Seraph's Hymn"
	States
	{
	Spawn:
		AS08 A 3
		Loop
	}
}

Actor BracersOfForceItem : AccessoryBaseItem //8
{
	Inventory.PickupMessage "Frostburn Gauntlets"
	Tag "Frostburn Gauntlets"
	States
	{
	Spawn:
		AS09 BCDEFGHI 3 Bright
		Loop
	}
}

Actor CloakOfShadowsItem : AccessoryBaseItem //9
{
	Inventory.PickupMessage "The Spirit Shroud"
	Renderstyle Translucent
	Alpha 0.4
	Tag "The Spirit Shroud"
	States
	{
	Spawn:
		AS10 ABCD 4 Bright
		Loop
	}
}

Actor BloodAmuletItem : AccessoryBaseItem //10
{
	Inventory.PickupMessage "The Eye of Etlich"
	Tag "The Eye of Etlich"
	States
	{
	Spawn:
		AS11 A -1
		Loop
	}
}
	
Actor PhilosopherStoneItem : AccessoryBaseItem //11
{
	Inventory.PickupMessage "Gheeds Charm"
	Tag "Gheeds Charm"
	States
	{
	Spawn:
		AS12 A -1
		Loop
	}
}

Actor OrbOfClarityItem : AccessoryBaseItem //12
{
	Inventory.PickupMessage "Rainbow Facet"
	Tag "Rainbow Facet"
	States
	{
	Spawn:
		AS13 A -1
		Loop
	}
}

Actor QuickSilverTreadsTracker : AccessoryBaseItem {}

Actor LivingSteelAmuletTracker : AccessoryBaseItem {}

Actor LichSkullTracker : AccessoryBaseItem {}

Actor LichSkullDrainGiver : PowerupGiver
{
	inventory.maxamount 0
	powerup.type "LichDrain"
	+AUTOACTIVATE
}

Actor PowerLichDrain : PowerDrain
{
	Powerup.Duration 3
}

Actor MaskOfTerrorTracker : AccessoryBaseItem {}

Actor MaskOfTerrorFearGiver : PowerupGiver
{
	inventory.maxamount 0
	powerup.type "MaskOfTerrorFrightener"
	+AUTOACTIVATE
}

Actor PowerMaskOfTerrorFrightener : PowerFrightener
{
	Powerup.Duration -5
}

Actor PolymorphProtectionRuneTracker : AccessoryBaseItem {}

Actor PolymorphProtectionRuneON : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_ChangeFlag("DONTMORPH", 1)
		Stop
	}
}

Actor PolymorphProtectionRuneOFF : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_ChangeFlag("DONTMORPH", 0)
		Stop
	}
}

Actor PolymorphProtectionRuneGiver : PowerupGiver
{
	inventory.maxamount 0
	powerup.type "PolymorphProtectionRune"
	+AUTOACTIVATE
}

Actor PowerPolymorphProtectionRune : PowerProtection
{
	Powerup.Duration -5
	DamageFactor "Normal", 0.9
}

Actor TalismanOfTheDepthsTracker : AccessoryBaseItem {}

Actor TalismanOfTheDepthsGiver : PowerupGiver
{
	inventory.maxamount 0
	powerup.type "TalismanOfTheDepths"
	+AUTOACTIVATE
}

Actor PowerTalismanOfTheDepths : PowerProtection
{
	Powerup.Duration -5
	DamageFactor "Drowning", 0
	DamageFactor "Ice", 0.5
}

Actor RingOfFocusTracker : AccessoryBaseItem {}
Actor CharmOfSpiritTracker : AccessoryBaseItem {}
Actor BracersOfForceTracker : AccessoryBaseItem {}

Actor BracersOfForceActivate : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_JumpIfInventory("BracersOfForceTracker",1,1)
		Goto Dud
		TNT1 A 0 A_JumpIfInventory("BracersOfForceCooldown",1,"Dud")
		TNT1 A 0 A_GiveInventory("BracersOfForceCooldown",1)
		TNT1 A 0 A_FireCustomMissile("ArcaneBombMissile",0,0)
		Stop
	Dud:
		TNT1 A 0
		Stop
	}
}

Actor BracersOfForceCooldown : Powerup
{
	Powerup.Duration -10
}

Actor CloakOfShadowsTracker : AccessoryBaseItem {}

Actor CloakOfShadowsInvisibility : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type CloakOfShadowsInvisibility
}

Actor PowerCloakOfShadowsInvisibility : PowerGhost
{
	Powerup.Duration -1000
	+CANTSEEK
}

Actor CloakOfShadowsClearNoSeek : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_ChangeFlag("CANTSEEK", 0)
		Stop
	}
}

Actor BloodAmuletTracker : AccessoryBaseItem {}

Actor BloodAmuletDamage : PowerupGiver
{
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Type BloodAmuletDamage
}

Actor PowerBloodAmuletDamage : PowerDamage
{
	Powerup.Duration -1
	DamageFactor "Normal", 1.5
	Inventory.Icon "ACCISS11"
}

Actor PhilosopherStoneTracker : AccessoryBaseItem {}

Actor OrbOfClarityTracker : AccessoryBaseItem {}