Module:Datatable/Loadout/History

From Dead by Daylight Wiki
Jump to navigation Jump to search

Documentation for this module may be created at Module:Datatable/Loadout/History/doc

-----------------------
-- HELP TABLE: UNITS --
-----------------------
--1 = seconds
--2 = second(s)
--3 = metres
--4 = %
--5 = Tokens
--6 = Token(s)
--7 = empty string, used when there is no unit (i.e. slightly/moderately/considerably/tremendously)
--8 = times
--9 = Charges
---------------------------------------
-- HELP TABLE: RARITIES (PERKS ONLY) --
---------------------------------------
--1 = Common / Uncommon / Rare			<-- used on some Perks before Patch 4.3.0
--2 = Uncommon / Rare / Very Rare		<-- default for Perks past Patch 4.3.0
--3 = Rare / Very Rare / Ultra Rare		<-- used on some Perks before Patch 4.3.0

--NOTE: For Perks, the Rarity defines the start of the Rarity-sequence used to colour the tier-based values
--------------------------------------------------
-- HELP TABLE: RARITIES (ALL OTHER UNLOCKABLES) --
--------------------------------------------------
--1 = Common
--2 = Uncommon
--3 = Rare
--4 = Very Rare
--5 = Ultra Rare
--8 = Event

local str = require("Module:Strings")
local p = {}

--overwriting the logic for semantic of historic records
local function iconLink(icon)
	return i(icon)
end
local function ibil(text) --IconLink is skipped
	return i(b(text))
end

local function quote(text, author)
	return cstr.empty
end

p.loadoutStrings = {
	notice_iconText   = "Identical to the previous version, except for the icon.",
	notice_rarityText = "Identical to the previous version, except for the Rarity.",
	notice_ptbOnly    = "This version was only available as a possible Rework on a " .. b("Public Test Build") .. " and ultimately not released to live.",

	activeAbilityButton      = i("Active Ability button"), --C & V (Survivor)
	activeEventAbilityButton = i("Active Event Ability button"), --TAB (Killer), T (Survivor)
	attackButton             = i("Attack button"), --M1 (Killer)
	interactionButton        = i("Interaction button"), --M1 (Survivor), SPACE (Killer)
	powerButton              = i("Power button"), --M2 (Killer)
	secondaryActionButton    = i("Secondary Action button"), --SPACE (Survivor)
	secondaryPowerButton     = i("Secondary Power button"), --LCTRL (Killer)
	sprintButton             = i("Sprint button"), --SHIFT (Survivor)
	useItemButton            = i("Use Item button"), --M2 (Survivor)
	
	bonusBPAfterTrial  = "The bonus " .. b("Bloodpoints") .. " are applied after exiting the Trial.",
	bonusBPDuringTrial = "The bonus " .. b("Bloodpoints") .. " are applied during the Trial.",
	
	boonPerkBottom = i("Only one Totem can be blessed by your " .. b("Boon Perks") .. " at a time and all of their effects are active on the same " .. b("Boon Totem")) .. dot,
	boonPerkTop    = "Press and hold the " .. i("Active Ability button") .. " on a " .. b("Dull or Hex Totem") .. " to bless it and create a " .. b("Boon Totem") .. dot .. br ..
	"All Survivors within " .. clror("24 metres") .. " hear soft chimes ringing out and benefit from its " .. i("Boon Effects") .. colon,
	
	conspicuousActions     = b(i("Endurance")) .. " is cancelled prematurely when performing a " .. i("Conspicuous Action") .. " of any kind.",
	conspicuousActionsPerk = "#pn is deactivated prematurely when performing a " .. i("Conspicuous Action") .. dot,
	
	exhaustionPerkCanUse         = "#pn can be used while " .. b(i("Exhausted")) .. " and ignores an existing " .. b("Status Effect") .. dot,
	exhaustionPerkNoTrigger      = "#pn does not cause the " .. b(i("Exhausted") .. space .. "Status Effect") .. dot,
	exhaustionPerkNoUse          = "#pn cannot be used while " .. b(i("Exhausted")) .. dot,
	exhaustionPerkNoUseCrows     = "#pn cannot be used while " .. b(i("Exhausted")) .. " or having accrued " .. i("AFK Crows") .. dot,
	exhaustionPerkNoUseNoTrigger = "#pn cannot be used while " .. b(i("Exhausted")) .. ", but does not cause the " .. b("Status Effect") .. dot,
	exhaustionPerkNoOverride     = "#pn cannot be used to override an existing " .. b(i("Exhausted") .. space .. "Status Effect") .. dot,
	exhaustionPerkNoOverridePause = "#pn cannot be used to override an existing " .. b(i("Exhausted") .. space .. "Status Effect") .. ", but pauses its timer instead.",
	
	hexPerkTrialStart    = "#pn lights a " .. b("Hex Totem") .. " at the start of the Trial, cursing Survivors with its " .. i("Hex Effects") .. dot,
	hexPerkTrap          = "#pn lights " .. clror(2) .. space .. b("Hex Totems") .. " at the start of the Trial, laying a trap for Survivors.",
	hexPerkFirstTimeHook = "If there is still a " .. b("Dull Totem") .. " in the environment, #pn lights a " .. b("Hex Totem") .. " whenever you hook a Survivor for the " .. clror("first time") .. ", cursing them with its " .. i("Hex Effects") .. dot,
	hexPerkFooter        = "The " .. i("Hex Effects") .. " persist until the " .. b("Hex Totem") .. " is either blessed or cleansed by a Survivor, disabling it for the remainder of the Trial.",
	
	invocationPerkHeader     = "When in the Basement near the circle, press the " .. i("Active Ability button") .. " to begin the " .. i("Invocation") .. ", which takes " .. clror("60 seconds") .. " to complete." .. br .. "During an " .. i("Invocation") .. ", your Aura is revealed to all other Survivors and they can join in, accelerating the process by " .. clro("+100 %") .. ", if they too have an " .. i("Invocation Perk") .. " equipped, or by " .. clro("+50 %") .. ", if they have not.",
	invocationPerkHeader_760 = "When in the Basement near the circle, press the " .. i("Active Ability button") .. " to begin the " .. i("Invocation") .. ", which takes " .. clror("120 seconds") .. " to complete." .. br .. "During an " .. i("Invocation") .. ", your Aura is revealed to all other Survivors and they can join in, accelerating the process by " .. clro("+100 %") .. ", if they too have an " .. i("Invocation Perk") .. " equipped, or by " .. clro("+50 %") .. ", if they have not.",

	limitedHeader          = biclr("bronze", "Limited Item"),
	limitedHeaderCraftable = i("Craftable " .. bclr("bronze", "Limited Item")),
	limitedHeaderVecna     = biclr("bronze", "Limited") .. space .. biclr("gold", "Vecna Item"),
	limitedFooter          = biclr("bronze", "Limited Items") .. " are consumed on use." .. br .. "They cannot be brought back to the Campfire after a Trial and are removed by " .. b("The Entity") .. " upon exiting the Trial.",
	limitedFooterVecna     = biclr("bronze", "Limited") .. space .. biclr("gold", "Vecna Items") .. " are depleted on use but kept on your person." .. br .. "They cannot be brought back to the Campfire after a Trial and are removed by " .. b("The Entity") .. " upon exiting the Trial.",
	
	obsessionChancePlus     = b("Increases") .. " your chance of becoming the initial  " .. b(i("Obsession")) .. " by increasing the default value by " .. b("+100 %") .. dot,
	obsessionChanceMinus    = b("Reduces") .. " your chance of becoming the initial  " .. b(i("Obsession")) .. " by reducing the default value by " .. b("-100 %") .. dot,
	obsessionPerkSurvivor   = i("The Killer can only be " .. b("obsessed") .. " with one Survivor at a time."),
	obsessionPerkKiller     = i("You can only be " .. b("obsessed") .. " with one Survivor at a time."),
	
	scourgeHookDefault  = "At the start of the Trial, " .. clror(4) .. space .. b("Hooks") .. " in the environment are changed into " .. bclr("white", "Scourge Hooks") .. colon .. nl ..
		nbullet .. space .. "The Auras of these " .. bclr("white", "Scourge Hooks") .. " are highlighted in " .. bclr("white", "white") .. dot,
	scourgeHookUnhooked = "Each time a Survivor is unhooked from a " .. bclr("white", "Scourge Hook") .. ", the following effects apply:",
	scourgeHookHooked   = "Each time a Survivor is hooked on a " .. bclr("white", "Scourge Hook") .. ", the following effects apply:",

	multiInstancePerk  = "Survivors can be affected by multiple instances of #pn at a time.",
	singleInstancePerk = "Survivors can only be affected by one instance of #pn at a time.",
	noStackingPerk     = "#pn cannot stack with itself.",
	
	teamworkPerkHealOnOther = "Whenever you finish healing another Survivor, #pn activates, and both you and the healed Survivor benefit from the following effect:",
	teamworkPerkHealOnYou   = "Whenever another Survivor finishes healing you, #pn activates, and both you and the Survivor who healed you benefit from the following effect:",

	trappedGenerators = "The Auras of " .. i("Trapped Generators") .. " are revealed to all Survivors in " .. bclr("yellow", "yellow") .. dot,
}
local loadoutStrings = p.loadoutStrings

----------------------------------------------------     █████╗ ██████╗ ██████╗        ██████╗ ███╗   ██╗███████╗    ----------------------------------------------------
----------------------------------------------------    ██╔══██╗██╔══██╗██╔══██╗      ██╔═══██╗████╗  ██║██╔════╝    ----------------------------------------------------
----------------------------------------------------    ███████║██║  ██║██║  ██║█████╗██║   ██║██╔██╗ ██║███████╗    ----------------------------------------------------
----------------------------------------------------    ██╔══██║██║  ██║██║  ██║╚════╝██║   ██║██║╚██╗██║╚════██║    ----------------------------------------------------
----------------------------------------------------    ██║  ██║██████╔╝██████╔╝      ╚██████╔╝██║ ╚████║███████║    ----------------------------------------------------
----------------------------------------------------    ╚═╝  ╚═╝╚═════╝ ╚═════╝        ╚═════╝ ╚═╝  ╚═══╝╚══════╝    ----------------------------------------------------

p.addonDescriptionsHistory = {
	-- A Add-ons --
	["Access Panel"] =
	{
		{
			version = "9.0.0",
			rarity = 4,
			range = "4 metres",
			desc =
				"Unlocks a special ability for the " .. i("Fire Axe") .. colon ..
				list("The " .. i("Fire Axe") .. " can travel through " .. b("Security Doors") .. " and will exit straight through the connected " .. b("Security Door") .. dot) ..
				"While aiming the " .. i("Fire Axe") .. ", you benefit from the following effect:" ..
				list("Survivors within " .. clror("#range") .. " of any " .. b("Security Door") .. " trigger " .. i("Killer Instinct") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 4,
			desc =
				"Unlocks a special ability for the " .. i("Fire Axe") .. colon ..
				list("The " .. i("Fire Axe") .. " can travel through " .. b("Security Doors") .. " and will exit straight through the connected " .. b("Security Door") .. dot)
		},
	},
	['"All Seeing" - Blood'] =
	{
		{
			version = "5.3.0",
			rarity = 4,
			range = "8 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
				list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
		{
			version = "2.2.0",
			rarity = 4,
			range = "12 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
		{
			version = "1.8.3",
			rarity = 4,
			range = "10 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
		{
			version = "1.0.0",
			rarity = 4,
			range = "8 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
	},
	['"All Seeing" - Mud'] =
	{
		{
			version = "1.8.3",
			rarity = 2,
			range = "6 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
		{
			version = "1.1.2",
			rarity = 2,
			range = "4 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
		{
			version = "1.0.0",
			rarity = 2,
			range = "6 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
	},
	['"All Seeing" - Spirit'] =
	{
		{
			version = "2.2.0",
			rarity = 5,
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The intensity of the " .. b("Generator Auras") .. " reveals their current Repair progress.")
		},
		{
			version = "1.8.3",
			rarity = 5,
			range = "12 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
		{
			version = "1.1.2",
			rarity = 5,
			range = "10 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
	},
	['"All Seeing" - White'] =
	{
		{
			version = "1.8.3",
			rarity = 3,
			range = "8 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
		{
			version = "1.1.2",
			rarity = 3,
			range = "6 metres",
			desc =
				"Unlocks potential in your Aura-reading ability while " .. i("Cloaked") .. colon ..
            	list("The Auras of Survivors are revealed to you within " .. clror("#range") .. " of your location.")
		},
	},
	["Amon's Necktie"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 3,
			range = "32 metres",
			desc =
				"Cold, calculated, precise." .. br ..
        		"He had a firm grasp of every situation." .. nlp ..
        		"While aiming " .. i("Mid-Leap") .. ", you benefit from the following effect:" ..
        		list("The Auras of " .. b("Pallets") .. " and " .. b("Windows") .. " are revealed to you within " .. clror("#range") .. dot)
		},
	},
	["Anteiku Apron"] =
	{
		{
			version = "8.6.0",
			rarity = 1,
			effect = "-50 %",
			desc =
				"Standard-issue uniform at a lovely little coffee shop." ..
        		list(b("Shortens") .. " the slide after " .. i("Kagune Leaps") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 1,
			effect = "+100 %",
			desc =
				"Standard-issue uniform at a lovely little coffee shop." ..
        		list(b("Extends") .. " the slide after " .. i("Kagune Leaps") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Anti-Exhaustion Syringe"] =
	{
		{
			version = "9.3.0",
			rarity = 5,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Add-on") .. " from " .. b("Anti-Haemorrhagic Syringe") .. " to " .. b("Anti-Exhaustion Syringe") .. dot,
			desc = 
				i("A mysterious fluid that reinvigorates both body and mind.") .. nlp ..
				"While using the " .. b("Med-Kit") .. " to heal yourself or another Survivor, press the " .. loadoutStrings.secondaryActionButton .. " to trigger the following effect:" ..
				list("Causes the affected Survivor to instantly recover from the " .. b(i("Exhausted") .. space .. "Status Effect") .. dot) ..
				i("Anti-Exhaustion Syringe") .. " consumes the " .. b("Med-Kit") .. " after use."
		},
		{
			version = "3.3.0",
			rarity = 5,
			speed = "100 %",
			desc = 
				i("An anti-haemorrhagic substance that stops the bleeding in a matter of seconds.") .. nlp ..
				"While using the " .. b("Med-Kit") .. " to heal yourself or another Survivor, press the " .. loadoutStrings.secondaryActionButton .. " to trigger the following effect:" ..
				list(
					"Causes the affected Survivor to passively heal to the next Health State at " .. clror("#speed") ..  " of the default Healing speed.",
					nbullet .. "This effect is affected by Healing-Speed modifiers and cancelled prematurely upon taking damage or being picked up by the Killer.") ..
				i("Anti-Haemorrhagic Syringe") .. " consumes the " .. b("Med-Kit") .. " after use."
		},
		{
			version = "1.8.2",
			rarity = 5,
			penalty = "50 %",
			desc = 
				"Modifies the " .. b("Med-Kit") .. " with the following primary effect:" ..
				list(b("Depletes") .. " its Capacity to " .. clror("#penalty") .. " of its initial Charges at the start of the Trial.") ..
				"While using the " .. b("Med-Kit") .. " to heal yourself or another Survivor, press the " .. loadoutStrings.secondaryActionButton .. " to trigger its secondary effect:" ..
				list("Causes the affected Survivor to instantly and fully heal from any Health State.") ..
				i("Anti-Haemorrhagic Syringe") .. " depletes the " .. b("Med-Kit") .. " after triggering its secondary effect."
		},
		{
			version = "1.0.0",
			rarity = 4,
			penalty = "50 %",
			desc = 
				"Modifies the " .. b("Med-Kit") .. " with the following primary effect:" ..
				list(b("Depletes") .. " its Capacity to " .. clror("#penalty") .. " of its initial Charges at the start of the Trial.") ..
				"While using the " .. b("Med-Kit") .. " to heal yourself or another Survivor, press the " .. loadoutStrings.secondaryActionButton .. " to trigger its secondary effect:" ..
				list("Causes the affected Survivor to instantly and fully heal from any Health State.") ..
				i("Anti-Haemorrhagic Syringe") .. " depletes the " .. b("Med-Kit") .. " after triggering its secondary effect."
		},
	},
	["Aogiri Tree Robe"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 3,
			undetectable = "20 seconds",
			desc =
				"Garments worn by an anti-human ghoul organisation." .. nlp ..
        		"Whenever a " .. b("Generator") .. " is completed while in " .. i("Enraged Mode") .. ", you benefit from the following effect:" ..
        		list("Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. " for " .. clror("#undetectable") .. dot)
		},
	},
	["Ash's Innard"] =
	{
		{
			version = "8.6.0",
			effect = "+15 seconds",
			rarity = 2,
			desc =
				b("Increases") .. " the Respawn timer of " .. b("Remote Flame Turrets") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "7.2.0",
			effect = "+10 seconds",
			rarity = 2,
			desc =
				b("Increases") .. " the Respawn timer of " .. b("Remote Flame Turrets") .. " by " .. clror("#effect") .. dot
		},
	},
	-- B Add-ons --
	["Bag of Gears"] =
	{
		{
			version = "5.3.0",
			rarity = 3,
			effects = {"+50 %", "-14 %"},
			desc =
				"While attaching a " .. b("Reverse Bear Trap") .. " to a downed Survivor, #name applies its primary effect:" ..
				list(b("Increases") .. " your Action speed by " .. clror("#effects(1)") .. dot) ..
				"Survivors searching a " .. b("Jigsaw Box") .. ", #name applies its secondary effect:" ..
				list(b("Reduces") .. " their Action speed by "  .. clro("#effects(2)") .. dot)
		},
		{
			version = "1.9.0",
			rarity = 3,
			effects = {"+20 %", "-14 %"},
			desc =
				"While attaching a " .. b("Reverse Bear Trap") .. " to a downed Survivor, #name applies its primary effect:" ..
				list(b("Increases") .. " your Action speed by " .. clror("#effects(1)") .. dot) ..
				"Survivors searching a " .. b("Jigsaw Box") .. ", #name applies its secondary effect:" ..
				list(b("Reduces") .. " their Action speed by "  .. clro("#effects(2)") .. dot)
		},
	},
	["Battered Tape"] =
	{
		{
			version = "9.1.0",
			rarity = 3,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Add-on") .. " from " .. b("Red Twine") .. " to " .. b("Battered Tape") .. dot,
			effect = "+8 metres",
			desc =
				i("Additional pieces of parchment hung loosely from the map, hastily affixed with tape.") .. nlp ..
				"Modifies the " .. b("Map") .. " with the following effect:" ..
            	list(b("Increases") .. " its maximum range by " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			rarity = 2,
			icon = "Red Twine",
			desc =
				i("A bristly and rough piece of twine of a deep red colour that can be tied around the map to enhance its abilities.") .. nlp ..
				"Unlocks potential in the Aura-reading ability of the " .. b("Map") .. colon ..
            	list("Grants the ability to track " .. i("Killer Belongings") .. " in the environment.")
		},
	},
	["Black Box"] =
	{
		{
			version = "8.5.1",
			duration = "15 seconds",
			linger = "3 seconds",
			rarity = 5,
			desc =
				"A black cardboard box filled with photographs." .. 
            	list(
            		"Causes the " .. b("Exit Gates") .. " to be blocked for " .. i("Asleep Survivors") .. " for " .. clror("#duration") .. " after they are opened.",
            		nbullet .. "This effect lingers for " .. clro("#linger") .. " after those Survivors wake up.")
		},
		{
			version = "4.7.0",
			duration = "15 seconds",
			rarity = 5,
			desc =
				"A black cardboard box filled with photographs." .. 
            	list("Causes the " .. b("Exit Gates") .. " to be blocked for " .. i("Asleep Survivors") .. " for " .. clror("#duration") .. " after they are opened.")
		},
		{
			version = "3.1.0",
			rarity = 5,
			desc =
				"A black cardboard box filled with photographs." .. 
            	list(
            		"Triggers the " .. b(i("Obsession")) .. " mechanic.",
            		"Causes the " .. b(i("Obsession")) .. " to start the Trial trapped in the " .. b("Dream World") .. dot,
            		nbullet .. b("Suppresses") .. " their ability to wake up by any means.")
		},
		{
			version = "1.8.0",
			rarity = 5,
			desc =
				"A black cardboard box filled with photographs." .. 
            	list(
            		"Triggers the " .. b(i("Obsession")) .. " mechanic.",
            		"Causes the " .. b(i("Obsession")) .. " to start the Trial trapped in the " .. b("Dream World") .. dot)
		},
	},
	["Black Strap"] = 
	{
		{
			version = "9.1.0",
			rarity = 1,
			range = "-25 %",
			width = "+25 %",
			desc = 
			"Modifies " .. i("Punishement of the Damned") .. " with the following effects:" ..
			list(
				b("Increases") .. " its width by " .. clror("#width") .. dot,
				b("Reduces") .. " its range by " .. clro("#range") .. dot)
		},
		{
			version = "4.0.0",
			range = "+0.5 metres",
			desc = 
				"Modifies " .. i("Punishement of the Damned") .. " with the following effect:" ..
				list(b("Increases") .. " its range by " .. clror("#range") .. dot)
		}	
	},
	['"Blind Warrior" - Blood'] =
	{
		{
			version = "1.0.0",
			rarity = 4,
			effect = "+50 %",
			desc =
				b("Increases") .. " the Resistance to " .. i("Lightburn") .. " by " .. clror("#effect") .. dot
		},
	},
	['"Blind Warrior" - Mud'] =
	{
		{
			version = "2.2.0",
			rarity = 2,
			blindness = "60 seconds",
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("The Baikra-Kaeug symbol, representing ferocity, is finger-drawn in mud on the body of the bell.") .. nlp ..
				"Survivors hit with a " .. i("Surprise Attack") .. " suffer from the " .. i(b("Blindness")) .. space .. b("Status Effect") .. " for " .. clror("#blindness") .. dot
		},
		{
			version = "1.0.0",
			icon = '"Blind Warrior" - Mud (1.0.0)',
			rarity = 2,
			effect = "+30 %",
			desc =
				i("The Baikra-Kaeug symbol, representing imperviousness, is stamped in white ink on the body of the bell.") .. nlp ..
				b("Increases") .. " the Resistance to " .. i("Lightburn") .. " by " .. clror("#effect") .. dot
		},
	},
	['"Blind Warrior" - White'] =
	{
		{
			version = "7.6.0",
			rarity = 3,
			duration = "70 seconds",
			desc =
				"Survivors hit with a " .. i("Surprise Attack") .. " suffer from the " .. i(b("Haemorrhage and Mangled")) .. space .. b("Status Effects") .. " for " .. clror("#duration") .. dot
		},
		{
			version = "2.2.0",
			rarity = 3,
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("The Baikra-Kaeug symbol, representing ferocity, is stamped in white ink on the body of the bell.") .. nlp ..
				"Survivors hit with a " .. i("Surprise Attack") .. " suffer from the " .. i(b("Haemorrhage and Mangled")) .. space .. b("Status Effects") .. " until fully healed."
		},
		{
			version = "1.0.0",
			rarity = 3,
			effect = "+40 %",
			desc =
				i("The Baikra-Kaeug symbol, representing imperviousness, is stamped in white ink on the body of the bell.") .. nlp ..
				b("Increases") .. " the Resistance to " .. i("Lightburn") .. " by " .. clror("#effect") .. dot
		},
	},
	['"Blind Warrior" - Spirit'] =
	{
		{
			version = "1.0.0",
			rarity = 5,
			effect = "100 %",
			desc =
				b("Increases") .. " the Resistance to " .. i("Lightburn") .. " to " .. clror("#effect") .. ", granting complete immunity."
		},
	},
	['"Blind Warrior" - Soot'] =
	{
		{
			version = "1.0.0",
			rarity = 1,
			effect = "+20 %",
			desc =
				b("Increases") .. " the Resistance to " .. i("Lightburn") .. " by " .. clror("#effect") .. dot
		},
	},
	["Blond Hair"] =
	{
		{
			version = "9.2.0",
			rarity = 1,
			bonus = "+100 %",
			desc =
				"A single slightly wavy blond hair." .. br ..
                "While in " .. i("Stalker Mode") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " the duration of " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. " by " .. clror("#bonus") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 1,
			bonus = "+10 seconds",
			penaltyPercentages = {"+50 %", "150 %"}, 
			penaltyPoints = {"+2.5 SP", "7.5 SP"},
			desc =
			'A single slightly wavy blond hair.' ..
            list(
            	b("Increases") .. " the duration of " .. i("Evil Within III") .. " by " .. clror("#bonus") .. dot,
                b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clro("#penaltyPercentages(1)") .. " to " .. clro("#penaltyPercentages(2)") .. dot,
                nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(1)") .. " to " .. clro("#penaltyPoints(2)") .. dot)
		}
	},
	["Blood Amber"] =
	{
		{
			version = "9.1.0",
			rarity = 5,
			aura = "-6 seconds",
			charges = "-2",
			desc =
				"Modifies the " .. b("Key") .. " with the following effects:" .. 
            	list(
            		b("Reduces") .. " its Aura-reveal time by " .. clror("#aura") .. dot,
            		b("Reduces") .. " its Charges by " .. clro("#charges") .. dot) ..
            	"While using the " .. b("Key") .. ", the following effects apply:" ..
            	list(
            		"The Aura of the Killer is revealed to you.",
            		"Your Aura is revealed to the Killer.")
		},
		{
			version = "1.0.0",
			rarity = 4,
			range = "32 metres",
			depletionRate = "-2 c/s",
			desc =
				"Modifies the " .. b("Key") .. " with the following effects:" .. 
            	list(
            		b("Doubles") .. " its Depletion rate to " .. clror("#depletionRate") .. dot) ..
            	"While using the " .. b("Key") .. ", the following effect applies:" ..
            	list("The Aura of the Killer is revealed to you within " .. clro("#range") .. dot)
		},
	},
	["Blood-Filled Goblet"] = {
		{
			version = "9.2.0",
			rarity = 2,
			effect = "+60 %",
			desc =
				"Modifies the " .. bclr("white", "Scent Orbs") .. " with the following effect:" ..
				list(b("Extends") .. " their Lifetime by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 2,
			effect = "+50 %",
			desc =
				"Modifies the " .. bclr("white", "Scent Orbs") .. " with the following effect:" ..
				list(b("Extends") .. " their Lifetime by " .. clror("#effect") .. dot)
		},
	},
	["Blood-Stained Handkerchief"] =
	{
		{
			version = "8.6.2",
			rarity = 2,
			effect = "+1 metre",
			desc =
				"Even a single drop of blood can excite the senses of any gourmet." .. 
        		list(b("Increases") .. " the maximum reach of " .. i("Kagune Leaps") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 2,
			effect = "+2 metres",
			desc =
				"Even a single drop of blood can excite the senses of any gourmet." .. 
        		list(b("Increases") .. " the maximum reach of " .. i("Kagune Leaps") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Blue Dress"] =
	{
		{
			version = "8.5.0",
			rarity = 3,
			duration = "8 seconds",
			desc =
				"A little girl's pale blue dress with white lace which's front is ruined by large cuts." ..
            	list(
            		b("Reduces") .. " the number of placeable " .. b("Dream Snares") .. " to " .. clror("1") .. dot,
            		"Causes the " .. b("Dream Snare") .. " to be stationary while placing.",
            		"Causes the " .. b("Dream Snare") .. " to automatically disappear after " .. clro("#duration") .. dot)
        },
        {
			version = "3.1.0",
			rarity = 3,
			effect = "-4 %",
			duration = "4 seconds",
			desc =
				"A little girl's pale blue dress with white lace which's front is ruined by large cuts." .. nlp ..
            	"Survivors trapped inside the " .. b("Dream World") .. " suffer from the following effects:" ..
            	list(
            		b("Increases") .. " the Progression penalty incurred by " .. i("Failed Repair and Healing Skill Checks") .. " by " .. clror("#effect") .. dot,
            		"The Auras of Survivors failing those " .. i("Skill Checks") .. " are revealed for " .. clro("#duration") .. dot)
		},
		{
			version = "1.8.0",
			rarity = 3,
			desc =
				"A little girl's pale blue dress with white lace which's front is ruined by large cuts." ..
				list(b("Moderately reduces") .. " the Trigger odds of " .. i("Skill Checks") .. " for Survivors trapped in the " .. b("Dream World") .. dot)
		},
    },
	["Blurry Photo"] =
	{
		{
			version = "9.2.0",
			effect = "+7 %",
			rarity = 1,
			desc =
				"Modifies the " .. i("Teleport") .. " ability with the following effect:" ..
				list(b("Increases") .. " the Recovery rate back to full Movement speed after Teleportation by " .. clror("#effect") .. dot)
		},
		{
			version = "8.3.0",
			effect = "+15 %",
			rarity = 1,
			desc =
				"Modifies the " .. i("Teleport") .. " ability with the following effect:" ..
				list(b("Increases") .. " the Recovery rate back to full Movement speed after Teleportation by " .. clror("#effect") .. dot)
		},
		{
			version = "7.6.0",
			effect = "+50 %",
			rarity = 1,
			desc =
				"Modifies the " .. i("Teleport") .. " ability with the following effect:" ..
				list(b("Increases") .. " the Recovery rate back to full Movement speed after Teleportation by " .. clror("#effect") .. dot)
		},
	},
	["Boat Key"] =
	{
		{
			version = "8.2.0",
			effect = "+3 m/s",
			rarity = 4,
			desc =
				"Only one boat allowed people on and off the island, and the keys were hidden away to prevent deserters." ..
        		list(
        			b("Increases") .. " your Teleportation speed during " .. i("Daytime") .. " by " .. clror("#effect") .. dot,
        			"Causes all active " .. bclr("yellow", "Locks") .. " on " .. b("Lockers") .. " to break once the " .. b("Exit Gates") .. " are powered by any means.")
		},
		{
			version = "6.0.0",
			effect = "+5 m/s",
			rarity = 4,
			desc =
				"Only one boat allowed people on and off the island, and the keys were hidden away to prevent deserters." ..
        		list(
        			b("Increases") .. " your Teleportation speed during " .. i("Daytime") .. " by " .. clror("#effect") .. dot,
        			"Causes all active " .. bclr("yellow", "Locks") .. " on " .. b("Lockers") .. " to break once the " .. b("Exit Gates") .. " are powered by any means.")
		},
	},
	["Bonnie's Guitar Strings"] =
	{
		{
			version = "9.0.2",
			rarity = 3,
			effect = "-100 %",
			desc =
				"Unlocks potential in your Aura-reading ability while moving between " .. b("Security Doors") .. colon ..
        		list("The intensity of the " .. b("Generator Auras") .. " reveals their current Repair progress.") ..
        		"Upon exiting a " .. b("Security Door") .. " after teleporting to it, the following effect applies:" ..
        		list(
        			b("Reduces") .. " the duration of the " .. b(i("Undetectable") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot,
        			nbullet .. "This causes the " .. b("Status Effect") .. " to be removed instantly.")
		},
		{
			version = "9.0.0",
			rarity = 3,
			effect = "-50 %",
			desc =
				"Unlocks potential in your Aura-reading ability while moving between " .. b("Security Doors") .. colon ..
        		list("The intensity of the " .. b("Generator Auras") .. " reveals their current Repair progress.") ..
        		"Upon exiting a " .. b("Security Door") .. " after teleporting to it, the following effect applies:" ..
        		list(b("Reduces") .. " the duration of the " .. b(i("Undetectable") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability while moving between " .. b("Security Doors") .. colon ..
        		list("The intensity of the " .. b("Generator Auras") .. " reveals their current Repair progress.")
		},
	},
	["Boots of Speed"] =
	{
		{
			version = "9.0.0",
			rarity = 3,
			haste = "+3 %",
			durationHaste = "2 seconds", 
			desc =
				"After casting the " .. i("Mage Hand Spell") .. ", you benefit from the following effect:" ..
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 3,
			haste = "+5 %",
			durationHaste = "2 seconds", 
			desc =
				"After casting the " .. i("Mage Hand Spell") .. ", you benefit from the following effect:" ..
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot)
		},
	},
	["Boyfriend's Memo"] =
	{
		{
			version = "9.2.0",
			rarity = 1,
			bonus = "+8 metres",
			desc =
	            'A "romantic", if slightly sleazy, note left around to draw the attention of a female lover.' .. nlp ..
	            "Modifies the " .. i("Stalk") .. " ability with the following effect:" ..
	            list(b("Increases") .. " the range of " .. i("Stalking") .. " by " .. clror("#bonus") .. dot) ..
	            quote('The note is signed: D.')
		},
		{
			version = "1.2.1",
			rarity = 1,
			lungeBonus = "+0.1 seconds", 
			lungeReach = "+50 %",
			desc =
				'A "romantic", if slightly sleazy, note left around to draw the attention of a female lover.' .. nlp ..
	            "While in " .. i("Evil Within I") .. ", you benefit from the following effect:" ..
	            list(b("Increases") .. " the Open time of the " .. i("Lunge Attack") .. " by " .. clror("#lungeBonus") .. comma .. b("increasing") .. " its reach by " .. clro("#lungeReach") .. dot) ..
	            quote('The note is signed: D.')
		}
	},
	["Brand New Part"] =
	{
		{
			version = "7.1.0",
			effect = "-10 Charges",
			rarity = 5,
			desc =
				"Press the " .. loadoutStrings.useItemButton .. " while standing next to a " .. b("Generator") .. " to perform the " .. i("Install Brand New Part") .. " action:" ..
        		list(
        			b("Triggers") .. " a difficult " .. i("Skill Check") .. dot,
        			b("Permanently reduces") .. " the Repair requirement by " .. clror("#effect") .. " for that " .. b("Generator") .. " upon succeeding the " .. i("Skill Check") .. dot) ..
        		"#name is consumed on use."
		},
		{
			version = "2.1.0",
			progression = "15 %",
			duration = "5 seconds",
			skillChecks = "2",
			bonus = "+5 %",
			maxBonus = "+10 %",
			maxProgression = "25 %",
			rarity = 5,
			desc =
				"Press the " .. loadoutStrings.useItemButton .. " while standing next to a " .. b("Generator") .. " to perform the " .. i("Install Brand New Part") .. " action:" ..
        		list(
        			b("Progresses") .. " the " .. b("Generator") .. " by " .. clror("#progression") .. " over the next " .. clro("#duration") .. dot,
        			b("Triggers") .. " up to " .. clro("#skillChecks") .. " difficult " .. i("Skill Checks") .. " during the interaction:",
        			nbullet .. "Grant " .. clro("#bonus") .. " bonus Progression each, up to a maximum of " .. clro("#maxBonus") .. dot) ..
        		"#name progresses the " .. b("Generator") .. " by up to " .. clro("#maxProgression") .. " during the interaction, if both " .. i("Skill Checks") .. " are succeeded." .. br ..
        		"#name is consumed on use."
		},
		{
			version = "1.5.3",
			interval = "2 seconds",
			goodSkillChecks = "+5 %",
			greatSkillChecks = "+10 %",
			rarity = 5,
			desc =
				"Press the " .. loadoutStrings.useItemButton .. " while standing next to a " .. b("Generator") .. " to perform the " .. i("Install Brand New Part") .. " action:" ..
        		list(
        			b("Triggers") .. " a modified " .. i("Repair Skill Check") .. " with equal Success zones once every " .. clror("#interval") .. colon,
        			nbullet .. bclr("faded jade", "Good Repair Skill Checks") .. colon .. space .. "Grant " .. clro("#goodSkillChecks") .. " bonus Progression each.",
        			nbullet .. bclr("faded jade", "Great Repair Skill Checks") .. colon .. space .. "Grant " .. clro("#greatSkillChecks") .. " bonus Progression each.") ..
        		"This interaction lasts until either of the following occurs:" ..
        		list(
        			"Completing the " .. b("Generator") .. dot,
        			"Failing one of the " .. i("Skill Checks") .. dot,
        			"Interrupting the interaction by any means.") ..
        		"Both the #name and its " .. b("Toolbox") .. " are consumed on use."
		},
		{
			version = "1.0.0",
			penalty = "-50 %",
			rarity = 5,
			desc =
				"Press the " .. loadoutStrings.secondaryActionButton .. " while repairing a " .. b("Generator") .. " with the " .. b("Toolbox") .. " to install the #name:" ..
        		list("Instantly completes the " .. b("Generator") .. dot) ..
        		b("Toolboxes") .. " equipped with #name suffer from a penalty of " .. clror("#penalty") .. " towards their capacity and are consumed after installing the Add-on."
		},
	},
	["Braided Bauble"] =
	{
		{
			version = "9.1.0",
			rarity = 3,
			notice = "This Patch also changed the introductory flavour text, removed the ending flavour text, and renamed the " .. b("Add-on") .. " from " .. b("Scratched Pearl") .. " to " .. b("Braided Bauble") .. dot,
			effect = "+2 seconds",
			desc =
				i("Four thin but sturdy cords, all masterfully wrapped around one another.") .. nlp ..
				"Modifies the " .. b("Key") .. " with the following effect:" .. 
				list(b("Increases") .. " its Aura-reading duration by " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			rarity = 2,
			icon = "Scratched Pearl",
			effect = "+12 metres",
			desc =
				i("A porous and scratched white pearl." .. br .. "A minuscule jump ring allows the pearl to be attached to the key.") .. nlp ..
				"Modifies the " .. b("Key") .. " with the following effect:" .. 
				list(
					b("Increases") .. " the Aura-reading range of the " .. b("Key") .. " by " .. clror("#effect") .. dot,
					nbullet .. "This effect is essentially only applied to a second equipped " .. b("Key Add-on") .. " that has an Aura-reading effect.") ..
            	i("Pray all you want, your words are getting lost somewhere up there, in the Fog.")
		},
	},
	["Broken Chain"] =
	{
		{
			version = "8.6.0",
			rarity = 2,
			effect = "-1.4 seconds per Token",
			desc =
				"Nothing could restrain him once he finally embraced his full potential." .. 
        		list(b("Reduces") .. " the Cool-down duration of " .. i("Kagune Leap") .. " by " .. clror("#effect") .. " when outside of " .. i("Enraged Mode") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 2,
			effect = "-0.8 seconds per Token",
			desc =
				"Nothing could restrain him once he finally embraced his full potential." .. 
        		list(b("Reduces") .. " the Cool-down duration of " .. i("Kagune Leap") .. " by " .. clror("#effect") .. " when outside of " .. i("Enraged Mode") .. dot)
		},
	},
	["Broken Tiara"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 1,
			desc =
				"Modifies the " .. b("Glowing Fungus") .. " with the following effect:" ..
				list("Causes Survivors to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " while under its effects.")
		},
	},
	["Burning Man Painting"] =
	{
		{
			version = "9.1.0",
			rarity = 3,
			auraRange = "3 metres",
			auraDuration = "6 seconds",
			desc = 
				"Missed " .. i("Punishment of the Damned") .. " attacks trigger the following effect:" ..
				list("The Auras of all Survivors within " .. clror("#auraRange") .. " of your current location are revealed to you for " .. clro("#auraDuration") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 3,
			range = "+1.5 metres",
			desc =
				"Modifies " .. i("Punishment of the Damned") .. " with the following effect:" ..
				list(b("Increases") .. " its range by " .. clror("#range") .. dot)
		}
	},
	-- C Add-ons --
	["Call to Arms"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			effects = {"+4 metres", "+7 %"},
			desc =
				"Modifies the " .. biclr("screamin' green", "Patrol Path") .. " with the following effects:" ..
				list(
					b("Increases") .. " its maximum length by " .. clror("#effects(1)") .. dot,
					b("Increases") .. " its Drawing speed by " .. clro("#effects(2)") .. dot)
		},
		{
			version = "6.4.0",
			rarity = 2,
			effects = {"+10 metres", "+16 %"},
			desc =
				"Modifies the " .. biclr("screamin' green", "Patrol Path") .. " with the following effects:" ..
				list(
					b("Increases") .. " its maximum length by " .. clror("#effects(1)") .. dot,
					b("Increases") .. " its Drawing speed by " .. clro("#effects(2)") .. dot)
		},
	},
	["Carburettor Tuning Guide"] =
	{
		{
			version = "5.5.0",
			dash = "+0.5 seconds",
			speed = "-2 %",
			rarity = 5,
			desc =
				"A crudely drawn guide to properly adjust and tune a Chainsaw carburettor." .. nlp ..
            	"Starting a " .. i("Chainsaw Dash") .. " automatically consumes all available Power Tokens, combining their durations:" ..
            	list(
            		b("Increases") .. " the duration of the " .. i("Chainsaw Dash") .. " by " .. clror("#dash") .. " per Token.",
            		b("Reduces") .. " the Movement speed during the " .. i("Chainsaw Dash") .. " by " .. clro("#speed") .. dot)
		},
		{
			version = "4.1.1",
			dash = "+0.5 seconds",
			speed = "-4 %",
			rarity = 5,
			desc =
				"A crudely drawn guide to properly adjust and tune a Chainsaw carburettor." .. nlp ..
            	"Starting a " .. i("Chainsaw Dash") .. " automatically consumes all available Power Tokens, combining their durations:" ..
            	list(
            		b("Increases") .. " the duration of the " .. i("Chainsaw Dash") .. " by " .. clror("#dash") .. " per Token.",
            		b("Reduces") .. " the Movement speed during the " .. i("Chainsaw Dash") .. " by " .. clro("#speed") .. dot)
		},
		{
			version = "4.1.0",
			dash = "+0.5 seconds",
			speed = "-4 %",
			recharge = "-0.28 c/s",
			rarity = 5,
			desc =
				"A crudely drawn guide to properly adjust and tune a Chainsaw carburettor." .. nlp ..
            	"Starting a " .. i("Chainsaw Dash") .. " automatically consumes all available Power Tokens, combining their durations:" ..
            	list(
            		b("Increases") .. " the duration of the " .. i("Chainsaw Dash") .. " by " .. clror("#dash") .. " per Token.",
            		b("Reduces") .. " the Movement speed during the " .. i("Chainsaw Dash") .. " by " .. clro("#speed") .. dot,
            		b("Reduces") .. " the Power Recharge rate by " .. clro("#recharge") .. dot)
		},
		{
			version = "1.0.0",
			charge = "-18 %",
			cooldown = "-14 %",
			obstacle = "-12 %",
			noise = "-30 %",
			rarity = 3,
			desc =
				"A crudely drawn guide to properly adjust and tune a Chainsaw carburettor." .. nlp ..
            	list(
            		b("Reduces") .. " the Charge time of the " .. i("Chainsaw") .. " by " .. clror("#charge") .. dot,
            		b("Reduces") .. " the Cool-down time after using the " .. i("Chainsaw") .. " by " .. clro("#cooldown") .. dot,
            		b("Reduces") .. " the Cool-down time after hitting an obstacle with the " .. i("Chainsaw") .. " by " .. clro("#obstacle") .. dot,
            		b("Reduces") .. " the audible range of noises related to using the " .. i("Chainsaw") .. " by " .. clro("#noise") .. dot)
		},
	},
	["Cat Block"] =
	{
		{
			version = "8.5.0",
			rarity = 2,
			effect = "-10 %",
			desc =
				"A white and purple wooden block depicting a sleeping Cat and the letter \"C\"." ..
	            list(b("Reduces") .. " the Cool-down duration of the " .. i("Dream Projection") .. " ability by " .. clror("#effect") .. dot)
    	},
    	{
			version = "7.6.0",
			rarity = 2,
			range = "16 metres",
			duration = "4 seconds",
			desc =
				"A white and purple wooden block depicting a sleeping Cat and the letter \"C\"." ..
	            list("After using the " .. i("Dream Projection") .. " ability, all Survivors within " .. clror("#range") .. " of that " .. b("Generator") .. " are indicated by " .. i("Killer Instinct") .. " for " .. clro("#duration") .. dot)
    	},
    	{
			version = "3.1.0",
			rarity = 2,
			haemorrhage = "60 seconds",
			desc =
				"A white and purple wooden block depicting a sleeping Cat and the letter \"C\"." ..
	            list("Survivors interacting with a " .. b("Dream Trap") .. " suffer from the " .. b(i("Haemorrhage") .. space .. "Status Effect") .. " for " .. clror("#haemorrhage") .. dot)
    	},
    	{
			version = "1.8.0",
			rarity = 2,
			effect = "-1.5 seconds",
			desc =
				"A white and purple wooden block depicting a sleeping Cat and the letter \"C\"." ..
	            list(
	            	b("Reduces") .. " the " .. i("Dream Transition") .. " by " .. clror("#effect") .. dot,
	            	b("Slightly increases") .. " the Trigger odds of " .. i("Skill Checks") .. " for Survivors trapped in the " .. b("Dream World") .. dot)
    	},
    },
	["CCG ID Card"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 4,
			range = "24 metres",
			duration = "3 seconds",
			desc =
				"A card carried by every ghoul investigator." .. nlp ..
        		"Performing a " .. i("Kagune Leap Vault") .. " action triggers the following effect:" ..
        		list("The Auras of all Survivors affected by the " .. i("Kagune Mark") .. " are revealed to you within " .. clror("#range") .. " of your location for " .. clro("#duration") .. dot)
		},
	},
	["Celebrate! Poster"] =
	{
		{
			version = "9.0.0",
			rarity = 4,
			haste = "+12 %",
			effect = "+20 %",
			range = "32 metres",
			desc =
				"After embedding the " .. i("Fire Axe") .. " in a Survivor, all Players benefit from the following effects while within " .. clror("#range") .. " of that Survivor:" ..
        		list(
        			"Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
        			b("Increases") .. " the Vaulting speed by " .. clro("#effect") .. dot) ..
        		"Both effects also apply to last until the " .. i("Fire Axe") .. " is removed."
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 4,
			haste = "+20 %",
			effect = "+20 %",
			distance = "32 metres",
			desc =
				"After embedding the " .. i("Fire Axe") .. " in a Survivor, both you and that Survivor benefit from the following effects:" ..
        		list(
        			"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
        			b("Increases") .. " the Vaulting speed by " .. clro("#effect") .. dot) ..
        		"Both effects last until the " .. i("Fire Axe") .. " is removed or the distance between you and that Survivor exceeds " .. clro("#distance") .. dot
		},
	},
	["Chica's Bib"] =
	{
		{
			version = "9.0.0 (PTB)",
			rarity = 3,
			linger = "5 seconds",
			desc =
				"While inside the " .. i("Area of Effect") .. " of the " .. i("Fire Axe") .. ", Survivors suffer from the following effect:" ..
        		list(
        			"Inflicts the " .. b(i("Exhausted") .. space .. "Status Effect") .. dot,
        			nbullet .. "This effect lingers for " .. clror("#linger") .. " after leaving the " .. i("Area of Effect") .. dot)
		},
	},
	["Chicken Head"] =
	{
		{
			version = "9.2.0",
			rarity = 5,
			effect = "+2",
			desc =
				"Modifies " .. i("Unbodied Flesh") .. " with the following effects:" ..
				list(
					"All Survivors are afflicted with " .. biclr("bronze", "Leeched I") .. " at the start of the Trial.",
					b("Increases") .. " the initial count of " .. b("Glowing Fungus") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "9.2.0 (PTB)",
			rarity = 5,
			desc =
				"Modifies " .. i("Unbodied Flesh") .. " with the following effect:" ..
				list("All Survivors are afflicted with " .. biclr("bronze", "Leeched I") .. " at the start of the Trial.")
		},
	},
	["Chunk of Malai"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 2,
			effect = {"-8 %", "-32 %"},
			desc =
				"Modifies the " .. b("Glowing Fungus") .. " with the following effect:" ..
				list("Incurs a stack-able " .. clror("#effect(1)") .. " Efficiency penalty per " .. biclr("bronze", "Leeched Survivor") .. " to its Depletion rate of the " .. biclr("bronze", "Leech Meter") .. ", up to a maximum of " .. clro("#effect(2)") .. dot)
		},
	},
	["Cigar Box"] =
	{
		{
			version = "9.1.0",
			rarity = 4,
			range = "6 metres",
			duration = "6 seconds",
			desc =
				 "Modifies the " .. biclr("yellow", "Antidote") .. " with the following effect:" ..
				 list("The Auras of all Players within " .. clror("#range") .. " are revealed to the " .. biclr("yellow", "Invigorated Players") .. " for " .. clro("#duration") .. dot)
		},
		{
			version = "4.5.0",
			rarity = 4,
			range = "16 metres",
			duration = "6 seconds",
			desc =
				"Modifies the " .. biclr("yellow", "Antidote") .. " with the following effect:" ..
				list("The Auras of all Players within " .. clror("#range") .. " are revealed to the " .. biclr("yellow", "Invigorated Players") .. " for " .. clro("#duration") .. dot)
		},
		{
			version = "2.0.0",
			rarity = 4,
			effect = {"+10 %", "+0.5 seconds"},
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effects:" ..
				list(
					b("Increases") .. " the size and spread of the " .. i("Gas Clouds") .. " by " .. clror("#effect(1)") .. dot,
					b("Increases") .. " the duration of the blurred vision caused by the " .. i("Gas Clouds") .. " by " .. clro("#effect(2)") .. dot)
		},
	},
	["Cinderella Music Box"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			effect = "-10 %",
			desc = 
				"Modifies " .. i("Punishment of the Damned") .. " with the following effect:" ..
				list(b("Reduces") .. " its Cool-down time by " .. clror("#effect") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 2,
			duration = "+15 seconds",
			desc = 
				"Modifies " .. b("Torment Trails") .. " with the following effect:" .. 
				list(b("Extends") .. " their Life time by " .. clror("#duration") .. dot)
		}	
	},
	["Clean Rag"] =
	{
		{
			version = "3.6.0",
			effect = "+20 %",
			rarity = 1,
			desc =
				b("Increases") .. " the Action speed for " .. i("Toolbox Repair") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "1.0.0",
			effect = "+10 %",
			rarity = 1,
			desc =
				b("Increases") .. " the Action speed for " .. i("Toolbox Repair") .. " by " .. clror("#effect") .. dot
		},
	},
	["Cloak of Elvenkind"] =
	{
		{
			version = "9.0.0",
			rarity = 3,
			effect = "-22 metres",
			linger = "6 seconds", 
			desc =
				"While casting the " .. i("Fly Spell") .. ", you benefit from the following effect:" ..
				list(
					b("Reduces") .. " your " .. i("Terror Radius") .. " by " .. clror("#effect") .. dot,
					nbullet .. "This effect lingers for " .. clro("#linger") .. " after ending " .. i("Fly") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 3,
			effect = "-8 metres",
			linger = "6 seconds", 
			desc =
				"While casting the " .. i("Fly Spell") .. ", you benefit from the following effect:" ..
				list(
					b("Reduces") .. " your " .. i("Terror Radius") .. " by " .. clror("#effect") .. dot,
					nbullet .. "This effect lingers for " .. clro("#linger") .. " after ending " .. i("Fly") .. dot)
		},
	},
	["Cloak of Invisibility"] =
	{
		{
			version = "9.0.0",
			rarity = 4,
			undetectable = "20 seconds", 
			desc =
				"Whenever all four " .. i("Spells") .. " are on cool-down at the same time, you benefit from the following effect:" ..
				list("Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. " for " .. clror("#undetectable") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 4,
			undetectable = "10 seconds", 
			desc =
				"Successfully hitting a Survivor equipped with a " .. b("Magic Item") .. " with a " .. i("Basic Attack") .. " triggers the following effect:" .. 
				list("Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. " for " .. clror("#undetectable") .. dot)
		},
	},
	["Clock Tower Gear"] = {
		{
			version = "9.2.0",
			rarity = 1,
			effect = "-5 %",
			desc =
				"Modifies the " .. i("Shapeshift") .. " ability with the following effect:" ..
				list(b("Reduces") .. " its Cool-down time by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 1,
			effect = "-10 %",
			desc =
				"Modifies the " .. i("Shapeshift") .. " ability with the following effect:" ..
				list(b("Reduces") .. " its Cool-down duration by " .. clror("#effect") .. dot)
		},
	},
	["Clump of Hair"] =
	{
		{
			version = "7.5.0",
			effect = "-6 metres",
			rarity = 2,
			desc =
				"Once beautiful and long, Sadako now hides behind her ragged, matted locks." ..
				list(b("Reduces") .. " the threshold for full Invisibility while " .. i("Demanifested") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.6.0",
			effect = "-4 metres",
			rarity = 2,
			desc =
				"Once beautiful and long, Sadako now hides behind her ragged, matted locks." ..
				list(b("Reduces") .. " the threshold for full Invisibility while " .. i("Demanifested") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Combat Straps"] =
	{
		{
			version = "7.6.0",
			effect = "+10 %",
			rarity = 1,
			desc =
				"Leather straps that hold fabric in place for nimbler movement." ..
            	list(b("Increases") .. " the Transition speed into the " .. i("Crouched State") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "2.5.0",
			effect = "+30 %",
			rarity = 1,
			desc =
				"Leather straps that hold fabric in place for nimbler movement." ..
            	list(b("Increases") .. " the Transition speed into the " .. i("Crouched State") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.9.0",
			effect = "+100 %",
			rarity = 1,
			desc =
				"Leather straps that hold fabric in place for nimbler movement." ..
            	list(b("Increases") .. " the Transition speed into the " .. i("Crouched State") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Copper Ring"] =
	{
		{
			version = "9.1.0",
			rarity = 1,
			duration = "+5 seconds",
			desc = 
				"Modifies " .. i("Rites of Judgement") .. " with the following effect:" ..
				list(b("Increases") .. " its maximum duration by " .. clror("#duration") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 1,
			duration = "+1 second",
			desc = 
				"Modifies " .. i("Rites of Judgement") .. " with the following effect:" ..
				list(b("Increases") .. " its maximum duration by " .. clror("#duration") .. dot)
		}
	},
	["Crate of Gears"] =
	{
		{
			version = "5.3.0",
			rarity = 4,
			effects = {"+50 %", "-25 %"},
			desc =
				"While attaching a " .. b("Reverse Bear Trap") .. " to a downed Survivor, #name applies its primary effect:" ..
				list(b("Increases") .. " your Action speed by " .. clror("#effects(1)") .. dot) ..
				"Survivors searching a " .. b("Jigsaw Box") .. ", #name applies its secondary effect:" ..
				list(b("Reduces") .. " their Action speed by "  .. clro("#effects(2)") .. dot)
		},
		{
			version = "1.9.0",
			rarity = 4,
			effects = {"+50 %", "-30 %"},
			desc =
				"While attaching a " .. b("Reverse Bear Trap") .. " to a downed Survivor, #name applies its primary effect:" ..
				list(b("Increases") .. " your Action speed by " .. clror("#effects(1)") .. dot) ..
				"Survivors searching a " .. b("Jigsaw Box") .. ", #name applies its secondary effect:" ..
				list(b("Reduces") .. " their Action speed by "  .. clro("#effects(2)") .. dot)
		},
	},
	["Crimson Ceremony Book"] = 
	{
		{
			version = "7.6.0",
			rarity = 4,
			duration = "80 seconds",
			desc =
				"Successful " .. i("Punishment of the Damned") .. " attacks trigger the following effect:" ..
				list("Causes hit Survivors to suffer from the " .. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. " for " .. clror("#duration") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 4,
			desc =
				"While injured, Survivors afflicted by " .. i("Torment") .. " suffer from the following additional effect:" ..
				list("Inflicts the " .. b(i("Haemorrhage") .. space .. "Status Effect") .. dot)
		}
	},
	["Crimson Stamp"] =
	{
		{
			version = "9.1.0",
			rarity = 5,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Add-on") .. " from " .. b("Crystal Bead") .. " to " .. b("Crimson Stamp") .. dot,
			aura = "8 metres",
			duration = "-10 seconds",
			charges = "-2",
			desc =
				i("Only those with absolute confidence dared to place their seal upon the map.") .. nlp ..
				"Modifies the " .. b("Map") .. " with the following effects:" ..
            	list(
            		"The Aura of the Killer is revealed to all Survivors when within " .. clror("#aura") .. " of the " .. i("Beam of Light") .. dot,
            		b("Reduces") .. " the Life time of the " .. i("Beam of Light") .. " by " .. clro("#duration") .. dot,
            		b("Reduces") .. " its Charges by " .. clro("#charges") .. dot)
		},
		{
			version = "1.0.0",
			rarity = 4,
			icon = "Crystal Bead",
			desc =
				i("An intricate set of lenses wrapped up in an astonishingly complex apparatus." .. br .. "The gears controlling the lenses' focus move by themselves as to focus on something invisible to humans.") .. nlp ..
				"Modifies the " .. b("Map") .. " with the following effect:" ..
            	list("The Auras of all tracked objects are revealed to all other Survivors as well, when using the " .. b("Map") .. dot)
		},
	},
	["Crumpled Sheet Music"] =
	{
		{
			version = "9.2.0",
			rarity = 2,
			effect = "+12 Charges",
			desc =
				"Successfully hitting a Survivor with a " .. b("Leeching Gland") .. " triggers the following effect:" ..
				list("Causes " .. i("Headlong Flight") .. " to instantly gain " .. clror("#effect") .. dot)
		},
		{
			version = "9.2.0 (PTB)",
			rarity = 2,
			effect = "+10 Charges",
			desc =
				"Successfully hitting a Survivor with a " .. b("Leeching Gland") .. " triggers the following effect:" ..
				list("Causes " .. i("Headlong Flight") .. " to instantly gain " .. clror("#effect") .. dot)
		},
	},
	["Crystal Ball"] =
	{
		{
			version = "9.0.0",
			rarity = 1,
			effect = "+1 second",
			desc =
				"Whenever the " .. i("Dispelling Sphere Spell") .. " detects a Survivor, you benefit from the following effect:" ..
				list(b("Increases") .. " the duration of " .. i("Killer Instinct") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 1,
			effect = "+3 seconds",
			desc =
				"Whenever the " .. i("Dispelling Sphere Spell") .. " detects a Survivor, you benefit from the following effect:" ..
				list(b("Increases") .. " the duration of " .. i("Killer Instinct") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Cutting Wire"] =
	{
		{
			version = "8.0.0",
			effect = "+20 %",
			rarity = 2,
			desc =
				b("Increases") .. " the Action speed for " .. i("Toolbox Sabotage") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "1.0.0",
			effect = "+15 %",
			rarity = 2,
			desc =
				b("Increases") .. " the Action speed for " .. i("Toolbox Sabotage") .. " by " .. clror("#effect") .. dot
		},
	},
	-- D Add-ons --
	["Dad's Boots"] =
	{
		{
			version = "8.3.0",
			effect = "+20 %",
			rarity = 3,
			desc =
				"A pair of trusty boots, pulled from the corpse of Max Thompson Senior." ..
            	list(b("Increases") .. " the Turn speed during a " .. i("Chainsaw Sprint") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "7.5.0",
			effect = "+30 %",
			rarity = 1,
			desc =
				"A pair of trusty boots, pulled from the corpse of Max Thompson Senior." ..
            	list(b("Increases") .. " the Turn speed during a " .. i("Chainsaw Sprint") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "4.1.1",
			effect = "+28 %",
			rarity = 2,
			desc =
				"A pair of trusty boots, pulled from the corpse of Max Thompson Senior." ..
            	list(b("Increases") .. " the Turn speed during a " .. i("Chainsaw Sprint") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "4.1.0",
			effect = "+28 %",
			rarity = 1,
			desc =
				"A pair of trusty boots, pulled from the corpse of Max Thompson Senior." ..
            	list(b("Increases") .. " the Turn speed during a " .. i("Chainsaw Sprint") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Dead Butterfly"] =
	{
		{
			version = "9.1.0",
			rarity = 1,
			effect = "+10 %",
			desc =
				"Modifies " .. i("Rites of Judgement") .. " with the following effect:" ..
				list(b("Increases") .. " its Recharge rate by " .. clror("#effect") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 1,
			effect = "-2 seconds",
			desc =
				"Modifies " .. i("Rites of Judgement") .. " with the following effect:" ..
				list(b("Reduces") .. " its Recharge time by " .. clror("#effect") .. dot)
		}
	},
	["Dead Rabbit"] = 
	{
		{
			version = "9.2.0",
			rarity = 2,
			TR_minus = "-25 %", 
			TR_plus = "+25 %",
			desc =
				'A grey rabbit which has been opened from neck to tail.' .. nlp ..
	            "Adjusts the Terror Radius, depending on the current Mode of " .. i("Evil Within") .. colon ..
	            list(
	            	bclr("faded jade", "Pursuer Mode") .. colon .. space .. b("Reduces") .. " it by " .. clror("#TR_minus") .. dot,
	            	bclr("faded jade", "Evil Incarnate") .. colon .. space .. b("Increases") .. " it by " .. clro("#TR_plus") .. dot)
	    },
		{
			version = "1.2.1",
			rarity = 2,
			TR_minus = "-25 %", 
			TR_plus = "+25 %",
			desc =
				'A grey rabbit which has been opened from neck to tail.' .. nlp ..
	            "Adjusts the Terror Radius, depending on the current Tier of " .. i("Evil Within") .. colon ..
	            list(
	            	bclr("faded jade", "Evil Within II") .. colon .. space .. b("Reduces") .. " it by " .. clror("#TR_minus") .. dot,
	            	bclr("faded jade", "Evil Within III") .. colon .. space .. b("Increases") .. " it by " .. clro("#TR_plus") .. dot)
	    },
	},
	["Defective Metronome"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 2,
			desc =
				"Modifies the " .. b("Glowing Fungus") .. " with the following effect:" ..
				list("Causes Survivors to suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " while under its effects.")
		},
	},
	["Discarded Air Filter"] =
	{
		{
			version = "8.3.0",
			effect = "+20 %",
			rarity = 1,
			desc =
				"A cracked and dusty filter." .. br .. "It still manages to work better than the stock model." ..
            	list(b("Increases") .. " the Decay delay for the " .. i("Overdrive Meter") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "7.5.0",
			effect = "+20 %",
			rarity = 3,
			desc =
				"A cracked and dusty filter." .. br .. "It still manages to work better than the stock model." ..
            	list(b("Increases") .. " the Decay delay for the " .. i("Overdrive Meter") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.3.0",
			effect = "+18 %",
			duration = "30 seconds",
			rarity = 3,
			icon = "Mother's Helpers",
			desc =
				"A small number of caffeine pills found in Evelyn Thompson's purse." .. br .. 
				"Side effects include nervousness and irritability." ..
				list(b("Increases") .. " the Charge speed of the " .. i("Chainsaw") .. " by " .. clror("#effect") .. " for " .. clro("#duration") .. " after being stunned by a " .. b("Pallet") .. dot)
		},
		{
			version = "4.1.0",
			effect = "+12 %",
			duration = "30 seconds",
			rarity = 3,
			icon = "Mother's Helpers",
			desc =
				"A small number of caffeine pills found in Evelyn Thompson's purse." .. br .. 
				"Side effects include nervousness and irritability." ..
				list(b("Increases") .. " the Charge speed of the " .. i("Chainsaw") .. " by " .. clror("#effect") .. " for " .. clro("#duration") .. " after being stunned by a " .. b("Pallet") .. dot)
		},
	},
	["Dragoontooth Dagger"] =
	{
		{
			version = "9.0.0",
			rarity = 4,
			duration = "60 seconds", 
			desc =
				"Successfully hitting a Survivor equipped with a " .. b("Magic Item") .. " with a " .. i("Basic Attack") .. " triggers the following effect:" .. 
				list("Inflicts the " .. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. " for " .. clror("#duration") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 4,
			duration = "45 seconds", 
			desc =
				"Successfully hitting a Survivor equipped with a " .. b("Magic Item") .. " with a " .. i("Basic Attack") .. " triggers the following effect:" .. 
				list("Inflicts the " .. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. " for " .. clror("#duration") .. dot)
		},
	},
	["Drinking Bird"] =
	{
		{
			version = "8.6.0",
			effect = "+3 seconds",
			rarity = 1,
			desc =
				b("Increases") .. " the Duration of " .. i("Killer Instinct") .. " after exiting the Tunnels by " .. clror("#effect") .. dot
		},
		{
			version = "7.2.0",
			effect = "+2 seconds",
			rarity = 1,
			desc =
				b("Increases") .. " the Duration of " .. i("Killer Instinct") .. " after exiting the Tunnels by " .. clror("#effect") .. dot
		},
	},
	["Dulled Knife"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 3,
			effect = "-25 %",
			duration = "5 seconds",
			haste = "+5 %",
			desc =
				"Modifies " .. i("Headlong Flight") .. " with the following effect:" ..
				list(b("Reduces") .. " its Consumption rate by " .. clror("#effect") .. dot) ..
				"Modifies the " .. b("Glowing Fungus") .. " with the following effects:" ..
				list(
					"Causes Survivors eating it to benefit from the following additional effects for " .. clro("#duration") .. colon,
					nbullet .. "Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " and the " .. b(i("Elusive") .. space .. "Status Effect") .. dot)
		},
	},
	-- E Add-ons --
	["Emergency Helmet"] =
	{
		{
			version = "8.6.0",
			effect = "+15 %",
			rarity = 3,
			desc =
				"An extra helmet on the bridge, for use in emergencies only." ..
            	list(b("Increases") .. " the Resistance towards " .. b("Remote Flame Turrets") .. " before being knocked out of " .. i("Crawler Mode") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "7.2.0",
			effect = "+35 %",
			rarity = 3,
			desc =
				"An extra helmet on the bridge, for use in emergencies only." ..
            	list(b("Increases") .. " the Resistance towards " .. b("Remote Flame Turrets") .. " before being knocked out of " .. i("Crawler Mode") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "7.2.0 (PTB)",
			effect = "+50 %",
			rarity = 2,
			desc =
				"An extra helmet on the bridge, for use in emergencies only." ..
            	list(b("Increases") .. " the Resistance towards " .. b("Remote Flame Turrets") .. " before being knocked out of " .. i("Crawler Mode") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Endo CPU"] =
	{
		{
			version = "9.0.2",
			rarity = 4,
			effect = "+40 %",
			linger = "5 seconds",
			desc =
				"While inside the " .. i("Area of Effect") .. " of the embedded " .. i("Fire Axe") .. ", you benefit from the following effect:" ..
        		list(
        			b("Increases") .. " the Action speeds for Breaking and Damaging by " .. clror("#effect") .. dot,
        			nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving the " .. i("Area of Effect") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 4,
			effect = "+25 %",
			linger = "5 seconds",
			desc =
				"While inside the " .. i("Area of Effect") .. " of the embedded " .. i("Fire Axe") .. ", you benefit from the following effect:" ..
        		list(
        			b("Increases") .. " the Action speeds for Breaking and Damaging by " .. clror("#effect") .. dot,
        			nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving the " .. i("Area of Effect") .. dot)
		},
	},
	["Ether 15 Vol%"] =
	{
		{
			version = "9.1.0",
			rarity = 4,
			effect = "+0.5 seconds",
			desc =
				 "Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
				 list(b("Increases") .. " the duration of " .. biclr("fuchsia", "Intoxication") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "2.0.0",
			rarity = 4,
			effect = "+1 second",
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
				list(b("Increases") .. " the duration of " .. biclr("fuchsia", "Intoxication") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Expired Batteries"] =
	{
		{
			version = "8.3.0",
			firstBattery = "50 %",
			secondBattery = "100 %",
			batteryBonus = "+10 %",
			batteryLimit = "150 %",
			rarity = 5,
			desc =
				"The batteries on these Claw Traps have been swapped out with old alkaline batteries." .. br .. "Recharging is not recommended." ..
            	list(
            		"All Survivors start the Trial with a " .. i("Claw Trap") .. dot,
            		"The first " .. i("Claw Trap") .. " has a reduced Battery Life of " .. clror("#firstBattery") .. dot,
            		"The second " .. i("Claw Trap") .. " has a restored Battery Life of " .. clro("#secondBattery") .. dot,
            		b("Increases") .. " the Battery Life by a stack-able " .. clro("#batteryBonus") .. " for each successive " .. i("Claw Trap") .. " a Survivor receives, up to a maximum duration of " .. clro("#batteryLimit") .. dot)
		},
		{
			version = "7.3.0",
			haste = "+25 %",
			defaultBattery = "50 %",
			rarity = 5,
			desc =
				"The batteries on these Claw Traps have been swapped out with old alkaline batteries." .. br .. "Recharging is not recommended." ..
            	list(
            		b("Increases") .. " the strength of the " .. b(i("Haste") .. space .. "Status Effect") .. " from " .. i("Tracked Survivors") .. " by " .. clror("#haste") .. dot,
            		b("Reduces") .. " the default Battery Life of " .. b("Claw Traps") .. " to " .. clro("#defaultBattery") .. dot)
		},
		{
			version = "6.6.2",
			firstBattery = "40 %",
			defaultBattery = "100 %",
			rarity = 5,
			desc =
				"The batteries on these Claw Traps have been swapped out with old alkaline batteries." .. br .. "Recharging is not recommended." ..
            	list(
            		"All Survivors start the Trial with a " .. i("Claw Trap") .. dot,
            		"The first " .. i("Claw Trap") .. " has a reduced Battery Life of " .. clror("#firstBattery") .. dot,
            		"All successive " .. i("Claw Traps") .. " have their Battery Life reset to the default value of " .. clro("#defaultBattery") .. dot)
		},
		{
			version = "6.6.0",
			firstBattery = "150 %",
			defaultBattery = "100 %",
			rarity = 4,
			desc =
				"The batteries on these Claw Traps have been swapped out with old alkaline batteries." .. br .. "Recharging is not recommended." ..
            	list(
            		"All Survivors start the Trial with a " .. i("Claw Trap") .. dot,
            		"The first " .. i("Claw Trap") .. " has an increased Battery Life of " .. clror("#firstBattery") .. dot,
            		nbullet .. "It also does not recharge and is automatically removed once its Battery is depleted.",
            		"All successive " .. i("Claw Traps") .. " have their Battery Life reset to the default value of " .. clro("#defaultBattery") .. dot)
		},
	},
	-- F Add-ons --
	["Faz-Coin"] =
	{
		{
			version = "9.0.0",
			rarity = 5,
			undetectable = "10 seconds", 
			radius = "24 metres",
			desc =
				"Upon throwing the " .. i("Fire Axe") .. ", the following effects are applied:" ..
        		list(
        			"Causes the " .. i("Fire Axe") .. " to emit a copy of " .. i("Terror Radius") .. " until it is retrieved.",
        			nbullet .. "This " .. i("Terror Radius") .. " is set to " .. clror("#radius") .. dot,
        			"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. " for " .. clro("#undetectable") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 5,
			undetectable = "10 seconds", 
			desc =
				"Upon throwing the " .. i("Fire Axe") .. ", the following effects are applied:" ..
        		list(
        			"Causes the " .. i("Fire Axe") .. " to emit a copy of your " .. i("Terror Radius") .. " until it is retrieved.",
        			"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. " for " .. clror("#undetectable") .. dot)
		},
	},
	["First Libretto"] =
	{
		{
			version = "9.2.0",
			rarity = 1,
			effect = "-30 %",
			duration = "15 seconds",
			desc =
				"Whenever you hook a Survivor afflicted with " .. biclr("bronze", "Leeched") .. ", you benefit from the following effect:" ..
				list(b("Reduces") .. " the Consumption rate of " .. i("Headlong Flight") .. " by " .. clror("#effect") .. " for " .. clro("#duration") .. dot)
		},
		{
			version = "9.2.0 (PTB)",
			rarity = 1,
			effect = "-20 %",
			duration = "15 seconds",
			desc =
				"Whenever you hook a Survivor afflicted with " .. biclr("bronze", "Leeched") .. ", you benefit from the following effect:" ..
				list(b("Reduces") .. " the Consumption rate of " .. i("Headlong Flight") .. " by " .. clror("#effect") .. " for " .. clro("#duration") .. dot)
		},
	},
	["Flask of Bleach"] =
	{
		{
			version = "9.1.0",
			rarity = 3,
			effect = "-2 %",
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
            	list(b("Increases") .. " the strength of the " .. b(i("Hindered") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.5.0",
			rarity = 3,
			effect = "-4 %",
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
            	list(b("Increases") .. " the strength of the " .. b(i("Hindered") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "2.0.0",
			rarity = 3,
			effect = "-5 %",
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
            	list(b("Increases") .. " the strength of the " .. b(i("Hindered") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Flower Babushka"] =
	{
		{
			version = "7.6.0",
			effect = "-0.1 seconds",
			rarity = 3,
			desc =
				"A clean and colourful handkerchief adorned with a flower pattern." .. br .. "This memory of a lost little one fills The Huntress with rage and focus." ..
            	list(b("Reduces") .. " the Wind-up time of " .. b("Hatchets") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "2.1.0",
			effect = "-0.12 seconds",
			rarity = 3,
			desc =
				"A clean and colourful handkerchief adorned with a flower pattern." .. br .. "This memory of a lost little one fills The Huntress with rage and focus." ..
            	list(b("Reduces") .. " the Wind-up time of " .. b("Hatchets") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.6.0",
			effect = "-0.2 seconds",
			rarity = 3,
			desc =
				"A clean and colourful handkerchief adorned with a flower pattern." .. br .. "This memory of a lost little one fills The Huntress with rage and focus." ..
            	list(b("Reduces") .. " the Wind-up time of " .. b("Hatchets") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Force of Echo"] = {
		{
			version = "9.2.0",
			rarity = 3,
			effect = "+10 %",
			desc =
				"Modifies the " .. bclr("white", "Scent Orbs") .. " with the following effect:" ..
				list(b("Increases") .. " their Spawn rate by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 3,
			effect = "+17 %",
			desc =
				"Modifies the " .. bclr("white", "Scent Orbs") .. " with the following effect:" ..
				list(b("Increases") .. " their Spawn rate by " .. clror("#effect") .. dot)
		},
	},
	["Forgotten Videotape"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			effect = "+10 %",
			desc =
				"Modifies " .. i("Punishment of the Damned") .. " with the following effect:" ..
				list(b("Increases") .. " its Travel speed by " .. clror("#effect") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 2,
			effect = "-3 seconds",
			desc =
				"Modifies " .. i("Rites of Judgement") .. " with the following effect:" ..
				list(b("Reduces") .. " its Recharge time by " .. clror("#effect") .. dot)
		}
	},
	["Foxy's Hook"] =
	{
		{
			version = "9.0.2",
			rarity = 3,
			haste = "+7 %",
			linger = "6 seconds",
			desc =
				"While inside the " .. i("Area of Effect") .. " of the " .. i("Fire Axe") .. ", Players benefit from the following effect:" ..
        		list(
        			"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
        			nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving the " .. i("Area of Effect") .. dot)
		},
		{
			version = "9.0.0",
			rarity = 3,
			haste = "+7 %",
			linger = "3 seconds",
			desc =
				"While inside the " .. i("Area of Effect") .. " of the " .. i("Fire Axe") .. ", Players benefit from the following effect:" ..
        		list(
        			"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
        			nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving the " .. i("Area of Effect") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 3,
			haste = "+10 %",
			linger = "6 seconds",
			desc =
				"While inside the " .. i("Area of Effect") .. " of the " .. i("Fire Axe") .. ", Players benefit from the following effect:" ..
        		list(
        			"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
        			nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving the " .. i("Area of Effect") .. dot)
		},
	},
	["Fragrant Tuft of Hair"] =
	{
		{
			version = "9.2.0",
			rarity = 2,
			bonus = "+50 %",
        	desc =
            	quote("A tuft of blond hair which was forcefully torn off someone's scalp." .. br .. "Releases hints of feminine floral fragrance.") .. nlp ..
            	"During " .. i("Evil Incarnate") .. ", the following effects apply:" ..
            	list(
            			"Survivors suffer from the " .. b(i("Exposed") .. space .. "Status Effect"),
            		    b("Increases") .. " the Lunge Range by " .. clror("#bonus") .. dot,
            		   "Disables the " .. b("Slaughtering Strike") .. " ability.")
		},
		{
			version = "8.4.0",
			rarity = 5,
			effect = "+20 Stalk Points",
			desc =
				"A tuft of blond hair which was forcefully torn off someone's scalp." .. br .. "Releases hints of feminine floral fragrance." ..
            	list(
            		"Causes " .. i("Evil Within III") .. " to last indefinitely.",
                	b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clror("#effect") .. dot)
        },
        {
			version = "1.2.1",
			rarity = 5,
			effect = "+10 Stalk Points",
			desc =
				"A tuft of blond hair which was forcefully torn off someone's scalp." .. br .. "Releases hints of feminine floral fragrance." ..
            	list(
            		"Causes " .. i("Evil Within III") .. " to last indefinitely.",
                	b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clror("#effect") .. dot)
        },
	},
	["Framed Newspaper"] =
	{
		{
			version = "9.2.0",
			rarity = 3,
			capacity = "+6 Charges",
			charge = "+15 %",
			threshold = "50 %", 
			desc =
				"Modifies " .. i("Headlong Flight") .. " with the following effects:" ..
				list(
					b("Increases") .. " its Charge capacity by " .. clror("#capacity") .. dot,
					b("Increases") .. " its Recharge rate by " .. clro("#charge") .. dot,
					b("Raises") .. " its Activation threshold to " .. clro("#threshold") .. dot)
		},
		{
			version = "9.2.0 (PTB)",
			rarity = 3,
			capacity = "+10 Charges",
			charge = "+25 %",
			threshold = "50 %", 
			desc =
				"Modifies " .. i("Headlong Flight") .. " with the following effects:" ..
				list(
					b("Increases") .. " its Charge capacity by " .. clror("#capacity") .. dot,
					b("Increases") .. " its Recharge rate by " .. clro("#charge") .. dot,
					b("Raises") .. " its Activation threshold to " .. clro("#threshold") .. dot)
		},
	},
	["Freddy's Hat"] =
	{
		{
			version = "9.0.0 (PTB)",
			rarity = 3,
			effect = "+100 %",
			desc =
				"Modifies the trajectory of the " .. i("Fire Axe") .. colon ..
        		list(b("Increases") .. " the weight of the " .. i("Fire Axe") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Fresh Coffee"] =
	{
		{
			version = "8.6.2",
			rarity = 4,
			effect = "+2 m/s",
			desc =
				"Every ghoul's favourite drink, the one human delicacy they can consume." ..
        		list(b("Increases") .. " the Movement speed during " .. i("Kagune Leaps") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 1,
			effect = "+2 m/s",
			desc =
				"Every ghoul's favourite drink, the one human delicacy they can consume." ..
        		list(b("Increases") .. " the Movement speed during " .. i("Kagune Leaps") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Friendship Charm"] =
	{
		{
			version = "9.1.0",
			rarity = 1,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Add-on") .. " from " .. b("Prayer Rope") .. " to " .. b("Friendship Charm") .. dot,
			charges = "+1",
			desc =
				i("Someone's thumb has worn off the initials once carved into it.") .. nlp ..
				"Modifies the " .. b("Key") .. " with the following effect:" .. 
				list(b("Increases") .. " its Charges by " .. clror("#charges") .. dot)
		},
		{
			version = "1.0.0",
			rarity = 1,
			icon = "Prayer Rope",
			charges = "+10",
			desc =
				i("Tightly knitted rope used in praying rituals.") .. nlp ..
				"Modifies the " .. b("Key") .. " with the following effect:" .. 
				list(b("Increases") .. " its Charges by " .. clror("#charges") .. dot)
		},
	},
	-- G Add-ons --
	["Garden Rake"] =
	{
		{
			version = "8.5.0",
			effect = "+10 %",
			rarity = 1,
			desc =
				list(b("Increases") .. " the size of the " .. b("Dream Snare") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "4.7.0",
			capacity = 7,
			rarity = 1,
			desc =
				"Selects " .. b("Dream Pallets") .. " as the available " .. b("Dream Trap") .. " in the Trial:" ..
				list(
            		"Grants the ability to place and maintain up to " .. clror("#capacity") .. space .. b("Dream Pallets") .. dot,
            		nbullet .. "Placing additional ones will recycle the oldest one.")
		},
		{
			version = "3.1.0",
			capacity = 10,
			rarity = 1,
			desc =
				"Selects " .. b("Dream Pallets") .. " as the available " .. b("Dream Trap") .. " in the Trial:" ..
				list(
            		"Grants the ability to place and maintain up to " .. clror("#capacity") .. space .. b("Dream Pallets") .. dot,
            		nbullet .. "Placing additional ones will recycle the oldest one.")
		},
		{
			version = "1.8.2",
			rarity = 1,
			effect = "+40 %",
			desc =
				list(b("Increases") .. " the Movement speed after successfully putting a Survivor into the " .. i("Dream Transition") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.8.0",
			rarity = 1,
			effect = "+40 %",
			desc =
				list(b("Increases") .. " the Movement speed while casting " .. i("Dream Demon") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Glass Fragment"] =
	{
		{
			version = "9.2.0",
			rarity = 2,
			bonus = "+5 %",
			penalty = "-10 %",
			desc =
	            "A tiny piece of tinted glass, probably from a broken object." .. br .. "It is impossible to determine its origin." .. nlp ..
	            "Modifies " .. b("Slaughtering Strike") .. " with the following effects:" ..
	            list(b("Increases") .. " the Movement speed of " .. b("Slaughtering Strike") .. " by " .. clror("#bonus") .. dot,
	            	b("Decreases") .. " the Charge speed of " .. b("Slaughtering Strike") .. " by " .. clro("#penalty") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 2,
			activation = "1 second", 
			aura = "3 seconds",
			desc = 
				"A tiny piece of tinted glass, probably from a broken object." .. br .. "It is impossible to determine its origin." .. nlp ..
	            "While in " .. i("Evil Within I") .. ", stalking Survivors for at least " .. clror("#activation") .. " triggers the following effect:" ..
	            list("Their Auras are revealed to you for " .. clro("#aura") .. dot)
		},
	},
	["Glowing Ink"] =
	{
		{
			version = "9.1.0",
			rarity = 1,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Add-on") .. " from " .. b("Map Addendum") .. " to " .. b("Glowing Ink") .. dot,
			effect = "+2 seconds",
			desc =
				i("Some of the images seemed to jump right off the page.") .. nlp ..
				"Modifies the " .. b("Map") .. " with the following effect:" ..
            	list(b("Increases") .. " the duration it reveals Auras for by " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			rarity = 1,
			icon = "Map Addendum",
			effect = "+5 seconds",
			desc =
				i("A fragmented piece of a thick fibrous material." .. br .. "A partial and faded map is drawn on it which by itself is useless.") .. nlp ..
				"Modifies the " .. b("Map") .. " with the following effect:" ..
            	list(b("Increases") .. " its Durability by " .. clror("#effect") .. dot)
		},
	},
	["Gnarled Compass"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Add-on") .. " from " .. b("Glass Bead") .. " to " .. b("Gnarled Compass") .. dot,
			effect = "+2",
			desc =
				i("It seems to set itself to the perfect distance every time.") .. nlp ..
				"Modifies the " .. b("Map") .. " with the following effect:" ..
            	list(b("Increases") .. " its Charges by " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			rarity = 2,
			icon = "Glass Bead",
			effect = "+5 seconds",
			desc =
				i("A strange bead circled with gold that can be used to magnify the map and mark a specific position." .. br .. "The bead emits an energy which can be felt and seen by Survivors.") .. nlp ..
				"While using the " .. b("Map") .. ", press the " .. loadoutStrings.secondaryActionButton .. " to trigger its effect:" ..
				list("Places a " .. i("Beam of Light") .. " at your current location as a marker that is only visible to Survivors.")
		},
	},
	["Greasy Paper Plate"] =
	{
		{
			version = "9.0.0",
			rarity = 1,
			effect = "+15 %", 
			desc =
				"While removing the " .. i("Fire Axe") .. " embedded in them, the Survivor suffers from the following effect:" ..
        		list(b("Increases") .. " the Removal time by " .. clror("#effect") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 1,
			effect = "+10 %", 
			desc =
				"While removing the " .. i("Fire Axe") .. " embedded in them, the Survivor suffers from the following effect:" ..
        		list(b("Increases") .. " the Removal time by " .. clror("#effect") .. dot)
		},
	},
	["Green Dress"] =
	{
		{
			version = "8.5.0",
			effect = "+2 seconds",
			rarity = 2,
			desc =
				"A little girl's green dress with a silky white ribbon." .. 
            	list(b("Increases") .. " the time required to perform the " .. i("Wake Up") .. " action by " .. clror("#effect") .. dot)
		},
		{
			version = "3.1.0",
			effect = "-4 %",
			duration = "3 seconds",
			rarity = 2,
			desc =
				"A little girl's green dress with a silky white ribbon." .. nlp ..
            	"Survivors trapped inside the " .. b("Dream World") .. " suffer from the following effects:" ..
            	list(
            		b("Increases") .. " the Progression penalty incurred by " .. i("Failed Repair and Healing Skill Checks") .. " by " .. clror("#effect") .. dot,
            		"The Auras of Survivors failing those " .. i("Skill Checks") .. " are revealed for " .. clro("#duration") .. dot)
		},
		{
			version = "1.8.0",
			effect = "+0.5 seconds",
			rarity = 2,
			desc =
				"A little girl's green dress with a silky white ribbon." ..
				list(
					b("Increases") .. " the " .. i("Dream Transition") .. " by " .. clror("#effect") .. dot,
					b("Considerably reduces") .. " the Trigger odds of " .. i("Skill Checks") .. " for Survivors trapped in the " .. b("Dream World") .. dot)
		},
	},
	["Grip Wrench"] =
	{
		{
			version = "8.0.0",
			effect = "+20 seconds",
			rarity = 3,
			desc =
				b("Increases") .. " the Auto-Repair timer for sabotaged " .. b("Hooks") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "3.6.0",
			effect = "+15 seconds",
			rarity = 3,
			desc =
				b("Increases") .. " the Auto-Repair timer for sabotaged " .. b("Hooks") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "1.0.0",
			effect = "+14 %",
			rarity = 2,
			desc =
				"While repairing a " .. b("Generator") .. " with a " .. b("Toolbox") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " the Success Zone of " .. i("Repair Skill Checks") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Gunpowder Tin"] =
	{
		{
			version = "8.4.1",
			effect = "+30 %",
			duration = "20 seconds",
			rarity = 4,
			desc =
				"Useful for all manner of explosive schemes." ..
        		list(
					b("Increases") .. " the Action speeds for the following interactions by " .. clror("#effect") .. " for " .. clro("#duration") .. " after a Survivor becomes affected by " .. i("Houndsense") .. colon,
						nbullet .. "Breaking " .. b("Breakable Walls") .. dot,
						nbullet .. "Breaking " .. b("Pallets") .. dot,
						nbullet .. "Damaging " .. b("Generators") .. dot)
		},
		{
			version = "8.4.0",
			effect = "+40 %",
			duration = "20 seconds",
			rarity = 4,
			desc =
				"Useful for all manner of explosive schemes." ..
        		list(
					b("Increases") .. " the Action speeds for the following interactions by " .. clror("#effect") .. " for " .. clro("#duration") .. " after a Survivor becomes affected by " .. i("Houndsense") .. colon,
						nbullet .. "Breaking " .. b("Breakable Walls") .. dot,
						nbullet .. "Breaking " .. b("Pallets") .. dot,
						nbullet .. "Damaging " .. b("Generators") .. dot)
		},
	},
	-- H Add-ons --
	["Hacksaw"] =
	{
		{
			version = "8.0.0",
			effect = "+30 %",
			rarity = 3,
			desc =
				b("Increases") .. " the Action speed for " .. i("Toolbox Sabotage") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "1.0.0",
			effect = "+20 %",
			rarity = 3,
			desc =
				b("Increases") .. " the Action speed for " .. i("Toolbox Sabotage") .. " by " .. clror("#effect") .. dot
		},
	},
	["Haddie's Calendar"] =
	{
		{
			version = "8.2.0",
			effect = "-0.4 seconds",
			rarity = 2,
			desc =
				"She planned to cross out each day until her parents took her to India, but when tragedy struck, she abandoned her calendar." ..
        		list(b("Reduces") .. " the Exiting time from locked " .. b("Lockers") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "6.0.0",
			effect = "-1 second",
			rarity = 2,
			desc =
				"She planned to cross out each day until her parents took her to India, but when tragedy struck, she abandoned her calendar." ..
        		list(b("Reduces") .. " the Exiting time from locked " .. b("Lockers") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Hair Bow"] =
	{
		{
			version = "9.2.0",
			rarity = 3,
			bonus = "+20 seconds",
			penaltyPercentage = "-20 %",
	        desc =
	            "A blue tartan ribbon used to tie hair." .. nlp ..
	            "Modifies " .. i("Evil Incarnate") .. " with the following effects:" ..
	            list(
	            	b("Increases") .. " the duration of " .. i("Evil Incarnate") .. " by " .. clror("#bonus") .. dot,
	                b("Reduces") .. " the Power speed of " .. i("Stalking") .. " by " .. clro("#penaltyPercentage") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 3,
			bonus = "+30 seconds", 
			penaltyPercentages = {"+50 %", "150 %"}, 
			penaltyPoints = {"+2.5 SP", "7.5 SP"},
			desc =
	            "A blue tartan ribbon used to tie hair." ..
	            list(
	            	b("Increases") .. " the duration of " .. i("Evil Within III") .. " by " .. clror("#bonus") .. dot,
	                b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clro("#penaltyPercentages(1)") .. " to " .. clro("#penaltyPercentages(2)") .. dot,
	                nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(1)") .. " to " .. clro("#penaltyPoints(2)") .. dot)
		},
	},
	["Hair Brush"] =
	{
		{
			version = "9.2.0",
			rarity = 2,
			bonus = "+50 %",
			desc =
	            "A nylon bristle brush used to add body and softness to hair." .. nlp ..
	            "When " .. i("Evil Incarnate") .. " activates, " .. i("Hair Brush") .. " triggers its effect:" ..
	            list(
	            	b("Increases") .. " the Action speed of the next " .. iconLink(ils.pallet) .. " break action by " .. clror("#bonus") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 2,
			bonus = "+20 seconds", 
			penaltyPercentages = {"+50 %", "150 %"}, 
			penaltyPoints = {"+2.5 SP", "7.5 SP"},
			desc =
				"A nylon bristle brush used to add body and softness to hair." ..
				list(
					b("Increases") .. " the duration of " .. i("Evil Within III") .. " by " .. clror("#bonus") .. dot,
					b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clro("#penaltyPercentages(1)") .. " to " .. clro("#penaltyPercentages(2)") .. dot,
					nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(1)") .. " to " .. clro("#penaltyPoints(2)") .. dot)
		},
	},
	["Harpoon Gun"] =
	{
		{
			version = "8.6.0",
			windowOfOpportunity = "30 seconds",
			range = "16 metres",
			rarity = 4,
			desc =
				"Hitting a Survivor within " .. clror("#windowOfOpportunity") .. " of exiting the Tunnels triggers the following effect:" ..
            	list("Causes all other Survivors farther than " .. clro("#range") .. " from your location to scream and reveal their location to you.")
		},
		{
			version = "7.2.0",
			windowOfOpportunity = "10 seconds",
			range = "24 metres",
			rarity = 4,
			desc =
				"Hitting a Survivor within " .. clror("#windowOfOpportunity") .. " of exiting the Tunnels triggers the following effect:" ..
            	list("Causes all other Survivors farther than " .. clro("#range") .. " from your location to scream and reveal their location to you.")
		},
	},
	["Help Wanted Ad"] =
	{
		{
			version = "9.0.0 (PTB)",
			rarity = 1,
			desc =
				"While winding up an axe throw, you benefit from the following effect:" ..
        		list("Shows the starting trajectory of the " .. i("Fire Axe") .. dot)
		},
	},
	["Hide's Headphones"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 2,
			desc =
				"They belonged to his best friend, who he tried to keep safe at all costs." .. nlp ..
        		"Survivors affected by the " .. i("Kagune Mark") .. " experience the following effect while carrying it:" ..
        		list("Causes them to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " until the mark is removed.")
		},
	},
	["High-Speed Idler Screw"] =
	{
		{
			version = "8.3.0",
			effect = "+30 %",
			rarity = 2,
			desc =
				"A loosened screw will bring more power to the " .. i("Chainsaw") ..
            	list(b("Increases") .. " the Decay delay for the " .. i("Overdrive Meter") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "7.5.0",
			effect = "+30 %",
			rarity = 4,
			desc =
				"A loosened screw will bring more power to the " .. i("Chainsaw") ..
            	list(b("Increases") .. " the Decay delay for the " .. i("Overdrive Meter") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.3.0",
			effect = "+20 %",
			stun = "-50 %",
			rarity = 4,
			icon = "Pighouse Gloves",
			desc =
				"Rancid smelling gloves, soiled with unknown substances." .. br .. "Despite everything wrong with them, they do have thick fabric." .. nlp ..
				"While the " .. i("Chainsaw") .. " is " .. i("Overheated") .. ", the following effects apply:" ..
        		list(
        			b("Increases") .. " the Action speeds for Breaking and Damaging by " .. clror("#effect") .. dot,
        			b("Reduces") .. " the duration of " .. i("Pallet Stuns") .. " by " .. clro("#stun") .. dot)
		},
		{
			version = "4.1.0",
			effect = "-2",
			rarity = 4,
			icon = "Pighouse Gloves",
			desc =
				"Rancid smelling gloves, soiled with unknown substances." .. br .. "Despite everything wrong with them, they do have thick fabric." ..
        		list(b("Reduces") .. " the number of Charges added to the " .. i("Overheat Meter") .. " while revving by " .. clror("#effect") .. dot)
		},
		{
			version = "1.1.2",
			cooldown = "-20 %",
			charge = "-12 %",
			rarity = 3,
			icon = "The Thompsons' Mix",
			desc =
				"A special oily substance used in the lubrication of all machinery concocted by The Thompsons themselves." ..
        		list(
        			b("Reduces") .. " the Cool-down time after successful " .. i("Chainsaw Hits") .. " by " .. clror("#cooldown") .. dot,
        			b("Reduces") .. " the Charge time of the " .. i("Chainsaw") .. " by " .. clro("#charge") .. dot)
		},
	},
	["Hinami's Umbrella"] =
	{
		{
			version = "8.6.2",
			rarity = 2,
			effect = "+10 seconds",
			desc =
				"It was raining the day her mother was viciously taken from her." ..
        		list(b("Increases") .. " the amount of time added to the " .. i("Countdown") .. " for each perfectly timed " .. i("Grab-Attack") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.6.0",
			rarity = 4,
			effect = "-0.2 seconds",
			desc =
				"It was raining the day her mother was viciously taken from her." ..
        		list(b("Reduces") .. " the Cool-down time after performing a " .. i("Kagune Leap") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 3,
			effect = "-0.2 seconds",
			desc =
				"It was raining the day her mother was viciously taken from her." ..
        		list(b("Reduces") .. " the Cool-down time after performing a " .. i("Kagune Leap") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Hypnotist's Watch"] = {
		{
			version = "9.2.0",
			rarity = 3,
			exhausted = "15 seconds",
			desc =
				"Survivors hit by an airborne " .. b("UVX Projectile") .. " suffer from the following effect:" ..
				list("Inflicts the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#exhausted") .. dot)
		},
		{
			version = "7.6.0",
			rarity = 3,
			exhausted = "10 seconds",
			desc =
				"Survivors hit by an airborne " .. b("UVX Projectile") .. " suffer from the following effect:" ..
				list("Inflicts the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#exhausted") .. dot)
		},
	},
	-- I Add-ons --
	["Instructions"] =
	{
		{
			version = "3.6.0",
			rarity = 1,
			desc =
				"While repairing a " .. b("Generator") .. " with a " .. b("Toolbox") .. ", you benefit from the following effect:" ..
            	list(
            		b("Suppresses") .. " all regular " .. i("Repair Skill Checks") .. dot,
            		nbullet .. "This does not affect any special " .. i("Skill Checks") .. " triggered by outside effects.")
		},
		{
			version = "1.0.0",
			effect = "+20 %",
			rarity = 2,
			desc =
				b("Increases") .. " the efficiency of the " .. i("Toolbox Repair") .. " action by " .. clror("#effect") .. dot
		},
	},
	["Iridescent Eye Patch"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 5,
			desc =
				"Unlocks potential in the " .. clror("third consecutive") .. space .. i("Kagune Leap") .. " while in " .. i("Enraged Mode") .. colon ..
        		list("If used to vault a dropped " .. b("Pallet") .. ", it instantly breaks.")
		},
	},
	["Iridescent Remnant"] =
	{
		{
			version = "9.0.0",
			rarity = 5,
			blockRange = "32 metres", 
			blockDuration = "12 seconds", 
			desc =
				"Upon travelling to a " .. b("Security Door") .. ", the following effect is applied to it:" ..
        		list(b("Blocks") .. " all upright " .. b("Pallets") .. " within " .. clror("#blockRange") .. " of that " .. b("Security Door") .. " for " .. clro("#blockDuration") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 5,
			blockRange = "16 metres", 
			blockDuration = "8 seconds", 
			desc =
				"Upon travelling to a " .. b("Security Door") .. ", the following effect is applied to it:" ..
        		list(b("Blocks") .. " all upright " .. b("Pallets") .. " and " .. b("Windows") .. " within " .. clror("#blockRange") .. " of that " .. b("Security Door") .. " for " .. clro("#blockDuration") .. dot)
		},
	},
	["Iridescent Ring of Vlad"] =
	{
		{
			version = "9.2.0",
			rarity = 5,
			desc =
				"Modifies the " .. i("Hellfire") .. " attack with the following effect:" ..
				list("Causes the " .. i("Pillars of Flame") .. " to home-in on nearby Survivors.")
		},
		{
			version = "8.2.0",
			rarity = 5,
			penalty = 1,
			desc =
				"Modifies the " .. i("Hellfire") .. " attack with the following effects:" ..
				list(
					"Causes the " .. i("Pillars of Flame") .. " to home-in on nearby Survivors.",
					b("Reduces") .. " the number of " .. i("Pillars of Flame") .. " by " .. clror("#penalty") .. dot)
		},
	},
	["Iridescent Seal of Metatron"] =
	{
		{
			version = "9.1.0",
			rarity = 5,
			minLength = "-50 %",
			maxLength = "+200 %",
			desc =
				"Modifies " .. i("Punishment of the Damned") .. " with the following effects:" ..
				list(
					b("Reduces") .. " its base range by " .. clror("#minLength") .. dot,
					b("Increases") .. " its range progressively while drawing " .. b("Torment Trials") .. ", up to a maximum " .. clro("#maxLength") .. dot,
					nbullet .. "This effect resets after hitting a Survivor with " .. i("Punishment of the Damned") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 5,
			auraDuration = "6 seconds",
			desc =
				"Sending a Survivor to a " .. b("Cage of Atonement") .. " triggers the following effect:" .. 
				list("The Auras of all other Survivors afflicted by " .. i("Torment") .. " are revealed to you for " .. clror("#auraDuration").. dot)
		}
	},
	["Iridescent Unpublished Manuscript"] =
	{
		{
			version = "7.3.0",
			rarity = 5,
			undetectable = "15 seconds",
			radius = "32 metres",
			duration = "15 seconds",
			desc =
				"Whenever any " .. b("Drone") .. " enters its " .. i("Disabled State") .. ", you benefit from the following effects:" ..
            	list(
            		"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. " for " .. clror("#undetectable") .. dot,
            		"The disabled " .. b("Drone") .. " emits a " .. i("Terror Radius") .. " of " .. clro("#radius") .. " for " .. clro("#duration") .. dot)
		},
		{
			version = "6.6.0",
			rarity = 5,
			radius = "32 metres",
			duration = "15 seconds",
			penalty = "+25 %",
			desc =
				"Whenever you manually activate a " .. b("Drone") .. ", the following effects apply:" ..
            	list(
            		"The activated " .. b("Drone") .. " emits a " .. i("Terror Radius") .. " of " .. clror("#radius") .. " for " .. clro("#duration") .. dot,
            		b("Increases") .. " the duration of the Power Cool-down applied after manually activating " .. b("Drones") .. " by " .. clro("#penalty") .. dot)
		},
	},
	-- J Add-ons --
	["J. Myers Memorial"] =
	{
		{
			version = "9.2.0",
			rarity = 3,
			effect = "+40 %",
			desc =
				"A glossy page ripped from the " .. i("1965 Haddonfield High School") .. " yearbook, one dedicated to the memory of Judith Myers." .. nlp ..
	            "While in " .. i("Evil Incarnate") .. ", the following effect applies:" ..
	            list(b("Increases") .. " the speed of Picking up and Hooking Survivors by " .. clror("#effect") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 3,
			effect = "+25 %",
			desc =
				"A glossy page ripped from the " .. i("1965 Haddonfield High School") .. " yearbook, one dedicated to the memory of Judith Myers." ..
	            list(b("Increases") .. " the Power speed of " .. i("Stalking") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Janjira's Hand"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 3,
			effect = "+25 %",
			duration = "15 seconds",
			bonus = "+2 Charges", 
			desc =
				"Whenever a " .. b("Generator") .. " is completed, #name triggers its primary effects:" ..
				list(
					"Causes " .. i("Headlong Flight") .. " to instantly gain " .. clror("#bonus") .. dot,
					b("Increases") .. " its Recharge rate by " .. clro("#effect") .. " for " .. clro("#duration") .. dot) ..
				"Once the last " .. b("Generator") .. " is completed, #name triggers its secondary effects:" ..
				list(
					"Instantly recharges " .. i("Headlong Flight") .. dot,
					b("Increases") .. " its Recharge rate by " .. clro("#effect") .. " for the remainder of the Trial.")
		},
	},
	["Jewellery"] =
	{
		{
			version = "9.2.0",
			rarity = 2,
			effect = "+10 %",
	        desc =
	            "A large necklace made of beads an inexpensive metals." .. br .. "One of Judith's favourites." .. nlp ..
	            "When " .. i("Stalking") .. " stationary Survivors, you benefit from the following effect:" ..
	            list(b("Increases") .. " the Power speed of " .. i("Stalking") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 2,
			effect = "+20 %",
			desc =
	            "A large necklace made of beads an inexpensive metals." .. br .. "One of Judith's favourites." ..
            	list(b("Increases") .. " your Movement speed while " .. i("Stalking") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Jewellery Box"] =
	{
		{
			version = "9.2.0",
			rarity = 3,
			bonus = "+20 %",
			penalty = "-16 metres",
			desc =
				"A barren wooden box in which vanity items were once stored." .. nlp ..
	            "Modifies the " .. i("Stalk") .. " ability with the following effect:" ..
	            list(b("Increases") .. " the Power speed of " .. i("Stalking") .. " by " .. clror("#bonus") .. dot,
	            	b("Decreases") .. " the range of " .. i("Stalking") .. " by " .. clro("#penalty") .. dot)
	    },
	    {
	    	version = "1.2.1",
	    	rarity = 3,
	    	effect = "+30 %",
	    	desc =
	            "A large necklace made of beads an inexpensive metals." .. br .. "One of Judith's favourites." ..
	            list(b("Increases") .. " your Movement speed while " .. i("Stalking") .. " by " .. clror("#effect") .. dot)
	    },
	},
	["John's Medical File"] =
	{
		{
			version = "9.1.0",
			rarity = 1,
			effect = "+5 %",
			desc =
				"You benefit from the following effect:" ..
				list(b("Increases") .. " your Movement speed while " .. i("Crouched") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "6.7.0",
			rarity = 1,
			effect = "+10 %",
			desc =
				"You benefit from the following effect:" ..
				list(b("Increases") .. " your Movement speed while " .. i("Crouched") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.3.0",
			rarity = 1,
			effect = "+6 %",
			desc =
				"You benefit from the following effect:" ..
				list(b("Increases") .. " your Movement speed while " .. i("Crouched") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.9.0",
			rarity = 1,
			effect = "+50 %",
			desc =
				"You benefit from the following effect:" ..
				list(b("Increases") .. " the Charge speed of the " .. i("Ambush Dash") .. " attack by " .. clror("#effect") .. dot)
		},
	},
	["Judith's Tombstone"] =
	{
		{
			version = "9.2.0",
			rarity = 5,
			cap = "40 seconds",
			desc =
	            "A large and heavy granite tombstone stolen from Mt. Sinclair cemetery, belonging to Judith Myers." .. nlp ..
	            "Modifies " .. i("Evil Incarnate") .. " with the following effects:" ..
	            list(
	            	"Hooking a Survivor while in " .. i("Evil Incarnate") .. " will refresh its duration.",
	            	"Caps the maximum duration of " .. i("Evil Incarnate") .. " at " .. clror("#cap") .. dot)
		},
		{
			version = "8.4.0",
			rarity = 5,
			effect = "-9 %",
			penaltyPercentages = {"+400 %", "500 %"},
			penaltyPoints = {"+20 SP", "25 SP"}, 
			desc =
				"While in " .. i("Evil Within III") .. " and within arm's reach of a healthy or injured Survivor, press the " .. loadoutStrings.attackButton .. " to kill them." ..
            	list(
            		b("Reduces") .. " your Movement speed by " .. clror("#effect") .. dot,
            		b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clro("#penaltyPercentages(1)") .. " to " .. clro("#penaltyPercentages(2)") .. dot,
                	nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(1)") .. " to " .. clro("#penaltyPoints(2)") .. dot)
		},
		{
			version = "5.3.0",
			rarity = 5,
			effect = "-9 %",
			penaltyPercentages = {"+200 %", "300 %"},
			penaltyPoints = {"+10 SP", "15 SP"}, 
			desc =
				"While in " .. i("Evil Within III") .. " and within arm's reach of a healthy or injured Survivor, press the " .. loadoutStrings.attackButton .. " to kill them." ..
            	list(
            		b("Reduces") .. " your Movement speed by " .. clror("#effect") .. dot,
            		b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clro("#penaltyPercentages(1)") .. " to " .. clro("#penaltyPercentages(2)") .. dot,
                	nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(1)") .. " to " .. clro("#penaltyPoints(2)") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 5,
			effect = "-9 %",
			penaltyPercentages = {"+200 %", "300 %"},
			penaltyPoints = {"+10 SP", "15 SP"}, 
			desc =
				"While in " .. i("Evil Within III") .. " and within arm's reach of a healthy or injured Survivor, press the " .. loadoutStrings.attackButton .. " to kill them." ..
            	list(
            		b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clror("#penaltyPercentages(1)") .. " to " .. clro("#penaltyPercentages(2)") .. dot,
                	nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(1)") .. " to " .. clro("#penaltyPoints(2)") .. dot) ..
                "Your Movement speed is " .. b("permanently reduced") .. " by " .. clro("#effect") .. dot
		},
	},
	["Jump Rope (Dream Demon)"] =
	{
		{
			version = "8.5.0",
			rarity = 3,
			hindered = "-12 %",
			durationHindered = "5 seconds",
			effect = "+0.5 seconds", 
			desc =
				"A long Double-Dutch jump rope, stained with many years of use." .. 
            	list(b("Increases") .. " the duration of the " .. clror("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " caused by " .. b("Dream Snares") .. " by " .. clro("#effect") .. " to " .. clro("#durationHindered") .. dot)
		},
		{
			version = "4.7.0",
			rarity = 3,
			effect = "+50 %",
			desc =
				"A long Double-Dutch jump rope, stained with many years of use." .. nlp ..
				"Survivors trapped inside the " .. b("Dream World") .. " suffer from the following effect:" ..
            	list(b("Increases") .. " the volume of their " .. i("Grunts of Pain") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "3.4.2",
			rarity = 3,
			effect = "-4 %",
			desc =
				"A long Double-Dutch jump rope, stained with many years of use." .. nlp ..
				"Survivors trapped inside the " .. b("Dream World") .. " suffer from the following effect:" ..
            	list(b("Reduces") .. " the Action speeds for Healing, Repairing, and Sabotaging by " .. clror("#effect") .. dot)
		},
		{
			version = "3.1.0",
			rarity = 3,
			effect = "-9 %",
			desc =
				"A long Double-Dutch jump rope, stained with many years of use." .. nlp ..
				"Survivors trapped inside the " .. b("Dream World") .. " suffer from the following effect:" ..
            	list(b("Reduces") .. " the Action speeds for Healing, Repairing, and Sabotaging by " .. clror("#effect") .. dot)
		},
		{
			version = "1.8.0",
			rarity = 3,
			effect = "-80 %",
			desc =
				"A long Double-Dutch jump rope, stained with many years of use." .. nlp ..
				"Survivors trapped inside the " .. b("Dream World") .. " suffer from the following effect:" ..
            	list(b("Increases") .. " the strength of the global penalty to all Action speeds to " .. clror("#effect") .. dot)
		},
	},
	-- K Add-ons --
	["Kaneki's Satchel"] =
	{
		{
			version = "8.6.0",
			rarity = 2,
			effect = "+4.2 m/s",
			desc =
				"Essential gear for any student trying to keep up with their studies." ..
        		list(b("Increases") .. " the Movement speed of the " .. clror("third consecutive") .. space .. i("Kagune Leap") .. " by " .. clro("#effect") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 2,
			effect = "+3 m/s",
			desc =
				"Essential gear for any student trying to keep up with their studies." ..
        		list(b("Increases") .. " the Movement speed of the " .. clror("third consecutive") .. space .. i("Kagune Leap") .. " by " .. clro("#effect") .. dot)
		},
	},
	["Kaneki's Wallet"] =
	{
		{
			version = "8.6.0",
			rarity = 1,
			effect = "+3 seconds",
			desc =
				"Lost to a strange boy who happened to bump into him on the street." ..
        		list(b("Extends") .. " the window of opportunity to perform consecutive " .. i("Kagune Leaps") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 1,
			effect = "+1 second",
			desc =
				"Lost to a strange boy who happened to bump into him on the street." ..
        		list(b("Extends") .. " the window of opportunity to perform consecutive " .. i("Kagune Leaps") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Kid's Drawing"] =
	{
		{
			version = "8.5.0",
			rarity = 1,
			effect = "+10 %",
			desc =
				"An unattributed drawing clearly crafted by a young child." ..
            	list(b("Increases") .. " the amount of " .. i("Sleep") .. " gained from the " .. i("Dream Abilities") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "3.1.0",
			rarity = 1,
			bloodpoints = "200",
			hindered = "-5 %",
			desc =
				"An unattributed drawing clearly crafted by a young child." ..
            	list(
            		b("Doubles") .. " the amount of " .. b("Bloodpoints") .. " awarded when Survivors trip a " .. b("Dream Snare") .. " to " .. clror("#bloodpoints") .. dot,
            		b("Reduces") .. " the strength of the resulting " .. b(i("Hindered") .. space .. "Status Effect") .. " to " .. clro("#hindered") .. dot)
		},
		{
			version = "1.8.0",
			rarity = 1,
			effect = "+4 metres",
			desc =
				"An unattributed drawing clearly crafted by a young child." ..
            	list(b("Increases") .. " the range of " .. i("Dream Demon") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Killer Doll"] = {
		{
			version = "9.2.0",
			rarity = 3,
			effect = "+30 %",
			desc =
				"Modifies the " .. i("Pounce") .. " attack with the following effect:" ..
				list(b("Increases") .. " the Cool-down bonus from collecting " .. bclr("white", "Scent Orbs") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 3,
			effect = "+50 %",
			desc =
				"Modifies the " .. i("Pounce") .. " attack with the following effect:" ..
				list(b("Increases") .. " the Cool-down bonus from collecting " .. bclr("white", "Scent Orbs") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Knight's Contract"] =
	{
		{
			version = "8.1.0",
			effect = "8 seconds",
			rarity = 5,
			desc =
				"The original document contracting Tarhos to Vittorio's employ." .. br .. "The laws of man could not stand up, though, to natural law." ..
            	list("Causes a " .. b("Guard") .. " to linger around for " .. clror("#effect") .. " after completing a " .. i("Guard Order") .. ", triggering a " .. i("Hunt") .. ", should he detect a Survivor in that time.")
		},
		{
			version = "6.4.0",
			effect = "12 metres",
			rarity = 5,
			desc =
				"The original document contracting Tarhos to Vittorio's employ." .. br .. "The laws of man could not stand up, though, to natural law." .. nlp ..
				"Summoning a " .. b("Guard") .. " every " .. clror("fourth time") .. " has the following effect:" ..
            	list("Causes all Survivors within " .. clro("#effect") .. " of his Spawn location to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for " .. clro("8 seconds") .. dot)
		},
	},
	["Knotted Rope"] =
	{
		{
			version = "8.4.2",
			effect = "-2 %",
			rarity = 2,
			desc =
				"The dog's jaws tightened around the makeshift toy, and he thrashed it back and forth." ..
        		list(b("Reduces") .. " the Attack cool-down of successful " .. i("Basic Attacks") .. " on Survivors caught in the grasp of " .. b("The Dog") .. " by " .. clror("#effect") .. dot)
        },
		{
			version = "8.4.0",
			effect = "-10 %",
			rarity = 2,
			desc =
				"The dog's jaws tightened around the makeshift toy, and he thrashed it back and forth." ..
        		list(b("Reduces") .. " the Attack cool-down of successful " .. i("Basic Attacks") .. " on Survivors caught in the grasp of " .. b("The Dog") .. " by " .. clror("#effect") .. dot)
        },
        {
			version = "8.4.0 (PTB)",
			effect = "-40 %",
			rarity = 2,
			desc =
				"The dog's jaws tightened around the makeshift toy, and he thrashed it back and forth." ..
        		list(b("Reduces") .. " the Attack cool-down of successful " .. i("Basic Attacks") .. " on Survivors caught in the grasp of " .. b("The Dog") .. " by " .. clror("#effect") .. dot)
        },
	},
	-- L Add-ons --
	["Lapis Lazuli"] =
	{
		{
			version = "9.2.0",
			rarity = 4,
			effect = "8 seconds",
			desc =
				"After teleporting to a " .. b("Window") .. ", #name triggers its effect:" ..
				list("Calls upon " .. b("The Entity") .. " to block it to all Survivors for " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 4,
			effect = "15 seconds",
			desc =
				"After teleporting to a " .. b("Window") .. ", #name triggers its effect:" ..
				list("Calls upon " .. b("The Entity") .. " to block it to all Survivors for " .. clror("#effect") .. dot)
		},
	},
	["Last Known Recording"] = {
		{
			version = "9.2.0",
			rarity = 2,
			effect = "-35 %",
			desc =
				"Modifies " .. b(i("Hallucinations")) .. " with the following effect:" ..
				list(b("Reduces") .. " the range at which Survivors can see their Auras by " .. clror("#effect") .. dot)
		},
		{
			version = "7.6.0",
			rarity = 2,
			effect = "-25 %",
			desc =
				"Modifies " .. b(i("Hallucinations")) .. " with the following effect:" ..
				list(b("Reduces") .. " the range at which Survivors can see their Auras by " .. clror("#effect") .. dot)
		},
	},
	["Last Will"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			effects = {"+5 %", "+10 %"},
			desc =
				"Modifies the " .. i("Ambush Dash") .. " attack with the following effects:" ..
            	list(
            		b("Increases") .. " its Movement speed by " .. clror("#effects(1)") .. dot,
            		b("Increases") .. " its Charge time by " .. clro("#effects(2)") .. dot)
		},
		{
			version = "5.5.0",
			rarity = 2,
			effects = {"+6 %", "+33 %"},
			desc =
				"Modifies the " .. i("Ambush Dash") .. " attack with the following effects:" ..
            	list(
            		b("Increases") .. " its Movement speed by " .. clror("#effects(1)") .. dot,
            		b("Increases") .. " its Charge time by " .. clro("#effects(2)") .. dot)
		},
		{
			version = "5.3.0",
			rarity = 2,
			effects = {"+6 %", "+66 %"},
			desc =
				"Modifies the " .. i("Ambush Dash") .. " attack with the following effects:" ..
            	list(
            		b("Increases") .. " its Movement speed by " .. clror("#effects(1)") .. dot,
            		b("Increases") .. " its Charge time by " .. clro("#effects(2)") .. dot)
		},
		{
			version = "1.9.0",
			rarity = 2,
			capacity = "+1",
			desc =
				"You benefit from the following effect:" ..
            	list(b("Increases") .. " the number of available " .. b("Reverse Bear Traps") .. " by " .. clror("#capacity") .. dot)
		},
	},
	["Lead Ring"] =
	{
		{
			version = "9.1.0",
			rarity = 1,
			range = "+25 %",
			width = "-25 %",
			desc = 
				"Modifies " .. i("Punishment of the Damned") .. " with the following effects:" ..
				list(
					b("Increases") .. " its range by " .. clror("#range") .. dot,
					b("Reduces") .. " its width by " .. clro("#width") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 1,
			duration = "+10 seconds",
			desc = 
				"Modifies " .. b("Torment Trails") .. " with the following effect:" ..
				list(b("Increases") .. " their Life time by " .. clror("#duration") .. dot)
		}
	},
	["Leather Gloves"] =
	{
		{
			version = "8.4.0",
			rarity = 2,
			effect = "-8 %",
			desc =
				"Gloves of a cold, calculating schemer." .. br .. "They impart an air of icy professionalism." ..
        		list(b("Reduces") .. " the Power Recharge time by " .. clror("#effect") .. dot)
    	},
    	{
			version = "6.2.0",
			rarity = 2,
			effect = "-10 %",
			desc =
				"Gloves of a cold, calculating schemer." .. br .. "They impart an air of icy professionalism." ..
        		list(b("Reduces") .. " the Power Recharge time by " .. clror("#effect") .. dot)
    	},
	},
	["Leopard-Print Fabric"] = 
	{
		{
			version = "9.1.0",
			rarity = 2,
			effect = "-15 %",
			desc =
				"While using " .. i("Rites of Judgement") .. ", you benefit from the following effect:" ..
				list(b("Reduces") .. " the duration of stuns by " .. clror("#effect") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 2,
			duration = "+0.5 seconds",
			desc =
				"Modifies " .. b("Torment Trails") .. " with the following effect:" ..
				list(b("Increases") .. " the duration of " .. i("Killer Instinct") .. " by ".. clror("#duration") .. dot)
		}	
	},
	["Licker Tongue"] =
	{
		{
			version = "8.2.2",
			effect = "+1 second",
			rarity = 3,
			desc =
				"Survivors becoming " .. biclr("blue", "Contaminated") .. " suffer from the following effect:" ..
				list(b("Increases") .. " the duration of the " .. b(i("Hindered") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			effect = "+3 seconds",
			rarity = 3,
			desc =
				"Survivors becoming " .. biclr("blue", "Contaminated") .. " suffer from the following effect:" ..
				list(b("Increases") .. " the duration of the " .. b(i("Hindered") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.3.0",
			effect = "+0.2 seconds",
			rarity = 3,
			desc =
				"Survivors becoming " .. biclr("blue", "Contaminated") .. " suffer from the following effect:" ..
				list(b("Increases") .. " the duration of the " .. b(i("Hindered") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.0.0",
			effect = "+0.15 seconds",
			rarity = 3,
			desc =
				"Survivors becoming " .. biclr("blue", "Contaminated") .. " suffer from the following effect:" ..
				list(b("Increases") .. " the duration of the " .. b(i("Hindered") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Lifeguard Whistle"] =
	{
		{
			version = "8.4.0",
			effect = "2",
			rarity = 4,
			desc =
				"You benefit from the following effect:" .. 
				list(b("Increases") .. " the number of available " .. b("Portals") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.0.0",
			effect = "-1 metre",
			rarity = 4,
			desc =
				"The following effects apply to all " .. bclr("yellow", "Active Portals") .. " in the environment:" ..
				list(
					"Survivors entering their " .. i("Area of Effect") .. " automatically trigger " .. i("Killer Instinct") .. dot,
					b("Reduces") .. " the size of the " .. i("Area of Effect") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "4.7.0",
			rarity = 4,
			desc =
				"The following effects apply to all " .. bclr("yellow", "Active Portals") .. " in the environment:" ..
				list("Survivors entering their " .. i("Area of Effect") .. " automatically trigger " .. i("Killer Instinct") .. dot)
		},
		{
			version = "3.2.0",
			duration = "5 seconds",
			rarity = 4,
			desc =
				"The following effect applies to all " .. bclr("yellow", "Active Portals") .. " in the environment:" ..
				list(
					"Survivors entering their " .. i("Area of Effect") .. " suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for " .. clror("#duration") .. " after leaving the " .. i("Area of Effect") .. dot)
		},
	},
	["Light Wand"] =
	{
		{
			version = "8.6.0",
			effect = "+3 seconds",
			rarity = 2,
			desc =
				b("Increases") .. " the temporary downtime of " .. b("Remote Flame Turrets") .. " whenever you exit the Tunnels by " .. clror("#effect") .. dot
		},
		{
			version = "7.2.0",
			effect = "+1 second",
			rarity = 2,
			desc =
				b("Increases") .. " the temporary downtime of " .. b("Remote Flame Turrets") .. " whenever you exit the Tunnels by " .. clror("#effect") .. dot
		},
	},
	["Lock of Hair"] =
	{
		{
			version = "9.2.0",
			rarity = 4,
			convertPercent = "50 %",
			desc =
	            "A cut lock of blond hair bunched with a black elastic." .. nlp ..
	            "Unlocks the following ability while in " .. i("Evil Incarnate") .. colon ..
	            list(
	            	"Hold the " .. loadoutStrings.activeAbilityButton .. " to end " .. i("Evil Incarnate") .. " prematurely.",
	                nbullet .. "This converts " .. clror("#convertPercent") .. " of the remaining duration into " .. i("Stalk") .. " progress.")
		},
		{
			version = "8.4.0",
			rarity = 4,
			duration = "+40 seconds",
			effect = "+2.5 Stalk Points",
			desc =
				"A cut lock of blond hair bunched with a black elastic." ..
            	list(
            		b("Increases") .. " the duration of " .. i("Evil Within III") .. " by " .. clror("#duration") .. dot,
                	b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time to " .. clro("#effect") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 4,
			duration = "+40 seconds",
			effect = "+5 Stalk Points",
			desc =
				"A cut lock of blond hair bunched with a black elastic." ..
            	list(
            		b("Increases") .. " the duration of " .. i("Evil Within III") .. " by " .. clror("#duration") .. dot,
                	b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time to " .. clro("#effect") .. dot)
		},
    },
	["Loot Bag"] =
	{
		{
			version = "9.0.0",
			rarity = 4,
			range = "12 metres",
			desc =
				"While a Survivor has the " .. i("Fire Axe") .. " embedded in them, they suffer from the following effect:" ..
        		list(b("Blocks") .. " the " .. b("Exit Gates") .. " for that Survivor and also for all other Survivors within " .. clror("#range") .. " of them.")
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 4,
			desc =
				"While a Survivor has the " .. i("Fire Axe") .. " embedded in them, they suffer from the following effects:" ..
        		list(
        			"Inflicts the " .. b(i("Incapacitated") .. space .. "Status Effect") .. dot,
        			b("Blocks") .. " the " .. b("Exit Gates") .. dot)
		},
	},
	["LoPro Chains"] =
	{
		{
			version = "8.3.0",
			effect = "5 seconds",
			rarity = 4,
			desc =
				"Light chains that decrease the weight of the Chainsaw, allowing for greater manoeuvrability." ..
            	list(
            		"Grants the ability to continue a " .. i("Chainsaw Sprint") .. " through " .. b("Breakable Walls") .. " and dropped " .. b("Pallets") .. ", breaking them in the process.",
            		"Healthy Survivors hit with the " .. i("Chainsaw") .. " within " .. clror("#effect") .. " of triggering the primary effect are only damaged for a single Health State.",
            		nbullet .. "Injured Survivors will suffer from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. " instead.")
		},
		{
			version = "4.1.1",
			effect = "5 seconds",
			rarity = 4,
			desc =
				"Light chains that decrease the weight of the Chainsaw, allowing for greater manoeuvrability." ..
            	list(
            		"Grants the ability to continue a " .. i("Chainsaw Sprint") .. " through " .. b("Breakable Walls") .. " and dropped " .. b("Pallets") .. ", breaking them in the process.",
            		"Survivors hit with the " .. i("Chainsaw") .. " within " .. clror("#effect") .. " of triggering the primary effect are only damaged for a single Health State.")
		},
		{
			version = "4.1.0",
			rarity = 5,
			desc =
				"Light chains that decrease the weight of the Chainsaw, allowing for greater manoeuvrability." ..
            	list(
            		"Grants the ability to continue a " .. i("Chainsaw Sprint") .. " through " .. b("Breakable Walls") .. " and dropped " .. b("Pallets") .. ", breaking them in the process.",
            		"Survivors hit with the " .. i("Chainsaw") .. " are only damaged for a single Health State.")
		},
	},
	["Lorenza's Remains"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 4,
			hindered = "-4 %", 
			desc =
				"Survivors afflicted with " .. biclr("bronze", "Leeched") .. " also suffer from the following effects:" ..
				list(
					bclr("faded jade", "Tier I") .. colon .. space .. b(i("Blindness") .. space .. "Status Effect") .. dot,
					bclr("faded jade", "Tier II") .. colon .. space .. clror("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. dot)
		},
	},
	["Lost Memories Book"] =
	{
		{
			version = "9.1.0",
			rarity = 4,
			duration = "80 seconds",
			desc = 
				"Successful " .. i("Punishment of the Damned") .. " attacks trigger the following effect:" ..
				list("Causes hit Survivors to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for " .. clror("#duration") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 4,
			duration = "15 seconds",
			desc = 
				"Survivors afflicted by " .. i("Torment") .. " suffer from the following additional effect:" ..
				list("Inflicts the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for " ..clror("#duration") .. dot)
		}
	},
	["Luckless Mouse"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 1,
			effect = "+2 Charges", 
			desc =
				"Modifies " .. i("Headlong Flight") .. " with the following effect:"..
				list(b("Increases") .. " its Charge capacity by " .. clror("#effect") .. dot)
		},
	},
	-- M Add-ons --
	["Mado's Glove"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 3,
			exhausted = "15 seconds",
			desc =
				"Survivors affected by the " .. i("Kagune Mark") .. " experience the following effect after it is removed:" ..
        		list("Causes them to suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#exhausted") .. dot)
		},
	},
	["Magical Ticket"] =
	{
		{
			version = "8.2.2",
			effect = "+10 %",
			rarity = 2,
			desc =
				"Modifies the " .. i("Teleport") .. " ability with the following effect:" ..
        		list(b("Increases") .. " its Teleportation speed by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			effect = "+25 %",
			rarity = 2,
			desc =
				"Modifies the " .. i("Teleport") .. " ability with the following effect:" ..
        		list(b("Increases") .. " its Teleportation speed by " .. clror("#effect") .. dot)
		},
	},
	["Malthinker's Skull"] =
	{
		{
			version = "8.2.0",
			effect = "+25 % per second",
			rarity = 2,
			desc =
				"Those who brought negativity to the commune would mysteriously disappear from time to time." .. br .. "Their remains were never found... until The Dredge brought them up." ..
        		list(b("Increases") .. " the Charge rate of the " .. i("Nightfall Meter") .. " while Survivors are injured by " .. clror("#effect") .. dot)
		},
		{
			version = "6.0.0",
			effect = "+66 % per second",
			rarity = 2,
			desc =
				"Those who brought negativity to the commune would mysteriously disappear from time to time." .. br .. "Their remains were never found... until The Dredge brought them up." ..
        		list(b("Increases") .. " the Charge rate of the " .. i("Nightfall Meter") .. " while Survivors are injured by " .. clror("#effect") .. dot)
		},
	},
	["Mannequin Foot"] =
	{
		{
			version = "9.1.0",
			rarity = 3,
			duration = "10 seconds",
			desc = 
				"Modifies " .. b("Torment Trails") .. " with the following effect:" ..
				list("Causes Survivors to suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#duration")  .. " upon contact.")
		},
		{
			version = "4.0.0",
			rarity = 3,
			duration = "+20 seconds",
			desc = 
				"Modifies " .. b("Torment Trails") .. " with the following effect:" ..
				list(b("Extends") .. " their Life time by " .. clror("#duration") .. dot)
		}	
	},
	["Marlinspike"] =
	{
		{
			version = "8.4.1",
			range = "20 metres",
			rarity = 4,
			desc =
				"As good for unsplicing rope as it is for causing grievous bodily harm." ..
        		list("Causes all Survivors within " .. clror("#range") .. " of " .. b("The Dog") .. " grabbing a Survivor to become affected by " .. i("Houndsense") .. dot) ..
        		"#name does not affect the " .. i("Grabbed Survivor") .. dot
		},
		{
			version = "8.4.0",
			range = "20 metres",
			rarity = 4,
			desc =
				"As good for unsplicing rope as it is for causing grievous bodily harm." ..
        		list("Causes all Survivors within " .. clror("#range") .. " of " .. b("The Dog") .. " grabbing a Survivor to become affected by " .. i("Houndsense") .. dot) ..
        		"#name also affects the " .. i("Grabbed Survivor") .. dot
		},
	},
	["Marvin's Blood"] =
	{
		{
			version = "8.2.0",
			effect = "+0.5 points",
			rarity = 2,
			desc =
				"The contaminated blood of a Raccoon City Police Officer." ..
            	list(b("Increases") .. " the Gain to " .. i("Mutation Rate") .. " after hitting Survivors with a " .. i("Tentacle Strike Attack") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.5.0",
			effect = "+0.75 points",
			rarity = 2,
			desc =
				"The contaminated blood of a Raccoon City Police Officer." ..
            	list(b("Increases") .. " the Gain to " .. i("Mutation Rate") .. " after hitting Survivors with a " .. i("Tentacle Strike Attack") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.0.0",
			effect = "+1 point",
			rarity = 2,
			desc =
				"The contaminated blood of a Raccoon City Police Officer." ..
            	list(b("Increases") .. " the Gain to " .. i("Mutation Rate") .. " after hitting Survivors with a " .. i("Tentacle Strike Attack") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Medusa's Hair"] =
	{
		{
			version = "9.2.0",
			rarity = 4,
			range = "8 metres",
			hindered = "-8 %",
			durationHindered = "4 seconds",
			desc =
				"Causes all Survivors within " .. clror("#range") .. " of your Teleport destination to suffer from the following effect:" .. 
				list("Inflicts a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot)
		},
		{
			version = "8.4.1",
			rarity = 4,
			range = "12 metres",
			hindered = "-8 %",
			durationHindered = "3 seconds",
			desc =
				"Causes all Survivors within " .. clror("#range") .. " of your Teleport destination to suffer from the following effect:" .. 
				list("Inflicts a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 4,
			range = "12 metres",
			hindered = "-15 %",
			durationHindered = "5 seconds",
			desc =
				"Causes all Survivors within " .. clror("#range") .. " of your Teleport destination to suffer from the following effect:" .. 
				list("Inflicts a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot)
		},
	},
	["Memorial Flower"] =
	{
		{
			version = "9.2.0",
			rarity = 1,
			effect = {"+0.2 m/s", "4.4 m/s"},
			desc =
				"Modifies " .. i("Stalker Mode") .. " with the following effect:" ..
				list(b("Increases") .. " your Movement speed by " .. clror("#effect(1)") .. " to " .. clro("#effect(2)") .. dot)
		},
		{
			version = "5.3.0",
			rarity = 1,
			effect = "+11 %",
			desc =
				"Modifies the " .. i("Stalking") .. " ability with the following effect:" ..
				list(b("Increases") .. " its Stalk rate by " .. clror("#effect") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 2,
			effect = "+11 %",
			desc =
				"Modifies the " .. i("Stalking") .. " ability with the following effect:" ..
				list(b("Increases") .. " its Stalk rate by " .. clror("#effect") .. dot)
		}	
	},
	["Mirror Shard"] =
	{
		{
			version = "9.2.0",
			rarity = 3,
			bonus = "+0.25 seconds",
			penalty = "-25 %",
			desc =
				"A large and sharp piece of a broken mirror." .. nlp ..
	            "Modifies " .. b("Slaughtering Strike") .. " with the following effects:" ..
	            list(b("Increases") .. " the base duration of " .. b("Slaughtering Strike") .. " by " .. clror("#bonus") .. dot,
	            	b("Decreases") .. " the charge speed of " .. b("Slaughtering Strike") .. " by " .. clro("#penalty") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 3,
			activation = "1 second",
			aura = "5 seconds",
			desc =
	            "A tiny piece of a highly reflective material most probably from a broken mirror." .. nlp ..
	            "While in " .. i("Evil Within II") .. ", stalking Survivors for at least " .. clror("#activation") .. " triggers the following effect:" ..
	            list("Their " .. iconLink(ils.auras) .. " are revealed to you for " .. clro("#aura") .. dot)
		},
	},
	["Mischief List"] =
	{
		{
			version = "8.6.0",
			effect = "+1 second",
			rarity = 1,
			desc =
				"A list of mischievous missions to accomplish, memento of brighter days." ..
				list(b("Extends") .. " the duration of " .. i("Feral Frenzy") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "5.7.0",
			effect = "+2 seconds",
			rarity = 1,
			desc =
				"A list of mischievous missions to accomplish, memento of brighter days." ..
				list(b("Extends") .. " the duration of " .. i("Feral Frenzy") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "3.4.0",
			effect = "+1 second",
			rarity = 1,
			desc =
				"A list of mischievous missions to accomplish, memento of brighter days." ..
				list(b("Extends") .. " the duration of " .. i("Feral Frenzy") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "2.7.0",
			effect = "+0.8 seconds",
			rarity = 1,
			desc =
				"A list of mischievous missions to accomplish, memento of brighter days." ..
				list(b("Extends") .. " the duration of " .. i("Feral Frenzy") .. " by " .. clror("#effect") .. dot)
		},
	{
			version = "2.4.0",
			effect = "+0.5 seconds",
			rarity = 1,
			desc =
				"A list of mischievous missions to accomplish, memento of brighter days." ..
				list(b("Extends") .. " the duration of " .. i("Feral Frenzy") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Misty Day, Remains of Judgement"] =
	{
		{
			version = "9.1.0",
			rarity = 3,
			auraDuration = "8 seconds",
			desc =
				"Successful " .. i("Punishment of the Damned") .. " attacks trigger the following effect:" ..
				list("Causes the Auras of hit Survivors to be revealed to you for " .. clro("#auraDuration") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 3,
			duration = "+1 second",
			desc = 
				"Modifies " .. b("Torment Trails") .. " with the following effect:" ..
				list(b("Increases") .. " the duration of " .. i("Killer Instinct") .. " by ".. clror("#duration") .. dot)
		}
	},
	["Moonstone Necklace"] = {
		{
			version = "9.2.0",
			rarity = 2,
			effect = "-8 metres",
			desc =
				"Modifies the " .. i("Vampire Form") .. " and the " .. i("Wolf Form") .. " with the following effect:" ..
				list(b("Reduces") .. " the " .. i("Terror Radius") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 2,
			effect = "-4 metres",
			desc =
				"Modifies the " .. i("Vampire Form") .. " and the " .. i("Wolf Form") .. " with the following effect:" ..
				list(b("Reduces") .. " the " .. i("Terror Radius") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Moulted Skin"] =
	{
		{
			version = "8.6.0",
			exhausted = "30 seconds",
			rarity = 3,
			desc =
				"After deploying a " .. b("Remote Flame Turret") .. ", Survivors suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#exhausted") .. dot
		},
		{
			version = "7.2.0",
			hindered = "-3 %",
			exhausted = "3 seconds",
			rarity = 3,
			desc =
				"After deploying a " .. b("Remote Flame Turret") .. ", Survivors suffer from a " .. clror("#hindered") .. space .. i(b("Hindered")) .. " and the " .. i(b("Exhausted")) .. space .. b("Status Effects") .. " for " .. clro("#exhausted") .. dot
		},
	},
	["Mushroom Formula"] =
	{
		{
			version = "9.1.0 (PTB)",
			effect = "+2 metres",
			rarity = 4,
			desc =
				"Modifies the " .. b("Fog Vial") .. " with the following effect:" ..
            	list(b("Increases") .. " the maximum size of the " .. i("Fog Cloud") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Mural Sketch"] =
	{
		{
			version = "8.6.0",
			effect = "+0.08 m/s",
			stack = "+0.32 m/s",
			maxBonus = "+1.28 m/s",
			rarity = 2,
			desc =
				"A rough sketch of The Legion mural torn from a notebook." ..
				list(b("Increases") .. " the stack-able Movement Speed boost gained from chained " .. i("Feral Slashes") .. " by " .. clror("#effect") .. " to " .. clror("#stack") .. ", up to a maximum of " .. clro("#maxBonus") .. dot)
		},
		{
			version = "5.7.0",
			effect = "+0.1 m/s",
			stack = "+0.3 m/s",
			maxBonus = "+1.2 m/s",
			rarity = 2,
			desc =
				"A rough sketch of The Legion mural torn from a notebook." ..
				list(b("Increases") .. " the stack-able Movement Speed boost gained from chained " .. i("Feral Slashes") .. " by " .. clror("#effect") .. " to " .. clror("#stack") .. ", up to a maximum of " .. clro("#maxBonus") .. dot)
		},
		{
			version = "3.4.0",
			effect = "+1.5 seconds",
			rarity = 2,
			desc =
				"A rough sketch of The Legion mural torn from a notebook." ..
				list(b("Extends") .. " the duration of " .. i("Feral Frenzy") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "2.7.0",
			effect = "+1.6 seconds",
			rarity = 2,
			desc =
				"A rough sketch of The Legion mural torn from a notebook." ..
				list(b("Extends") .. " the duration of " .. i("Feral Frenzy") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "2.4.0",
			effect = "+1 second",
			rarity = 2,
			desc =
				"A rough sketch of The Legion mural torn from a notebook." ..
				list(b("Extends") .. " the duration of " .. i("Feral Frenzy") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Mysterious Elixir"] =
	{
		{
			version = "9.2.0",
			rarity = 4,
			duration = "10 seconds", 
			desc =
				"Modifies " .. i("Regurgitate") .. " with the following effect:" ..
				list(
					"Hitting " .. b("Windows") .. " with a " .. b("Leeching Gland") .. " causes them to become " .. i("Marked") .. dot,
					nbullet .. "This effect can affect multiple objects at a time.") ..
				"Vaulting a " .. i("Marked Window") .. " by any means triggers the following effect:" ..
				list(b("Blocks") .. " it for " .. clror("#duration") .. " and removes its " .. i("Mark") .. dot)
		},
		{
			version = "9.2.0 (PTB)",
			rarity = 4,
			duration = "10 seconds", 
			desc =
				"Modifies " .. i("Regurgitate") .. " with the following effect:" ..
				list(
					"Hitting " .. b("Windows") .. " with a " .. b("Leeching Gland") .. " causes them to become " .. i("Marked") .. dot,
					nbullet .. "This effect can affect multiple objects at a time.") ..
				"Vaulting a " .. i("Marked Window") .. " while in " .. i("Head Form") .. " triggers the following effect:" ..
				list(b("Blocks") .. " it for " .. clror("#duration") .. " and removes its " .. i("Mark") .. dot)
		},
	},
	-- N Add-ons --
	["Nancy's Masterpiece"] =
	{
		{
			version = "8.5.0",
			rarity = 3,
			effect = "-10 %",
			desc =
				"A painting of a character, made by Nancy Holbrook at Badham and kept as a treasured memory." ..
            	list(b("Reduces") .. " the Cool-down duration of " .. i("Dream Projection") .. " by " .. clror("#effect") .. " whenever a Survivor is affected by a " .. b("Dream Ability") .. dot)
        },
        {
			version = "3.1.0",
			rarity = 3,
			effect = "-3 %",
			desc =
				"A painting of a character, made by Nancy Holbrook at Badham and kept as a treasured memory." ..
            	list(b("Reduces") .. " the Ability Cool-down of " .. i("Dream Projection") .. " by an additional " .. clror("#effect") .. " per " .. i("Asleep Survivor") .. dot)
        },
        {
			version = "1.8.0",
			rarity = 3,
			effect = "+12 metres",
			desc =
				"A painting of a character, made by Nancy Holbrook at Badham and kept as a treasured memory." ..
            	list(b("Increases") .. " the range of " .. i("Dream Demon") .. " by " .. clror("#effect") .. dot)
        },
    },
	["Nancy's Sketch"] =
	{
		{
			version = "8.5.0",
			rarity = 2,
			effect = "-20 %",
			desc =
				"A crude and bold sketch made with Fusain, signed by Nancy H." ..
            	list(b("Reduces") .. " the duration of " .. i("Sleep Immunity") .. " by " .. clror("#effect") .. dot)
        },
        {
			version = "3.1.0",
			rarity = 2,
			effect = "-2 %",
			desc =
				"A crude and bold sketch made with Fusain, signed by Nancy H." ..
            	list(b("Reduces") .. " the Ability Cool-down of " .. i("Dream Projection") .. " by an additional " .. clror("#effect") .. " per " .. i("Asleep Survivor") .. dot)
        },
        {
			version = "1.8.0",
			rarity = 2,
			effect = "+8 metres",
			desc =
				"A crude and bold sketch made with Fusain, signed by Nancy H." ..
            	list(b("Increases") .. " the range of " .. i("Dream Demon") .. " by " .. clror("#effect") .. dot)
        },
	},
	-- O Add-ons --
	["Obsidian Goblet"] =
	{
		{
			version = "9.1.0",
			rarity = 5,
			effect = "+20 %",
			desc = 
				list(
					i("Punishment of the Damned") .. " now destroys " .. b("Breakable Walls") .. " and " .. b("Pallets") .. " upon contact.",
					b("Increases") .. " the cool-down of " .. i("Punishment of the Damned") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 5,
			desc =
				"While standing on your " .. b("Torment Trails") .. ", you benefit from the following effect:" ..
				list("Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot)
		}
	},
	["Office Phone"] =
	{
		{
			version = "9.0.0",
			rarity = 2,
			range = "24 metres",
			effect = "-50 %",
			desc =
				"While within " .. clror("#range") .. " of a Survivor embedded with the " .. i("Fire Axe") .. ", the following primary effects apply to other Survivors:" ..
        		list(
        			"They suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. dot,
        			"The Aura of the " .. i("Fire Axe") .. " is revealed to them.",
        			b("Reduces") .. " the Removal time of the " .. i("Fire Axe") .. " from another Survivor by " .. clro("#effect") .. dot) .. 
        		"Additionally, if they are in the " .. i("Injured State") .. ", the following secondary effect applies:" ..
        		list("They suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 2,
			range = "12 metres",
			desc =
				"While within " .. clror("#range") .. " of the Survivor embedded with the " .. i("Fire Axe") .. ", other Survivors suffer from the primary effect:" ..
        		list("Inflicts the " .. b(i("Oblivious") .. space .. "Status Effect") .. dot) .. 
        		"Additionally, if they are in the " .. i("Injured State") .. ", they also suffer from the secondary effect:" ..
        		list("Inflicts the " .. b(i("Broken") .. space .. "Status Effect") .. dot)
		},
	},
	["Oily Sap"] =
	{
		{
			version = "9.1.0 (PTB)",
			effect = "+2 seconds",
			rarity = 3,
			desc =
				"Modifies the " .. b("Fog Vial") .. " with the following effect:" ..
            	list(b("Increases") .. " the duration of the " .. i("Fog Cloud") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Original Pain"] =
	{
		{
			version = "9.3.0",
			rarity = 4,
			effect = "8 seconds",
			desc = 
				"Survivors breaking free from the " .. i("Possessed Chain") .. " suffer from the following effect:" ..
				list("Their Aura is revealed to you for " .. clror("#effect") .. dot)
		},
		{
			version = "5.2.0",
			rarity = 4,
			desc = 
				"Survivors breaking free from the " .. i("Possessed Chain") .. " suffer from the following effect:" ..
				list("Inflicts the " .. b(i("Deep Wound") .. space .. "Status Effect") .. dot)
		},
	},
	["Ottomarian Writing"] =
	{
		{
			version = "8.2.0",
			effect = "-2 seconds",
			rarity = 3,
			desc =
				"The words of Otto Stamper were the only words available for his followers to read, decrying malthink and malspeak." ..
        		list(b("Reduces") .. " the Cool-down time of " .. i("The Gloaming") .. " by " .. clror("#effect") .. " during " .. i("Daytime") .. dot)
		},
		{
			version = "6.0.0",
			effect = "-4 seconds",
			rarity = 3,
			desc =
				"The words of Otto Stamper were the only words available for his followers to read, decrying malthink and malspeak." ..
        		list(b("Reduces") .. " the Cool-down time of " .. i("The Gloaming") .. " by " .. clror("#effect") .. " during " .. i("Daytime") .. dot)
		},
	},
	["Outdoor Rope"] =
	{
		{
			version = "8.5.0",
			effect = "+15 %",
			rarity = 2,
			desc =
				"Sturdy outdoor rope, handy to tie up anything." .. 
            	list(b("Increases") .. " the Travel speed of " .. b("Dream Snares") .. " while placing them by " .. clror("#effect") .. dot)
		},
		{
			version = "4.7.0",
			range = "+8 metres",
			rarity = 2,
			desc =
				"Sturdy outdoor rope, handy to tie up anything." .. nlp ..
            	"Survivors trapped inside the " .. b("Dream World") .. " suffer from the following effect:" ..
            	list(b("Increases") .. " the audible range of all noises related to repairing a " .. b("Generator") .. " by " .. clror("#range") .. dot)
		},
		{
			version = "3.4.2",
			effect = "-2 %",
			rarity = 2,
			desc =
				"Sturdy outdoor rope, handy to tie up anything." .. nlp ..
            	"Survivors trapped inside the " .. b("Dream World") .. " suffer from the following effect:" ..
            	list(b("Reduces") .. " the Action speeds for Healing, Repairing, and Sabotaging by " .. clror("#effect") .. dot)
		},
		{
			version = "1.8.0",
			effect = "-6 %",
			rarity = 2,
			desc =
				"Sturdy outdoor rope, handy to tie up anything." .. nlp ..
            	"Survivors trapped inside the " .. b("Dream World") .. " suffer from the following effect:" ..
            	list(b("Reduces") .. " the Action speeds for Healing, Repairing, and Sabotaging by " .. clror("#effect") .. dot)
		},
	},
	-- P Add-ons --
	["Paint Thinner"] =
	{
		{
			version = "8.5.0",
			rarity = 3,
			duration = "6 seconds",
			effect = "+100 %", 
			desc =
				list(
            		"Causes Survivors dropping a " .. b("Dream Pallet") .. " to trigger " .. i("Killer Instinct") .. " for " .. clror("#duration") .. dot,
            		"Grants the ability to target these Survivors with the " .. i("Dream Projection") .. " ability:",
            		nbullet .. b("Increases") .. " the Charge speed of this " .. i("Dream Projection") .. " by " .. clro("#effect") .. dot)
		},
		{
			version = "4.7.0",
			rarity = 3,
			capacity = 7,
			duration = "6 seconds",
			desc =
				"Selects " .. b("Dream Pallets") .. " as the available " .. b("Dream Trap") .. " in the Trial:" ..
				list(
            		"Grants the ability to place and maintain up to " .. clror("#capacity") .. space .. b("Dream Pallets") .. dot,
            		nbullet .. "Placing additional ones will recycle the oldest one.",
            		"The Auras of Survivors dropping a " .. b("Dream Pallet") .. " are revealed to you for " .. clro("#duration") .. dot)
		},
		{
			version = "3.1.0",
			rarity = 3,
			capacity = 10,
			duration = "6 seconds",
			desc =
				"Selects " .. b("Dream Pallets") .. " as the available " .. b("Dream Trap") .. " in the Trial:" ..
				list(
            		"Grants the ability to place and maintain up to " .. clror("#capacity") .. space .. b("Dream Pallets") .. dot,
            		nbullet .. "Placing additional ones will recycle the oldest one.",
            		"The Auras of Survivors dropping a " .. b("Dream Pallet") .. " are revealed to you for " .. clro("#duration") .. dot)
		},
		{
			version = "1.8.2",
			rarity = 4,
			effect = "+100 %",
			desc =
				list(b("Increases") .. " the Movement speed after successfully putting a Survivor into the " .. i("Dream Transition") .. " by " .. clror("#effect") .. dot)
    	},
    	{
			version = "1.8.0",
			rarity = 4,
			effect = "+100 %",
			desc =
				list(b("Increases") .. " the Movement speed while casting " .. i("Dream Demon") .. " by " .. clror("#effect") .. dot)
    	},
	},
	["Party Hat"] =
	{
		{
			version = "9.0.0",
			rarity = 2,
			AOE_bonusSize = "250 %",
			AOE_bonusDuration = "3 seconds",
			AOE_duration = "-20 %", 
			desc =
				"While the " .. i("Fire Axe") .. " is embedded in the environment, the following effects apply:" ..
        		list(
        			b("Increases") .. " its " .. i("Area of Effect") .. " to " .. clror("#AOE_bonusSize") .. " for " .. clro("#AOE_bonusDuration") .. dot,
        			b("Reduces") .. " the duration of the " .. i("Area of Effect") .. " by " .. clro("#AOE_duration") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 2,
			AOE_bonusSize = "250 %",
			AOE_bonusDuration = "3 seconds",
			AOE_duration = "-50 %", 
			desc =
				"While the " .. i("Fire Axe") .. " is embedded in the environment, the following effects apply:" ..
        		list(
        			b("Increases") .. " its " .. i("Area of Effect") .. " to " .. clror("#AOE_bonusSize") .. " for " .. clro("#AOE_bonusDuration") .. dot,
        			b("Reduces") .. " the duration of the " .. i("Area of Effect") .. " by " .. clro("#AOE_duration") .. dot)
		},
	},
	["Pearl of Power"] =
	{
		{
			version = "9.0.0",
			rarity = 3,
			effect = "-2 seconds",
			desc =
				"Successfully hitting a Survivor with a " .. i("Basic Attack") .. " triggers the following effect:" .. 
				list(b("Reduces") .. " the remaining Recharge time of all " .. i("Spells") .. " currently on cool-down by " .. clror("#effect") .. dot)
		},
		{
			version = "8.4.0",
			rarity = 3,
			effect = "-3 seconds",
			desc =
				"Successfully hitting a Survivor with a " .. i("Basic Attack") .. " triggers the following effect:" .. 
				list(b("Reduces") .. " the remaining Recharge time of all " .. i("Spells") .. " currently on cool-down by " .. clror("#effect") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 3,
			effect = "-5 seconds",
			desc =
				"Successfully hitting a Survivor with a " .. i("Basic Attack") .. " triggers the following effect:" .. 
				list(b("Reduces") .. " the remaining Recharge time of all " .. i("Spells") .. " currently on cool-down by " .. clror("#effect") .. dot)
		},
	},
	['"Philly"'] =
	{
		{
			version = "8.4.0",
			effect = "-10 %",
			rarity = 1,
			desc =
				"A stolen camera from a victim of Olsen in Philadelphia, where he worked before." .. br .. "The film inside captured his last night in the city." ..
				list(b("Reduces") .. " the Time to mark Survivors by " .. clror("#effect") .. dot)
		},
		{
			version = "5.7.0",
			effect = "-20 %",
			rarity = 1,
			desc =
				"A stolen camera from a victim of Olsen in Philadelphia, where he worked before." .. br .. "The film inside captured his last night in the city." ..
				list(b("Reduces") .. " the Time to mark Survivors by " .. clror("#effect") .. dot)
		},
		{
			version = "3.0.0",
			effect = "-5 %",
			rarity = 1,
			desc =
				"A stolen camera from a victim of Olsen in Philadelphia, where he worked before." .. br .. "The film inside captured his last night in the city." ..
				list(b("Reduces") .. " the Time to mark Survivors when not leaning by " .. clror("#effect") .. dot)
		},
		{
			version = "3.0.0 (PTB)",
			rarity = 1,
			desc =
				"A stolen camera from a victim of Olsen in Philadelphia, where he worked before." .. br .. "The film inside captured his last night in the city." ..
				list("Instantly recharges " .. i("Night Shroud") .. " whenever a " .. b("Generator") .. " is completed.")
		},
	},
	["Pig's Eye"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 2,
			distance = "40 metres",
			duration = "6 seconds", 
			desc =
				"Modifies the " .. b("Glowing Fungus") .. " with the following effect:" ..
				list("Survivors eating it while at least " .. clror("#distance") .. " from your current location have their Auras revealed to you for " .. clro("#duration") .. dot)
		},
	},
	["Potent Extract"] =
	{
		{
			version = "9.1.1",
			rarity = 5,
			opacity = "+5 %",
			duration = "-50 %",
			size = "-25 %",
			desc =
				"Modifies the " .. b("Fog Vial") .. " with the following effects:" ..
            	list(
            		b("Increases") .. " the " .. i("Fog Cloud's") .. " opacity by " .. clror("#opacity") .. dot,
            		b("Reduces") .. " the " .. i("Fog Cloud's") .. " duration by " .. clro("#duration") .. dot,
            		b("Reduces") .. " the " .. i("Fog Cloud's") .. " size by " .. clro("#size") .. dot)
		},
		{
			version = "9.1.0",
			rarity = 5,
			opacity = "+10 %",
			duration = "-50 %",
			size = "-25 %",
			desc =
				"Modifies the " .. b("Fog Vial") .. " with the following effects:" ..
            	list(
            		b("Increases") .. " the " .. i("Fog Cloud's") .. " opacity by " .. clror("#opacity") .. dot,
            		b("Reduces") .. " the " .. i("Fog Cloud's") .. " duration by " .. clro("#duration") .. dot,
            		b("Reduces") .. " the " .. i("Fog Cloud's") .. " size by " .. clro("#size") .. dot)
		},
		{
			version = "9.1.0 (PTB)",
			rarity = 5,
			opacity = "+20 %",
			desc =
				"Modifies the " .. b("Fog Vial") .. " with the following effects:" ..
            	list(
            		"Muffles the audio within the fog.",
            		b("Increases") .. " the " .. i("Fog Cloud's") .. " opacity by " .. clror("#opacity") .. dot)
		},
	},
	["Potion of Speed"] =
	{
		{
			version = "9.0.0",
			rarity = 2,
			effect = "-0.35 seconds",
			desc =
				"While casting the " .. i("Fly Spell") .. ", you benefit from the following effect:" ..
				list(b("Reduces") .. " the Interaction Cool-down time after casting it by " .. clror("#effect") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 2,
			effect = "-0.15 seconds",
			desc =
				"While casting the " .. i("Fly Spell") .. ", you benefit from the following effect:" ..
				list(b("Reduces") .. " the Interaction Cool-down time after casting it by " .. clror("#effect") .. dot)
		},
	},
	["Protective Gloves"] =
	{
		{
			version = "3.6.0",
			rarity = 2,
			desc =
				"While sabotaging a " .. b("Hook") .. " with a " .. b("Toolbox") .. ", you benefit from the following effect:" ..
            	list(b("Suppresses") .. " the " .. i("Loud Noise Notification") .. " usually triggered after completing the " .. i("Sabotage") .. " action.")
		},
		{
			version = "1.0.0",
			chance = "+12 %",
			size = "+18 %",
			penalty = "-12 %",
			rarity = 2,
			desc =
				"While sabotaging a " .. b("Hook") .. " with a " .. b("Toolbox") .. ", you benefit from the following effects:" ..
            	list(
            		b("Increases") .. " the chances of triggering " .. i("Sabotage Skill Checks") .. " by " .. clror("#effect") .. dot,
            		b("Increases") .. " the Success Zone of " .. i("Sabotage Skill Checks") .. " by " .. clro("#effect") .. dot,
            		b("Reduces") .. " the Progression penalty incurred when failing " .. i("Sabotage Skill Checks") .. " by " .. clro("#effect") .. dot)
		},
	},
	["Prototype Claws"] =
	{
		{
			version = "8.5.0",
			rarity = 2,
			effect = "-10 %",
			desc =
				"A home-made tool to facilitate bush trimming." .. 
	            list(b("Reduces") .. " the Charge time of " .. b("Dream Snares") .. " by " .. clror("#effect") .. dot)
    	},
    	{
			version = "4.7.0",
			rarity = 2,
			capacity = 7,
			duration = "4 seconds",
			desc =
				"Selects " .. b("Dream Pallets") .. " as the available " .. b("Dream Trap") .. " in the Trial:" ..
				list(
            		"Grants the ability to place and maintain up to " .. clror("#capacity") .. space .. b("Dream Pallets") .. dot,
            		nbullet .. "Placing additional ones will recycle the oldest one.",
            		"The Auras of Survivors dropping a " .. b("Dream Pallet") .. " are revealed to you for " .. clro("#duration") .. dot)
    	},
    	{
			version = "3.1.0",
			rarity = 2,
			capacity = 10,
			duration = "4 seconds",
			desc =
				"Selects " .. b("Dream Pallets") .. " as the available " .. b("Dream Trap") .. " in the Trial:" ..
				list(
            		"Grants the ability to place and maintain up to " .. clror("#capacity") .. space .. b("Dream Pallets") .. dot,
            		nbullet .. "Placing additional ones will recycle the oldest one.",
            		"The Auras of Survivors dropping a " .. b("Dream Pallet") .. " are revealed to you for " .. clro("#duration") .. dot)
    	},
    	{
			version = "1.8.2",
			rarity = 2,
			effect = "+60 %",
			desc =
				list(b("Increases") .. " the Movement speed after successfully putting a Survivor into the " .. i("Dream Transition") .. " by " .. clror("#effect") .. dot)
    	},
    	{
			version = "1.8.0",
			rarity = 2,
			effect = "+60 %",
			desc =
				list(b("Increases") .. " the Movement speed while casting " .. i("Dream Demon") .. " by " .. clror("#effect") .. dot)
    	},
	},
	["Purple Guy Drawing"] =
	{
		{
			version = "9.0.0",
			rarity = 3,
			aura = {"3 seconds", "6 seconds"},
			desc =
				"While a Survivor has the " .. i("Fire Axe") .. " embedded in them, whenever they perform a " .. i("Rushed") .. " action of any kind, #name triggers its primary effect:" ..
        		list("Their Aura is revealed to you for " .. clror("#aura(1)") .. dot) ..
        		"After removing the " .. i("Fire Axe") .. " by themselves, #name triggers its secondary effect:" ..
        		list("Their Aura is revealed to you for " .. clro("#aura(2)") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 3,
			aura = "4 seconds",
			desc =
				"While a Survivor has the " .. i("Fire Axe") .. " embedded in them, you benefit from the following effect:" ..
        		list(
        			"Their Aura is revealed to you for " .. clror("#aura") .. " whenever they do any of the following:",
        			nbullet .. "Perform a " .. i("Rushed") .. " action of any kind.",
        			nbullet .. "Remove the " .. i("Fire Axe") .. " from themselves.")
		},
	},
	-- Q Add-ons --
	["Queen's Sceptre"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 4,
			desc =
				"Successfully hitting a Survivor with an " .. i("Intestinal Whip") .. " attack triggers the following effect:" ..
				list("Causes a " .. b("Leeching Gland") .. " to spatter from their location.")
		},
	},
	-- R Add-ons --
	["Rabbit's Foot"] = {
		{
			version = "9.2.0",
			rarity = 1,
			haemorrhage = "45 seconds",
			desc =
				"While charging " .. i("UVX") .. ", you benefit from the following primary effect:" ..
				list(i("Pools of Blood") .. " are highlighted in " .. bclr("bright red", "bright red") .. dot) ..
				"Survivors damaged by " .. i("UVX") .. " suffer from the following secondary effect:" ..
				list("Inflicts the " .. b(i("Haemorrhage") .. space .. "Status Effect") .. " for " .. clror("#haemorrhage") .. dot)
		},
		{
			version = "7.6.0",
			rarity = 1,
			haemorrhage = "30 seconds",
			desc =
				"While charging " .. i("UVX") .. ", you benefit from the following primary effect:" ..
				list(i("Pools of Blood") .. " are highlighted in " .. bclr("bright red", "bright red") .. dot) ..
				"Survivors damaged by " .. i("UVX") .. " suffer from the following secondary effect:" ..
				list("Inflicts the " .. b(i("Haemorrhage") .. space .. "Status Effect") .. " for " .. clror("#haemorrhage") .. dot)
		},
	},
	["Rat Liver"] =
	{
		{
			version = "4.7.0",
			effect = "+3.5 %",
			rarity = 1,
			desc =
				b("Increases") .. " your Movement speed while holding " .. i("Of the Abyss") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "3.2.0",
			effect = "+9 %",
			rarity = 1,
			desc =
				b("Increases") .. " your Movement speed while holding " .. i("Of the Abyss") .. " by " .. clror("#effect") .. dot
		},
	},
	["Rat Poison"] =
	{
		{
			version = "8.4.0",
			rarity = 3,
			range = "6 metres",
			duration = "2.5 seconds",
			desc =
				"While performing a " .. i("Slice & Dice") .. " attack, benefit from the following effect:" ..
				list("The Auras of all Survivors within " .. clror("#range") .. " of your location are revealed to you for " .. clro("#duration") .. dot)
		},
		{
			version = "7.4.0",
			rarity = 3,
			range = "12 metres",
			duration = "5 seconds",
			desc =
				"While performing a " .. i("Slice & Dice") .. " attack, benefit from the following effect:" ..
				list("The Auras of all Survivors within " .. clror("#range") .. " of your location are revealed to you for " .. clro("#duration") .. dot)
		},
	},
	["Reactive Compound"] =
	{
		{
			version = "9.1.0 (PTB)",
			effect = "-1 second",
			rarity = 2,
			desc =
				"Modifies the " .. b("Fog Vial") .. " with the following effect:" ..
            	list(b("Reduces") .. " the Expansion time of the " .. i("Fog Cloud") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Red Moss"] =
	{
		{
			version = "4.7.0",
			penalty = "+15 %",
			bonus = "+8 seconds",
			rarity = 5,
			desc =
				"After traversing the " .. i("Upside Down") .. ", the following effects apply:" ..
				list(
					b("Extends") .. " the " .. b(i("Undetectable") .. space .. "Status Effect") .. " gained after emerging from a " .. b("Portal") .. " by " .. clror("#bonus") .. dot,
					b("Suppresses") .. " all noises related to emerging from a " .. b("Portal") .. dot,
					b("Increases") .. " the time required to emerge from a " .. b("Portal") .. " by " .. clro("#penalty") .. dot)
		},
		{
			version = "3.2.1",
			penalty = "+10 seconds",
			bonus = "+8 seconds",
			rarity = 5,
			desc =
				"After traversing the " .. i("Upside Down") .. ", the following effects apply:" ..
				list(
					b("Extends") .. " the " .. b(i("Undetectable") .. space .. "Status Effect") .. " gained after emerging from a " .. b("Portal") .. " by " .. clror("#bonus") .. dot,
					b("Increases") .. " the Power Recovery time by " .. clro("#penalty") .. dot)
		},
		{
			version = "3.2.0",
			rarity = 5,
			desc =
				"Grants the ability for a " .. i("Shred") .. " attack to instantly break dropped " .. b("Pallets") .. " upon colliding with them."
		},
	},
	["Red Spider Lily"] =
	{
		{
			version = "8.6.0",
			rarity = 3,
			haemorrhage = "60 seconds",
			desc =
				"Survivors hit with a " .. i("Basic Attack") .. " while in " .. i("Enraged Mode") .. " inflicts the following effect:" ..
        		list("Causes them to suffer from the " .. b(i("Haemorrhage") .. space .. "Status Effect") .. " for " .. clror("#haemorrhage") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 4,
			haemorrhage = "60 seconds",
			desc =
				"Survivors hit with a " .. i("Basic Attack") .. " while in " .. i("Enraged Mode") .. " inflicts the following effect:" ..
        		list("Causes them to suffer from the " .. b(i("Haemorrhage") .. space .. "Status Effect") .. " for " .. clror("#haemorrhage") .. dot)
		},
	},
	["Red-Headed Centipede"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 4,
			effect = "10 seconds",
			desc =
				"Performing a " .. i("Vault") .. " action while in " .. i("Enraged Mode") .. " triggers the following effect:" ..
        		list(b("Blocks") .. " that " .. b("Window") .. " to all Survivors for " .. clror("#effect") .. dot)
		},
	},
	["Redhead's Pinkie Finger"] =
	{
		{
			version = "7.6.0",
			rarity = 5,
			bottles = 1,
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
				list("Survivors hit directly with its " .. b("Bottle") .. " suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " while " .. biclr("fuchsia", "Intoxicated") .. dot) ..
				"#name limits the number of carried " .. b("Bottles") .. " to " .. clror("#bottles") .. dot
		},
		{
			version = "6.7.0",
			rarity = 5,
			bottles = "-3",
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
				list(
					"Survivors hit directly with its " .. b("Bottle") .. " suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " while " .. biclr("fuchsia", "Intoxicated") .. dot,
					b("Reduces") .. " the number of carried " .. b("Bottles") .. " by " .. clror("#bottles") .. dot)
		},
		{
			version = "5.5.0",
			rarity = 5,
			bottles = "-2",
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
				list(
					"Survivors hit directly with its " .. b("Bottle") .. " suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " while " .. biclr("fuchsia", "Intoxicated") .. dot,
					b("Reduces") .. " the number of carried " .. b("Bottles") .. " by " .. clror("#bottles") .. dot)
		},
		{
			version = "2.0.0",
			rarity = 5,
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
				list("Survivors hit directly with its " .. b("Bottle") .. " suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " while " .. biclr("fuchsia", "Intoxicated") .. dot)
		},
	},
	["Reflective Fragment"] =
	{
		{
			version = "9.2.0",
			rarity = 4,
			bonus = "+20 seconds",
			desc =
				"A tiny piece of a highly reflective material most probably from a broken mirror." .. nlp ..
	            "Modifies " .. b("Slaughtering Strike") .. " with the following effects:" ..
	            list("Survivors hit by " .. b("Slaughtering Strike") .. " are only damaged for a single " .. iconLink("Health State") .. dot,
	            	"Successful hits with " .. b("Slaughtering Strike") .. " instantly add " .. clror("#bonus") .. " to the duration of " .. i("Evil Incarnate") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 2,
			activation = "1 second", 
			aura = "2 seconds",
			desc =
				"A tiny piece of a highly reflective material most probably from a broken mirror." .. nlp ..
	            "While in " .. i("Evil Within II") .. ", stalking Survivors for at least " .. clror("#activation") .. " triggers the following effect:" ..
	            list("Their Auras are revealed to you for " .. clro("#aura") .. dot)
		},
	},
	["Renjiro's Bloody Glove"] =
	{
		{
			version = "3.4.2",
			aura = "2 seconds",
			rarity = 5,
			desc =
				"Whenever a Survivor comes into a contact with a " .. bclr("bright red", "Blood Orb") .. ", the following effects apply:" ..
				list(
					"The " .. bclr("bright red", "Blood Orb") .. " is absorbed by the Survivor.",
					"Their Aura is revealed to you for " .. clror("#aura") .. " per absorbed " .. bclr("bright red", "Blood Orb") .. dot) ..
				"#pn grants Survivors the ability to see " .. bclr("bright red", "Blood Orbs") .. " at the same distance as you."
		},
		{
			version = "3.4.0",
			aura = "3 seconds",
			rarity = 5,
			desc =
				"Whenever a Survivor comes into a contact with a " .. bclr("bright red", "Blood Orb") .. ", the following effect applies:" ..
				list("Their Aura is revealed to you for " .. clror("#aura") .. dot) ..
				"#pn grants Survivors the ability to see " .. bclr("bright red", "Blood Orbs") .. " at the same distance as you."
		},
	},
	["Restaurant Menu"] =
	{
		{
			version = "9.0.0",
			rarity = 1,
			effect = "-20 %", 
			desc =
				"While retrieving the " .. i("Fire Axe") .. " whenever it is embedded in the environment, you benefit from the following effect:" ..
        		list(b("Reduces") .. " the minimum Retrieval time by " .. clror("#effect") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 1,
			effect = "-10 %", 
			desc =
				"While retrieving the " .. i("Fire Axe") .. " whenever it is embedded in the environment, you benefit from the following effect:" ..
        		list(b("Reduces") .. " the minimum Retrieval time by " .. clror("#effect") .. dot)
		},
	},
	["Ring of Spell Storing"] =
	{
		{
			version = "9.0.0",
			rarity = 2,
			effect = "-1 second",
			desc =
				"You benefit from the following effect:" ..
				list(b("Reduces") .. " the default Recharge time of all " .. i("Spells") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.4.0",
			rarity = 2,
			effect = "-2 seconds",
			desc =
				"You benefit from the following effect:" ..
				list(b("Reduces") .. " the default Recharge time of all " .. i("Spells") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 2,
			effect = "-4 seconds",
			desc =
				"You benefit from the following effect:" ..
				list(b("Reduces") .. " the default Recharge time of all " .. i("Spells") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Ring of Telekinesis"] =
	{
		{
			version = "9.0.0",
			rarity = 2,
			effect = "+10 %",
			duration = "10 seconds",
			desc =
				"While casting the " .. i("Mage Hand Spell") .. " to block an upright " .. b("Pallet") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " your Vaulting speed by " .. clror("#effect") .. " for " .. clro("#duration") .. dot)
		},
		{
			version = "8.0.2",
			rarity = 2,
			effect = "+10 %",
			duration = "8 seconds",
			desc =
				"While casting the " .. i("Mage Hand Spell") .. " to block an upright " .. b("Pallet") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " your Vaulting speed by " .. clror("#effect") .. " for " .. clro("#duration") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 2,
			effect = "-35 %",
			desc =
				"While casting the " .. i("Mage Hand Spell") .. " to lift a dropped " .. b("Pallet") .. ", you benefit from the following effect:" ..
				list(b("Reduces") .. " its Lift time by " .. clror("#effect") .. dot)
		},
	},
	["Ripped Curtain"] =
	{
		{
			version = "9.0.0",
			rarity = 2,
			duration = "60 seconds", 
			desc =
				"Survivors hit with the " .. i("Fire Axe") .. " suffer from the following effects:" ..
        		list("Inflicts the " .. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. " for " .. clror("#duration") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 2,
			duration = "70 seconds", 
			desc =
				"Survivors hit with the " .. i("Fire Axe") .. " suffer from the following effects:" ..
        		list("Inflicts the " .. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. " for " .. clror("#duration") .. dot)
		},
	},
	["Rize's Glasses"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 3,
			effect = "8 seconds",
			desc =
				"Upon entering " .. i("Enraged Mode") .. ", you benefit from the following effect:" ..
        		list("The Auras of healthy Survivors currently repairing a " .. b("Generator") .. " are revealed to you for " .. clror("#effect") .. dot)
		},
	},
	["Robe of Eyes"] =
	{
		{
			version = "9.0.0",
			rarity = 4,
			range = "6 metres",
			duration = "4 seconds", 
			desc =
				"Whenever you cast any " .. i("Spell") .. ", all Survivors within " .. clror("#range") .. " of a " .. b("Treasure Chest") .. " suffer from the following effect:" ..
				list("Their Auras are revealed to you for " .. clro("#duration") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 4,
			range = "8 metres",
			duration = "3 seconds", 
			desc =
				"Whenever you cast any " .. i("Spell") .. ", all Survivors within " .. clror("#range") .. " of a " .. b("Treasure Chest") .. " suffer from the following effect:" ..
				list("Their Auras are revealed to you for " .. clro("#duration") .. dot)
		},
	},
	["Rotten Pizza"] =
	{
		{
			version = "9.0.0",
			rarity = 1,
			effect = "+100 %", 
			desc =
				"You benefit from the following effect:" ..
        		list(b("Increases") .. " the duration of " .. i("Killer Instinct") .. " from the " .. i("Fire Axe") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 1,
			effect = "+50 %", 
			desc =
				"You benefit from the following effect:" ..
        		list(b("Increases") .. " the duration of " .. i("Killer Instinct") .. " from the " .. i("Fire Axe") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Rotten Swine"] =
	{
		{
			version = "9.2.0",
			rarity = 4,
			effect = "+15 %", 
			desc =
				"Modifies " .. i("Regurgitate") .. " with the following effect:" ..
				list(
					"Hitting " .. b("Breakable Walls") .. comma .. b("Generators") .. ", or " .. b("Pallets") .. " with a " .. b("Leeching Gland") .. " causes them to become " .. i("Marked") .. dot,
					nbullet .. "This effect can only affect a single object at a time.") ..
				"While interacting with the " .. i("Marked Prop") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " the Action speed for Breaking and Damaging by " .. clror("#effect") .. dot)
		},
		{
			version = "9.2.0 (PTB)",
			rarity = 4,
			effect = "+10 %", 
			desc =
				"Modifies " .. i("Regurgitate") .. " with the following effect:" ..
				list(
					"Hitting " .. b("Breakable Walls") .. comma .. b("Generators") .. ", or " .. b("Pallets") .. " with a " .. b("Leeching Gland") .. " causes them to become " .. i("Marked") .. dot,
					nbullet .. "This effect can only affect a single object at a time.") ..
				"While interacting with the " .. i("Marked Prop") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " the Action speed for Breaking and Damaging by " .. clror("#effect") .. dot)
		},
	},
	["Ruby Circlet"] = {
		{
			version = "9.2.0",
			rarity = 1,
			effect = "-5 %",
			desc =
				"Modifies the " .. i("Hellfire") .. " attack with the following effect:" ..
				list(b("Reduces") .. " its Cool-down duration by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 1,
			effect = "-10 %",
			desc =
				"Modifies the " .. i("Hellfire") .. " attack with the following effect:" ..
				list(b("Reduces") .. " its Cool-down duration by " .. clror("#effect") .. dot)
		},
	},
	["Rust-Coloured Egg"] = 
	{
		{
			version = "9.1.0",
			rarity = 4,
			effect = "+30 %",
			desc =
				"Successful " .. i("Punishment of the Damned") .. " attacks trigger the following effect:" ..
				list("Recharges " .. i("Rites of Judgement") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 4,
			duration = "60 seconds",
			desc =
				"While injured, Survivors afflicted by " .. i("Torment") .. " suffer from the following additional effect:" ..
				list("Inflicts the " .. b(i("Blindness") .. space .. "Status Effect") .. " for " .. clror("#duration") .. dot)
		}
	},
	-- S Add-ons --
	["Scarlet Egg"] =
	{
		{
			version = "9.1.0",
			rarity = 4,
			duration = "5 seconds",
			desc =
				"Modifies " .. i("Rites of Judgement") .. " with the following effects:" ..
				list(
					"While running, Survivors afflicted by " .. i("Torment") .. " create their own " .. b("Torment Trails") .. " trailing after them.",
					nbullet .. "These " .. b("Torment Trails") .. " last for " .. clror("#duration") .. dot,
					b("Removes") .. " the ability to read the Auras of " .. b("Torment Trails") .. dot)
		},
		{
			version = "6.7.0",
			rarity = 4,
			duration = "+3 seconds",
			desc = 
				"Modifies " .. b("Torment Trails") .. " with the following effect:" ..
				list(b("Increases") .. " the duration of " .. i("Killer Instinct") .. " by ".. clror("#duration") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 4,
			duration = "+1.5 seconds",
			desc = 
				"Modifies " .. b("Torment Trails") .. " with the following effect:" ..
				list(b("Increases") .. " the duration of " .. i("Killer Instinct") .. " by ".. clror("#duration") .. dot)
		}
	},
	["Scraps"] =
	{
		{
			version = "3.6.0",
			rarity = 1,
			effect = "+8 Charges",
			desc =
				b("Increases") .. " the capacity of " .. b("Toolboxes") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "1.0.0",
			rarity = 1,
			effect = "+15 Charges",
			desc =
				b("Increases") .. " the capacity of " .. b("Toolboxes") .. " by " .. clror("#effect") .. dot
		},
	},
	["Scratched Mirror"] =
	{
		{
			version = "9.2.0",
			rarity = 5,
			range = "32 metres",
			bonusBP = {"+100 %", "+200 %"},
			desc =
				"A standing portable vanity mirror which has been violently scratched with a sharp metallic object." .. nlp ..
	            "Unlocks potential in your Aura-reading ability while " .. i("Stalking") .. colon ..
	            list("The Auras of all Survivors within " .. clror("#range") .. " of your location are revealed to you.") ..
	            "Hitting Survivors with your " .. i("Basic Attack") .. " grants the following bonus Bloodpoints:" ..
	            list(
	            	i("Deviousness Scoring Category") .. colon .. space .. clro("#bonusBP(1)"),
	            	i("Brutality Scoring Category") .. colon .. space .. clro("#bonusBP(2)")) .. 
	            b("Evil Within") .. " loses the ability to exit " .. i("Stalker Mode") .. dot
		},
		{
			version = "8.4.0",
			rarity = 4,
			speed = "4.2 m/s",
			range = "32 metres",
			bonus = "+200 %",
			desc =
				"A standing portable vanity mirror which has been violently scratched with a sharp metallic object." ..
            	list(
            		b("Permanently reduces") .. " the default Movement speed to " .. clror("#speed") .. dot,
            		"Stalking causes the Auras of all Survivors within " .. clro("#range") .. " of your location to be revealed to you.",
            		i("Evil Within") .. " can no longer progress past " .. i("Tier I") .. dot,
            		"Grants " .. clro("#bonus") .. " bonus Bloodpoints in the " .. i("Deviousness") .. " Category for " .. i("Hit") .. " Score Events on top of the regular Bloodpoints granted in the Brutality " .. i("Scoring Category") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 4,
			range = "32 metres",
			bonus = "+200 %",
			desc =
				"A standing portable vanity mirror which has been violently scratched with a sharp metallic object." ..
            	list(
            		"Stalking causes the Auras of all Survivors within " .. clror("#range") .. " of your location to be revealed to you.",
            		i("Evil Within") .. " can no longer progress past " .. i("Tier I") .. dot,
            		"Grants " .. clro("#bonus") .. " bonus Bloodpoints in the " .. i("Deviousness") .. " Category for " .. i("Hit") .. " Score Events on top of the regular Bloodpoints granted in the Brutality " .. i("Scoring Category") .. dot)
		},
	},
	["Security Guard's Badge"] =
	{
		{
			version = "9.0.2",
			rarity = 2,
			effect = "+25 %",
			desc =
				"The badge comes with certain privileges for whoever carries it." .. nlp ..
        		"Upon exiting a " .. b("Security Door") .. " after teleporting to it, the following effect applies:" ..
        		list(b("Extends") .. " the duration of the " .. b(i("Undetectable") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "9.0.0",
			rarity = 2,
			effect = "+50 %",
			desc =
				"The badge comes with certain privileges for whoever carries it." .. nlp ..
        		"Upon exiting a " .. b("Security Door") .. " after teleporting to it, the following effect applies:" ..
        		list(b("Extends") .. " the duration of the " .. b(i("Undetectable") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 2,
			effect = "+50 %",
			desc =
				"The badge comes with certain privileges for whoever carries it." .. nlp ..
        		"Upon exiting a " .. b("Security Door") .. " after teleporting to it, you benefit from the following effect:" ..
        		list(b("Extends") .. " the duration of the " .. b(i("Undetectable") .. space .. "Status Effect") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Serum Vial"] = {
		{
			version = "9.2.0",
			rarity = 4,
			exhausted = "15 seconds",
			desc =
				"Upon entering the range of seeing the Aura of a " .. b(i("Hallucination")) .. ", Survivors suffer from the following effect:" ..
				list("Inflicts the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#exhausted") .. dot)
		},
		{
			version = "7.6.0",
			rarity = 4,
			exhausted = "10 seconds",
			desc =
				"Upon entering the range of seeing the Aura of a " .. b(i("Hallucination")) .. ", Survivors suffer from the following effect:" ..
				list("Inflicts the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#exhausted") .. dot)
		},
	},
	["Sharpened Flint"] =
	{
		{
			version = "9.1.0",
			rarity = 4,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Add-on") .. " from " .. b("Black Silk Cord") .. " to " .. b("Sharpened Flint") .. dot,
			desc =
				i("When sparked near the map, new sigils appeared in unexpected locations.") .. nlp ..
				"Modifies the " .. b("Map") .. " with the following effect:" ..
            	list("Grants the ability to track the location of " .. b("Totems") .. " and reveal their Auras, when using the " .. b("Map") .. dot)
		},
		{
			version = "1.0.0",
			rarity = 3,
			icon = "Black Silk Cord",
			desc =
				i("A smooth black cord with a soft appearance that can be tied around the map to enhance its abilities.") .. nlp ..
				"Unlocks potential in the Aura-reading ability of the " .. b("Map") .. colon ..
            	list(
            		"Grants the ability to track the location of the " .. b("Hatch") .. " and reveal its Aura, when using the " .. b("Map") .. dot,
            		nbullet .. "While it can be tracked while invisible, its Aura is only revealed once the " .. b("Hatch") .. " itself has turned visible.")
		},
	},
	["Sheep Block"] =
	{
		{
			version = "8.5.0",
			rarity = 1,
			effect = "+10 %",
			desc =
				"A white and blue wooden block depicting two woolly Lambs grazing and the letter \"S\"." ..
            	list(b("Increases") .. " the Cool-down time of " .. b("Alarm Clocks") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "6.7.0",
			rarity = 1,
			blindness = "60 seconds",
			desc =
				"A white and blue wooden block depicting two woolly Lambs grazing and the letter \"S\"." ..
            	list("Survivors interacting with a " .. b("Dream Trap") .. " suffer from the " .. i(b("Blindness")) .. space .. b("Status Effect") .. " for " .. clror("#blindness") .. dot)
		},
		{
			version = "3.1.0",
			rarity = 1,
			blindness = "30 seconds",
			desc =
				"A white and blue wooden block depicting two woolly Lambs grazing and the letter \"S\"." ..
            	list("Survivors interacting with a " .. b("Dream Trap") .. " suffer from the " .. i(b("Blindness")) .. space .. b("Status Effect") .. " for " .. clror("#blindness") .. dot)
		},
		{
			version = "1.8.0",
			rarity = 1,
			effect = "-0.5 seconds",
			desc =
				"A white and blue wooden block depicting two woolly Lambs grazing and the letter \"S\"." ..
            	list(b("Reduces") .. " the " .. i("Dream Transition") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Shredded Gown"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 5,
			aura = {"8 metres", "5 seconds"}, 
			desc =
				"Unlocks potential in your Aura-reading ability while using " .. i("Corporeal Weave") .. colon ..
				list("The Auras of all Survivors who are either within " .. clror("#aura(1)") .. " of a " .. b("Glowing Fungus") .. " or holding one are revealed to you for " .. clro("#aura(2)") .. dot)
		},
	},
	["Shrill Whistle"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Add-on") .. " from " .. b("Eroded Token") .. " to " .. b("Shrill Whistle") .. dot,
			effect = "-35 %",
			desc =
				i("The high-pitched scream gives a sense of urgency to everything.") .. nlp ..
				"Modifies the " .. b("Key") .. " with the following effect:" .. 
				list(b("Reduces") .. " the time it takes to channel the " .. b("Key") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			rarity = 2,
			icon = "Eroded Token",
			effect = "24 metres",
			desc =
				i("A heavily worn out token made of brass." .. br .. "If an inscription or drawing was once engraved in it, it has today completely disappeared.") .. nlp ..
				"While channelling the " .. b("Key") .. ", you benefit from the following effect:" .. 
				list(
					"The Auras of other Survivors within " .. clror("#range") .. " are revealed to you.",
					nbullet .. "This effect does not stack with the same one applied by a second " .. b("Key Add-on") .. ", only the largest range will be used.")
		},
	},
	["Slashed Backpack"] = {
		{
			version = "9.2.0",
			rarity = 2,
			effect = "-65 %",
			desc =
				"Hitting a " .. b(i("Hallucination")) .. " with the " .. b("UVX Projectile") .. " triggers the following effects:" ..
				list(
					"Causes the " .. b(i("Hallucination")) .. " to disintegrate, creating a ".. i("Blast Area") .. dot,
					b("Reduces") .. " the Spawn timer of your next " .. b(i("Hallucination")) .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "7.6.0",
			rarity = 2,
			effect = "-75 %",
			desc =
				"Hitting a " .. b(i("Hallucination")) .. " with the " .. b("UVX Projectile") .. " triggers the following effects:" ..
				list(
					"Causes the " .. b(i("Hallucination")) .. " to disintegrate, creating a ".. i("Blast Area") .. dot,
					b("Reduces") .. " the Spawn timer of your next " .. b(i("Hallucination")) .. " by " .. clror("#effect") .. dot)
		},
	},
	["Smelly Inner Soles"] =
	{
		{
			version = "9.1.0",
			rarity = 3,
			effect = "+15 %",
			desc =
				"While replenishing your " .. b("Bottles") .. ", you benefit from the following effect:" ..
            	list(b("Increases") .. " your Movement speed by " .. clror("#effect") .. dot)
		},
		{
			version = "4.5.0",
			rarity = 3,
			effect = "+66 %",
			desc =
				"While replenishing your " .. b("Bottles") .. ", you benefit from the following effect:" ..
            	list(b("Increases") .. " your Movement speed by " .. clror("#effect") .. dot)
		},
		{
			version = "2.0.0",
			rarity = 1,
			effect = "+33 %",
			desc =
				"While replenishing your " .. b("Bottles") .. ", you benefit from the following effect:" ..
            	list(b("Increases") .. " your Movement speed by " .. clror("#effect") .. dot)
		},
	},
	["Socket Swivels"] =
	{
		{
			version = "3.6.0",
			effect = "+30 %",
			rarity = 2,
			desc =
				"Modifies the " .. b("Toolbox") .. " with the following effect:" ..
				list(b("Increases") .. " its Repair speed by " .. clror("#effect") .. dot)
		},
		{
			version = "1.1.2",
			effect = "+15 %",
			rarity = 2,
			desc =
				"Modifies the " .. b("Toolbox") .. " with the following effect:" ..
				list(b("Increases") .. " its Repair speed by " .. clror("#effect") .. dot)
		},
	},
	["Soma Family Photo"] =
	{
		{
			version = "9.3.0",
			rarity = 4,
			hindered = "-3 %",
			durationHindered = "6 seconds",
			desc = 
				"Survivors afflicted with " .. biclr("lavender", "Temporal Slipstream") .. " from a " .. b("Biopod") .. " suffer from the following effect:" ..
				list("Inflicts a " .. clror("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot)
		},
		{
			version = "8.1.0",
			rarity = 4,
			hindered = "-3 %",
			durationHindered = "3 seconds",
			desc = 
				"Survivors afflicted with " .. biclr("lavender", "Temporal Slipstream") .. " from a " .. b("Biopod") .. " suffer from the following effect:" ..
				list("Inflicts a " .. clror("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot) ..
				"Injured Survivors additionally suffer from the following effect:" ..
				list("Inflicts the " .. b(i("Deep Wound") .. space .. "Status Effect") .. dot)
		},
		{
			version = "7.0.2",
			rarity = 4,
			haste = "+5 %",
			penalty = "-20 %",
			desc = 
				"Modifies " .. biclr("screamin' green", "Overclock Mode") .. " with the following effects:" ..
				list(
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for its duration.",
					b("Reduces") ..  " its duration by " .. clro("#penalty") .. dot)
		},
		{
			version = "7.0.0",
			rarity = 5,
			haste = "+5 %",
			penalty = "-50 %",
			desc = 
				"Modifies " .. biclr("screamin' green", "Overclock Mode") .. " with the following effects:" ..
				list(
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for its duration.",
					b("Reduces") ..  " its duration by " .. clro("#penalty") .. dot)
		},
	},
	["Spattered Handkerchief"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 3,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #name triggers the following effects:" ..
				list(
					"Causes all remaining Survivors to suffer from " .. biclr("bronze", "Leeched I") .. dot,
					"Causes all remaining " .. b("Glowing Fungi") .. " to start decaying.",
					"Activating " .. i("Corporeal Weave") .. " no longer spawns a new " .. b("Glowing Fungus") .. dot)
		},
	},
	["Spearhead"] = 
	{
		{
			version = "9.1.0",
			rarity = 2,
			duration = "8 seconds",
			desc = 
				"Survivors rescuing others from a " .. b("Cage of Atonement") .. " suffer from the following effect:" ..
				list("Their Aura is revealed to you for " .. clror("#duration") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 2,
			duration = "+1.5 seconds",
			desc =
				"Modifies " .. i("Rites of Judgement") .. " with the following effect:" .. 
				list(b("Increases") .. " its maximum duration by " .. clror("#duration") .. dot)
		}
	},
	["Spiked Boots"] =
	{
		{
			version = "8.3.0",
			effect = "+30 %",
			rarity = 4,
			desc =
				"Boots with metal spikes protruding from the soles, which provide more stability and control when walking on slippery soil." ..
            	list(b("Increases") .. " the Turn speed during a " .. i("Chainsaw Sprint") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "7.5.0",
			effect = "+45 %",
			rarity = 2,
			desc =
				"Boots with metal spikes protruding from the soles, which provide more stability and control when walking on slippery soil." ..
            	list(b("Increases") .. " the Turn speed during a " .. i("Chainsaw Sprint") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "4.1.0",
			effect = "+44 %",
			cooldown = "+28 %",
			rarity = 4,
			desc =
				"Boots with metal spikes protruding from the soles, which provide more stability and control when walking on slippery soil." ..
            	list(
            		b("Increases") .. " the Turn speed during a " .. i("Chainsaw Sprint") .. " by " .. clror("#effect") .. dot,
            		b("Increases") .. " the Cool-down time after hitting an obstacle during a " .. i("Chainsaw Sprint") .. " by " .. clro("#cooldown") .. dot)
		},
		{
			version = "1.1.2",
			effect = "+28 %",
			rarity = 2,
			desc =
				"Boots with metal spikes protruding from the soles, which provide more stability and control when walking on slippery soil." ..
            	list(b("Increases") .. " the Turn speed during a " .. i("Chainsaw Sprint") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Spiked Collar"] =
	{
		{
			version = "8.4.1",
			duration = "60 seconds",
			rarity = 3,
			desc =
				"A dangerous accessory worn by dogs sent to battle." ..
        		list("Causes Survivors becoming injured while they were grabbed by " .. b("The Dog") .. " to suffer from the " .. i(b("Haemorrhage and Mangled")) .. space .. b("Status Effects") .. " for " .. clror("#duration") .. dot)
		},
		{
			version = "8.4.0",
			duration = "45 seconds",
			rarity = 3,
			desc =
				"A dangerous accessory worn by dogs sent to battle." ..
        		list("Causes Survivors becoming injured while they were grabbed by " .. b("The Dog") .. " to suffer from the " .. i(b("Haemorrhage and Mangled")) .. space .. b("Status Effects") .. " for " .. clror("#duration") .. dot)
		},
	},
	["Spring Clamp"] =
	{
		{
			version = "3.6.0",
			range = "-8 metres",
			rarity = 2,
			desc =
				"While repairing a " .. b("Generator") .. " with a " .. b("Toolbox") .. ", you benefit from the following effect:" ..
            	list(b("Reduces") .. " the audible range of all noises related to the " .. i("Repair") .. " interaction by " .. clror("#range") .. dot)
		},
		{
			version = "1.0.0",
			effect = "+10 %",
			rarity = 1,
			desc =
				"While repairing a " .. b("Generator") .. " with a " .. b("Toolbox") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " the Success Zone of " .. i("Repair Skill Checks") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Staff of Withering"] =
	{
		{
			version = "9.0.0",
			rarity = 3,
			exhausted = "30 seconds", 
			desc =
				"Whenever a Survivor enters radius of the " .. i("Dispelling Sphere") .. ", they suffer from the following effect:" ..
				list("Inflicts the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#exhausted") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 3,
			exhausted = "20 seconds", 
			desc =
				"Whenever a Survivor enters radius of the " .. i("Dispelling Sphere") .. ", they suffer from the following effect:" ..
				list("Inflicts the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#exhausted") .. dot)
		},
	},
	["Sticky Lozenge"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 1,
			desc =
				"Modifies " .. i("Regurgitate") .. " with the following effect:" ..
				list("Displays a preview of the impact zone while charging it.")
		},
	},
	["Streamers"] =
	{
		{
			version = "9.0.2",
			rarity = 2,
			effect = "+15 %",
			desc =
				"While travelling through the " .. b("Security Doors") .. ", you benefit from the following effect:" ..
        		list(b("Increases") .. " your Movement Speed by " .. clror("#effect") .. dot)
		},
		{
			version = "9.0.0 (PTB)",
			rarity = 2,
			effect = "+20 %",
			desc =
				"While travelling through the " .. b("Security Doors") .. ", you benefit from the following effect:" ..
        		list(b("Increases") .. " your Movement Speed by " .. clror("#effect") .. dot)
		},
	},
	["Styptic Agent"] =
	{
		{
			version = "9.3.0",
			rarity = 4,
			bonus = "+15 %",
			desc =
				"Modifies the " .. b("Med-Kit") .. " with the following effect:" .. 
				list(b("Increases") .. " the Efficiency of " .. i("Personal Healing") .. " actions by " .. clror("#bonus") .. dot)
		},
		{
			version = "6.7.0",
			rarity = 4,
			durationEndurance = "5 seconds",
			desc =
				"Using the " .. b("Med-Kit") .. " to heal yourself or another Survivor, press the " .. loadoutStrings.secondaryActionButton .. " to trigger the following effect:" ..
				list("Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for " .. clror("#durationEndurance") .. dot) ..
				i("Styptic Agent") .. " consumes the " .. b("Med-Kit") .. " after use."
		},
		{
			version = "3.3.0",
			rarity = 4,
			durationEndurance = "8 seconds",
			desc =
				"Using the " .. b("Med-Kit") .. " to heal yourself or another Survivor, press the " .. loadoutStrings.secondaryActionButton .. " to trigger the following effect:" ..
				list("Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for " .. clror("#durationEndurance") .. dot) ..
				i("Styptic Agent") .. " consumes the " .. b("Med-Kit") .. " after use."
		},
		{
			version = "1.8.2",
			rarity = 4,
			penalty = "75 %",
			desc =
				"Modifies the " .. b("Med-Kit") .. " with the following primary effect:" ..
				list(b("Depletes") .. " its Capacity to " .. clror("#penalty") .. " of its initial Charges at the start of the Trial.") ..
				"While using the " .. b("Med-Kit") .. " to heal yourself or another Survivor, press the " .. loadoutStrings.secondaryActionButton .. " to trigger its secondary effect:" ..
				list("Causes the affected Survivor to instantly heal to the next Health State.") ..
				i("Styptic Agent") .. " depletes the " .. b("Med-Kit") .. " after triggering its secondary effect."
		},
		{
			version = "1.0.0",
			rarity = 3,
			penalty = "75 %",
			desc =
				"Modifies the " .. b("Med-Kit") .. " with the following primary effect:" ..
				list(b("Depletes") .. " its Capacity to " .. clror("#penalty") .. " of its initial Charges at the start of the Trial.") ..
				"While using the " .. b("Med-Kit") .. " to heal yourself or another Survivor, press the " .. loadoutStrings.secondaryActionButton .. " to trigger its secondary effect:" ..
				list("Causes the affected Survivor to instantly heal to the next Health State.") ..
				i("Styptic Agent") .. " depletes the " .. b("Med-Kit") .. " after triggering its secondary effect."
		},
	},
	-- T Add-ons --
	["Tablet of the Oppressor"] =
	{
		{
			version = "9.1.0",
			rarity = 3,
			desc =
				"While using " .. i("Rites of Judgement") .. ", the following effect applies:" ..
				list("Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 3,
			duration = "+2 seconds",
			desc =
				"Modifies " .. i("Rites of Judgement") .. " with the following effect:" .. 
				list(b("Increases") .. " its maximum duration by " .. clror("#duration") .. dot)
		}	
	},
	["Tacky Earrings"] =
	{
		{
			version = "9.2.0",
			rarity = 1,
			effect = "+20 %",
			desc =
				"Modifies " .. i("Evil Within") .. " with the following effect:" ..
				list(b("Increases") .. " your Movement speed while " .. i("Stalking") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 1,
			effect = "+10 %",
			desc =
				"Modifies " .. i("Evil Within") .. " with the following effect:" ..
				list(b("Increases") .. " your Movement speed while " .. i("Stalking") .. " by " .. clror("#effect") .. dot)
		}	
	},
	["Taiyaki"] =
	{
		{
			version = "8.6.2",
			rarity = 1,
			effect = "+5 seconds",
			desc =
				"Ghouls can never eat human food, but they can find ways to pretend." ..
        		list(b("Extends") .. " the " .. i("Countdown") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.6.0",
			rarity = 2,
			effect = "+15 seconds",
			desc =
				"Ghouls can never eat human food, but they can find ways to pretend." ..
        		list(b("Extends") .. " the " .. i("Countdown") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 2,
			effect = "+10 seconds",
			desc =
				"Ghouls can never eat human food, but they can find ways to pretend." ..
        		list(b("Extends") .. " the " .. i("Countdown") .. " by " .. clror("#effect") .. dot)
		},
	},
	["The Black Goat's Egg"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 1,
			effect = "+100 %",
			desc =
				"The book he used to bond with a woman of consequence." ..
        		list("Succeeding the " .. i("Quick Time Event") .. " during a " .. i("Grab-Attack") .. " grants " .. clror("#effect") .. " bonus Bloodpoints.")
		},
	},
	["Theatre Binoculars"] =
	{
		{
			version = "9.2.0 (PTB)",
			rarity = 3,
			aura = {"24 metres", "6 seconds"}, 
			desc =
				"Successfully hitting a Survivor not currently afflicted with " .. biclr("bronze", "Leeched") .. " with an " .. i("Intestinal Whip") .. " attack triggers the following effect:" ..
				list("The Auras of all other Survivors within " .. clror("#aura(1)") .. " are revealed to you for " .. clro("#aura(2)") .. dot)
		},
	},
	["Thorny Vines"] =
	{
		{
			version = "8.4.0",
			range = "1 metre",
			effect = "+8 %",
			rarity = 3,
			desc =
				"Thick, thorny vines that stretch and reinforce the interdimensional tunnels." ..
				list(
					b("Increases") .. " the " .. i("Area of Effect") .. " of active " .. b("Portals") .. " by " .. clror("#range") .. dot,
					b("Increases") .. " the Sealing time of " .. b("Portals") .. " by " .. clro("#effect") .. dot)
		},
		{
			version = "4.7.0",
			range = "1 metre",
			effect = "+11 %",
			rarity = 3,
			desc =
				"Thick, thorny vines that stretch and reinforce the interdimensional tunnels." ..
				list(
					b("Increases") .. " the " .. i("Area of Effect") .. " of active " .. b("Portals") .. " by " .. clror("#range") .. dot,
					b("Increases") .. " the Sealing time of " .. b("Portals") .. " by " .. clro("#effect") .. dot)
		},
		{
			version = "3.2.0",
			range = "1.5 metre",
			effect = "+14 %",
			rarity = 3,
			desc =
				"Thick, thorny vines that stretch and reinforce the interdimensional tunnels." ..
				list(
					b("Increases") .. " the " .. i("Area of Effect") .. " of active " .. b("Portals") .. " by " .. clror("#range") .. dot,
					b("Increases") .. " the Sealing time of " .. b("Portals") .. " by " .. clro("#effect") .. dot)
		},
	},
	["Tombstone Piece"] =
	{
		{
			version = "9.2.0",
			rarity = 4,
			duration = "20 seconds",
			desc =
				"A fist-sized granite piece taken from a broken tombstone." .. nlp ..
	            "Activating " .. i("Evil Incarnate") .. " triggers the following effect:" ..
	            list("Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. " for " .. clror("#duration") .. dot)
		},
		{
			version = "8.4.0",
			rarity = 4,
			penaltyPercentages = {"+100 %", "200 %", "+300 %", "400 %"},
			penaltyPoints = {"-5 SP", "-10 SP", "+15 SP", "20 SP"}, 
			desc =
				"While in " .. i("Evil Within III") .. " and within arm's reach of a healthy or injured Survivor, press the " .. loadoutStrings.attackButton .. " to kill them." ..
            list(
                b("Doubles") .. " the drain on the Power Gauge after killing a Survivor by " .. clror("#penaltyPercentages(1)") .. " to " .. clro("#penaltyPercentages(2)") .. dot,
                nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(1)") .. " to " .. clro("#penaltyPoints(2)") .. dot,
                b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clro("#penaltyPercentages(3)") .. " to " .. clro("#penaltyPercentages(4)") .. dot,
                nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(3)") .. " to " .. clro("#penaltyPoints(4)") .. dot)
		},
		{
			version = "1.2.1",
			rarity = 4,
			penaltyPercentages = {"+100 %", "200 %", "+150 %", "250 %"},
			penaltyPoints = {"-5 SP", "-10 SP", "+7.5 SP", "12.5 SP"}, 
			desc =
				"While in " .. i("Evil Within III") .. " and within arm's reach of a healthy or injured Survivor, press the " .. loadoutStrings.attackButton .. " to kill them." ..
            list(
                b("Doubles") .. " the drain on the Power Gauge after killing a Survivor by " .. clror("#penaltyPercentages(1)") .. " to " .. clro("#penaltyPercentages(2)") .. dot,
                nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(1)") .. " to " .. clro("#penaltyPoints(2)") .. dot,
                b("Increases") .. " the threshold to reach " .. i("Evil Within III") .. " for the first time by " .. clro("#penaltyPercentages(3)") .. " to " .. clro("#penaltyPercentages(4)") .. dot,
                nbullet .. "This is equivalent to an " .. b("increase") .. " by " .. clro("#penaltyPoints(3)") .. " to " .. clro("#penaltyPoints(4)") .. dot)
		},
	},
	["Torture Apparatus"] =
	{
		{
			version = "8.6.0 (PTB)",
			rarity = 4,
			haste = "+5 %",
			durationHaste = "6 seonds",
			desc =
				"A cutting tool used every time his extremities grew back." .. nlp ..
        		"Whenever " .. i("Enraged Mode") .. " ends, you benefit from the following effect:" ..
        		list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clror("#durationHaste") .. dot)
		},
	},
	["Traveller's Hat"] = {
		{
			version = "9.2.0",
			rarity = 1,
			effect = "-5 %",
			desc =
				"Modifies the " .. i("Shapeshift") .. " ability with the following effect:" ..
				list(b("Reduces") .. " the Transition time between " .. i("Forms") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 1,
			effect = "-10 %",
			desc =
				"Modifies the " .. i("Shapeshift") .. " ability with the following effect:" ..
				list(b("Reduces") .. " the Transition time between " .. i("Forms") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Training Bell"] =
	{
		{
			version = "8.4.1",
			duration = "8 seconds",
			rarity = 3,
			desc =
				"Even over great distances, it will notify a dog exactly where their owner is." ..
        		list("The Aura of the Survivor responsible for stunning " .. b("The Dog") .. " is revealed to you for " .. clror("#duration") .. dot)
		},
		{
			version = "8.4.0",
			duration = "5 seconds",
			rarity = 3,
			desc =
				"Even over great distances, it will notify a dog exactly where their owner is." ..
        		list("The Aura of the Survivor responsible for stunning " .. b("The Dog") .. " is revealed to you for " .. clror("#duration") .. dot)
		},
	},
	["Trickster's Glove"] =
	{
		{
			version = "9.0.0",
			rarity = 1,
			effect = "+0.3 seconds",
			desc =
				"While casting the " .. i("Mage Hand Spell") .. " to block an upright " .. b("Pallet") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " its Hold time by " .. clror("#effect") .. dot)
		},
		{
			version = "8.0.0",
			rarity = 1,
			effect = "+0.5 seconds",
			desc =
				"While casting the " .. i("Mage Hand Spell") .. " to block an upright " .. b("Pallet") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " its Hold time by " .. clror("#effect") .. dot)
		},
	},
	["Tuned Carburettor"] =
	{
		{
			version = "7.5.0",
			charge = "+20 %",
			speed = "4.4 m/s",
			rarity = 5,
			desc =
				"Despite being caked in dirt and oil, this carburettor has been well adjusted." ..
            	list(
                	b("Increases") .. " the Charge speed of the " .. i("Chainsaw") .. " by " .. clror("#charge") .. dot,
                	b("Permanently reduces") .. " the default Movement speed to " .. clro("#speed") .. dot)
		},
		{
			version = "5.3.0",
			charge = "+25 %",
			speed = "4.4 m/s",
			rarity = 4,
			desc =
				"Despite being caked in dirt and oil, this carburettor has been well adjusted." ..
            	list(
                	b("Increases") .. " the Charge speed of the " .. i("Chainsaw") .. " by " .. clror("#charge") .. dot,
                	b("Permanently reduces") .. " the default Movement speed to " .. clro("#speed") .. dot)
		},
		{
			version = "4.1.0",
			charge = "+20 %",
			speed = "4.4 m/s",
			rarity = 4,
			desc =
				"Despite being caked in dirt and oil, this carburettor has been well adjusted." ..
            	list(
                	b("Increases") .. " the Charge speed of the " .. i("Chainsaw") .. " by " .. clror("#charge") .. dot,
                	b("Permanently reduces") .. " the default Movement speed to " .. clro("#speed") .. dot)
		},
	},
	-- U Add-ons --
	["Ultrasonic Speaker"] =
	{
		{
			version = "8.3.0",
			effect = "90 %",
			rarity = 1,
			desc =
				"A high-frequency noise blaster that fills the sonic spectrum with disorienting sounds, making it impossible for observers to pick out more important noises." ..
            	list(b("Reduces") .. " the duration of the immunity to consecutive " .. i("Scan-Line Hits") .. " for Survivors to " .. clror("#effect") .. " of its default value.")
		},
		{
			version = "7.3.0",
			effect = "75 %",
			rarity = 1,
			desc =
				"A high-frequency noise blaster that fills the sonic spectrum with disorienting sounds, making it impossible for observers to pick out more important noises." ..
            	list(b("Reduces") .. " the duration of the immunity to consecutive " .. i("Scan-Line Hits") .. " for Survivors to " .. clror("#effect") .. " of its default value.")
		},
		{
			version = "6.6.2",
			effect = "-50 %",
			rarity = 1,
			desc =
				"A high-frequency noise blaster that fills the sonic spectrum with disorienting sounds, making it impossible for observers to pick out more important noises." ..
            	list(b("Reduces") .. " the Activation delay of the " .. b(i("Undetectable") .. space .. "Status Effect") .. " while inside the " .. i("Active Zone") .. " of a " .. b("Drone") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "6.6.0",
			rarity = 1,
			desc =
				"A high-frequency noise blaster that resonates with many organic materials, causing them to break down much sooner than expected." .. 
            	list(
            		"Causes " .. b("Pallets") .. " vaulted by a " .. i("Claw-Trapped Survivor") .. " using a " .. i("Rush Vault") .. " action to break instantly.",
            		nbullet .. "Triggering this effect removes the " .. i("Claw Trap") .. " from the Survivor, if its Battery was depleted.")
		},
	},
	["Unique Wedding Ring"] =
	{
		{
			version = "9.1.0",
			rarity = 4,
			desc =
				"Modifies the " .. b("Key") .. " with the following effects:" .. 
            	list(
            		"The Aura of the " .. b(i("Obsession")) .. " is permanently revealed to you.",
            		"Your Aura is permanently revealed to the " .. b(i("Obsession")) .. dot) ..
            	"#name applies its effects passively and does not require actively using the " .. b("Key") .. dot .. br ..
            	loadoutStrings.obsessionChanceMinus
		},
		{
			version = "3.2.0",
			rarity = 4,
			desc =
				"Modifies the " .. b("Key") .. " with the following effect:" .. 
            	list("The Aura of the " .. b(i("Obsession")) .. " is permanently revealed to you.") ..
            	"#name applies its effect passively and does not require actively using the " .. b("Key") .. dot .. br ..
            	loadoutStrings.obsessionChanceMinus
		},
		{
			version = "3.2.0 PTB",
			rarity = 5,
			desc =
				"Modifies the " .. b("Key") .. " with the following effect:" .. 
            	list("The Aura of the " .. b(i("Obsession")) .. " is permanently revealed to you.") ..
            	"#name applies its effect passively and does not require actively using the " .. b("Key") .. dot .. br ..
            	loadoutStrings.obsessionChanceMinus
		},
	},
	["Upside Down Resin"] =
	{
		{
			version = "8.4.0",
			effect = "+20 %",
			rarity = 4,
			desc =
				b("Increases") .. " the Sealing time of " .. b("Portals") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "3.2.0",
			effect = "+28 %",
			rarity = 4,
			desc =
				b("Increases") .. " the Sealing time of " .. b("Portals") .. " by " .. clror("#effect") .. dot
		},
	},
	-- V Add-ons --
	["Valtiel Sect Photograph"] =
	{
		{
			version = "9.1.0",
			rarity = 3,
			radius = {"-2 metres", "-8 metres"},
			desc =
				"For each Survivor afflicted by " .. i("Torment") .. ", you benefit from the following effect:" ..
				list(b("Reduces") .. " your " .. i("Terror Radius") .. " by a stack-able " .. clror("#radius(1)") .. ", up to a maximum of " .. clro("#radius(2)") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 3,
			effect = "-4 seconds",
			desc = 
			"Modifies " .. i("Rites of Judgement") .. " with the following effect:" ..
				list(b("Reduces") .. " its Recharge time by " .. clror("#effect") .. dot)
		}	
	},
	["Vanishing Box"] =
	{
		{
			version = "9.2.0",
			effect = "+120 %",
			rarity = 3,
			desc =
				"Modifies " .. i("UVX") .. " with the following primary effect:" ..
				list(b("Increases") .. " the default value of the Spawn timer of " .. b(i("Hallucinations")) .. " by " .. clror("#effect") .. dot) ..
				"Whenever one or multiple Survivors complete a " .. b("Generator") .. ", #name triggers its secondary effect:" ..
				list("Causes all participating Survivors to enter the " .. biclr("fuchsia", "Weakened State") .. dot)
		},
		{
			version = "8.3.0",
			effect = "+80 %",
			rarity = 3,
			desc =
				"Modifies " .. i("UVX") .. " with the following primary effect:" ..
				list(b("Increases") .. " the default value of the Spawn timer of " .. b(i("Hallucinations")) .. " by " .. clror("#effect") .. dot) ..
				"Whenever one or multiple Survivors complete a " .. b("Generator") .. ", #name triggers its secondary effect:" ..
				list("Causes all participating Survivors to enter the " .. biclr("fuchsia", "Weakened State") .. dot)
		},
		{
			version = "7.6.0",
			rarity = 3,
			desc =
				"Whenever one or multiple Survivors complete a " .. b("Generator") .. ", #name triggers its effect:" ..
				list("Causes all participating Survivors to enter the " .. biclr("fuchsia", "Weakened State") .. dot)
		},
	},
	["Vanity Mirror"] =
	{
		{
			version = "9.2.0",
			rarity = 4,
			duration = "4 seconds",
			desc =
	            "A standing portable vanity mirror in perfect condition except for a fine layer of dust and face powder covering it." .. nlp ..
	            "Modifies " .. i("Evil Incarnate") .. " with the following effect:" ..
	            list("When " .. i("Evil Incarnate") .. " ends, the Auras of all Survivors are revealed to you for " .. clror("#duration") .. dot)
		},
		{
			version = "5.3.0",
			rarity = 4,
			range = "16 metres",
			bonusBP = {"+100 %", "+150 %"},
			desc =
	            "A standing portable vanity mirror in perfect condition except for a fine layer of dust and face powder covering it." ..
	             "Unlocks potential in your Aura-reading ability while " .. i("Stalking") .. colon ..
	            list("The Auras of all Survivors within " .. clror("#range") .. " of your location are revealed to you.") ..
	            "Hitting Survivors with your " .. i("Basic Attack") .. " grants the following bonus Bloodpoints:" ..
	            list(
	            	iconLink(ils.brutality) .. space .. i("Scoring Category") .. colon .. space .. clro("#bonusBP(1)"),
	            	iconLink(ils.deviousness) .. space .. i("Scoring Category") .. colon .. space .. clro("#bonusBP(2)")) .. 
	            i("Evil Within") .. " cannot progress past " .. b("Tier II") .. dot
		},
		{
			version = "1.2.1d",
			rarity = 4,
			range = "16 metres",
			bonusBP = {"+100 %", "+150 %"},
			penalty = "-7 %",
			desc =
	            "A standing portable vanity mirror in perfect condition except for a fine layer of dust and face powder covering it." ..
	             "Unlocks potential in your Aura-reading ability while " .. i("Stalking") .. colon ..
	            list("The Auras of all Survivors within " .. clror("#range") .. " of your location are revealed to you.") ..
	            "Hitting Survivors with your " .. i("Basic Attack") .. " grants the following bonus Bloodpoints:" ..
	            list(
	            	iconLink(ils.brutality) .. space .. i("Scoring Category") .. colon .. space .. clro("#bonusBP(1)"),
	            	iconLink(ils.deviousness) .. space .. i("Scoring Category") .. colon .. space .. clro("#bonusBP(2)")) .. 
	            i("Evil Within") .. " cannot progress past " .. b("Tier II") .. dot .. br ..
	            "Your Movement speed is " .. b("permanently reduced") .. " by " .. clro("#penalty") .. dot
		},
		{
			version = "1.2.1",
			rarity = 4,
			range = "16 metres",
			bonusBP = {"+100 %", "+150 %"},
			desc =
	            "A standing portable vanity mirror in perfect condition except for a fine layer of dust and face powder covering it." ..
	             "Unlocks potential in your Aura-reading ability while " .. i("Stalking") .. colon ..
	            list("The Auras of all Survivors within " .. clror("#range") .. " of your location are revealed to you.") ..
	            "Hitting Survivors with your " .. i("Basic Attack") .. " grants the following bonus Bloodpoints:" ..
	            list(
	            	iconLink(ils.brutality) .. space .. i("Scoring Category") .. colon .. space .. clro("#bonusBP(1)"),
	            	iconLink(ils.deviousness) .. space .. i("Scoring Category") .. colon .. space .. clro("#bonusBP(2)")) .. 
	            i("Evil Within") .. " cannot progress past " .. b("Tier II") .. dot
		},
	},
	["Vermilion Webcap"] =
	{
		{
			version = "5.0.0",
			bonus = "+3 seconds",
			rarity = 3,
			desc =
				"After traversing the " .. i("Upside Down") .. ", the following effects apply:" ..
				list(
					b("Extends") .. " the " .. b(i("Undetectable") .. space .. "Status Effect") .. " gained after emerging from a " .. b("Portal") .. " by " .. clror("#bonus") .. dot)
		},
		{
			version = "3.2.0",
			bonus = "+1 second",
			rarity = 3,
			desc =
				"After traversing the " .. i("Upside Down") .. ", the following effects apply:" ..
				list(
					b("Extends") .. " the " .. b(i("Undetectable") .. space .. "Status Effect") .. " gained after emerging from a " .. b("Portal") .. " by " .. clror("#bonus") .. dot)
		},
	},
	["VHS Porn"] =
	{
		{
			version = "9.1.0",
			rarity = 1,
			effect = "+10 %",
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " with the following effect:" ..
            	list(b("Increases") .. " the size and spread of the " .. i("Gas Clouds") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "4.5.0",
			rarity = 1,
			desc =
				"Modifies the " .. biclr("fuchsia", "Tonic") .. " and " .. biclr("yellow", "Antidote") .. " with the following effect:" ..
            	list("Switches the colours of their " .. i("Gas Clouds") .. dot)
		},
		{
			version = "2.0.0",
			rarity = 3,
			effect = "+66 %",
			desc =
				"While replenishing your " .. b("Bottles") .. ", you benefit from the following effect:" ..
            	list(b("Increases") .. " your Movement speed by " .. clror("#effect") .. dot)
		},
	},
	["Violet Waxcap"] =
	{
		{
			version = "7.2.0",
			bonus = "+1 second",
			rarity = 3,
			desc =
				"After traversing the " .. i("Upside Down") .. ", the following effects apply:" ..
				list(
					b("Extends") .. " the " .. b(i("Undetectable") .. space .. "Status Effect") .. " gained after emerging from a " .. b("Portal") .. " by " .. clror("#bonus") .. dot)
		},
		{
			version = "3.2.0",
			bonus = "+0.5 seconds",
			rarity = 3,
			desc =
				"After traversing the " .. i("Upside Down") .. ", the following effects apply:" ..
				list(
					b("Extends") .. " the " .. b(i("Undetectable") .. space .. "Status Effect") .. " gained after emerging from a " .. b("Portal") .. " by " .. clror("#bonus") .. dot)
		},
	},
	["Viscous Webbing"] =
	{
		{
			version = "8.4.0",
			effect = "+10 %",
			rarity = 2,
			desc =
				"Wet, elastic webs that broaden the interdimensional tunnels." ..
				list(b("Increases") .. " the Sealing time of " .. b("Portals") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "3.2.0",
			effect = "+16 %",
			rarity = 2,
			desc =
				"Wet, elastic webs that broaden the interdimensional tunnels." ..
				list(b("Increases") .. " the Sealing time of " .. b("Portals") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Vital Targeting Processor"] =
	{
		{
			version = "8.3.0",
			hindered = "-2 %",
			rarity = 3,
			desc =
				"An additional process in the Drone's programming more accurately predicts the weaknesses of potential prey." ..
            	list(b("Increases") .. " the strength of the " .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. i("Claw-Trapped Survivors") .. " when detected by " .. b("Drones") .. " by " .. clror("#hindered") .. dot)
		},
		{
			version = "7.3.0",
			hindered = "-3 %",
			rarity = 3,
			desc =
				"An additional process in the Drone's programming more accurately predicts the weaknesses of potential prey." ..
            	list(b("Increases") .. " the strength of the " .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. i("Claw-Trapped Survivors") .. " when detected by " .. b("Drones") .. " by " .. clror("#hindered") .. dot)
		},
		{
			version = "6.6.0",
			effect = "+10 %",
			rarity = 3,
			desc =
				"An additional process in the Drone's programming more accurately predicts the weaknesses of potential prey." ..
            	list(b("Increases") .. " the Charge rate of " .. biclr("yellow", "Lock On") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Volcanic Stone"] =
	{
		{
			version = "9.1.0 (PTB)",
			effect = "-5 seconds",
			rarity = 1,
			desc =
				"Modifies the " .. b("Fog Vial") .. " with the following effect:" ..
            	list(b("Reduces") .. " the Recharge time of the " .. i("Fog Cloud") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Vorpal Sword"] =
	{
		{
			version = "8.0.2",
			broken = "30 seconds",
			palletBreaking = "4 seconds",
			rarity = 5,
			desc =
				"A powerful magical artifact whose blade has severed many a head from its accompanying body." ..
				list(
					"Entering the radius of the " .. i("Dispelling Sphere") .. " causes injured Survivors to suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " for " .. clror("#broken") .. dot,
					"Causes the " .. i("Mage Hand Spell") .. " to break dropped " .. b("Pallets") .. " instead of lifting them back upright.",
					nbullet .. "This action takes " .. clro("#palletBreaking") .. " to complete.")
		},
		{
			version = "8.0.0",
			broken = "30 seconds",
			palletBreaking = "3 seconds",
			rarity = 5,
			desc =
				"A powerful magical artifact whose blade has severed many a head from its accompanying body." ..
				list(
					"Entering the radius of the " .. i("Dispelling Sphere") .. " causes injured Survivors to suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " for " .. clror("#broken") .. dot,
					"Causes the " .. i("Mage Hand Spell") .. " to break dropped " .. b("Pallets") .. " instead of lifting them back upright.",
					nbullet .. "This action takes " .. clro("#palletBreaking") .. " to complete.")
		},
	},
	-- W Add-ons --
	["Waiting For You Watch"] =
	{
		{
			version = "7.0.0",
			effect = "+0.4 seconds",
			rarity = 3,
			desc =
				"A pocket watch worn by Ji-Woon during a live performance of " .. i("I'll Be Waiting For You") .. dot .. br .. "It is a stage prop that does not work and never will." ..
            	list(b("Increases") .. " the duration of " .. biclr("yellow", "Main Event") .. " by " .. clror("#effect") .. " for each successful " .. i("Blade Hit") .. dot)
		},
		{
			version = "5.1.0",
			effect = "+0.3 seconds",
			rarity = 3,
			desc =
				"A pocket watch worn by Ji-Woon during a live performance of " .. i("I'll Be Waiting For You") .. dot .. br .. "It is a stage prop that does not work and never will." ..
            	list(b("Increases") .. " the duration of " .. biclr("yellow", "Main Event") .. " by " .. clror("#effect") .. " for each successful " .. i("Blade Hit") .. dot)
		},
		{
			version = "4.6.0",
			effect = "+0.5 c/s",
			rarity = 3,
			desc =
				"A pocket watch worn by Ji-Woon during a live performance of " .. i("I'll Be Waiting For You") .. dot .. br .. "It is a stage prop that does not work and never will." ..
            	list(b("Slows") .. " the Decay rate of the " .. biclr("lavender", "Laceration Meter") .. " by adding " .. clror("#effect") .. " to its default value while you are out of " .. i("Blades") .. dot)
		},
	},
	["Walleye's Matchbook"] =
	{
		{
			version = "8.4.0",
			effect = "-3 seconds",
			rarity = 1,
			desc =
				"A sheet of matches from Walleye's, a small bar in Northern Roseville." .. br .. "A victim's phone number is scribbled in blue." .. br .. "One of the incriminating pieces of evidence found." ..
				list(b("Reduces") .. " the Power Recharge time by " .. clror("#effect") .. dot)
		},
		{
			version = "5.7.0",
			effect = "-6 seconds",
			rarity = 1,
			desc =
				"A sheet of matches from Walleye's, a small bar in Northern Roseville." .. br .. "A victim's phone number is scribbled in blue." .. br .. "One of the incriminating pieces of evidence found." ..
				list(b("Reduces") .. " the Power Recharge time by " .. clror("#effect") .. dot)
		},
		{
			version = "5.3.0",
			effect = "-2 seconds",
			rarity = 1,
			desc =
				"A sheet of matches from Walleye's, a small bar in Northern Roseville." .. br .. "A victim's phone number is scribbled in blue." .. br .. "One of the incriminating pieces of evidence found." ..
				list(b("Reduces") .. " the Power Recharge time by " .. clror("#effect") .. dot)
		},
		{
			version = "3.0.0",
			effect = "-4 seconds",
			rarity = 1,
			desc =
				"A sheet of matches from Walleye's, a small bar in Northern Roseville." .. br .. "A victim's phone number is scribbled in blue." .. br .. "One of the incriminating pieces of evidence found." ..
				list(b("Reduces") .. " the Power Recharge time by " .. clror("#effect") .. dot)
		},
	},
	["Warg's Fang"] =
	{
		{
			version = "9.2.0",
			rarity = 4,
			effect = "5 seconds",
			desc =
				"While in " .. i("Wolf Form") .. " , whenever the " .. i("Pounce") .. " attack becomes available, you benefit from the following effect:" ..
				list("The Auras of all Survivors whose " .. bclr("white", "Scent Orbs") .. " you have collected are revealed to you for " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 4,
			effect = "4 seconds",
			desc =
				"While in " .. i("Wolf Form") .. " , whenever the " .. i("Pounce") .. " attack becomes available, you benefit from the following effect:" ..
				list("The Auras of all Survivors whose " .. bclr("white", "Scent Orbs") .. " you have collected are revealed to you for " .. clror("#effect") .. dot)
		},
	},
	["Wax Doll"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			range = "+5 %",
			desc = 
			"Modifies " .. i("Punishment of the Damned") .. " with the following effect:" ..
			list(b("Increases") .. " its range by " .. clror("#range") .. dot)
		},
		{
			version = "4.0.0",
			rarity = 2,
			range = "+1 metre",
			desc = 
				"Modifies " .. i("Punishment of the Damned") .. " with the following effect:" ..
				list(b("Increases") .. " its range by " .. clror("#range") .. dot)
		}
	},
	["White Wolf Medallion"] = {
		{
			version = "9.2.0",
			rarity = 2,
			effect = "+1 second",
			desc =
				"Modifies " .. i("Wolf Form") .. " with the following effect:" ..
				list(b("Increases") .. " its " .. i("Killer Instinct") .. " duration by " .. clror("#effect") .. dot)
		},
		{
			version = "8.2.0",
			rarity = 2,
			effect = "+0.8 seconds",
			desc =
				"Modifies " .. i("Wolf Form") .. " with the following effect:" ..
				list(b("Increases") .. " its " .. i("Killer Instinct") .. " duration by " .. clror("#effect") .. dot)
		},
	},
	['"Windstorm" - Blood'] =
	{
		{
			version = "4.6.0",
			rarity = 4,
			effect = "+9 %",
			desc =
				b("Increases") .. " your Movement Speed while " .. i("Cloaked") .. " by " .. clror("#effect") .. dot
		},
	},
	['"Windstorm" - Mud'] =
	{
		{
			version = "4.6.0",
			rarity = 2,
			effect = "+5 %",
			desc =
				b("Increases") .. " your Movement Speed while " .. i("Cloaked") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "2.2.0",
			rarity = 2,
			effect = "+12 %",
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("The Ohuwe-Onmnea symbol, representing a howling storm, is finger-drawn in mud on the body of the Bell.") .. nlp ..
				b("Increases") .. " your Movement Speed while " .. i("Cloaked") .. " by " .. clror("#effect") .. dot
		},
		{
			version = "1.8.3",
			rarity = 2,
			duration = "0.5 seconds",
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("The Ohuwe-Onmnea symbol, representing a violent storm, is finger-drawn in mud on the body of the Bell.") .. nlp ..
				"Grants a brief speed burst after " .. i("Uncloaking") .. " for " .. clror("#duration") .. dot
		},
		{
			version = "1.0.0",
			icon = '"Windstorm" - Mud (1.0.0)',
			rarity = 2,
			duration = "0.5 seconds",
			desc =
				i("The Ohuwe-Onmnea symbol, representing a violent storm, is finger-drawn in soot on the body of the Bell.") .. nlp ..
				"Grants a brief speed burst after " .. i("Uncloaking") .. " for " .. clror("#duration") .. dot
		},
	},
	['"Windstorm" - White'] =
	{
		{
			version = "4.6.0",
			rarity = 3,
			effect = "+7 %",
			desc =
				b("Increases") .. " your Movement Speed while " .. i("Cloaked") .. " by " .. clror("#effect") .. dot
		},
	},
	["Wool Shirt"] =
	{
		{
			version = "8.5.0",
			effect = "-10 %",
			rarity = 1,
			desc =
				"A small boy's orange and yellow striped shirt. Identified with a sewn name tag to \"Jesse\"." ..
            	list(b("Reduces") .. " the Detonation delay of rupturing " .. b("Dream Pallets") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "3.1.0",
			effect = "-4 %",
			rarity = 1,
			desc =
				"A small boy's orange and yellow striped shirt. Identified with a sewn name tag to \"Jesse\"." ..
            	list(b("Increases") .. " the Progression penalty incurred by " .. i("Failed Repair and Healing Skill Checks") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.8.0",
			rarity = 1,
			desc =
				"A small boy's orange and yellow striped shirt. Identified with a sewn name tag to \"Jesse\"." ..
            	list(b("Slightly reduces") .. " the Trigger odds of " .. i("Skill Checks") .. " for Survivors trapped in the " .. b("Dream World") .. dot)
		},
	},
	["Workshop Grease"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			effect = "+50 %",
			desc =
				"Modifies the " .. i("Ambush Dash") .. " attack with the following effects:" ..
				list(b("Increases") .. " its Charge speed by " .. clro("#effect") .. dot)
		},
		{
			version = "5.3.0",
			rarity = 2,
			effects = {"-10 %", "+50 %"},
			notice = "This Patch also updated the introductory flavour text and updated its Rarity.",
			desc =
				i("A simple tube of grease, used to lubricate the mechanisms of the hidden blade.") .. nlp ..
				"Modifies the " .. i("Ambush Dash") .. " attack with the following effects:" ..
				list(
					b("Reduces") .. " its Cool-down after missed attacks by " .. clror("#effects(1)") .. dot,
					b("Increases") .. " its Charge speed by " .. clro("#effects(2)") .. dot)
		},
		{
			version = "1.9.0",
			rarity = 1,
			effect = "+1 %",
			desc =
				i("The lubricated parts make the search a more delicate exercise.") .. nlp ..
				"Modifies the " .. b("Jigsaw Box") .. " with the following effect:" ..
            	list(b("Increases") .. " the chances of Searches triggering a " .. i("Skill Check") .. " by " .. clror("#effect") .. dot)
		},
	},
	["Wriggling Parasite"] =
	{
		{
			version = "9.2.0",
			rarity = 2,
			effect = "+16 %",
			desc =
				"Modifies the " .. biclr("bronze", "Leech Meter") .. " with the following effect:" ..
				list(b("Increases") .. " its Charge rate by " .. clror("#effect") .. dot)
		},
		{
			version = "9.2.0 (PTB)",
			rarity = 2,
			effects = {"+10 %", "+10 %"},
			desc =
				"Modifies the " .. biclr("bronze", "Leech Meter") .. " with the following effects:" ..
				list(
					b("Increases") .. " its Charge rate by " .. clror("#effects(1)") .. dot,
					b("Increases") .. " its Depletion rate by " .. clro("#effects(2)") .. dot)
		},
	},
	-- X Add-ons --
	-- Y Add-ons --
	["Yamori's Mask"] =
	{
		{
			version = "8.6.2",
			rarity = 5,
			effect = "3 seconds",
			desc =
				"Worn by a ghoul from the 13th district whose hobby was torture." .. nlp ..
        		"Hooking a Survivor while in " .. i("Enraged Mode") .. " triggers the following effect:" ..
        		list("Causes all Survivors further than " ..clror("40 metres").. " to scream and reveal their location to you for " .. clro("#effect") .. dot)
		},
		{
			version = "8.6.0",
			rarity = 5,
			effect = "3 seconds",
			desc =
				"Worn by a ghoul from the 13th district whose hobby was torture." .. nlp ..
        		"Hooking a Survivor while in " .. i("Enraged Mode") .. " triggers the following effect:" ..
        		list("Causes all Survivors to scream and reveal their location to you for " .. clror("#effect") .. dot)
		},
		{
			version = "8.6.0 (PTB)",
			rarity = 5,
			effect = "3 seconds",
			desc =
				"Worn by a ghoul from the 13th district whose hobby was torture." .. nlp ..
        		"Hooking a Survivor while in " .. i("Enraged Mode") .. " triggers the following effect:" ..
        		list("Causes all healthy Survivors to scream and reveal their location to you for " .. clror("#effect") .. dot)
		},
	},
	-- Z Add-ons --
}

-------------------------------------------------------------    ██╗████████╗███████╗███╗   ███╗███████╗    -------------------------------------------------------------
-------------------------------------------------------------    ██║╚══██╔══╝██╔════╝████╗ ████║██╔════╝    -------------------------------------------------------------
-------------------------------------------------------------    ██║   ██║   █████╗  ██╔████╔██║███████╗    -------------------------------------------------------------
-------------------------------------------------------------    ██║   ██║   ██╔══╝  ██║╚██╔╝██║╚════██║    -------------------------------------------------------------
-------------------------------------------------------------    ██║   ██║   ███████╗██║ ╚═╝ ██║███████║    -------------------------------------------------------------
-------------------------------------------------------------    ╚═╝   ╚═╝   ╚══════╝╚═╝     ╚═╝╚══════╝    -------------------------------------------------------------

p.itemDescriptionsHistory = {
	-- A Items --
	["Annotated Map"] = {
		{
			version = "9.1.0",
			rarity = 3,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Item") .. " from " .. b("Rainbow Map") .. " to " .. b("Annotated Map") .. dot,
			charges = "6 Charges",
			cost = "-1 Charge",
			aura_Vaultables = {"40 metres", "14 seconds"},
			aura_BOL = {"32 metres", "16 seconds"},
			desc =
				i("The sketch is clear and detailed." .. br .. "Strange knowledge flows into you, followed by dread uncertainty.") .. nlp ..
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of " .. b("Pallets") .. " and " .. b("Windows") .. " within " .. clro("#aura_Vaultables(1)") .. " of your location are revealed to you for " .. clro("#aura_Vaultables(2)") .. dot) ..
				"While channelling the " .. b("Map") .. ", press the " .. loadoutStrings.secondaryActionButton .. " at any point before the timer elapses for the following additional effect:" ..
				list(
					"Creates a " .. i("Beam of Light") .. " at your current location that lasts for " .. clro("#aura_BOL(2)") .. dot,
					nbullet .. "The Auras of " .. b("Generators") .. " within " .. clro("#aura_BOL(1)") .. " of it are revealed to all Survivors and highlighted in " .. bclr("red", "red") .. dot) ..
				"The #name consumes " .. clro("#cost") .. " per use."
		},
		{
			version = "3.5.0",
			rarity = 5,
			objects = "3 Objects",
			range = "8 metres",
			durability = "20 seconds",
			desc =
				i("An piece of parchment made out of oddly fresh skin with blood on its edge that has yet to dry, and that is rolled and sealed with multiple coloured ropes and cords.") .. nlp ..
				"Start the Trial with " .. clror("#objects") .. " in the environment already tracked." .. br ..
				"Whenever you come within " .. clro("#range") .. " of a trackable object, it is automatically added to the " .. b("Map") .. colon ..
				list(
					b("Exit Gate Switches"),
					b("Generators"),
					b("Hatch"),
					b("Hooks")) ..
				"Objects revealed by the " .. b("Perk") .. space .. i("Detective's Hunch") .. " are also automatically added to the " .. b("Map") .. ", including the following usually non-trackable objects:" ..
				list(
					b("Chests"),
					b("Totems")) ..
				"Press and hold the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of all " .. i("Tracked Objects") .. " are revealed to you for as long as you continue channelling the " .. b("Map") .. dot) ..
				"The #name slowly depletes while being used and has a maximum Durability of " .. clro("#durability") .. dot
		},
		{
			version = "1.1.2",
			rarity = 5,
			objects = "3 Objects",
			range = "8 metres",
			durability = "20 seconds",
			desc =
				"Start the Trial with " .. clror("#objects") .. " in the environment already tracked." .. br ..
				"Whenever you come within " .. clro("#range") .. " of a trackable object, it is automatically added to the " .. b("Map") .. colon ..
				list(
					b("Exit Gate Switches"),
					b("Generators"),
					b("Hatch"),
					b("Hooks")) ..
				"Press and hold the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of all " .. i("Tracked Objects") .. " are revealed to you for as long as you continue channelling the " .. b("Map") .. dot) ..
				"The #name slowly depletes while being used and has a maximum Durability of " .. clro("#durability") .. dot
		},
	},
	["Apprentice's Fog Vial"] = {
		{
			version = "9.1.2",
			charges = "2 Charges",
			opacity = "33 %",
			radius = "8 metres",
			expansion = "2 seconds",
			duration = "8 seconds",
			rechargeTime = "70 seconds",
			rarity = 1,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
		{
			version = "9.1.1",
			charges = "unlimited Charges",
			opacity = "33 %",
			radius = "8 metres",
			expansion = "2 seconds",
			duration = "8 seconds",
			rechargeTime = "70 seconds",
			rarity = 1,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
		{
			version = "9.1.0",
			charges = "unlimited Charges",
			opacity = "40 %",
			radius = "8 metres",
			expansion = "2 seconds",
			duration = "8 seconds",
			rechargeTime = "70 seconds",
			rarity = 1,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
		{
			version = "9.1.0 (PTB)",
			charges = "unlimited Charges",
			opacity = "33 %",
			radius = "10 metres",
			expansion = "2 seconds",
			duration = "8 seconds",
			rechargeTime = "70 seconds",
			rarity = 1,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
	},
	["Artisan's Fog Vial"] = {
		{
			version = "9.1.2",
			charges = "2 Charges",
			opacity = "33 %",
			radius = "8 metres",
			expansion = "1.5 seconds",
			duration = "10 seconds",
			rechargeTime = "65 seconds",
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
		{
			version = "9.1.1",
			charges = "unlimited Charges",
			opacity = "33 %",
			radius = "8 metres",
			expansion = "1.5 seconds",
			duration = "10 seconds",
			rechargeTime = "65 seconds",
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
		{
			version = "9.1.0",
			charges = "unlimited Charges",
			opacity = "40 %",
			radius = "8 metres",
			expansion = "1.5 seconds",
			duration = "10 seconds",
			rechargeTime = "65 seconds",
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
		{
			version = "9.1.0 (PTB)",
			charges = "unlimited Charges",
			opacity = "33 %",
			radius = "10 metres",
			expansion = "1.5 seconds",
			duration = "10 seconds",
			rechargeTime = "65 seconds",
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
	},
	-- B Items --
	["Bloodsense Map"] = {
		{
			version = "9.1.0",
			rarity = 8,
			charges = "8 Charges",
			cost = "-1 Charge",
			aura_Vaultables = {"48 metres", "14 seconds"},
			aura_BOL = {"32 metres", "16 seconds"},
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list(
					"The Auras of injured Survivors, " .. b("Pallets") .. ", and " .. b("Windows") .. " within " .. clro("#aura_Vaultables(1)") .. " of your location are revealed to you for " .. clro("#aura_Vaultables(2)") .. dot,
					"Causes " .. i("Pools of Blood") .. " to spawn beneath you while being used.") ..
				"While channelling the " .. b("Map") .. ", press the " .. loadoutStrings.secondaryActionButton .. " at any point before the timer elapses for the following additional effect:" ..
				list(
					"Creates a " .. i("Beam of Light") .. " at your current location that lasts for " .. clro("#aura_BOL(2)") .. dot,
					nbullet .. "The Auras of " .. b("Generators") .. " within " .. clro("#aura_BOL(1)") .. " of it are revealed to all Survivors and highlighted in " .. bclr("red", "red") .. dot) ..
				"The #name consumes " .. clro("#cost") .. " per use."
		},
		{
			version = "7.6.0",
			rarity = 8,
			objects = "3 Objects",
			range = "8 metres",
			durability = "20 seconds",
			desc =
				"Start the Trial with " .. clror("#objects") .. " in the environment already tracked." .. br ..
				"Whenever you come within " .. clro("#range") .. " of a trackable object, it is automatically added to the " .. b("Map") .. colon ..
				list(
					b("Exit Gate Switches"),
					b("Generators"),
					b("Hatch"),
					b("Hooks")) ..
				"Objects revealed by the " .. b("Perk") .. space .. i("Detective's Hunch") .. " are also automatically added to the " .. b("Map") .. ", including the following usually non-trackable objects:" ..
				list(
					b("Chests"),
					b("Totems")) ..
				"Press and hold the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list(
					"The Auras of all " .. i("Tracked Objects") .. " are revealed to you for as long as you continue channelling the " .. b("Map") .. dot,
					"Causes " .. i("Pools of Blood") .. " to spawn beneath you while being used.") ..
				"The #name slowly depletes while being used and has a maximum Durability of " .. clro("#durability") .. dot
		},
	},
	["Broken Key"] = {
		{
			version = "9.1.0",
			charges = "6 Charges",
			auraRange = "48 metres",
			auraDuration = "8 seconds",
			cost = "-1 Charge", 
			rarity = 1,
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("The bow and shank of a key, vibrating with power.") .. nlp ..
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press and hold the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of other Survivors within " .. clro("#auraRange") .. " of your location are revealed to you for " .. clro("#auraDuration") .. dot) ..
				"The #name consumes " .. clro("#cost") .. " per use of its ability."
		},
		{
			version = "1.1.2",
			duration = "10 seconds",
			rarity = 3,
			desc =
				i("The bow and shank of a key, vibrating with remnant power.") .. nlp ..
				"The power of the #name cannot be triggered by itself." .. br ..
            	"Various objects must be attached to its jump ring in the form of " .. b("Add-ons") .. " in order to channel its power." .. nlp ..
            	"Press and hold the " .. loadoutStrings.useItemButton .. " to trigger the " .. i("Mind Channel") .. " ability:" .. 
            	list(
            		"Unlocks its Aura-reading ability for up to " .. clror("#duration") .. dot,
            		nbullet .. "The revealed Auras depend on the attached " .. b("Add-ons") .. dot) ..
            	"The #name cannot be used to open a closed " .. b("Hatch") .. dot
		},
	},
	-- C Items --
	["Cryptic Map"] = {
		{
			version = "9.1.0",
			rarity = 1,
			charges = "4 Charges",
			cost = "-1 Charge",
			aura_Vaultables = {"24 metres", "10 seconds"},
			aura_BOL = {"32 metres", "16 seconds"},
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of " .. b("Pallets") .. " and " .. b("Windows") .. " within " .. clro("#aura_Vaultables(1)") .. " of your location are revealed to you for " .. clro("#aura_Vaultables(2)") .. dot) ..
				"While channelling the " .. b("Map") .. ", press the " .. loadoutStrings.secondaryActionButton .. " at any point before the timer elapses for the following additional effect:" ..
				list(
					"Creates a " .. i("Beam of Light") .. " at your current location that lasts for " .. clro("#aura_BOL(2)") .. dot,
					nbullet .. "The Auras of " .. b("Generators") .. " within " .. clro("#aura_BOL(1)") .. " of it are revealed to all Survivors and highlighted in " .. bclr("red", "red") .. dot) ..
				"The #name consumes " .. clro("#cost") .. " per use."
		},
	},
	-- D Items --
	["Dull Key"] = {
		{
			version = "9.1.0",
			charges = "5 Charges",
			auraRange = "56 metres",
			auraDuration = "9 seconds",
			cost = "-1 Charge", 
			chestAura = "42 metres",
			survivorCount = 1,
			rummageCount = "once",
			hatch = "2.5 seconds", 
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press and hold the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of other Survivors within " .. clro("#auraRange") .. " of your location are revealed to you for " .. clro("#auraDuration") .. dot) ..
				"While standing next to a locked " .. b("Chest") .. ", press the " .. loadoutStrings.useItemButton .. " to quickly open it:" ..
				list(
					"Guarantees an " .. b("Item") .. " of " .. bclr(3, "Rare Rarity") .. " or higher.",
					"The Aura of the " .. b("Chest") .. " is revealed to other Survivors within " .. clro("#chestAura") .. " and highlighted in " .. bclr("yellow", "yellow") .. colon,
					nbullet .. "Grants the ability for " .. clro("#survivorCount") .. " other Survivor to " .. i("Rummage") .. " through that " .. b("Chest") .. space .. clro("#rummageCount") .. dot,
					nbullet .. "Guarantees an " .. b("Item") .. " of " .. bclr(3, "Rare Rarity") .. " or higher.",
					"While performing the " .. i("Rummage") .. " action, the Aura of that Survivor is revealed to the Key holder.") ..
				"While standing next to the closed " .. b("Hatch") .. ", press the " .. loadoutStrings.useItemButton .. " to re-open it:" ..
				list("Takes " .. clro("#hatch") .. " to open.") ..
				"The #name consumes " .. clro("#cost") .. " per use of any one of its abilities."
		},
		{
			version = "5.1.0",
			duration = "5 seconds",
			hatch = "2.5 seconds",
			rarity = 4,
			desc =
				"The power of the #name cannot be triggered by itself." .. br ..
            	"Various objects must be attached to its jump ring in the form of " .. b("Add-ons") .. " in order to channel its power." .. nlp ..
            	"Press and hold the " .. loadoutStrings.useItemButton .. " to trigger the " .. i("Mind Channel") .. " ability:" .. 
            	list(
            		"Unlocks its Aura-reading ability for up to " .. clror("#duration") .. dot,
            		nbullet .. "The revealed Auras depend on the attached " .. b("Add-ons") .. dot) ..
            	"Press the " .. loadoutStrings.useItemButton .. " while standing near a closed " .. b("Hatch") .. " to interact with it:" ..
            	list("Unlocks and opens the " .. b("Hatch") .. " after " .. clro("#hatch") .. dot) ..
            	"Unlocking the " .. b("Hatch") .. " consumes the #name and can only be done if it has not yet been depleted."
		},
		{
			version = "1.1.2",
			duration = "5 seconds",
			rarity = 4,
			desc =
				"The power of the #name cannot be triggered by itself." .. br ..
            	"Various objects must be attached to its jump ring in the form of " .. b("Add-ons") .. " in order to channel its power." .. nlp ..
            	"Press and hold the " .. loadoutStrings.useItemButton .. " to trigger the " .. i("Mind Channel") .. " ability:" .. 
            	list(
            		"Unlocks its Aura-reading ability for up to " .. clror("#duration") .. dot,
            		nbullet .. "The revealed Auras depend on the attached " .. b("Add-ons") .. dot) ..
            	"Press the " .. loadoutStrings.useItemButton .. " while standing near a closed " .. b("Hatch") .. " to interact with it:" ..
            	list("Unlocks and opens the " .. b("Hatch") .. dot) ..
            	"Unlocking the " .. b("Hatch") .. " consumes the #name."
		},
	},
	-- E Items --
	-- F Items --
	-- G Items --
	-- H Items --
	-- I Items --
	-- J Items --
	-- K Items --
	-- L Items --
	-- M Items --
	-- N Items --
	-- O Items --
	-- P Items --
	-- Q Items --
	-- R Items --
	-- S Items --
	["Scribbled Map"] = {
		{
			version = "9.1.0",
			rarity = 2,
			notice = "This Patch also changed the introductory flavour text and renamed the " .. b("Item") .. " from " .. b("Map") .. " to " .. b("Scribbled Map") .. dot,
			charges = "5 Charges",
			cost = "-1 Charge",
			aura_Vaultables = {"32 metres", "12 seconds"},
			aura_BOL = {"32 metres", "16 seconds"},
			desc =
				i("Peering at the parchment, a path appears in your mind." .. br .. "Moments later, you feel lost again.") .. nlp ..
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list(
					"The Auras of injured Survivors, " .. b("Pallets") .. ", and " .. b("Windows") .. " within " .. clro("#aura_Vaultables(1)") .. " of your location are revealed to you for " .. clro("#aura_Vaultables(2)") .. dot,
					"Causes " .. i("Pools of Blood") .. " to spawn beneath you while being used.") ..
				"While channelling the " .. b("Map") .. ", press the " .. loadoutStrings.secondaryActionButton .. " at any point before the timer elapses for the following additional effect:" ..
				list(
					"Creates a " .. i("Beam of Light") .. " at your current location that lasts for " .. clro("#aura_BOL(2)") .. dot,
					nbullet .. "The Auras of " .. b("Generators") .. " within " .. clro("#aura_BOL(1)") .. " of it are revealed to all Survivors and highlighted in " .. bclr("red", "red") .. dot) ..
				"The #name consumes " .. clro("#cost") .. " per use."
		},
		{
			version = "3.5.0",
			rarity = 3,
			objects = 1,
			range = "8 metres",
			durability = "20 seconds",
			desc =
				i("An old piece of parchment made out of a skin-like material that is rolled and sealed with an uncoloured leather string.") .. nlp ..
				"Start the Trial with " .. clror("#objects") .. space .. b("Generator") .. " in the environment already tracked." .. br ..
				"Whenever you come within " .. clro("#range") .. " of a " .. b("Generator") .. ", it is automatically added to the " .. b("Map") .. dot .. br ..
				"Objects revealed by the " .. b("Perk") .. space .. i("Detective's Hunch") .. " are also automatically added to the " .. b("Map") .. ", including the following usually non-trackable objects:" ..
				list(
					b("Chests"),
					b("Totems")) ..
				"Press and hold the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of all " .. i("Tracked Objects") .. " are revealed to you for as long as you continue channelling the " .. b("Map") .. dot) ..
				"The #name slowly depletes while being used and has a maximum Durability of " .. clro("#durability") .. dot
		},
		{
			version = "1.1.2",
			rarity = 3,
			objects = 1,
			range = "8 metres",
			durability = "20 seconds",
			desc =
				"Start the Trial with " .. clror("#objects") .. space .. b("Generator") .. " in the environment already tracked." .. br ..
				"Whenever you come within " .. clro("#range") .. " of a " .. b("Generator") .. ", it is automatically added to the " .. b("Map") .. nlp ..
				"Press and hold the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of all " .. i("Tracked Objects") .. " are revealed to you for as long as you continue channelling the " .. b("Map") .. dot) ..
				"The #name slowly depletes while being used and has a maximum Durability of " .. clro("#durability") .. dot
		},
		{
			version = "1.0.0",
			rarity = 2,
			objects = 1,
			range = "8 metres",
			durability = "20 seconds",
			desc =
				"Start the Trial with " .. clror("#objects") .. space .. b("Generator") .. " in the environment already tracked." .. br ..
				"Whenever you come within " .. clro("#range") .. " of a " .. b("Generator") .. ", it is automatically added to the " .. b("Map") .. nlp ..
				"Press and hold the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of all " .. i("Tracked Objects") .. " are revealed to you for as long as you continue channelling the " .. b("Map") .. dot) ..
				"The #name slowly depletes while being used and has a maximum Durability of " .. clro("#durability") .. dot
		},
	},
	["Skeleton Key"] = {
		{
			version = "9.1.0",
			charges = "6 Charges",
			auraRange = "64 metres",
			auraDuration = "10 seconds",
			cost = "-1 Charge", 
			chestAura = "42 metres",
			survivorCount = 1,
			rummageCount = "once",
			hatch = "2.5 seconds", 
			rarity = 3,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press and hold the " .. loadoutStrings.useItemButton .. " to channel the #name:" ..
				list("The Auras of other Survivors within " .. clro("#auraRange") .. " of your location are revealed to you for " .. clro("#auraDuration") .. dot) ..
				"While standing next to a locked " .. b("Chest") .. ", press the " .. loadoutStrings.useItemButton .. " to quickly open it:" ..
				list(
					"Guarantees an " .. b("Item") .. " of " .. bclr(3, "Rare Rarity") .. " or higher.",
					"The Aura of the " .. b("Chest") .. " is revealed to other Survivors within " .. clro("#chestAura") .. " and highlighted in " .. bclr("yellow", "yellow") .. colon,
					nbullet .. "Grants the ability for " .. clro("#survivorCount") .. " other Survivor to " .. i("Rummage") .. " through that " .. b("Chest") .. space .. clro("#rummageCount") .. dot,
					nbullet .. "Guarantees an " .. b("Item") .. " of " .. bclr(3, "Rare Rarity") .. " or higher.",
					"While performing the " .. i("Rummage") .. " action, the Aura of that Survivor is revealed to the Key holder.") ..
				"While standing next to the closed " .. b("Hatch") .. ", press the " .. loadoutStrings.useItemButton .. " to re-open it:" ..
				list("Takes " .. clro("#hatch") .. " to open.") ..
				"The #name consumes " .. clro("#cost") .. " per use of any one of its abilities."
		},
		{
			version = "5.1.0",
			duration = "30 seconds",
			hatch = "2.5 seconds",
			rarity = 5,
			desc =
				"The power of the #name cannot be triggered by itself." .. br ..
            	"Various objects must be attached to its jump ring in the form of " .. b("Add-ons") .. " in order to channel its power." .. nlp ..
            	"Press and hold the " .. loadoutStrings.useItemButton .. " to trigger the " .. i("Mind Channel") .. " ability:" .. 
            	list(
            		"Unlocks its Aura-reading ability for up to " .. clror("#duration") .. dot,
            		nbullet .. "The revealed Auras depend on the attached " .. b("Add-ons") .. dot) ..
            	"Press the " .. loadoutStrings.useItemButton .. " while standing near a closed " .. b("Hatch") .. " to interact with it:" ..
            	list("Unlocks and opens the " .. b("Hatch") .. " after " .. clro("#hatch") .. dot) ..
            	"Unlocking the " .. b("Hatch") .. " consumes the #name and can only be done if it has not yet been depleted."
		},
		{
			version = "1.0.0",
			duration = "30 seconds",
			rarity = 5,
			desc =
				"The power of the #name cannot be triggered by itself." .. br ..
            	"Various objects must be attached to its jump ring in the form of " .. b("Add-ons") .. " in order to channel its power." .. nlp ..
            	"Press and hold the " .. loadoutStrings.useItemButton .. " to trigger the " .. i("Mind Channel") .. " ability:" .. 
            	list(
            		"Unlocks its Aura-reading ability for up to " .. clror("#duration") .. dot,
            		nbullet .. "The revealed Auras depend on the attached " .. b("Add-ons") .. dot) ..
            	"Press the " .. loadoutStrings.useItemButton .. " while standing near a closed " .. b("Hatch") .. " to interact with it:" ..
            	list("Unlocks and opens the " .. b("Hatch") .. dot) ..
            	"Unlocking the " .. b("Hatch") .. " consumes the #name."
		},
	},
	-- T Items --
	["Toolbox"] = {
		{
			version = "8.0.0",
			charges = "20 Charges",
			repair = "+50 %",
			sabotage = "+15 %",
			rarity = 2,
			desc =
				"Metal box containing a set of basic tools." .. br ..
            	"Even without training, can be used to repair or break various mechanical components." ..
            	list(
					clror("#charges") .. dot,
					b("Increases") .. " the Repair speed by " .. clro("#repair") .. dot,
					"Unlocks the Sabotage action.",
					b("Increases") .. " the Sabotage speed by " .. clro("#sabotage") .. dot)
		},
		{
			version = "3.6.1", -- Patch Unknown, no digits confirmed
			displayVersion = "Unknown",
			charges = "20 Charges",
			repair = "+50 %",
			sabotage = "+10 %",
			rarity = 2,
			desc =
				"Metal box containing a set of basic tools." .. br ..
            	"Even without training, can be used to repair or break various mechanical components." ..
            	list(
					clror("#charges") .. dot,
					b("Increases") .. " the Repair speed by " .. clro("#repair") .. dot,
					"Unlocks the Sabotage action.",
					b("Increases") .. " the Sabotage speed by " .. clro("#sabotage") .. dot)
		},
		{
			version = "3.6.0",
			charges = "20 Charges",
			repair = "+30 %",
			sabotage = "+15 %",
			rarity = 2,
			desc =
				"Metal box containing a set of basic tools." .. br ..
            	"Even without training, can be used to repair or break various mechanical components." ..
            	list(
					clror("#charges") .. dot,
					b("Increases") .. " the Repair speed by " .. clro("#repair") .. dot,
					"Unlocks the Sabotage action.",
					b("Increases") .. " the Sabotage speed by " .. clro("#sabotage") .. dot)
		},
		{
			version = "1.1.2",
			charges = "130 Charges",
			repair = "+15 %",
			rarity = 2,
			desc =
				"Metal box containing a set of basic tools." .. br ..
            	"Even without training, can be used to repair or break various mechanical components." ..
            	list(
					clror("#charges") .. dot,
					b("Increases") .. " the Repair speed by " .. clro("#repair") .. dot,
					"Unlocks the Sabotage action.")
		},
		{
			version = "1.0.0",
			charges = "130 Charges",
			repair = "+15 %",
			rarity = 3,
			desc =
				"Metal box containing a set of basic tools." .. br ..
            	"Even without training, can be used to repair or break various mechanical components." ..
            	list(
					clror("#charges") .. dot,
					b("Increases") .. " the Repair speed by " .. clro("#repair") .. dot,
					"Unlocks the Sabotage action.")
		},
	},
	-- U Items --
	-- V Items --
	["Vigo's Fog Vial"] = {
		{
			version = "9.1.2",
			charges = "2 Charges",
			opacity = "33 %",
			radius = "8 metres",
			expansion = "1.2 seconds",
			duration = "12 seconds",
			rechargeTime = "60 seconds",
			rarity = 3,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
		{
			version = "9.1.1",
			charges = "unlimited Charges",
			opacity = "33 %",
			radius = "8 metres",
			expansion = "1.2 seconds",
			duration = "12 seconds",
			rechargeTime = "60 seconds",
			rarity = 3,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
		{
			version = "9.1.0",
			charges = "unlimited Charges",
			opacity = "40 %",
			radius = "8 metres",
			expansion = "1.2 seconds",
			duration = "12 seconds",
			rechargeTime = "60 seconds",
			rarity = 3,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
		{
			version = "9.1.0 (PTB)",
			charges = "unlimited Charges",
			opacity = "33 %",
			radius = "10 metres",
			expansion = "1.2 seconds",
			duration = "12 seconds",
			rechargeTime = "60 seconds",
			rarity = 3,
			desc =
				"Start the Trial with " .. clror("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to release a concentrated " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to a maximum size of " .. clro("#radius") .. " over " .. clro("#expansion") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds within its " .. i("Area of Effect") .. colon,
					nbullet .. "Has an opacity of " .. clro("#opacity") .. dot,
					nbullet .. b("Suppresses") .. " Auras and " .. i("Scratch Marks") .. dot) ..
				"#name takes " .. clro("#rechargeTime") .. " to recharge after use."
		},
	},
	["Void Crystal"] = {
		{
			version = "9.2.2",
			displayVersion = "2025",
			rarity = 11,
			voidEnergyCost = "70 Void Energy",
			charges = "1 Charge",
			size = {"4 metres", "1 second"},
			duration = "8 seconds",
			repair = {"0.8 %/s", "30 seconds"},
			scratchMarks = "2–6 metres", 
			desc =
				loadoutStrings.limitedHeader .. nlp ..
				"Can be retrieved from the " .. b("Void Well") .. " in exchange for " .. clror("#voidEnergyCost") .. " and has " .. clro("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to shatter the #name at your feet and release a thick " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to its maximum size of " .. clro("#size(1)") .. " over " .. clro("#size(2)") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds for all Players within its " .. i("Area of Effect") .. dot,
					"Grants special benefits to its user:",
					nbullet .. "Grants them full invisibility while inside the " .. i("Fog Cloud") .. " and their own Aura is revealed to them, highlighted in " .. bclr("white", "white") .. dot,
					nbullet .. b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " while within " .. clro("#scratchMarks") .. " of the centre of the " .. i("Fog Cloud") .. dot) ..
				"Press the " .. loadoutStrings.useItemButton .. " while standing next to an incomplete " .. b("Generator") .. " to lay the #name atop of it:" ..
				list(
					"Automatically repairs the " .. b("Generator") .. " at a rate of " .. clro("#repair(1)") .. " for a maximum of " .. clro("#repair(2)") .. dot,
					nbullet .. "This disables the ability to manually repair that " .. b("Generator") .. " while active.",
					nbullet .. "The Killer can stop the auto-repair prematurely by damaging that " .. b("Generator") .. ", which destroys the #name.") ..
				"The #name is only available during " .. i("Halloween Events") .. dot .. nlp ..
				loadoutStrings.limitedFooter
		},
		{
			version = "8.3.1",
			displayVersion = "2024",
			rarity = 11,
			voidEnergyCost = "70 Void Energy",
			charges = "1 Charge",
			size = {"4 metres", "1 second"},
			duration = "8 seconds",
			scratchMarks = "2–6 metres", 
			desc =
				loadoutStrings.limitedHeader .. nlp ..
				"Can be retrieved from the " .. b("Void Well") .. " in exchange for " .. clror("#voidEnergyCost") .. " and has " .. clro("#charges") .. dot .. br ..
				"Press the " .. loadoutStrings.useItemButton .. " to shatter the #name at your feet and release a thick " .. i("Fog Cloud") .. colon ..
				list(
					"Expands to its maximum size of " .. clro("#size(1)") .. " over " .. clro("#size(2)") .. dot,
					"Lasts for " .. clro("#duration") .. dot,
					"Obscures visibility and sounds for all Players within its " .. i("Area of Effect") .. dot,
					"Grants special benefits to its user:",
					nbullet .. "Grants them full invisibility while inside the " .. i("Fog Cloud") .. " and their own Aura is revealed to them, highlighted in " .. bclr("white", "white") .. dot,
					nbullet .. b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " while within " .. clro("#scratchMarks") .. " of the centre of the " .. i("Fog Cloud") .. dot) ..
				"The #name is only available during " .. i("Halloween Events") .. dot .. nlp ..
				loadoutStrings.limitedFooter
		},
	},
	-- W Items --
	-- X Items --
	-- Y Items --
	-- Z Items --
}

---------------------------------------------     ██████╗ ███████╗███████╗███████╗██████╗ ██╗███╗   ██╗ ██████╗ ███████╗    ---------------------------------------------
---------------------------------------------    ██╔═══██╗██╔════╝██╔════╝██╔════╝██╔══██╗██║████╗  ██║██╔════╝ ██╔════╝    ---------------------------------------------
---------------------------------------------    ██║   ██║█████╗  █████╗  █████╗  ██████╔╝██║██╔██╗ ██║██║  ███╗███████╗    ---------------------------------------------
---------------------------------------------    ██║   ██║██╔══╝  ██╔══╝  ██╔══╝  ██╔══██╗██║██║╚██╗██║██║   ██║╚════██║    ---------------------------------------------
---------------------------------------------    ╚██████╔╝██║     ██║     ███████╗██║  ██║██║██║ ╚████║╚██████╔╝███████║    ---------------------------------------------
---------------------------------------------     ╚═════╝ ╚═╝     ╚═╝     ╚══════╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝ ╚═════╝ ╚══════╝    ---------------------------------------------

p.offeringDescriptionsHistory = {
	-- A Offerings --
	["Airlock Doors"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			map = "Nostromo Wreckage",
			realm = "Dvarka Deepwood",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to the " .. i("#map") .. " Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "7.2.0",
			effect = 9999,
			map = "Nostromo Wreckage",
			realm = "Dvarka Deepwood",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to the " .. i("#map") .. " Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Alien Flora"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			map = "Toba Landing",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to the " .. i("#map") .. " Map in the " .. i("Dvarka Deepwood") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "7.0.0",
			effect = 9999,
			map = "Toba Landing",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to the " .. i("#map") .. " Map in the " .. i("Dvarka Deepwood") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Arcane Dousing Rod"] =
	{
		{
			version = "8.3.0",
			displayVersion = "2024–2025",
			rarity = 8,
			bonus = "+100 %",
			desc =
				"Modifies all Event-related " .. b("Score Events") .. " with the following effect:" ..
				list(b("Increases") .. " the amount of " .. b("Bloodpoints") .. " they award by " .. clror("#bonus") .. dot) ..
				"#name is only available during the " .. i("Haunted by Daylight") .. " Halloween Event and can only be used in Trials of the Event Queue."
		},
		{
			version = "6.3.0",
			displayVersion = "2022–2023",
			rarity = 8,
			bonus = "+100 %",
			range = "24 metres",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effects:" ..
				list(
					b("Increases") .. " the amount of " .. b("Bloodpoints") .. " awarded by Event-related " .. b("Score Events") .. " by " .. clror("#bonus") .. dot,
					"Provides a directional auditory cue when within " .. clro("#range") .. " of an " .. b("Unstable Rift") .. " stabilising.") ..
				"#name is only available during the " .. i("Haunted by Daylight") .. " Halloween Event."
		},
	},
	["Ardent Raven Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+100 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Deviousness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+75 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Deviousness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Ardent Shrike Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+100 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Sacrifice " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+75 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Sacrifice " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Ardent Spotted Owl Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+100 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Hunter " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+75 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Hunter " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Ardent Tanager Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+100 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Brutality " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+75 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Brutality " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Azarov's Key"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Autohaven Wreckers",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "1.1.2",
			effect = 9999,
			realm = "Autohaven Wreckers",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			effect = 9999,
			realm = "Autohaven Wreckers",
			rarity = 4,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- B Offerings --
	["Beef Tallow Mixture"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "The Decimated Borgo",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "6.4.0",
			effect = 9999,
			realm = "The Decimated Borgo",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Black Salt Statuette"] =
	{
		{
			version = "9.0.0",
			effect = "+2 %",
			rarity = 3,
			desc =
				"Unlocks the ability to attempt " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. " for all Survivors:" ..
				list(b("Increases") .. " the " .. iconLink("Luck") .. " at succeeding them by " .. clror("#effect") .. " for all Survivors.")
		},
		{
			version = "1.8.3",
			effect = "+2 %",
			rarity = 3,
			desc =
				b("Increases") .. " the " .. b("Luck") .. " at succeeding them by " .. clror("#effect") .. " for all Survivors."
		},
		{
			version = "1.8.2",
			effect = "+2 %",
			rarity = 4,
			desc =
				b("Increases") .. " the " .. b("Luck") .. " at succeeding them by " .. clror("#effect") .. " for all Survivors."
		},
		{
			version = "1.1.2",
			effect = "+2 %",
			rarity = 3,
			desc =
				b("Increases") .. " the " .. b("Luck") .. " at succeeding them by " .. clror("#effect") .. " for all Survivors."
		},
	},
	["Bloodshot Eye"] =
	{
		{
			version = "8.6.0",
			rarity = 8,
			desc =
				list(b("Doubles") .. " all Bloodpoints awarded for triggering " .. i("Score Events") .. " related to the Event.") ..
				loadoutStrings.bonusBPDuringTrial .. nlp ..
				"#name is only available during " .. i("Spring Events") .. dot
		},
		{
			version = "7.6.0",
			auraDuration = "+40 seconds",
			protectionDuration = "+15 seconds",
			actionSpeed = "+50 %",
			rarity = 8,
			desc =
				list(
					b("Increases") .. " the Aura-reveal duration of " .. b("Fragile Blood Basins") .. " at the start of the Trial by " .. clror("#auraDuration") .. dot,
					b("Increases") .. " the Protection duration of " .. i("Blood Zones") .. " after their creation by " .. clro("#protectionDuration") .. dot,
					b("Increases") .. " the Action speeds for Creating and Removing " .. i("Blood Zones") .. " by " .. clro("#actionSpeed") .. dot) ..
				"#name is only available during " .. i("Spring Events") .. dot
		},
	},
	["Bloody Party Streamers"] =
	{
		{
			version = "1.8.2",
			bonus = "+100 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in all " .. i("Scoring Categories") .. " to all Players." ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.5.2b",
			bonus = "+100 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in all " .. i("Scoring Categories") .. " to all Players." ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Bog Laurel Sachet"] =
	{
		{
			version = "1.9.4",
			bonus = "+50 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Objectives " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Objectives " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Bound Envelope"] =
	{
		{
			version = "1.9.4",
			bonus = "+25 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in all " .. i("Scoring Categories") .. " to all Survivors." ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.1.2",
			bonus = "+15 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in all " .. i("Scoring Categories") .. " to all Survivors." ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	-- C Offerings --
	["Cattle Tag 28"] =
	{
		{
			version = "1.0.0",
			effect = 2,
			realm = "Coldwind Farm",
			rarity = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Cattle Tag 81"] =
	{
		{
			version = "1.0.0",
			effect = 5,
			realm = "Coldwind Farm",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Chalk Pouch"] =
	{
		{
			version = "9.0.0",
			effect = "+1 %",
			rarity = 1,
			desc =
				"Unlocks the ability to attempt " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. colon ..
				list(b("Increases") .. " your personal " .. iconLink("Luck") .. " at succeeding them by " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			effect = "+1 %",
			rarity = 1,
			desc =
				b("Increases") .. " your personal " .. b("Luck") .. " at succeeding " .. i("Self-Unhook") .. " attempts by " .. clror("#effect") .. dot
		},
	},
	["Charred Wedding Photograph"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Crotus Prenn Asylum",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "1.1.2",
			effect = 9999,
			realm = "Crotus Prenn Asylum",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
		{
			version = "1.1.0",
			effect = 9999,
			realm = "Crotus Prenn Asylum",
			rarity = 4,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Children's Book"] =
	{
		{
			version = "1.6.0",
			effect = 5,
			realm = "Red Forest",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Coconut Scream Pie"] =
	{
		{
			version = "9.0.0",
			percentage = "+109 %",
			aura = "16 metres",
			rarity = 8,
			desc =
				"All Players benefit from the following primary effect:" ..
				list(
					"Grants " .. clror("#percentage") .. " bonus Bloodpoints in all " .. i("Scoring Categories") .. dot,
					nbullet .. loadoutStrings.bonusBPAfterTrial) ..
				"Additionally, you benefit from the following secondary effect:" ..
				list("The Aura of the " .. b("Invitation Pillar") .. " is revealed to you within " .. clro("#aura") .. dot)
		},
	},
	["Cream Chalk Pouch"] =
	{
		{
			version = "9.0.0",
			effect = "+2 %",
			rarity = 2,
			desc =
				"Unlocks the ability to attempt " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. colon ..
				list(b("Increases") .. " your personal " .. iconLink("Luck") .. " at succeeding them by " .. clror("#effect") .. dot)
		},
		{
			version = "1.1.2",
			effect = "+2 %",
			rarity = 2,
			desc =
				b("Increases") .. " your personal " .. b("Luck") .. " at succeeding " .. i("Self-Unhook") .. " attempts by " .. clror("#effect") .. dot
		},
	},
	["Crispleaf Amaranth"] =
	{
		{
			version = "1.9.4",
			bonus = "+50 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Survival " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Survival " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Crow's Eye"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Forsaken Boneyard",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "5.4.0",
			effect = 9999,
			realm = "Forsaken Boneyard",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- D Offerings --
	["Damaged Photo"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Ormond",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "2.4.0",
			effect = 9999,
			realm = "Ormond",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Decrepit Clapboard"] =
	{
		{
			version = "1.2.1",
			effect = 5,
			realm = "Haddonfield",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Devout Raven Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+75 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Deviousness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+50 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Deviousness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Devout Shrike Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+75 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Sacrifice " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+50 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Sacrifice " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Devout Spotted Owl Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+75 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Hunter " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+50 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Hunter " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Devout Tanager Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+75 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Brutality " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+50 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Brutality " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	-- E Offerings --
	["Ebony Memento Mori"] =
	{
		{
			version = "4.4.1",
			rarity = 5,
			hookStageCount = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("Grants the ability to kill " .. clror("all Survivors") .. " with " .. clro("#hookStageCount") .. space .. i("Hook Stages") .. " once they are in the Dying State.")
		},
		{
			version = "1.5.3",
			rarity = 5,
			hookStageCount = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("Grants the ability to kill " .. clror("all Survivors") .. " with " .. clro("#hookStageCount") .. space .. i("Hook Stage") .. " once they are in the Dying State.")
		},
		{
			version = "1.0.0",
			rarity = 5,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("Grants the ability to kill " .. clror("all Survivors") .. " once they are in the Dying State.")
		},
	},
	["Emergency Certificate"] =
	{
		{
			version = "1.5.1",
			effect = 2,
			realm = "Léry's Memorial Institute",
			rarity = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- F Offerings --
	["Fragrant Bog Laurel"] =
	{
		{
			version = "1.9.4",
			bonus = "+100 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Objectives " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+75 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Objectives " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Fragrant Crispleaf Amaranth"] =
	{
		{
			version = "1.9.4",
			bonus = "+100 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Survival " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+75 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Survival " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Fragrant Primrose Blossom"] =
	{
		{
			version = "1.9.4",
			bonus = "+100 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Altruism " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+75 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Altruism " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Fragrant Sweet William"] =
	{
		{
			version = "1.9.4",
			bonus = "+100 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Boldness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+75 %",
			rarity = 3,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Boldness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Fresh Bog Laurel"] =
	{
		{
			version = "1.9.4",
			bonus = "+75 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Objectives " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+50 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Objectives " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Fresh Crispleaf Amaranth"] =
	{
		{
			version = "1.9.4",
			bonus = "+75 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Survival " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+50 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Survival " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Fresh Primrose Blossom"] =
	{
		{
			version = "1.9.4",
			bonus = "+75 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Altruism " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+50 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Altruism " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Fresh Sweet William"] =
	{
		{
			version = "1.9.4",
			bonus = "+75 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Boldness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+50 %",
			rarity = 2,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Boldness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Fuming Cordage"] =
	{
		{
			version = "1.3.1",
			effect = 2,
			realm = "Backwater Swamp",
			rarity = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Fuming Welcome Sign"] =
	{
		{
			version = "1.3.1",
			effect = 5,
			realm = "Backwater Swamp",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- G Offerings --
	["Grandma's Cookbook"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Backwater Swamp",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "1.3.1",
			effect = 9999,
			realm = "Backwater Swamp",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- H Offerings --
	["Harvest Festival Leaflet"] =
	{
		{
			version = "1.2.1",
			effect = 2,
			realm = "Haddonfield",
			rarity = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Hawkins National Laboratory ID"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Hawkins National Laboratory",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "3.2.0",
			effect = 9999,
			realm = "Hawkins National Laboratory",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Heart Locket"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Coldwind Farm",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "1.1.2",
			effect = 9999,
			realm = "Coldwind Farm",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			effect = 9999,
			realm = "Coldwind Farm",
			rarity = 4,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- I Offerings --
	["Ichorous Loam"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Withered Isle",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "6.0.0",
			effect = 9999,
			realm = "Withered Isle",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Ivory Chalk Pouch"] =
	{
		{
			version = "9.0.0",
			effect = "+3 %",
			rarity = 3,
			desc =
				"Unlocks the ability to attempt " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. colon ..
				list(b("Increases") .. " your personal " .. iconLink("Luck") .. " at succeeding them by " .. clror("#effect") .. dot)
		},
		{
			version = "1.1.2",
			effect = "+3 %",
			rarity = 3,
			desc =
				b("Increases") .. " your personal " .. b("Luck") .. " at succeeding " .. i("Self-Unhook") .. " attempts by " .. clror("#effect") .. dot
		},
	},
	["Ivory Memento Mori"] =
	{
		{
			version = "4.4.1",
			rarity = 3,
			hookStageCount = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("Grants the ability to kill " .. clror("one Survivor") .. " with " .. clro("#hookStageCount") .. space .. i("Hook Stages") .. " once they are in the Dying State.")
		},
		{
			version = "1.5.3",
			rarity = 3,
			hookStageCount = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("Grants the ability to kill " .. clror("one Survivor") .. " with " .. clro("#hookStageCount") .. space .. i("Hook Stage") .. " once they are in the Dying State.")
		},
		{
			version = "1.0.0",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("Grants the ability to kill " .. clror("one Survivor") .. " once they are in the Dying State.")
		},
	},
	-- J Offerings --
	["Jigsaw Piece"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Gideon Meat Plant",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "1.9.0",
			effect = 9999,
			realm = "Gideon Meat Plant",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- K Offerings --
	-- L Offerings --
	["Lunacy Ticket"] =
	{
		{
			version = "1.1.0",
			effect = 2,
			realm = "Crotus Prenn Asylum",
			rarity = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- M Offerings --
	["MacMillan Ledger Page"] =
	{
		{
			version = "1.0.0",
			effect = 2,
			realm = "The MacMillan Estate",
			rarity = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["MacMillan's Phalanx Bone"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "The MacMillan Estate",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "1.1.2",
			effect = 9999,
			realm = "The MacMillan Estate",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			effect = 9999,
			realm = "The MacMillan Estate",
			rarity = 4,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Mistle Toes"] = {
			{
				version = "9.3.2",
				rarity = 8,
				desc =
				"If you see these things hanging over you, the last thing you'll want is a kiss." .. nlp ..
				"Calls upon The " .. iconLink(ils.entity) .. " for the following effects:" ..
				list(
					"Start the Trial with " .. clror(12) .. space .. b("Snowskulls") .. dot,
					"Reduces the number of " .. b("Snowskulls") .. " required to charge an " .. b("Icy Snowskull") .. " by " .. clro(-1) .. dot,
					b("Doubles") .. " all Bloodpoints awarded for triggering " .. i(link("Score Events")) .. " related to the Event.",
					b("Increases") .. " the number of " .. iconLink(ils.chests) .. " in the environment by " .. clro("+1") .. dot) ..
				loadoutStrings.bonusBPDuringTrial .. nlp ..
				"#name is only available during the " .. i("Bone Chill") .. " Winter Event."
			},
			{
				version = "8.4.2",
				rarity = 8,
				desc =
				"If you see these things hanging over you, the last thing you'll want is a kiss." .. nlp ..
				"Calls upon The " .. iconLink(ils.entity) .. " for the following effects:" ..
				list(
					"Start the Trial with " .. clror(6) .. space .. b("Snowskulls") .. dot,
					b("Doubles") .. " all Bloodpoints awarded for triggering " .. i(link("Score Events")) .. " related to the Event.",
					b("Increases") .. " the number of " .. iconLink(ils.chests) .. " in the environment by " .. clro("+1") .. dot) ..
				loadoutStrings.bonusBPDuringTrial .. nlp ..
				"#name is only available during the " .. i("Bone Chill") .. " Winter Event."
			}
	},
	-- N Offerings --
	-- O Offerings --
	-- P Offerings --
	["P. Elliott Lunacy Ticket"] =
	{
		{
			version = "1.1.0",
			effect = 5,
			realm = "Crotus Prenn Asylum",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Painted River Rock"] =
	{
		{
			version = "1.6.0",
			effect = 2,
			realm = "Red Forest",
			rarity = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Petrified Oak"] =
	{
		{
			version = "3.0.0", -- Patch Unknown, only first digit (3) confirmed
			displayVersion = "3.X.X",
			rarity = 4,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the minimum distance between Spawn locations for " .. b("Hooks") .. " by " .. clror("+1 metre") .. dot)
		},
	{
			version = "2.5.0",
			rarity = 4,
			icon = "Petrified Oak (Old Icon)",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the minimum distance between Spawn locations for " .. b("Hooks") .. " by " .. clror("+1 metre") .. dot)
		},
		{
			version = "1.8.2",
			rarity = 4,
			icon = "Petrified Oak (Old Icon)",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Reduces") .. " the number of " .. b("Hooks") .. " in the environment by " .. clror("-1") .. dot)
		},
		{
			version = "1.0.0",
			rarity = 3,
			icon = "Petrified Oak (Old Icon)",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Reduces") .. " the number of " .. b("Hooks") .. " in the environment by " .. clror("-1") .. dot)
		},
	},
	["Primrose Blossom Sachet"] =
	{
		{
			version = "1.9.4",
			bonus = "+50 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Altruism " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Altruism " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Psychiatric Assessment Report"] =
	{
		{
			version = "1.5.1",
			effect = 5,
			realm = "Léry's Memorial Institute",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Pustula Petals"] =
	{
		{
			version = "4.3.0",
			hooks = "+1",
			generators = "+1",
			rarity = 8,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effects:" ..
				list(
					b("Increases") .. " the number of " .. b("Blighted Hooks") .. " in the environment by " .. clror("#hooks") .. dot,
					b("Increases") .. " the number of " .. b("Blighted Generators") .. " in the environment by " .. clro("#generators") .. dot,
					"Grants bonus Bloodpoints for hooking Survivors for the first time onto a " .. b("Blighted Hook") .. dot,
					"Grants bonus Bloodpoints for repairing a " .. b("Blighted Generator") .. dot) ..
				loadoutStrings.bonusBPDuringTrial .. nlp ..
				"#name was only available during the " .. i("The Eternal Blight") .. " 2020 Halloween Event."
		},
		{
			version = "3.2.1",
			hooks = "+1",
			generators = "+1",
			rarity = 8,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effects:" ..
				list(
					b("Increases") .. " the number of " .. b("Cankerous Hooks") .. " in the environment by " .. clror("#hooks") .. dot,
					b("Increases") .. " the number of " .. b("Cankerous Generators") .. " in the environment by " .. clro("#generators") .. dot,
					"Grants bonus Bloodpoints for hooking Survivors for the first time onto a " .. b("Cankerous Hook") .. dot,
					"Grants bonus Bloodpoints for repairing a " .. b("Cankerous Generator") .. dot) ..
				loadoutStrings.bonusBPDuringTrial .. nlp ..
				"#name was only available during the " .. i("The Withering Blight") .. " 2019 Halloween Event."
		},
		{
			version = "2.3.0",
			hooks = "+1",
			cankers = "+1",
			rarity = 8,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effects:" ..
				list(
					b("Increases") .. " the number of " .. b("Cankerous Hooks") .. " in the environment by " .. clror("#hooks") .. dot,
					b("Increases") .. " the number of " .. b("Visceral Cankers") .. " in the environment by " .. clro("#cankers") .. dot) ..
				"Grants the ability to harvest " .. i("Putrid Nectar") .. " and filling your " .. i("Nectar Vial") .. " from the following interactions:" ..
				list(
					"Hooking Survivors for the first time onto a " .. b("Cankerous Hook") .. dot,
					"Harvesting " .. b("Visceral Cankers") .. dot) ..
				"Filling the " .. i("Nectar Vial") .. " grants " .. clro(1) .. space .. b("Putrid Serum") .. dot .. nlp ..
				"#name was only available during the " .. i("The Hallowed Blight") .. " 2018 Halloween Event."
		},
	},
	-- Q Offerings --
	-- R Offerings --
	["Raven Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+50 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Deviousness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Deviousness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["RPD Badge"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Raccoon City",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "5.0.0",
			effect = 9999,
			realm = "Raccoon City",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- S Offerings --
	["Sacrificial Ward"] =
	{
		{
			version = "8.4.0",
			rarity = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("Causes all Realm or Map Selection " .. i("Offerings") .. " burnt by other Players to be rejected.") ..
				"#name is trumped only when all other Players burn the identical Realm or Map Selection Offering."
		},
		{
			version = "4.2.0",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("Causes all Realm or Map Selection " .. i("Offerings") .. " burnt by other Players to be rejected.") ..
				"#name is trumped only when all other Players burn the identical Realm or Map Selection Offering."
		},
	},
	["Salt Pouch"] =
	{
		{
			version = "9.0.0",
			effect = "+1 %",
			rarity = 2,
			desc =
				"Unlocks the ability to attempt " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. " for all Survivors:" ..
				list(b("Increases") .. " the " .. iconLink("Luck") .. " at succeeding them by " .. clror("#effect") .. " for all Survivors.")
		},
		{
			version = "1.1.2",
			effect = "+1 %",
			rarity = 2,
			desc =
				b("Increases") .. " the " .. b("Luck") .. " at succeeding them by " .. clror("#effect") .. " for all Survivors."
		},
	},
	["Shattered Bottle"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Grave of Glenvale",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "6.5.0",
			effect = 9999,
			realm = "Grave of Glenvale",
			notice = "This Patch also updated the flavour text.",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot) ..
				i("Ain't much for holding a drink no more, but it can sure make a mess of a fella's throat.")
		},
		{
			version = "3.6.0",
			effect = 9999,
			realm = "Grave of Glenvale",
			icon = "Dusty Noose",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot) ..
				i("Ask anyone trying to survive on this damn dust-choked land and they will tell you what a noose really is — a damn mercy.")
		},
	},
	["Shattered Glasses"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Léry's Memorial Institute",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "1.5.1",
			effect = 9999,
			realm = "Léry's Memorial Institute",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Shredded Plate"] =
	{
		{
			version = "1.0.0",
			effect = 2,
			realm = "Autohaven Wreckers",
			rarity = 1,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Shrike Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+50 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Sacrifice " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
		{
			version = "1.0.0",
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Sacrifice " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Shroud of Separation"] =
	{
		{
			version = "9.0.0",
			rarity = 4,
			notice = "This Patch also updated the flavour text.",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("All Survivors start the Trial separated from one another.") ..
				i("A thin black shroud which is falling apart.")
		},
		{
			version = "1.8.2",
			rarity = 4,
			icon = "Shroud of Binding",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("All Survivors start the Trial together.")
		},
		{
			version = "1.0.0",
			rarity = 3,
			icon = "Shroud of Binding",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("All Survivors start the Trial together.") ..
				i("A square and washed out piece of fabric with small knots on each end.")
		},
	},
	["Shroud of Union"] =
	{
		{
			version = "9.0.0",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("You start the Trial together with someone else.")
		},
		{
			version = "1.0.0",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					"You start the Trial together with someone else.",
					nbullet .. "This effect also applies to the other two remaining Survivors.")
		},
	},
	["Shroud of Vanishing"] =
	{
		{
			version = "9.0.0",
			rarity = 2,
			notice = "This Patch also updated the flavour text.",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Nullifies") .. " any other " .. b("Shroud Offerings") .. " that would change the starting locations of the Survivors.") ..
				i("In an instant, their power was lost.")
		},
		{
			version = "1.8.2",
			rarity = 2,
			icon = "Shroud of Separation",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("All Survivors start the Trial separated from one another.")
		},
		{
			version = "1.0.0",
			rarity = 3,
			icon = "Shroud of Separation",
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list("All Survivors start the Trial separated from one another.") ..
				i("A thin black shroud which is falling apart.")
		},
	},
	["Signed Ledger Page"] =
	{
		{
			version = "1.0.0",
			effect = 5,
			realm = "The MacMillan Estate",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Spotted Owl Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+50 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Hunter " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Hunter " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["Strode Realty Key"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Haddonfield",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "1.2.1",
			effect = 9999,
			realm = "Haddonfield",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	["Sweet William Sachet"] =
	{
		{
			version = "1.9.4",
			bonus = "+50 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Boldness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Boldness " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	-- T Offerings --
	["Tanager Wreath"] =
	{
		{
			version = "1.9.4",
			bonus = "+50 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Brutality " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	{
			version = "1.0.0",
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Grants " .. clror("#bonus") .. " bonus Bloodpoints in the Brutality " .. i("Scoring Category") .. dot ..
				list(loadoutStrings.bonusBPAfterTrial)
		},
	},
	["The Last Mask"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Red Forest",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "1.6.0",
			effect = 9999,
			realm = "Red Forest",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- U Offerings --
	-- V Offerings --
	["Vigo's Jar of Salty Lips"] =
	{
		{
			version = "9.0.0",
			effect = "+3 %",
			rarity = 4,
			desc =
				"Unlocks the ability to attempt " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. " for all Survivors:" ..
				list(b("Increases") .. " the " .. iconLink("Luck") .. " at succeeding them by " .. clror("#effect") .. " for all Survivors.")
		},
		{
			version = "1.1.2",
			effect = "+3 %",
			rarity = 4,
			desc =
				b("Increases") .. " the " .. b("Luck") .. " at succeeding them by " .. clror("#effect") .. " for all Survivors."
		},
	},
	["Virginia Plate"] =
	{
		{
			version = "1.0.0",
			effect = 5,
			realm = "Autohaven Wreckers",
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- W Offerings --
	-- X Offerings --
	-- Y Offerings --
	["Yamaoka Family Crest"] =
	{
		{
			version = "9.0.0",
			effect = "20 %",
			realm = "Yamaoka Estate",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm to " .. clror("#effect") .. dot)
		},
		{
			version = "2.2.0",
			effect = 9999,
			realm = "Yamaoka Estate",
			rarity = 3,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Increases") .. " the chances to be sent to a Map in the " .. i("#realm") .. " Realm.",
					nbullet .. "This " .. b("Offering") .. " modifies the Realm Selector Logic by a value of " .. clror("#effect") .. dot)
		},
	},
	-- Z Offerings --
}


--------------------------------------------------------    ██████╗ ███████╗██████╗ ██╗  ██╗███████╗    -----------------------------------------------------------------
--------------------------------------------------------    ██╔══██╗██╔════╝██╔══██╗██║ ██╔╝██╔════╝    -----------------------------------------------------------------
--------------------------------------------------------    ██████╔╝█████╗  ██████╔╝█████╔╝ ███████╗    -----------------------------------------------------------------
--------------------------------------------------------    ██╔═══╝ ██╔══╝  ██╔══██╗██╔═██╗ ╚════██║    -----------------------------------------------------------------
--------------------------------------------------------    ██║     ███████╗██║  ██║██║  ██╗███████║    -----------------------------------------------------------------
--------------------------------------------------------    ╚═╝     ╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝    -----------------------------------------------------------------

p.perkDescriptionsHistory = {
	-- A Perks --
	["A Nurse's Calling"] =
	{
		{
			version = "9.2.0",
			units = {3},
			values = {28, 30, 32},
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of injured Survivors being healed or healing themselves are revealed to you within #pl(1).")
		},
		{
			version = "2.4.0",
			units = {3},
			values = {20, 24, 28},
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of injured or dying Survivors being healed or healing themselves are revealed to you within #pl(1).")
		},
		{
			version = "1.1.2",
			units = {3},
			values = {20, 26, 32},
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of injured or dying Survivors being healed or healing themselves are revealed to you within #pl(1).")
		},
	},
	["Ace in the Hole"] =
	{
		{
			version = "8.4.0",
			units = {4},
			values = {50, 75, 100},
			addonCount = "1 to 2",
			chance = "100 %",
			rarity = 2,
			desc =
				"Causes all regular " .. b("Items") .. " you retrieve from a " .. b("Chests") .. " to come equipped with " .. clror("#addonCount") .. space .. b("Add-ons") .. colon .. 
				list(
					bclr("faded jade", "First Slot") .. colon .. space .. clro("#chance") .. " chance to be equipped with an " .. b("Add-on") .. " of " .. bclr(5, "Visceral Rarity") .. " or lower.",
					bclr("faded jade", "Second Slot") .. colon .. space .. "#pl(1) chance to be equipped with an " .. b("Add-on") .. " of " .. bclr(3, "Uncommon Rarity") .. " or lower.") ..
				"#pn prevents any attached " .. b("Add-ons") .. " on your currently held " .. b("Item") .. " to be consumed upon escaping the Trial."
		},
		{
			version = "3.6.0",
			units = {4},
			values = {10, 25, 50},
			addonCount = "1 to 2",
			chance = "100 %",
			rarity = 3,
			desc =
				"Causes all regular " .. b("Items") .. " you retrieve from a " .. b("Chests") .. " to come equipped with " .. clror("#addonCount") .. space .. b("Add-ons") .. colon .. 
				list(
					bclr("faded jade", "First Slot") .. colon .. space .. clro("#chance") .. " chance to be equipped with an " .. b("Add-on") .. " of " .. bclr(4, "Very Rare Rarity") .. " or lower.",
					bclr("faded jade", "Second Slot") .. colon .. space .. "#pl(1) chance to be equipped with an " .. b("Add-on") .. " of " .. bclr(3, "Uncommon Rarity") .. " or lower.") ..
				"#pn prevents any attached " .. b("Add-ons") .. " on your currently held " .. b("Item") .. " to be consumed upon escaping the Trial."
		},
		{
			version = "2.1.0",
			units = {4},
			values = {10, 25, 50},
			addonCount = "1 to 2",
			chance = "100 %",
			rarity = 3,
			desc =
				"Causes all regular " .. b("Items") .. " you retrieve from a " .. b("Chests") .. " to come equipped with " .. clror("#addonCount") .. space .. b("Add-ons") .. colon .. 
				list(
					bclr("faded jade", "First Slot") .. colon .. space .. clro("#chance") .. " chance to be equipped with an " .. b("Add-on") .. " of " .. bclr(4, "Very Rare Rarity") .. " or lower.",
					bclr("faded jade", "Second Slot") .. colon .. space .. "#pl(1) chance to be equipped with an " .. b("Add-on") .. " of " .. bclr(3, "Uncommon Rarity") .. " or lower.")
		},
		{
			version = "1.3.1",
			addonCount = "0 to 1",
			chance = "50 %",
			rarity = 3,
			desc =
				"Causes all regular " .. b("Items") .. " you retrieve from a " .. b("Chests") .. " to come equipped with " .. clror("#addonCount") .. space .. b("Add-on(s)") .. colon ..
				list(clror("#chance") .. " to be equipped with an " .. b("Add-on") .. " of " .. bclr(2, "Uncommon") .. " / " .. bclr(3, "Rare") .. " / ".. bclr(4, "Very Rare") .. space .. b("Rarity") .. " or lower.")
		},
	},
	["Adrenaline"] =
	{
		{
			version = "7.7.0",
			units = {1},
			values = {60, 50, 40},
			haste = "+50 %",
			duration = "3 seconds",
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates and triggers the following effects:" ..
				list(
					"Heals you to the next Health State.",
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#duration") .. dot) ..
				loadoutStrings.exhaustionPerkCanUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) after use."
		},
		{
			version = "1.8.1",
			units = {1},
			values = {60, 50, 40},
			haste = "+50 %",
			duration = "5 seconds",
			rarity = 3,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates and triggers the following effects:" .. br ..
				"If you are hooked or being carried by the Killer at that moment, it will save its activation until after you are rescued:" ..
				list(
					"Heals you to the next Health State.",
					"Wakes you from the " .. i("Dream World") .. " when facing " .. b("The Nightmare") .. dot,
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#duration") .. dot) ..
				loadoutStrings.exhaustionPerkCanUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) after use."
		},
		{
			version = "1.5.0",
			units = {7, 1, 1},
			values = {"Injured State", "Injured State", "Injured or Dying State", 3, 5, 5, 60, 50, 40},
			haste = "+50 %",
			rarity = 3,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates and triggers the following effects:" .. br ..
				"If you are hooked or being carried by the Killer at that moment, it will save its activation until after you are rescued:" ..
				list(
					"Heals you to full health when in the #pl(1).",
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for #pl(2).") ..
				loadoutStrings.exhaustionPerkCanUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(3) after use."
		},
		{
			version = "1.0.0",
			units = {7, 1},
			values = {"Injured State", "Injured State", "Injured or Dying State", 3, 5, 5},
			speed = "150 %",
			rarity = 3,
			desc =
				"Once at least one " .. b("Exit Gate") .. " is opened, #pn activates and triggers the following effects:" .. 
				list(
					"Heals you to full health when in the #pl(1).",
					b("Increases") .. " your current Movement speed to " .. clror("#speed") .. " of its default value for #pl(2).")
		},
	},
	["Aftercare"] =
	{
		{
			version = "2.4.0 (PTB)",
			units = {7},
			values = {1, 2, 3},
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list(
					"You see the Auras of the #pl(1) most recent Survivor(s) that helped you or vice versa:",
					nbullet .. "Rescued from a " .. b("Hook") .. dot,
					nbullet .. "Completed a Healing action on.",
					"They also see your Aura.") ..
				"#pn resets its effects when you are hooked by the Killer."
		},
	},
	["Agitation"] =
	{
		{
			version = "2.6.2",
			units = {4},
			values = {6, 12, 18},
			radius = "+12 metres",
			rarity = 3,
			desc =
				"While carrying a Survivor, #pn activates:" ..
				list(
					b("Increases") .. " your Carrying speed by #pl(1).",
					b("Increases") .. " your " .. i("Terror Radius") .. " by " .. clror("#radius") .. dot)
		},
		{
			version = "1.7.0",
			units = {4, 3},
			values = {6, 12, 18, 6, 8, 12},
			rarity = 3,
			desc =
				"While carrying a Survivor, #pn activates:" ..
				list(
					b("Increases") .. " your Carrying speed by #pl(1).",
					b("Increases") .. " your " .. i("Terror Radius") .. " by #pl(2).")
		},
		{
			version = "1.0.0",
			units = {4, 3},
			values = {6, 12, 18, 0, 3, 6},
			rarity = 3,
			desc =
				"While carrying a Survivor, #pn activates:" ..
				list(
					b("Increases") .. " your Carrying speed by #pl(1).",
					b("Increases") .. " your " .. i("Terror Radius") .. " by #pl(2).")
		},
	},
	["Alert"] =
	{
		{
			version = "2.3.0",
			units = {1},
			values = {3, 4, 5},
			rarity = 2,
			desc =
				"Your acute senses are on high alert." .. nlp ..
				"Whenever the Killer performs the " .. i("Break or Damage") .. " action, #pn triggers:" .. 
				list("Their Aura is revealed to you for #pl(1).")
		},
		{
			version = "1.5.2c",
			units = {3, 1},
			values = {12, 24, 36, 60, 45, 30},
			duration = "6 seconds",
			rarity = 2,
			desc =
				"Your acute senses are on high alert." .. nlp ..
				"Whenever the Killer performs the " .. i("Break or Damage") .. " action within #pl(1) of your location, #pn triggers:" .. 
				list("Their Aura is revealed to you for " .. clror("#duration") .. dot) ..
				"#pn has a cool-down of #pl(2)."
		},
		{
			version = "1.5.1",
			units = {3, 1},
			values = {12, 24, 36, 60, 45, 30},
			duration = "3 seconds",
			rarity = 2,
			desc =
				"Your acute senses are on high alert." .. nlp ..
				"Whenever the Killer performs the " .. i("Break or Damage") .. " action within #pl(1) of your location, #pn triggers:" .. 
				list("Their Aura is revealed to you for " .. clror("#duration") .. dot) ..
				"#pn has a cool-down of #pl(2)."
		},
	},
	["Alien Instinct"] =
	{
		{
			version = "8.6.0",
			units = {1},
			values = {40, 50, 60},
			aura = "8 seconds",
			rarity = 2,
			desc =
				"Whenever you hook a Survivor, #pn activates:" ..
				list(
					"The Aura of the farthest Survivor from your current location who is in the " .. i("Injured State") .. " is revealed to you for " .. clror("#aura") .. dot,
					"Causes that Survivor to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for #pl(1).")
		},
		{
			version = "7.2.0",
			units = {1},
			values = {16, 18, 20},
			aura = "5 seconds",
			rarity = 2,
			desc =
				"Whenever you hook a Survivor, #pn activates:" ..
				list(
					"The Aura of the farthest Survivor from your current location who is in the " .. i("Injured State") .. " is revealed to you for " .. clror("#aura") .. dot,
					"Causes that Survivor to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for #pl(1).")
		},
	},
	["All-Shaking Thunder"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {15, 20, 25},
			lunge = "+75 %",
			cooldown = "5 seconds",
			rarity = 2,
			desc =
				"After falling from a height, #pn activates for #pl(1):" .. 
				list(b("Increases") .. " the range of your " .. i("Lunge Attack") .. " by " .. clror("#lunge") .. dot) ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
		{
			version = "8.4.0 (PTB)",
			units = {1},
			values = {8, 12, 16},
			lunge = "+75 %",
			cooldown = "5 seconds",
			rarity = 2,
			desc =
				"After falling from a height, #pn activates for #pl(1):" .. 
				list(b("Increases") .. " the range of your " .. i("Lunge Attack") .. " by " .. clror("#lunge") .. dot) ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
	},
	["Appraisal"] =
	{
		{
			version = "9.1.0",
			units = {4},
			values = {40, 60, 80},
			rarity = 2,
			tokenCount = "4 Tokens",
			tokenCost = "-1 Token",
			rummageCount = "twice",
			desc =
				"Start the Trial with " .. clror("#tokenCount") .. dot .. br ..
				"While standing next to an unlocked and empty " .. b("Chests") .. ", press and hold the " .. loadoutStrings.interactionButton .. " to perform the " .. i("Rummage")  .. " action:" ..
				list(
					"Grants the ability to retrieve an extra " .. b("Item") .. " from that " .. b("Chest") .. dot,
					nbullet .. "This consumes " .. clro("#tokenCost") .. " and is limited to " .. clro("#rummageCount") .. " per " .. b("Chest") .. dot,
					b("Increases") .. " the Rummaging speed by #pl(1).")
		},
		{
			version = "4.4.0",
			units = {4},
			values = {40, 60, 80},
			rarity = 2,
			tokenCount = "3 Tokens",
			tokenCost = "-1 Token",
			rummageCount = "once",
			desc =
				"Start the Trial with " .. clror("#tokenCount") .. dot .. br ..
				"While standing next to an unlocked and empty " .. b("Chests") .. ", press and hold the " .. loadoutStrings.interactionButton .. " to perform the " .. i("Rummage")  .. " action:" ..
				list(
					"Grants the ability to retrieve an extra " .. b("Item") .. " from that " .. b("Chest") .. dot,
					nbullet .. "This consumes " .. clro("#tokenCost") .. " and is limited to " .. clro("#rummageCount") .. " per " .. b("Chest") .. dot,
					b("Increases") .. " the Rummaging speed by #pl(1).")
		},
	},
	["Apocalyptic Ingenuity"] =
	{
		{
			version = "9.1.0",
			units = {3},
			values = {24, 28, 32},
			chests = 2,
			duration = "4 seconds",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of broken " .. b("Pallets") .. " are revealed to you within #pl(1).") ..
				"After unlocking or rummaging through " .. clror("#chests") .. space .. b("Chests") .. ", #pn gains a special ability." .. br ..
				"While standing next to the location of a broken " .. b("Pallet") .. ", press and hold the " .. loadoutStrings.activeAbilityButton .. " for " .. clro("#duration") .. " to use it:" ..
				list(
					"Rebuilds it as a " .. i("Fragile Pallet") .. dot,
					nbullet .. i("Fragile Pallets") .. " instantly break when dropped.")
		},
		{
			version = "9.1.0 (PTB)",
			units = {3},
			values = {24, 28, 32},
			chests = 2,
			duration = "8 seconds",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of broken " .. b("Pallets") .. " are revealed to you within #pl(1).") ..
				"After unlocking or rummaging through " .. clror("#chests") .. space .. b("Chests") .. ", #pn gains a special ability." .. br ..
				"While standing next to the location of a broken " .. b("Pallet") .. ", press and hold the " .. loadoutStrings.activeAbilityButton .. " for " .. clro("#duration") .. " to use it:" ..
				list(
					"Rebuilds it as a " .. i("Fragile Pallet") .. dot,
					nbullet .. i("Fragile Pallets") .. " instantly break when dropped.")
		},
	},
	["Any Means Necessary"] =
	{
		{
			version = "9.1.0",
			units = {1},
			values = {5, 4, 3},
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. br .. 
				list("The Auras of dropped " .. b("Pallets") .. " in the environment are revealed to you.") ..
				"While standing next to a dropped " .. b("Pallet") .. ", press and hold the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effect:"  ..
				list(b("Resets") .. " the " .. b("Pallet") .. " to its upright position over #pl(1).")
		},
		{
			version = "6.6.0",
			units = {1},
			values = {6, 5, 4},
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. br .. 
				list("The Auras of dropped " .. b("Pallets") .. " in the environment are revealed to you.") ..
				"While standing next to a dropped " .. b("Pallet") .. ", press and hold the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effect:"  ..
				list(b("Resets") .. " the " .. b("Pallet") .. " to its upright position over #pl(1).")
		},
		{
			version = "5.3.0",
			units = {1},
			values = {100, 80, 60},
			duration = "4 seconds",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. br .. 
				list("The Auras of dropped " .. b("Pallets") .. " in the environment are revealed to you.") ..
				"While standing next to a dropped " .. b("Pallet") .. ", press and hold the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effect:"  ..
				list(b("Resets") .. " the " .. b("Pallet") .. " to its upright position over " .. clror("#duration") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "4.3.0",
			units = {1},
			values = {100, 80, 60},
			duration = "4 seconds",
			rarity = 2,
			desc =
				"While standing next to a dropped " .. b("Pallet") .. ", press and hold the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effect:"  ..
				list(b("Resets") .. " the " .. b("Pallet") .. " to its upright position over " .. clror("#duration") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "3.4.0",
			units = {1},
			values = {140, 130, 120},
			duration = "4 seconds",
			rarity = 2,
			desc =
				"While standing next to a dropped " .. b("Pallet") .. ", press and hold the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effect:"  ..
				list(b("Resets") .. " the " .. b("Pallet") .. " to its upright position over " .. clror("#duration") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Autodidact"] =
	{
		{
			version = "8.1.0",
			units = {5},
			values = {3, 4, 5},
			rarity = 2,
			desc =
				"Succeeding a " .. i("Skill Check") .. " while healing another Survivor grants " .. clror("+1 Token") .. ", up to a maximum of #pl(1):" ..
				list(
					b("Suppresses") .. space .. i("Great Healing Skill Checks") .. dot,
					"Causes " .. i("Good Healing Skill Checks") .. " to grant Healing progress based on the number of accumulated Tokens:",
					nbullet .. bclr("faded jade", "0 Tokens") .. colon .. space .. clro("-15 %") .. dot,
					nbullet .. bclr("faded jade", "1 Token") .. colon .. space .. clro("+0 %") .. dot,
					nbullet .. bclr("faded jade", "2 Tokens") .. colon .. space .. clro("+15 %") .. dot,
					nbullet .. bclr("faded jade", "3 Tokens") .. colon .. space .. clro("+30 %") ..  space .. "(limit of " .. bclr("green", "Tier I") .. ").",
					nbullet .. bclr("faded jade", "4 Tokens") .. colon .. space .. clro("+45 %") ..  space .. "(limit of " .. bclr("blue", "Tier II") .. ").",
					nbullet .. bclr("faded jade", "5 Tokens") .. colon .. space .. clro("+60 %") ..  space .. "(limit of " .. bclr("purple", "Tier III") .. ").") ..
				"#pn is inactive when healing using a " .. b("Med-Kit") .. dot
		},
		{
			version = "2.2.0",
			units = {5},
			values = {3, 4, 5},
			rarity = 2,
			desc =
				"Succeeding a " .. i("Skill Check") .. " while healing another Survivor grants " .. clror("+1 Token") .. ", up to a maximum of #pl(1):" ..
				list(
					b("Suppresses") .. space .. i("Great Healing Skill Checks") .. dot,
					"Causes " .. i("Good Healing Skill Checks") .. " to grant Healing progress based on the number of accumulated Tokens:",
					nbullet .. bclr("faded jade", "0 Tokens") .. colon .. space .. clro("-25 %") .. dot,
					nbullet .. bclr("faded jade", "1 Token") .. colon .. space .. clro("-10 %") .. dot,
					nbullet .. bclr("faded jade", "2 Tokens") .. colon .. space .. clro("+5 %") .. dot,
					nbullet .. bclr("faded jade", "3 Tokens") .. colon .. space .. clro("+20 %") ..  space .. "(limit of " .. bclr("green", "Tier I") .. ").",
					nbullet .. bclr("faded jade", "4 Tokens") .. colon .. space .. clro("+35 %") ..  space .. "(limit of " .. bclr("blue", "Tier II") .. ").",
					nbullet .. bclr("faded jade", "5 Tokens") .. colon .. space .. clro("+50 %") ..  space .. "(limit of " .. bclr("purple", "Tier III") .. ").") ..
				"#pn is inactive when healing using a " .. b("Med-Kit") .. dot
		},
	},
	["Awakened Awareness"] =
	{
		{
			version = "6.2.0",
			units = {3},
			values = {16, 18, 20},
			rarity = 2,
			desc =
				"While carrying a Survivor, you benefit from the following effect:" ..
				list("The Auras of other Survivors within #pl(1) of your location are revealed to you.")
		},
		{
			version = "6.2.0 (PTB)",
			units = {3},
			values = {16, 18, 20}, 
			linger = "2 seconds", 
			rarity = 2,
			desc =
				"While carrying a Survivor, you benefit from the following effect:" ..
				list(
					"The Auras of other Survivors within #pl(1) of your location are revealed to you.",
					nbullet .. "This effect lingers for " .. clror("#linger") .. dot)
		},
	},
	-- B Perks --
	["Babysitter"] =
	{
		{
			version = "9.3.0 (PTB)",
			ptbOnly = true,
			units = {1},
			values = {20, 25, 30},
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor, you benefit from the following effect:" ..
				list("The Auras of both the Killer and that Survivor are revealed to you for #pl(1).")
		},
		{
			version = "9.0.0",
			units = {1},
			values = {20, 25, 30},
			aura = "8 seconds",
			haste = "+10 %",
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor, you benefit from the following effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clror("#aura") .. dot) ..
				"The unhooked Survivor benefits from the following effects instead for #pl(1):" ..
				list(
					b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. dot,
					b("Increases") .. " the strength of their " .. b(i("Haste") .. space .. "Status Effect") .. " by " .. clro("#haste") .. dot)
		},
		{
			version = "8.7.0",
			units = {1},
			values = {20, 25, 30},
			aura = "8 seconds",
			haste = "+15 %",
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor, you benefit from the following effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clror("#aura") .. dot) ..
				"The unhooked Survivor benefits from the following effects instead for #pl(1):" ..
				list(
					b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. dot,
					b("Increases") .. " the strength of their " .. b(i("Haste") .. space .. "Status Effect") .. " by " .. clro("#haste") .. dot)
		},
		{
			version = "8.1.0",
			units = {1},
			values = {20, 25, 30},
			aura = "8 seconds",
			haste = "+10 %",
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor, you benefit from the following effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clror("#aura") .. dot) ..
				"The unhooked Survivor benefits from the following effects instead for #pl(1):" ..
				list(
					b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. dot,
					b("Increases") .. " the strength of their " .. b(i("Haste") .. space .. "Status Effect") .. " by " .. clro("#haste") .. dot)
		},
		{
			version = "7.3.3",
			units = {1},
			values = {4, 6, 8},
			aura = "8 seconds",
			haste = "+7 %",
			rarity = 2,
			notice = "This Patch also reinstated the original introductory flavour text.",
			desc =
				i("While you have a reputation for being self-centred, you risk it all to help those in need.") .. nlp ..
				"Whenever you unhook another Survivor, you benefit from the following effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clror("#aura") .. dot) ..
				"The unhooked Survivor benefits from the following effects instead for #pl(1):" ..
				list(
					b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. dot,
					b("Increases") .. " the strength of their " .. b(i("Haste") .. space .. "Status Effect") .. " by " .. clro("#haste") .. dot)
		},
		{
			version = "5.3.0",
			units = {1},
			values = {4, 6, 8},
			aura = "8 seconds",
			haste = "+7 %",
			rarity = 2,
			icon = "Guardian",
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("You risk it all to help those in need") .. nlp ..
				"Whenever you unhook another Survivor, you benefit from the following effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clror("#aura") .. dot) ..
				"The unhooked Survivor benefits from the following effects instead for #pl(1):" ..
				list(
					b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. dot,
					b("Increases") .. " the strength of their " .. b(i("Haste") .. space .. "Status Effect") .. " by " .. clro("#haste") .. dot)
		},
		{
			version = "3.2.0",
			units = {1},
			values = {4, 6, 8},
			aura = "4 seconds",
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor, you benefit from the following effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clror("#aura") .. dot) ..
				"The unhooked Survivor benefits from the following effect instead for #pl(1):" ..
				list(b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. dot)
		},
	},
	["Background Player"] =
	{
		{
			version = "8.0.0",
			units = {1},
			values = {30, 25, 20},
			activation = "10 seconds",
			haste = "+50 %",
			durationHaste = "5 seconds",
			rarity = 2,
			desc =
				"Whenever the Killer picks up any other Survivor in the " .. i("Dying State") .. ", #pn activates for " .. clror("#activation") .. dot .. br ..
				"While active, starting to run triggers the following effect:" .. 
				list("Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) after use."
		},
		{
			version = "7.3.0",
			units = {1},
			values = {60, 50, 40},
			activation = "10 seconds",
			haste = "+100 %",
			durationHaste = "5 seconds",
			rarity = 2,
			desc =
				"Whenever the Killer picks up any other Survivor in the " .. i("Dying State") .. ", #pn activates for " .. clror("#activation") .. dot .. br ..
				"While active, starting to run triggers the following effect:" .. 
				list("Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) after use."
		},
		{
			version = "6.6.0",
			units = {1},
			values = {60, 50, 40},
			activation = "10 seconds",
			haste = "+50 %",
			durationHaste = "4 seconds",
			rarity = 2,
			desc =
				"Whenever the Killer picks up any other Survivor in the " .. i("Dying State") .. ", #pn activates for " .. clror("#activation") .. dot .. br ..
				"While active, starting to run triggers the following effect:" .. 
				list("Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) after use."
		},
		{
			version = "6.6.0 (PTB)",
			units = {1},
			values = {60, 50, 40},
			haste = "+50 %",
			durationHaste = "6 seconds",
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor, you benefit from the following effect:" ..
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) after use."
		},
	},
	["Balanced Landing"] =
	{
		{
			version = "3.4.0",
			units = {1},
			values = {60, 50, 40},
			stagger = "-75 %",
			haste = "+50 %",
			durationHaste = "3 seconds",
			rarity = 1,
			desc =
				"While falling from height, you benefit from the following effects:" .. 
        		list(
        			b("Suppresses") .. " all noises related to falling and landing.",
        			b("Reduces") .. " the duration of the " .. i("Stagger") .. " upon landing by " .. clror("#stagger") .. dot,
        			"Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
        		loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) after use."
		},
		{
			version = "2.0.0",
			units = {1},
			values = {60, 50, 40},
			stagger = "-75 %",
			haste = "+50 %",
			durationHaste = "3 seconds",
			rarity = 1,
			desc =
				"After falling from height, #pn triggers the following effects:" .. 
        		list(
        			b("Reduces") .. " the duration of the " .. i("Stagger") .. " upon landing by " .. clror("#stagger") .. dot,
        			nbullet .. "This effect is exempt from Deactivation due to being " .. b(i("Exhausted")) .. dot,
        			"Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
        		loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) after use."
		},
		{
			version = "1.5.0",
			units = {4},
			values = {50, 75, 75},
			haste = "+50 %",
			durationHaste = "3 seconds",
			exhausted = "40 seconds",
			rarity = 1,
			desc =
				"After falling from height, #pn triggers the following effects:" .. 
        		list(
        			b("Reduces") .. " the duration of the " .. i("Stagger") .. " upon landing by #pl(1).",
        			nbullet .. "This effect is exempt from Deactivation due to being " .. b(i("Exhausted")) .. dot) ..
        		bclr(3, "Tier III only") .. colon ..
        		list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
        		loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clro("#exhausted") .. " after use."
		},
		{
			version = "1.3.0",
			units = {4},
			values = {50, 75, 75},
			speed = "150 %",
			duration = "3 seconds",
			cooldown = "40 seconds",
			rarity = 1,
			desc =
				"After falling from height, #pn triggers the following effects:" .. 
        		list(
        			b("Reduces") .. " the duration of the " .. i("Stagger") .. " upon landing by #pl(1).",
        			nbullet .. "This effect is exempt from the cool-down.") ..
        		bclr(3, "Tier III only") .. colon ..
        		list(b("Increases") .. " your Movement speed to " .. clror("#speed") .. " of its default value for " .. clro("#duration") .. dot) ..
        		"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
		{
			version = "1.1.0",
			units = {4},
			values = {50, 75, 75},
			speed = "150 %",
			duration = "2 seconds",
			cooldown = "60 seconds",
			rarity = 1,
			desc =
				"After falling from a height, you benefit from the following effects:" .. 
        		list(b("Reduces") .. " the duration of the " .. i("Stagger") .. " upon landing by #pl(1) at all times.") ..
        		bclr(3, "Tier III only") .. colon ..
        		list(b("Increases") .. " your Movement speed to " .. clror("#speed") .. " of its default value for " .. clro("#duration") .. " upon landing.") ..
        		"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
	},
	["Bamboozle"] =
	{
		{
			version = "2.0.0",
			units = {4, 1},
			values = {5, 10, 15, 8, 12, 16},
			rarity = 1,
			desc =
				"You benefit from the following permanent effect:" .. 
				list(b("Increases") .. " your Vaulting speed by #pl(1).") ..
				"Whenever you vault a " .. b("Window") .. ", #pn calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Blocks") .. " it to all Survivors for #pl(2).",
					nbullet .. "Vaulting it again within that time resets the timer.",
					nbullet .. "Vaulting a different one transfers the effect to it instead.") ..
				"#pn does not extend its effects to vaulting a dropped " .. b("Pallet") .. dot
		},
	},
	["Batteries Included"] =
	{
		{
			version = "9.0.0",
			units = {2},
			values = {1, 3, 5},
			range = "16 metres",
			haste = "+5 %",
			rarity = 2,
			desc =
				"While within " .. clror("#range") .. " of a completed " .. b("Generator") .. ", you benefit from the following effect:" ..
				list(
					"Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for #pl(1).")
		},
		{
			version = "8.7.0",
			units = {2},
			values = {1, 3, 5},
			range = "12 metres",
			haste = "+7 %",
			rarity = 2,
			desc =
				"While within " .. clror("#range") .. " of a completed " .. b("Generator") .. ", you benefit from the following effect:" ..
				list(
					"Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for #pl(1).")
		},
		{
			version = "7.4.2",
			units = {2},
			values = {1, 3, 5},
			range = "12 metres",
			haste = "+5 %",
			rarity = 2,
			desc =
				"While within " .. clror("#range") .. " of a completed " .. b("Generator") .. ", you benefit from the following effect:" ..
				list(
					"Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for #pl(1).")
		},
		{
			version = "7.4.0",
			units = {2},
			values = {1, 3, 5},
			range = "12 metres",
			haste = "+5 %",
			rarity = 2,
			desc =
				"While within " .. clror("#range") .. " of a completed " .. b("Generator") .. ", you benefit from the following effect:" ..
				list(
					"Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for #pl(1).") ..
				"#pn is disabled for the remainder of the Trial once the " .. b("Exit Gates") .. " are powered."
		},
		{
			version = "7.4.0 (PTB)",
			units = {2},
			values = {1, 3, 5},
			range = "12 metres",
			haste = "+5 %",
			rarity = 2,
			desc =
				"While within " .. clror("#range") .. " of a completed " .. b("Generator") .. ", you benefit from the following effect:" ..
				list(
					"Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for #pl(1).")
		},
	},
	["Beast of Prey"] =
	{
		{
			version = "8.5.0",
			units = {1},
			values = {30, 35, 40},
			rarity = 2,
			desc =
				"Your lust for a kill is so intense that your connection with " .. b("The Entity") .. " is momentarily lost, making you totally unpredictable." .. 
				list("Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. " for #pl(1) upon triggering the " .. b(i("Bloodlust") .. space .. "Status Effect") .. dot)
		},
		{
			version = "3.4.0",
			units = {4},
			values = {30, 40, 50},
			rarity = 1,
			desc =
				"Your lust for a kill is so intense that your connection with " .. b("The Entity") .. " is momentarily lost, making you totally unpredictable." .. 
				list(
					"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. " for as long as the " .. b(i("Bloodlust") .. space .. "Status Effect") .. " is active.",
					"Grants #pl(1) bonus Bloodpoints for actions in the Hunter " .. i("Scoring Category") .. dot) .. 
				loadoutStrings.bonusBPDuringTrial
		},
		{
			version = "2.3.0",
			units = {4},
			values = {30, 40, 50},
			rarity = 1,
			desc =
				"Your lust for a kill is so intense that your connection with " .. b("The Entity") .. " is momentarily lost, making you totally unpredictable." .. 
				list(
					b("Suppresses") .. " the " .. i("Red Stain") .. " for as long as the " .. b(i("Bloodlust") .. space .. "Status Effect") .. " is active.",
					"Grants #pl(1) bonus Bloodpoints for actions in the Hunter " .. i("Scoring Category") .. dot) .. 
				loadoutStrings.bonusBPDuringTrial
		},
		{
			version = "1.6.0",
			units = {1},
			values = {15, 20, 25},
			cooldown = "120 seconds",
			rarity = 1,
			desc =
				"Your lust for a kill is so intense that your connection with " .. b("The Entity") .. " is momentarily lost, making you totally unpredictable." .. 
				list(b("Suppresses") .. " the " .. i("Red Stain") .. " for #pl(1) upon triggering the " .. b(i("Bloodlust") .. space .. "Status Effect") .. dot) ..
				"#pn has a cool-down of " .. clror("#cooldown") .. dot
		},
	},
	["Better Together"] =
	{
		{
			version = "9.1.0",
			units = {1},
			values = {20, 25, 30},
			rarity = 2,
			desc =
				"While repairing any " .. b("Generator") .. ", you and the other Survivors benefit from the following primary effect:" ..
				list("The Aura of that " .. b("Generator") .. " is revealed to all Survivors and highlighted in " .. bclr("yellow", "yellow") .. dot) ..
				"Whenever the Killer downs another Survivor while you are repairing, you benefit from the following secondary effect:" ..
				list("The Auras of all Survivors are revealed to you for #pl(1).")
		},
		{
			version = "7.3.3",
			units = {1},
			values = {8, 9, 10},
			range = "32 metres",
			rarity = 2,
			notice = "Due to the return of " .. b("CHAPTER 13: Stranger Things") .. ", this Patch reverted the licensing-related changes from " .. b("Patch 5.3.0") .. dot,
			desc =
				i("You seek justice and uncover the truth no matter what obstacle stands in your way.") .. nlp ..
				"While repairing any " .. b("Generator") .. ", you and the other Survivors benefit from the following primary effect:" ..
				list("The Aura of that " .. b("Generator") .. " is revealed to all Survivors within " .. clror("#range") .. " of it and highlighted in " .. bclr("yellow", "yellow") .. dot) ..
				"Whenever the Killer downs another Survivor while you are repairing, you benefit from the following secondary effect:" ..
				list("The Auras of all Survivors are revealed to you for #pl(1).")
		},
		{
			version = "5.3.0",
			units = {1},
			values = {8, 9, 10},
			range = "32 metres",
			rarity = 2,
			icon = "Situational Awareness",
			notice = "This Patch only updated the icon and introductory flavour text, and changed its name from " .. b("Better Together") .. " to " .. b("Situational Awareness") .. dot,
			desc =
				i("You are aware of your surroundings and share the information with others.") .. nlp ..
				"While repairing any " .. b("Generator") .. ", you and the other Survivors benefit from the following primary effect:" ..
				list("The Aura of that " .. b("Generator") .. " is revealed to all Survivors within " .. clror("#range") .. " of it and highlighted in " .. bclr("yellow", "yellow") .. dot) ..
				"Whenever the Killer downs another Survivor while you are repairing, you benefit from the following secondary effect:" ..
				list("The Auras of all Survivors are revealed to you for #pl(1).")
		},
		{
			version = "3.2.0",
			units = {1},
			values = {8, 9, 10},
			range = "32 metres",
			rarity = 1,
			desc =
				i("You seek justice and uncover the truth no matter what obstacle stands in your way.") .. nlp ..
				"While repairing any " .. b("Generator") .. ", you and the other Survivors benefit from the following primary effect:" ..
				list("The Aura of that " .. b("Generator") .. " is revealed to all Survivors within " .. clror("#range") .. " of it and highlighted in " .. bclr("yellow", "yellow") .. dot) ..
				"Whenever the Killer downs another Survivor while you are repairing, you benefit from the following secondary effect:" ..
				list("The Auras of all Survivors are revealed to you for #pl(1).")
		},
	},
	["Better than New"] =
	{
		{
			version = "6.2.0",
			units = {4},
			values = {12, 14, 16},
			rarity = 2,
			desc =
				"You are an expert in combat medicine." .. br ..
				"Patients leave your care reinvigorated." .. nlp ..
				"Completing a Healing action on another Survivor grants them the following benefits until they receive damage again:" ..
				list(b("Increases") .. " their Action speeds for Blessing, Cleansing, Healing, and Unlocking by #pl(1).")
		},
		{
			version = "6.2.0 (PTB)",
			units = {1},
			values = {25, 30, 35},
			effect = "+6 %",
			rarity = 2,
			desc =
				"You are an expert in combat medicine." .. br ..
				"Patients leave your care reinvigorated." .. nlp ..
				"Completing a Healing action on another Survivor grants them the following benefits until they receive damage again:" ..
				list(b("Increases") .. " their Action speeds for Cleansing, Healing, Repairing, and Unlocking by " .. clror("#effect") .. " for #pl(1).")
		},
	},
	["Bitter Murmur"] =
	{
		{
			version = "2.1.0",
			units = {1},
			values = {5, 7, 10},
			range = "16 metres",
			duration = "5 seconds",
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
                "Whenever a " .. b("Generator") .. " is completed, #pn triggers its primary effect:" ..
                list("The Auras of any Survivors within " .. clror("#range") .. " of that " .. b("Generator") .. " are revealed to you for " .. clro("#duration") .. dot) ..
                "Once the last " .. b("Generator") .. " is completed, #pn triggers its secondary effect:" ..
                list("The Auras of all Survivors are revealed to you for #pl(1).")
		},
		{
			version = "1.5.0",
			units = {1},
			values = {5, 7, 9},
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
                "Once the last " .. b("Generator") .. " is completed, #pn triggers its effect:" ..
                list("The Auras of all Survivors are revealed to you for #pl(1).")
		},
		{
			version = "1.0.0",
			units = {1},
			values = {2, 4, 6},
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
                "Once the last " .. b("Generator") .. " is completed, #pn triggers its effect:" ..
                list("The Auras of all Survivors are revealed to you for #pl(1).")
		},
	},
	["Blast Mine"] =
	{
		{
			version = "8.2.0",
			units = {1},
			values = {100, 110, 120},
			repair = "40 %",
			duration = "4 seconds",
			radius = "12.5 metres",
			rarity = 2,
			desc =
				"When direct combat is not an option, you still find ways to strike back." .. nlp ..
				"After repairing " .. b(Generators) .. " for a total of " .. clror("#repair") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " while near a partially progressed Generator to install a Trap, which stays active for #pl(1).",
					"When the Killer damages the " .. i("Trapped Generator") .. ", its Trap explodes half-way through:",
					nbullet .. "Stuns the Killer for " .. clro("#duration") .. dot,
					nbullet .. "Blinds all Players within " .. clro("#radius") .. " of the " .. i("Trapped Generator") .. dot) ..
				"#pn deactivates after triggering successfully or once the timer runs out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
		{
			version = "7.2.0",
			units = {1},
			values = {100, 110, 120},
			repair = "50 %",
			duration = "4 seconds",
			radius = "12.5 metres",
			rarity = 2,
			desc =
				"When direct combat is not an option, you still find ways to strike back." .. nlp ..
				"After repairing " .. b(Generators) .. " for a total of " .. clror("#repair") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " while near a partially progressed Generator to install a Trap, which stays active for #pl(1).",
					"When the Killer damages the " .. i("Trapped Generator") .. ", its Trap explodes half-way through:",
					nbullet .. "Stuns the Killer for " .. clro("#duration") .. dot,
					nbullet .. "Blinds all Players within " .. clro("#radius") .. " of the " .. i("Trapped Generator") .. dot) ..
				"#pn deactivates after triggering successfully or once the timer runs out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
		{
			version = "7.1.0",
			units = {1},
			values = {100, 110, 120},
			repair = "50 %",
			activation = "3 seconds",
			duration = "4 seconds",
			radius = "12.5 metres",
			rarity = 2,
			desc =
				"When direct combat is not an option, you still find ways to strike back." .. nlp ..
				"After repairing " .. b(Generators) .. " for a total of " .. clror("#repair") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " after repairing any " .. b("Generator") .. " for an additional " .. clro("#activation") .. " to install a Trap, which stays active for #pl(1).",
					"When the Killer damages the " .. i("Trapped Generator") .. ", its Trap explodes half-way through:",
					nbullet .. "Stuns the Killer for " .. clro("#duration") .. dot,
					nbullet .. "Blinds all Players within " .. clro("#radius") .. " of the " .. i("Trapped Generator") .. dot) ..
				"#pn deactivates after triggering successfully or once the timer runs out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
		{
			version = "6.2.2",
			units = {1},
			values = {40, 45, 50},
			repair = "50 %",
			activation = "3 seconds",
			duration = "4 seconds",
			radius = "12.5 metres",
			rarity = 2,
			desc =
				"When direct combat is not an option, you still find ways to strike back." .. nlp ..
				"After repairing " .. b(Generators) .. " for a total of " .. clror("#repair") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " after repairing any " .. b("Generator") .. " for an additional " .. clro("#activation") .. " to install a Trap, which stays active for #pl(1).",
					"When the Killer damages the " .. i("Trapped Generator") .. ", its Trap explodes half-way through:",
					nbullet .. "Stuns the Killer for " .. clro("#duration") .. dot,
					nbullet .. "Blinds all Players within " .. clro("#radius") .. " of the " .. i("Trapped Generator") .. dot) ..
				"#pn deactivates after triggering successfully or once the timer runs out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
		{
			version = "6.2.0",
			units = {1},
			values = {35, 40, 45},
			repair = "66 %",
			activation = "3 seconds",
			duration = "4 seconds",
			radius = "12.5 metres",
			rarity = 2,
			desc =
				"When direct combat is not an option, you still find ways to strike back." .. nlp ..
				"After repairing " .. b(Generators) .. " for a total of " .. clror("#repair") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " after repairing any " .. b("Generator") .. " for an additional " .. clro("#activation") .. " to install a Trap, which stays active for #pl(1).",
					"When the Killer damages the " .. i("Trapped Generator") .. ", its Trap explodes half-way through:",
					nbullet .. "Stuns the Killer for " .. clro("#duration") .. dot,
					nbullet .. "Blinds all Players within " .. clro("#radius") .. " of the " .. i("Trapped Generator") .. dot) ..
				"#pn deactivates after triggering successfully or once the timer runs out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
		{
			version = "5.0.0",
			units = {1},
			values = {35, 40, 45},
			repair = "66 %",
			activation = "3 seconds",
			duration = "4 seconds",
			radius = "12.5 metres",
			rarity = 2,
			desc =
				"When direct combat is not an option, you still find ways to strike back." .. nlp ..
				"After repairing " .. b(Generators) .. " for a total of " .. clror("#repair") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " after repairing any " .. b("Generator") .. " for an additional " .. clro("#activation") .. " to install a Trap, which stays active for #pl(1).",
					"When the Killer damages the " .. i("Trapped Generator") .. ", its Trap explodes half-way through:",
					nbullet .. "Stuns the Killer for " .. clro("#duration") .. dot,
					nbullet .. "Blinds all Players within " .. clro("#radius") .. " of the " .. i("Trapped Generator") .. dot) ..
				"#pn deactivates after triggering successfully, but stays active should the timer run out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
	},
	["Blood Echo"] =
	{
		{
			version = "8.3.0",
			units = {1},
			values = {20, 25, 30},
			rarity = 2,
			desc =
				"Whenever you hook a Survivor, #pn triggers its effect:" ..
				list("Causes all Survivors in the " .. i("Injured State") .. " to suffer from the " .. b(i("Exhausted and Haemorrhage") .. space .. "Status Effects") .. " for #pl(1).")
		},
		{
			version = "3.4.0",
			units = {1},
			values = {80, 70, 60},
			duration = "45 seconds",
			rarity = 2,
			desc =
				"Whenever you hook a Survivor, #pn triggers its effect:" ..
				list("Causes all Survivors in the " .. i("Injured State") .. " to suffer from the " .. b(i("Exhausted and Haemorrhage") .. space .. "Status Effects") .. " for #pl(1).") ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Blood Pact"] =
	{
		{
			version = "4.3.0",
			units = {4},
			values = {5, 6, 7},
			rarity = 2,
			desc =
				"When either you or the " .. b(i("Obsession")) .. " become injured by any means, #pn activates:" ..
				list(
					"Your Auras are constantly revealed to one another.",
					"Completing a " .. i("Healing Action") .. " on the " .. b(i("Obsession")) .. " or having them complete one on yourself, grants both of you a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lasts for as long as you both remain within " .. clror("16 metres") .. " of one another.") .. 
					"#pn is temporarily disabled if you yourself are the " .. b(i("Obsession")) .. dot .. nlp ..
					loadoutStrings.obsessionChanceMinus .. br ..
					loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "4.0.0",
			units = {1},
			values = {6, 8, 10},
			rarity = 2,
			desc =
				"When either you or the " .. b(i("Obsession")) .. " become injured by any means, #pn activates:" ..
				list(
					"Your Auras are constantly revealed to one another.",
					"Completing a " .. i("Healing Action") .. " on the " .. b(i("Obsession")) .. " or having them complete one on yourself, grants both of you a " .. clror("+7 %") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for #pl(1).") .. 
					"#pn is temporarily disabled if you yourself are the " .. b(i("Obsession")) .. dot .. nlp ..
					loadoutStrings.obsessionChanceMinus .. br ..
					loadoutStrings.obsessionPerkSurvivor
		},
	},
	["Blood Rush"] =
	{
		{
			version = "8.3.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				"After being unhooked by any means, #pn activates for #pl(1):" .. br ..
				"While active, press the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effect:" ..
				list("Instantly recover from an existing " .. b(i("Exhausted") .. space .. "Status Effect") .. dot) ..
				loadoutStrings.exhaustionPerkNoTrigger .. br ..
				loadoutStrings.conspicuousActionsPerk .. br ..
				"#pn deactivates after use and is disabled for the remainder of the Trial once the " .. b("Exit Gates") .. " are powered."
		},
		{
			version = "6.6.0",
			units = {1},
			values = {28, 24, 20},
			hookStageCount = 2,
			rarity = 2,
			desc =
				"After accruing " .. clror("#hookStageCount") .. space .. i("Hook Stages") .. ", #pn activates:" .. br ..
				"While active and healthy, press the " .. loadoutStrings.activeAbilityButton .. " while running to trigger the following effects:" ..
				list(
					"Instantly recover from an existing " .. b(i("Exhausted") .. space .. "Status Effect") .. dot,
					"Causes you to become injured and suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " for #pl(1), after which you are healed back to healthy.",
					nbullet .. "Taking any damage during this time will cancel the Healing effect.") ..
				"#pn is disabled for the remainder of the Trial after use."
		},
	},
	["Bloodhound"] =
	{
		{
			version = "1.8.3",
			units = {1},
			values = {2, 3, 4},
			rarity = 2,
			desc =
				"#pn causes the following effects:" ..
				list(
					i("Pools of Blood") .. " left by injured Survivors appear in " .. bclr("bright red", "bright red") .. dot,
					b("Extends") .. " their lifetime by #pl(1).")
		},
		{
			version = "1.0.5",
			units = {7, 1},
			values = {"slightly", "moderately", "considerably", 2, 3, 4},
			rarity = 2,
			desc =
				"#pn causes the following effects:" ..
				list(
					i("Pools of Blood") .. " left by injured Survivors are #pl(1) more discernible.",
					b("Extends") .. " their lifetime by #pl(2).")
		},
		{
			version = "1.0.0",
			units = {7, 2},
			values = {"slightly", "moderately", "considerably", 1, 2, 3},
			rarity = 2,
			desc =
				"#pn causes the following effects:" ..
				list(
					i("Pools of Blood") .. " left by injured Survivors are #pl(1) more discernible.",
					b("Extends") .. " their lifetime by #pl(2).")
		},
	},
	["Boil Over"] =
	{
		{
			version = "5.7.0",
			units = {4},
			values = {60, 70, 80},
			rarity = 2,
			desc =
				"You are a battler and do everything to escape a foe's grasp." .. nlp ..
				"While being carried by the Killer, the following effects apply:" ..
				list(
					b("Increases") .. " the strength of the " .. i("Struggle Effects") .. " on the Killer from your " .. i("Wiggling") .. " by #pl(1).",
					b("Suppresses") .. " the ability of the Killer to read the Auras of all " .. b("Hooks") .. " within " .. clror("16 metres") .. dot,
					"Grants " .. clro("+33 %") .. " of the current Wiggle progression upon landing, if the Killer drops from height.")
		},
		{
			version = "5.5.2",
			units = {4},
			values = {50, 75, 100},
			rarity = 2,
			desc =
				"You are a battler and do everything to escape a foe's grasp." .. nlp ..
				"While being carried by the Killer, the following effects apply:" ..
				list(
					b("Increases") .. " the strength of the " .. i("Struggle Effects") .. " on the Killer from your " .. i("Wiggling") .. " by #pl(1).",
					b("Suppresses") .. " the ability of the Killer to read the Auras of all " .. b("Hooks") .. " within " .. clror("16 metres") .. dot,
					"Grants " .. clro("+33 %") .. " of the current Wiggle progression upon landing, if the Killer drops from height.")
		},
		{
			version = "5.5.0",
			units = {4},
			values = {50, 75, 100},
			rarity = 2,
			desc =
				"You are a battler and do everything to escape a foe's grasp." .. nlp ..
				"While being carried by the Killer, the following effects apply:" ..
				list(
					b("Increases") .. " the strength of the " .. i("Struggle Effects") .. " on the Killer from your " .. i("Wiggling") .. " by #pl(1).",
					b("Suppresses") .. " the ability of the Killer to read the Auras of all " .. b("Hooks") .. " within " .. clror("16 metres") .. dot,
					"Grants " .. clro("+25 %") .. " of the total Wiggle progression upon landing, if the Killer drops from height.")
		},
		{
			version = "2.0.0",
			units = {4, 3},
			values = {25, 50, 75, 10, 12, 14},
			rarity = 2,
			desc =
				"You are a battler and do everything to escape a foe's grasp." .. nlp ..
				"While being carried by the Killer, the following effects apply:" ..
				list(
					b("Increases") .. " the strength of the " .. i("Struggle Effects") .. " on the Killer from your " .. i("Wiggling") .. " by #pl(1).",
					b("Suppresses") .. " the ability of the Killer to read the Auras of all " .. b("Hooks") .. " within #pl(2).")
		},
	},
	["Bond"] =
	{
		{
			version = "2.3.0",
			units = {3},
			values = {20, 28, 36},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
            	list("The Auras of all other Survivors are revealed to you within #pl(1).")
		},
		{
			version = "1.0.0",
			units = {3},
			values = {12, 24, 36},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
            	list("The Auras of all other Survivors are revealed to you within #pl(1).")
		},
	},
	["Boon: Circle of Healing"] =
	{
		{
			version = "6.7.0",
			units = {4},
			values = {50, 75, 100},
			rarity = 2,
			desc =
				"A Boon that offers comfort amidst the terror." .. nlp ..
				loadoutStrings.boonPerkTop .. nlp ..
				list(
				b("Increases") .. " the Altruistic Healing speeds by #pl(1) when not using a " .. b("Med-Kit") .. dot,
				"If a Survivor is injured, their Aura is revealed to all other Survivors.") ..
            	loadoutStrings.singleInstancePerk .. nlp ..
                loadoutStrings.boonPerkBottom
		},
		{
			version = "5.7.0",
			units = {4},
			values = {40, 45, 50},
			rarity = 2,
			desc =
				"A Boon that offers comfort amidst the terror." .. nlp ..
				loadoutStrings.boonPerkTop .. nlp ..
				list(
				b("Increases") .. " all Healing speeds by #pl(1).",
				"Unlocks the " .. i("Self-Care") .. " ability, allowing Survivors to self-heal without a " .. b("Med-Kit") .. dot,
				nbullet .. b("Reduces") .. " the Personal Healing speed by " .. clror("-50 %") .. dot) ..
				"#pn benefits from its own effect for Self-Healing." .. nlp ..
            	loadoutStrings.singleInstancePerk .. nlp ..
                loadoutStrings.boonPerkBottom
		},
		{
			version = "5.5.0",
			units = {4},
			values = {65, 70, 75},
			rarity = 2,
			desc =
				"A Boon that offers comfort amidst the terror." .. nlp ..
				loadoutStrings.boonPerkTop .. nlp ..
				list(
				b("Increases") .. " all Healing speeds by #pl(1).",
				"Unlocks the " .. i("Self-Care") .. " ability, allowing Survivors to self-heal without a " .. b("Med-Kit") .. dot,
				nbullet .. b("Reduces") .. " the Personal Healing speed by " .. clror("-50 %") .. dot) ..
				"#pn benefits from its own effect for Self-Healing." .. nlp ..
            	loadoutStrings.singleInstancePerk .. nlp ..
                loadoutStrings.boonPerkBottom
		},
		{
			version = "5.3.0",
			units = {4},
			values = {90, 95, 100},
			rarity = 2,
			desc =
				"A Boon that offers comfort amidst the terror." .. nlp ..
				loadoutStrings.boonPerkTop .. nlp ..
				list(
				b("Increases") .. " all Healing speeds by #pl(1).",
				"Unlocks the " .. i("Self-Care") .. " ability, allowing Survivors to self-heal without a " .. b("Med-Kit") .. dot,
				nbullet .. b("Reduces") .. " the Personal Healing speed by " .. clror("-50 %") .. dot) ..
				"#pn benefits from its own effect for Self-Healing." .. nlp ..
            	loadoutStrings.singleInstancePerk .. nlp ..
                loadoutStrings.boonPerkBottom
		},
	},
	["Boon: Dark Theory"] =
	{
		{
			version = "8.7.0",
			units = {1},
			values = {2, 3, 4},
			haste = "+3 %",
			rarity = 2,
			desc =
				loadoutStrings.boonPerkTop ..
				list(
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for #pl(1) after leaving the " .. i("Boon Totem's") .. " range.") ..
                loadoutStrings.boonPerkBottom
		},
		{
			version = "5.6.0",
			units = {1},
			values = {2, 3, 4},
			haste = "+2 %",
			rarity = 2,
			desc =
				loadoutStrings.boonPerkTop ..
				list(
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for #pl(1) after leaving the " .. i("Boon Totem's") .. " range.") ..
                loadoutStrings.boonPerkBottom
		},
	},
	["Boon: Exponential"] =
	{
		{
			version = "5.4.0",
			units = {4},
			values = {90, 95, 100},
			rarity = 2,
			desc =
				loadoutStrings.boonPerkTop ..
				list(
					b("Increases") .. " the Recovery speed while in the " .. i("Dying State") .. " by #pl(1).",
					"Unlocks the " .. i("Self-Recovery") .. " ability, allowing them to fully recover from the " .. i("Dying State") .. dot) ..
                loadoutStrings.boonPerkBottom
		},
	},
	["Borrowed Time"] =
	{
		{
			version = "9.3.0",
			units = {1},
			values = {60, 80, 100},
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor, they benefit from the following effect for #pl(1):" ..
				list("Unlocks the " .. i("Self-Recovery") .. " ability, allowing them to fully recover from the " .. i("Dying State") .. dot)
		},
		{
			version = "6.1.0",
			units = {1},
			values = {6, 8, 10},
			bonus = "+10 seconds",
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor, they benefit from the following effects:" ..
				list(
					b("Extends") .. " the duration of their " .. b(i("Endurance") .. space .. "Status Effect") .. " by #pl(1).",
					b("Extends") .. " the duration of their " .. b(i("Haste") .. space .. "Status Effect") .. " by " .. clror("#bonus") .. dot)
		},
		{
			version = "4.7.0",
			units = {1},
			values = {8, 10, 12},
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor, they benefit from the following effect:" ..
				list("Grants them the " .. b(i("Endurance") .. space .. "Status Effect") .. " for #pl(1).")
		},
		{
			version = "4.5.0",
			units = {1},
			values = {10, 15, 20},
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor while inside the " .. i("Terror Radius") .. ", they benefit from the following effect:" ..
				list("Grants them the " .. b(i("Endurance") .. space .. "Status Effect") .. " for #pl(1).")
		},
		{
			version = "2.4.0",
			units = {1},
			values = {10, 15, 20},
			endurance = "15 seconds",
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor while inside the " .. i("Terror Radius") .. ", they benefit from the following effects:" ..
				list(
					"Grants them the " .. b(i("Endurance") .. space .. "Status Effect") .. " for " .. clror("#endurance") .. dot,
					"Sets the " .. i("Bleed-Out Timer") .. " of the " .. b(i("Deep Wound") .. space .. "Status Effect") .. " to #pl(1) if triggered.")
		},
		{
			version = "1.9.2",
			units = {1},
			values = {15, 20, 25},
			duration = "20 seconds",
			rarity = 2,
			desc =
				"Whenever you unhook another Survivor while inside the " .. i("Terror Radius") .. ", #pn activates for " .. clror("#duration") .. dot .. br ..
				"While active, the other Survivor benefits from the following effect:" ..
				list(b("Blocks") .. " the next instance of damage that would normally put them into the " .. i("Dying State") .. dot) ..
				"#pn triggers a " .. i("Bleed-Out Timer") .. " of #pl(1) after use, causing them to automatically enter the " .. i("Dying State") .. " once it elapses."
		},
		{
			version = "1.7.0",
			units = {1},
			values = {15, 20, 25},
			duration = "20 seconds",
			rarity = 2,
			desc =
				"Once per Trial, after you unhook another Survivor while inside the " .. i("Terror Radius") .. ", #pn activates for " .. clror("#duration") .. dot .. br ..
				"While active, both you and the other Survivor benefit from the following effect:" ..
				list(b("Blocks") .. " the next instance of damage that would normally put you into the " .. i("Dying State") .. dot) ..
				"#pn triggers a " .. i("Bleed-Out Timer") .. " of #pl(1) after use, causing you to automatically enter the " .. i("Dying State") .. " once it elapses."
		},
		{
			version = "1.4.2",
			units = {1},
			values = {30, 35, 40},
			duration = "20 seconds",
			rarity = 2,
			desc =
				"Once per Trial, after you unhook another Survivor while inside the " .. i("Terror Radius") .. ", #pn activates for " .. clror("#duration") .. dot .. br ..
				"While active, both you and the other Survivor benefit from the following effect:" ..
				list(b("Blocks") .. " the next instance of damage that would normally put you into the " .. i("Dying State") .. dot) ..
				"#pn triggers a " .. i("Bleed-Out Timer") .. " of #pl(1) after use, causing you to automatically enter the " .. i("Dying State") .. " once it elapses."
		},
	},
	["Botany Knowledge"] =
	{
		{
			version = "9.0.0",
			units = {4},
			values = {30, 40, 50},
			rarity = 2,
			desc =
				"You benefit from the following permanent effect:" ..
            	list(b("Increases") .. " your Healing speed by #pl(1).")
		},
		{
			version = "6.1.0",
			units = {4},
			values = {30, 40, 50},
			penalty = "-20 %",
			rarity = 2,
			desc =
				"Causes the following permanent effects during the Trial:" ..
            	list(
            		b("Increases") .. " your Healing speed by #pl(1).",
            		b("Reduces") .. " the Healing efficiency of " .. b("Med-Kits") .. " by " .. clror("#penalty") .. dot)
		},
		{
			version = "2.3.0",
			units = {4},
			values = {11, 22, 33},
			rarity = 2,
			desc =
				"You benefit from the following permanent effects:" ..
            	list(
            		b("Increases") .. " your Healing speed by #pl(1).",
            		b("Increases") .. " the Healing efficiency of " .. b("Med-Kits") .. " by #pl(1).")
		},
		{
			version = "1.0.2",
			units = {4},
			values = {10, 15, 20},
			rarity = 2,
			desc =
				"You benefit from the following permanent effects:" ..
            	list(
            		b("Increases") .. " your Healing speed by #pl(1).",
            		b("Increases") .. " the Healing efficiency of " .. b("Med-Kits") .. " by #pl(1).")
		},
		{
			version = "1.0.0",
			units = {4},
			values = {10, 20, 30},
			rarity = 2,
			desc =
				"You benefit from the following permanent effects:" ..
            	list(
            		b("Increases") .. " your Healing speed by #pl(1).",
            		b("Increases") .. " the Healing efficiency of " .. b("Med-Kits") .. " by #pl(1).")
		},
	},
	["Breakdown"] =
	{
		{
			version = "9.3.2",
			units = {1},
			values = {4, 5, 6},
			timer = "180 seconds",
			rarity = 1,
			desc =
				"After you are unhooked by any means, #pn triggers its effects:" ..
				list(
					"Instantly breaks that " .. b("Hook") .. dot,
					nbullet .. b("Increases") .. " its Auto-Repair timer to " .. clror("#timer") .. dot,
					"The Aura of the Killer is revealed to you for #pl(1).")
		},
		{
			version = "9.3.0 (PTB)",
			ptbOnly = true,
			units = {1},
			values = {30, 60, 90},
			timer = "90 seconds",
			bonus = "+100 %",
			rarity = 2,
			desc =
				"After you are unhooked by any means, #pn triggers its primary effect:" ..
				list(
					"Instantly breaks that " .. b("Hook") .. dot,
					nbullet .. b("Increases") .. " its Auto-Repair timer to " .. clror("#timer") .. dot) ..
				"Additionally, you benefit from the following secondary effect for #pl(1):" ..
				list(b("Increases") .. " the Action speed of " .. i("Healing") .. " actions performed on you by " .. clro("#bonus") .. dot)
		},
		{
			version = "3.6.0",
			units = {1},
			values = {4, 5, 6},
			timer = "180 seconds",
			rarity = 1,
			desc =
				"After you are unhooked by any means, #pn triggers its effects:" ..
				list(
					"Instantly breaks that " .. b("Hook") .. dot,
					nbullet .. b("Increases") .. " its Auto-Repair timer to " .. clror("#timer") .. dot,
					"The Aura of the Killer is revealed to you for #pl(1).")
		},
		{
			version = "2.4.0",
			units = {1},
			values = {4, 5, 6},
			rarity = 1,
			desc =
				"Whenever you are unhooked by any means, #pn triggers its effects:" ..
				list(
					"Instantly breaks that " .. b("Hook") .. dot,
					"The Aura of the Killer is revealed to you for #pl(1).")
		},
	},
	["Breakout"] =
	{
		{
			version = "8.7.0",
			units = {4},
			values = {6, 8, 10},
			range = "5 metres",
			wiggling = "+25 %",
			rarity = 2,
			desc =
				"While within " .. clror("#range") .. " of the Killer carrying another Survivor, the following effects apply:" ..
				list(
					"Grants you a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot,
					b("Increases") .. " the Wiggling speed of the carried Survivor by " .. clro("#wiggling") .. dot) ..
				loadoutStrings.singleInstancePerk
		},
		{
			version = "7.1.0",
			units = {4},
			values = {5, 6, 7},
			range = "5 metres",
			wiggling = "+25 %",
			rarity = 2,
			desc =
				"While within " .. clror("#range") .. " of the Killer carrying another Survivor, the following effects apply:" ..
				list(
					"Grants you a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot,
					b("Increases") .. " the Wiggling speed of the carried Survivor by " .. clro("#wiggling") .. dot) ..
				loadoutStrings.singleInstancePerk
		},
		{
			version = "3.4.0",
			units = {4},
			values = {5, 6, 7},
			range = "6 metres",
			wiggling = "+20 %",
			rarity = 2,
			desc =
				"While within " .. clror("#range") .. " of the Killer carrying another Survivor, the following effects apply:" ..
				list(
					"Grants you a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot,
					b("Increases") .. " the Wiggling speed of the carried Survivor by " .. clro("#wiggling") .. dot) ..
				loadoutStrings.singleInstancePerk
		},
	},
	["Buckle Up"] =
	{
		{
			version = "8.0.0",
			units = {1},
			values = {3, 4, 5},
			rarity = 2,
			haste = "+50 %",
			desc =
				"Whenever you are healing a dying Survivor, #pn activates:" .. br ..
				"During the Healing action, you and the dying Survivor benefit from the following primary effect:" ..
				list("The Aura of the Killer is revealed to you both.") ..
				"After completing the Healing action, the other Survivor benefits from the following secondary effects for #pl(1):" ..
				list(
					b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. dot,
					"Grants them a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot) ..
				loadoutStrings.exhaustionPerkNoTrigger
		},
		{
			version = "7.1.0",
			units = {1},
			values = {6, 8, 10},
			rarity = 2,
			desc =
				"Whenever you are healing a dying Survivor, #pn activates:" .. br ..
				"During the Healing action, you and the dying Survivor benefit from the following primary effect:" ..
				list("The Aura of the Killer is revealed to you both.") ..
				"After completing the Healing action, you and the other Survivor benefit from the following secondary effect for #pl(1):" ..
				list("Grants you both the " .. b(i("Endurance") .. space .. "Status Effect") .. dot)
		},
		{
			version = "6.5.0",
			units = {1},
			values = {6, 8, 10},
			haste = "+10 %",
			rarity = 2,
			desc =
				"Whenever you are healing a dying Survivor, #pn activates:" .. br ..
				"During the Healing action, you and the dying Survivor benefit from the following primary effect:" ..
				list("The Aura of the Killer is revealed to you both.") ..
				"After completing the Healing action, the other Survivor benefits from the following secondary effect for #pl(1):" ..
				list("Grants them a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot)
		},
		{
			version = "5.5.0",
			units = {1},
			values = {6, 8, 10},
			range = "48 metres",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("Grants the ability to gauge the current Recovery progress of dying Survivors within " .. clror("#range") .. " by the intensity of their Aura.") ..
				"After completing a Healing action on a dying Survivor, you both benefit from the following effect:" .. 
				list("The Aura of the Killer is revealed to you both for #pl(1).")
		},
		{
			version = "2.4.0",
			units = {1},
			values = {4, 5, 6},
			range = "48 metres",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("Grants the ability to gauge the current Recovery progress of dying Survivors within " .. clror("#range") .. " by the intensity of their Aura.") ..
				"After completing a Healing action on a dying Survivor, you both benefit from the following effect:" .. 
				list("The Aura of the Killer is revealed to you both for #pl(1).")
		},
	},
	["Built to Last"] =
	{
		{
			version = "9.1.0",
			units = {1},
			values = {12, 10, 8},
			recharges = {"99 %", "66 %", "33 %"},
			finalUse = "third time",
			rarity = 2,
			desc =
				"While hiding inside a " .. b("Locker") .. " with a depleted " .. b("Item") .. " equipped, #pn triggers the following effect after #pl(1):" ..
				list(
					b("Recharges") .. " the " .. b("Item") .. " to one of the following percentages:",
					nbullet .. bclr("faded jade", "First time") .. colon .. space .. clror("#recharges(1)") .. dot,
					nbullet .. bclr("faded jade", "Second time") .. colon .. space .. clro("#recharges(2)") .. dot,
					nbullet .. bclr("faded jade", "Third time") .. colon .. space .. clro("#recharges(3)") .. dot) ..
				"#pn is disabled for the remainder of the Trial after triggering its effect for the " .. clro("#finalUse") .. dot
		},
		{
			version = "5.3.0",
			units = {1},
			values = {14, 13, 12},
			recharges = {"99 %", "66 %", "33 %"},
			finalUse = "third time",
			rarity = 2,
			desc =
				"While hiding inside a " .. b("Locker") .. " with a depleted " .. b("Item") .. " equipped, #pn triggers the following effect after #pl(1):" ..
				list(
					b("Recharges") .. " the " .. b("Item") .. " to one of the following percentages:",
					nbullet .. bclr("faded jade", "First time") .. colon .. space .. clror("#recharges(1)") .. dot,
					nbullet .. bclr("faded jade", "Second time") .. colon .. space .. clro("#recharges(2)") .. dot,
					nbullet .. bclr("faded jade", "Third time") .. colon .. space .. clro("#recharges(3)") .. dot) ..
				"#pn is disabled for the remainder of the Trial after triggering its effect for the " .. clro("#finalUse") .. dot
		},
		{
			version = "4.2.0",
			units = {4},
			values = {30, 40, 50},
			activationTimer = "10 seconds",
			rarity = 3,
			desc =
				"Once per Trial, depleting your equipped " .. b("Item") .. " causes #pn to trigger the following effect after " .. clror("#activationTimer") .. colon ..
				list(b("Recharges") .. " the " .. b("Item") .. " to #pl(1).") ..
				"#pn is disabled for the remainder of the Trial after use."
		},
	},
	["Brutal Strength"] =
	{
		{
			version = "3.6.0",
			units = {4},
			values = {10, 15, 20},
			rarity = 2,
			desc =
				"While performing the " .. i("Break or Damage") .. " action on " .. b("Breakable Walls") .. comma .. b("Pallets") .. ", or " .. b("Generators") .. ", #pn triggers its effect:" ..
        		list(b("Increases") .. " the Action speed by #pl(1).")
		},
		{
			version = "2.1.0",
			units = {4},
			values = {10, 15, 20},
			rarity = 2,
			desc =
				"While performing the " .. i("Break or Damage") .. " action on dropped " .. b("Pallets") .. " or " .. b("Generators") .. ", #pn triggers its effect:" ..
        		list(b("Increases") .. " the Action speed by #pl(1).")
		},
		{
			version = "1.7.0",
			units = {4},
			values = {10, 15, 20},
			rarity = 2,
			desc =
				"While performing the " .. i("Break") .. " action on dropped " .. b("Pallets") .. ", #pn triggers its effect:" ..
        		list(b("Increases") .. " the Action speed by #pl(1).")
		},
		{
			version = "1.0.5",
			units = {4},
			values = {20, 30, 40},
			rarity = 2,
			desc =
				"While performing the " .. i("Break") .. " action on dropped " .. b("Pallets") .. ", #pn triggers its effect:" ..
        		list(b("Increases") .. " the Action speed by #pl(1).")
		},
		{
			version = "1.0.0",
			units = {4},
			values = {10, 20, 30},
			rarity = 2,
			desc =
				"While performing the " .. i("Break") .. " action on dropped " .. b("Pallets") .. ", #pn triggers its effect:" ..
        		list(b("Increases") .. " the Action speed by #pl(1).")
		},
	},
	-- C Perks --
	["Call of Brine"] =
	{
		{
			version = "9.0.0",
			units = {4},
			values = {130, 140, 150},
			duration = "70 seconds",
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. ", #pn applies its effects to it for " .. clror("#duration") .. colon ..
				list(
					b("Increases") .. " its Regression speed to #pl(1) of the default value.",
					"Highlights its Aura to you in " .. bclr("yellow", "yellow") .. dot,
					"Triggers a " .. i("Loud Noise Notification") .. " whenever a Survivor succeeds a " .. i("Good Skill Check") .. " while repairing it.")
		},
		{
			version = "6.7.0",
			units = {4},
			values = {110, 115, 120},
			duration = "60 seconds",
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. ", #pn applies its effects to it for " .. clror("#duration") .. colon ..
				list(
					b("Increases") .. " its Regression speed to #pl(1) of the default value.",
					"Highlights its Aura to you in " .. bclr("yellow", "yellow") .. dot,
					"Triggers a " .. i("Loud Noise Notification") .. " whenever a Survivor succeeds a " .. i("Good Skill Check") .. " while repairing it.")
		},
		{
			version = "5.6.0",
			units = {4},
			values = {150, 175, 200},
			duration = "60 seconds",
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. ", #pn applies its effects to it for " .. clror("#duration") .. colon ..
				list(
					b("Increases") .. " its Regression speed to #pl(1) of the default value.",
					"Highlights its Aura to you in " .. bclr("yellow", "yellow") .. dot,
					"Triggers a " .. i("Loud Noise Notification") .. " whenever a Survivor succeeds a " .. i("Good Skill Check") .. " while repairing it.")
		},
	},
	["Calm Spirit"] =
	{
		{
			version = "6.1.0",
			units = {4},
			values = {40, 35, 30},
			rarity = 2,
			desc =
				"You experience the following effects during a Trial:" ..
        		list(
        			"Nearby " .. b("Crows") .. " no longer fly off and alert others to your presence, unless you come within touching distance.",
        			b("Suppresses") .. " the urge to scream from any cause at all times.",
        			b("Suppresses") .. " all noises related to interacting with the following Props:",
        			nbullet .. b("Chests"),
        			nbullet .. b("Totems"),
        			b("Reduces") .. " the Action speeds for Blessing, Cleansing, and Unlocking by #pl(1).")
		},
		{
			version = "2.7.0",
			units = {4},
			values = {80, 90, 100},
			rarity = 2,
			desc =
				"You benefit from the following effects during a Trial:" ..
        		list(
        			b("Reduces") .. " the chances of nearby " .. b("Crows") .. " flying off and alert others to your presence by #pl(1), unless you come within touching distance.",
        			b("Suppresses") .. " the urge to scream from any cause at all times.")
		},
		{
			version = "2.1.0",
			units = {4},
			values = {80, 90, 100},
			rarity = 2,
			desc =
				"You benefit from the following effects during a Trial:" ..
        		list(
        			b("Reduces") .. " the chances of nearby " .. b("Crows") .. " flying off and alert others to your presence by #pl(1), unless you come within touching distance.",
        			b("Suppresses") .. " the urge to scream from hits by a Killer's Power or Weapon at all times.")
		},
		{
			version = "1.3.0",
			units = {4},
			values = {80, 90, 100},
			rarity = 2,
			desc =
				"You benefit from the following effect during a Trial:" ..
        		list(b("Reduces") .. " the chances of nearby " .. b("Crows") .. " flying off and alert others to your presence by #pl(1), unless they are being stepped on.")
		},
		{
			version = "1.0.0",
			units = {4},
			values = {70, 80, 95},
			rarity = 2,
			desc =
				"You benefit from the following effect during a Trial:" ..
        		list(b("Reduces") .. " the chances of nearby " .. b("Crows") .. " flying off and alert others to your presence by #pl(1), unless they are being stepped on.")
		},
	},
	["Camaraderie"] =
	{
		{
			version = "7.3.3",
			units = {1},
			values = {26, 30, 34},
			rarity = 2,
			notice = "Identical to the previous version, except that the Lore text was reinstated to the original version.",
			desc =
				"Life has taught you the importance of friendship which has given you strength." .. nlp ..
				"If you are hooked and enter the " .. i("Struggle Phase") .. ", #pn activates:" ..
				list(
					b("Pauses") .. " the " .. i("Struggle Phase") .. " timer for #pl(1) as soon as any Survivor comes within " .. clror("16 metres") .. " of your " .. b("Hook") .. dot)
		},
		{
			version = "5.3.0",
			units = {1},
			values = {26, 30, 34},
			rarity = 2,
			notice = "Identical to the previous version, except that the Lore text was adjusted for licensing reasons.",
			desc =
				"Life has taught you the importance of friendship which has given you strength." .. nlp ..
				"If you are hooked and enter the " .. i("Struggle Phase") .. ", #pn activates:" ..
				list(
					b("Pauses") .. " the " .. i("Struggle Phase") .. " timer for #pl(1) as soon as any Survivor comes within " .. clror("16 metres") .. " of your " .. b("Hook") .. dot)
		},
		{
			version = "3.2.0",
			units = {1},
			values = {26, 30, 34},
			rarity = 2,
			desc =
				"Life has taught you the importance of friendship which has given you strength." .. nlp ..
				"If you are hooked and enter the " .. i("Struggle Phase") .. ", #pn activates:" ..
				list(
					b("Pauses") .. " the " .. i("Struggle Phase") .. " timer for #pl(1) as soon as any Survivor comes within " .. clror("16 metres") .. " of your " .. b("Hook") .. dot)
		},
	},
	["Champion of Light"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {60, 50, 40},
			haste = "+50 %",
			hindered = "-20 %",
			durationHindered = "6 seconds",
			rarity = 2,
			desc =
				"While shining a " .. b("Flashlight") .. ", #pn triggers its primary effect:" .. 
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot) ..
				"After blinding the Killer by any means, #pn triggers its secondary effect:" ..
				list(
					"Causes the Killer to suffer from a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot,
					nbullet .. "This effect does not stack.") ..
				"#pn applies a cool-down of #pl(1) after blinding the Killer."
		},
		{
			version = "7.5.2",
			units = {1},
			values = {80, 70, 60},
			haste = "+50 %",
			hindered = "-20 %",
			durationHindered = "6 seconds",
			rarity = 2,
			desc =
				"While shining a " .. b("Flashlight") .. ", #pn triggers its primary effect:" .. 
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot) ..
				"After blinding the Killer by any means, #pn triggers its secondary effect:" ..
				list(
					"Causes the Killer to suffer from a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot,
					nbullet .. "This effect does not stack.") ..
				"#pn applies a cool-down of #pl(1) after blinding the Killer."
		},
		{
			version = "7.5.1",
			units = {1},
			values = {80, 70, 60},
			haste = "+50 %",
			hindered = "-20 %",
			durationHindered = "6 seconds",
			rarity = 2,
			desc =
				"While having a " .. i("Flashlight") .. " equipped, you benefit from the following effects:" .. 
				list(
					"Shining the " .. i("Flashlight") .. " grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
					"Blinding the Killer by any means causes them to suffer from a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot,
					nbullet .. "This effect does not stack.") ..
				"#pn applies a cool-down of #pl(1) after blinding the Killer."
		},
		{
			version = "7.5.0",
			units = {1},
			values = {80, 70, 60},
			haste = "+50 %",
			hindered = "-20 %",
			durationHindered = "6 seconds",
			rarity = 2,
			desc =
				"While having a " .. i("Flashlight") .. " equipped, you benefit from the following effects:" .. 
				list(
					"Shining the " .. i("Flashlight") .. " grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot,
					"Blinding the Killer with the " .. i("Flashlight") .. " causes them to suffer from a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot,
					nbullet .. "This effect does not stack.") ..
				"#pn applies a cool-down of #pl(1) after blinding the Killer."
		},
	},
	["Chemical Trap"] =
	{
		{
			version = "8.2.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				"In the Fog, an officer must adapt to the materials at hand." .. nlp ..
				"After repairing " .. b("Generators") .. " for a total of " .. clror("20 %") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " while near a dropped Pallet to install a Trap, which stays active for #pl(1).",
					"When the Killer breaks the " .. i("Trapped Pallet") .. ", its Trap explodes, spraying the Killer with a chemical compound:",
					nbullet .. "Causes the Killer to suffer from a " .. clro("-50 %") .. space .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("4 seconds") .. dot) ..
				"#pn deactivates after triggering successfully or once the timer runs out." .. nlp ..
				"The Auras of " .. i("Trapped Pallets") .. " are revealed to all Survivors in " .. bclr("yellow", "yellow") .. dot
		},
		{
			version = "7.2.0",
			units = {4, 1},
			values = {70, 60, 50, 100, 110, 120},
			rarity = 2,
			desc =
				"In the Fog, an officer must adapt to the materials at hand." .. nlp ..
				"After repairing " .. b("Generators") .. " for a total of #pl(1), #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " while near a dropped Pallet to install a Trap, which stays active for #pl(2).",
					"When the Killer breaks the " .. i("Trapped Pallet") .. ", its Trap explodes, spraying the Killer with a chemical compound:",
					nbullet .. "Causes the Killer to suffer from a " .. clror("-50 %") .. space .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("4 seconds") .. dot) ..
				"#pn deactivates after triggering successfully or once the timer runs out." .. nlp ..
				"The Auras of " .. i("Trapped Pallets") .. " are revealed to all Survivors in " .. bclr("yellow", "yellow") .. dot
		},
	},
	["Clairvoyance"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {10, 11, 12},
			range = "64 metres",
			rarity = 2,
			desc =
				"After cleansing or blessing a " .. b("Totem") .. ", #pn activates." .. br ..
				"While active, press and hold the " .. loadoutStrings.useItemButton .. " when empty-handed to unlock your full Aura-reading potential:" ..
				list(
					"The Auras of the following objects within " .. clror("#range") .. " are revealed to you for as long as you uphold the interaction, up to a maximum of #pl(1):",
					nbullet .. b("Chests"), 
					nbullet .. b("Exit Gate Switches"),
					nbullet .. b("Generators"),
					nbullet .. b("Hatch"),
					nbullet .. b("Hooks"))
		},
		{
			version = "7.1.0",
			units = {1},
			values = {8, 9, 10},
			range = "64 metres",
			rarity = 2,
			desc =
				"After cleansing or blessing a " .. b("Totem") .. ", #pn activates." .. br ..
				"While active, press and hold the " .. loadoutStrings.useItemButton .. " when empty-handed to unlock your full Aura-reading potential:" ..
				list(
					"The Auras of the following objects within " .. clror("#range") .. " are revealed to you for as long as you uphold the interaction, up to a maximum of #pl(1):",
					nbullet .. b("Chests"), 
					nbullet .. b("Exit Gate Switches"),
					nbullet .. b("Generators"),
					nbullet .. b("Hatch"),
					nbullet .. b("Hooks"))
		},
		{
			version = "5.3.0",
			units = {1},
			values = {8, 9, 10},
			range = "64 metres",
			rarity = 2,
			desc =
				"After cleansing a " .. b("Totem") .. ", #pn activates." .. br ..
				"While active, press and hold the " .. loadoutStrings.useItemButton .. " when empty-handed to unlock your full Aura-reading potential:" ..
				list(
					"The Auras of the following objects within " .. clror("#range") .. " are revealed to you for as long as you uphold the interaction, up to a maximum of #pl(1):",
					nbullet .. b("Chests"), 
					nbullet .. b("Exit Gate Switches"),
					nbullet .. b("Generators"),
					nbullet .. b("Hatch"),
					nbullet .. b("Hooks"))
		},
	},
	["Clean Break"] =
	{
		{
			version = "8.4.0 (PTB)",
			units = {1},
			values = {80, 70, 60},
			healthState = 1,
			rarity = 2,
			desc =
				"After completing a " .. i("Healing action")  .. " on another Survivor, #pn activates." .. br ..
				"Press the " .. loadoutStrings.activeAbilityButton .. " while being healed by another Survivor to trigger the following effects:" ..
				list(
					"Suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. dot,
					"You are automatically healed " .. clror("#healthState") .. space .. b("Health State") .. " after #pl(1).",
					nbullet .. "This effect is cancelled prematurely if you enter the " .. i("Dying State") .. dot) ..
				"#pn does not activate if you already suffer from " .. b(i("Broken")) .. dot .. br ..
				"#pn deactivates after healing you."
		},
	},
	["Come and Get Me!"] =
	{
		{
			version = "9.1.0",
			units = {1},
			values = {10, 12.5, 15},
			range = "24 metres",
			aura = "5 seconds",
			rarity = 2,
			desc =
				"After unhooking a Survivor, while crouched and stationary, press the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effects:" ..
				list(
					b("Suppresses") .. " the creation of " .. i("Grunts of Pain") .. ", " .. i("Pools of Blood") .. ", and " .. i("Scratch Marks") .. " for all injured or dying Survivors within " .. clror("#range") .. " of your location for the next #pl(1).",
					"Causes you to scream and reveal your Aura to the Killer for " .. clro("#aura") .. dot)
		},
		{
			version = "9.1.0 (PTB)",
			units = {1},
			values = {10, 12.5, 15},
			range = "24 metres",
			aura = "5 seconds",
			rarity = 2,
			desc =
				"After unhooking a Survivor, while crouched and stationary, press the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effects:" ..
				list(
					b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. " for all injured or dying Survivors within " .. clror("#range") .. " of your location for the next #pl(1).",
					"Causes you to scream and reveal your Aura to the Killer for " .. clro("#aura") .. dot)
		},
	},
	["Conviction"] =
	{
		{
			version = "9.3.0",
			units = {1},
			values = {20, 25, 30},
			recovery = "25 %",
			rarity = 2,
			desc =
				"After having completed a " .. i("Healing") .. " action on another Survivor, whenever you are in the " .. i("Dying State") .. ", #pn activates." .. br ..
				"While active, press the " .. loadoutStrings.activeAbilityButton .. " after reaching at least " .. clror("#recovery") .. " Recovery progress to trigger the following effects:" ..
				list(
					"Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State") .. dot,
					nbullet .. "Inflicts the " .. b(i("Broken") .. space .. "Status Effect") .. dot,
					nbullet .. "Causes you to automatically re-enter the " .. i("Dying State") .. " after #pl(1).")
		},
		{
			version = "9.1.0",
			units = {1},
			values = {20, 25, 30},
			recovery = "25 %",
			rarity = 2,
			desc =
				"After having completed a " .. i("Healing") .. " action on yourself or another Survivor, whenever you are in the " .. i("Dying State") .. ", #pn activates." .. br ..
				"While active, press the " .. loadoutStrings.activeAbilityButton .. " after reaching at least " .. clror("#recovery") .. " Recovery progress to trigger the following effects:" ..
				list(
					"Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State") .. dot,
					nbullet .. "Inflicts the " .. b(i("Broken") .. space .. "Status Effect") .. dot,
					nbullet .. "Causes you to automatically re-enter the " .. i("Dying State") .. " after #pl(1).")
		},
	},
	["Corrective Action"] =
	{
		{
			version = "8.3.0",
			units = {6},
			values = {1, 2, 3},
			tokenGain = "+1 Token",
			tokenCost = "-1 Token",
			tokenLimit = "5 Tokens",
			duration = "6 seconds",
			rarity = 2,
			desc =
				"You start the Trial with #pl(1) and succeeding a " .. i("Great Skill Check") .. " grants " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenLimit") .. dot .. br ..
				"While any other Survivor performs a skilful interaction that can trigger " .. i("Skill Checks") .. ", they benefit from the following effects:" ..
				list(
					"Converts any " .. i("Failed Skill Check") .. " into a " .. i("Good Skill Check") .. dot,
					nbullet .. "This consumes " .. clro("#tokenCost") .. dot,
					"The Aura of that Survivor is revealed to you for " .. clro("#duration") .. dot) ..
				"#pn does not apply to special " .. i("Skill Checks") .. dot
		},
		{
			version = "5.4.0",
			units = {6},
			values = {1, 2, 3},
			tokenGain = "+1 Token",
			tokenCost = "-1 Token",
			tokenLimit = "5 Tokens",
			rarity = 2,
			icon = "Corrective Action (Original Icon)",
			desc =
				"You start the Trial with #pl(1) and succeeding a " .. i("Great Skill Check") .. " grants " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenLimit") .. dot .. br ..
				"While performing a skilful co-operative interaction that can trigger " .. i("Skill Checks") .. ", you benefit from the following effect:" ..
				list(
					"Converts any " .. i("Failed Skill Check") .. " of the co-operating Survivor into a " .. i("Good Skill Check") .. dot,
					nbullet .. "This consumes " .. clro("#tokenCost") .. dot) ..
				"#pn does not apply to special " .. i("Skill Checks") .. dot
		},
	},
	["Coulrophobia"] =
	{
		{
			version = "6.1.0",
			units = {4},
			values = {30, 40, 50}, 
			effect = "+50 %",
			rarity = 2,
			desc =
				"Survivors inside your " .. i("Terror Radius") .. " suffer from the following effects:" ..
				list(
					b("Reduces") .. " all Healing speeds by #pl(1).",
					b("Increases") .. " the Pointer-Rotation speed of " .. i("Healing Skill Checks") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "2.0.0",
			units = {4},
			values = {30, 40, 50},
			rarity = 2,
			desc =
				"Survivors inside your " .. i("Terror Radius") .. " suffer from the following effects:" ..
				list(b("Reduces") .. " all Healing speeds by #pl(1).")
		},
	},
	["Counterforce"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {10, 12, 14}, 
			default = "125 %",
			bonus = "+25 %",
			rarity = 2,
			desc =
				"You benefit from the following permanent effect:" ..
				list(b("Increases") .. " the default value of your Cleansing speed to " .. clror("#default") .. dot) ..
				"Whenever you cleanse a " .. b("Totem") .. ", #pn triggers the following effects:" ..
				list(
					b("Increases") .. " your Cleansing speed by a stack-able " .. clro("#bonus") .. dot,
					"The Aura of the " .. b("Totem") .. " farthest from your current location is revealed to you for #pl(1).")
		},
		{
			version = "5.0.0",
			units = {1},
			values = {2, 3, 4}, 
			default = "120 %",
			bonus = "+20 %",
			rarity = 2,
			desc =
				"You benefit from the following permanent effect:" ..
				list(b("Increases") .. " the default value of your Cleansing speed to " .. clror("#default") .. dot) ..
				"Whenever you cleanse a " .. b("Totem") .. ", #pn triggers the following effects:" ..
				list(
					b("Increases") .. " your Cleansing speed by a stack-able " .. clro("#bonus") .. dot,
					"The Aura of the " .. b("Totem") .. " farthest from your current location is revealed to you for #pl(1).")
		},
	},
	["Cruel Limits"] =
	{
		{
			version = "7.3.3",
			units = {1},
			values = {20, 25, 30},
			rarity = 2,
			notice = "With the return of " .. b("CHAPTER 13: Stranger Things") .. ", this Patch reinstated the original flavour text and name of the Perk.",
			desc =
				i("Your ties to the otherwordly manifest when your prey attempts to get away.") .. nlp ..
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its effect for #pl(1):" ..
				list(
					b("Blocks") .. " all " .. b("Windows") .. " for all Survivors.",
					"The Auras of the " .. b("Blocked Windows") .. " are revealed to you and highlighted in " .. bclr("yellow", "yellow") .. dot)
		},
		{
			version = "7.1.0",
			units = {1},
			values = {20, 25, 30},
			rarity = 2,
			desc =
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its effect for #pl(1):" ..
				list(
					b("Blocks") .. " all " .. b("Windows") .. " for all Survivors.",
					"The Auras of the " .. b("Blocked Windows") .. " are revealed to you and highlighted in " .. bclr("yellow", "yellow") .. dot)
		},
		{
			version = "5.3.0",
			units = {1},
			values = {20, 25, 30},
			range = "32 metres",
			rarity = 2,
			notice = "This Patch only updated the introductory flavour text and changed its name from " .. b("Cruel Limits") .. " to " .. b("Claustrophobia") .. dot,
			desc =
				i("Your ties to The Entity manifest when your prey attempts to get away.") .. nlp ..
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its effect for #pl(1):" ..
				list(
					b("Blocks") .. " all " .. b("Windows") .. " for all Survivors within " .. clror("#range") .. " of that " .. b("Generator") .. dot,
					"The Auras of the " .. b("Blocked Windows") .. " are revealed to you and highlighted in " .. bclr("yellow", "yellow") .. dot)
		},
		{
			version = "4.3.0",
			units = {1},
			values = {20, 25, 30},
			range = "32 metres",
			rarity = 2,
			desc =
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its effect for #pl(1):" ..
				list(
					b("Blocks") .. " all " .. b("Windows") .. " for all Survivors within " .. clror("#range") .. " of that " .. b("Generator") .. dot,
					"The Auras of the " .. b("Blocked Windows") .. " are revealed to you and highlighted in " .. bclr("yellow", "yellow") .. dot)
		},
		{
			version = "3.2.0",
			units = {1},
			values = {20, 25, 30},
			range = "24 metres",
			rarity = 3,
			desc =
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its effect for #pl(1):" ..
				list(
					b("Blocks") .. " all " .. b("Windows") .. " for all Survivors within " .. clror("#range") .. " of that " .. b("Generator") .. dot,
					"The Auras of the " .. b("Blocked Windows") .. " are revealed to you and highlighted in " .. bclr("yellow", "yellow") .. dot)
		},
	},
	-- D Perks --
	["Dance With Me"] =
	{
		{
			version = "8.6.0",
			units = {1},
			values = {25, 20, 15},
			stealth = "5 seconds",
			rarity = 2,
			desc =
				"When performing a " .. i("Rushed") .. " action to vault a " .. b("Window") .. " or exit a " .. b("Locker") .. ", #pn triggers its effect:" ..
				list(b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. " for " .. clror("#stealth") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "8.2.0",
			units = {1},
			values = {30, 25, 20},
			stealth = "3 seconds",
			rarity = 2,
			desc =
				"When performing a " .. i("Rushed") .. " action to vault a " .. b("Window") .. " or exit a " .. b("Locker") .. ", #pn triggers its effect:" ..
				list(b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. " for " .. clror("#stealth") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "2.0.0",
			units = {1},
			values = {60, 50, 40},
			stealth = "3 seconds",
			rarity = 2,
			desc =
				"When performing a " .. i("Rushed") .. " action to vault a " .. b("Window") .. " or exit a " .. b("Locker") .. ", #pn triggers its effect:" ..
				list(b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. " for " .. clror("#stealth") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Dark Arrogance"] =
	{
		{
			version = "9.2.0",
			units = {4},
			values = {15, 20, 25}, 
			stunRecovery = "-15 %",
			blindDuration = "+15 %", 
			rarity = 2,
			desc =
				"Whenever you are vaulting a " .. b("Window") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " the Vaulting speed by #pl(1).") ..
				"Whenever you are stunned with a " .. b("Pallet") .. " or blinded by any means, you suffer from the following effects:" ..
				list(
					b("Reduces") .. " the Recovery speed from " .. i("Pallet Stuns") .. " by " .. clror("#stunRecovery") .. dot,
					b("Increases") .. " the duration of " .. i("Killer Blinds") .. " by " .. clro("#blindDuration") .. dot)
		},
		{
			version = "8.0.0",
			units = {4},
			values = {15, 20, 25}, 
			stunRecovery = "-25 %",
			blindDuration = "+25 %", 
			rarity = 2,
			desc =
				"Whenever you are vaulting a " .. b("Window") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " the Vaulting speed by #pl(1).") ..
				"Whenever you are stunned with a " .. b("Pallet") .. " or blinded by any means, you suffer from the following effects:" ..
				list(
					b("Reduces") .. " the Recovery speed from " .. i("Pallet Stuns") .. " by " .. clror("#stunRecovery") .. dot,
					b("Increases") .. " the duration of " .. i("Killer Blinds") .. " by " .. clro("#blindDuration") .. dot)
		},
	},
	["Dark Devotion"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {35, 40, 45},
			radius = "40 metres",
			rarity = 2,
			desc =
				"Whenever the " .. b(i("Obsession")) .. " becomes injured by any means, #pn activates for #pl(1):" ..
				list(
					"Transfers your " .. i("Terror Radius") .. " to the " .. b(i("Obsession")) .. dot,
					nbullet .. "This " .. i("Terror Radius") .. " is set to " .. clror("#radius") .. dot,
					"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot) .. 
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "6.1.0",
			units = {1},
			values = {20, 25, 30},
			radius = "32 metres",
			rarity = 2,
			desc =
				"Whenever the " .. b(i("Obsession")) .. " becomes injured by any means, #pn activates for #pl(1):" ..
				list(
					"Transfers your " .. i("Terror Radius") .. " to the " .. b(i("Obsession")) .. dot,
					nbullet .. "This " .. i("Terror Radius") .. " is set to " .. clror("#radius") .. dot,
					"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot) .. 
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "3.4.0",
			units = {1},
			values = {20, 25, 30},
			radius = "32 metres",
			rarity = 2,
			desc =
				"Whenever the " .. b(i("Obsession")) .. " becomes injured from a successful " .. i("Basic Attack") .. ", #pn activates for #pl(1):" ..
				list(
					"Transfers your " .. i("Terror Radius") .. " to the " .. b(i("Obsession")) .. dot,
					nbullet .. "This " .. i("Terror Radius") .. " is set to " .. clror("#radius") .. dot,
					"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot) .. 
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "3.1.0",
			units = {1},
			values = {20, 25, 30},
			radius = {"32 metres", "0 metres"},
			rarity = 2,
			desc =
				"Whenever the " .. b(i("Obsession")) .. " becomes injured from a successful " .. i("Basic Attack") .. ", #pn activates for #pl(1):" ..
				list(
					"Causes the " .. b(i("Obsession")) .. " to emit a " .. i("Terror Radius") .. dot,
					nbullet .. "This " .. i("Terror Radius") .. " is set to " .. clror("#radius(1)") .. dot,
					b("Reduces") .. " your " .. i("Terror Radius") .. " to " .. clro("#radius(2)") .. dot) .. 
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "2.6.0",
			units = {1},
			values = {60, 45, 30},
			duration = "20 seconds",
			radius = {"32 metres", "0 metres"},
			rarity = 2,
			desc =
				"Whenever the " .. b(i("Obsession")) .. " becomes injured from a successful " .. i("Basic Attack") .. ", #pn activates for " .. clror("#duration") .. colon ..
				list(
					"Causes the " .. b(i("Obsession")) .. " to emit a " .. i("Terror Radius") .. dot,
					nbullet .. "This " .. i("Terror Radius") .. " is set to " .. clro("#radius(1)") .. dot,
					b("Reduces") .. " your " .. i("Terror Radius") .. " to " .. clro("#radius(2)") .. dot) .. 
				"#pn has a cool-down of #pl(1)." .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
	},
	["Dark Sense"] =
	{
		{
			version = "6.1.0",
			units = {1},
			values = {5, 7, 10},
			range = "24 metres",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Whenever a " .. b("Generator") .. " is completed, #pn activates:" ..
				list("The Aura of the Killer is revealed to you for #pl(1) once they come within " .. clror("#range") .. " of your location.") ..
				"#pn deactivates after use."
		},
		{
			version = "3.2.0",
			units = {1},
			values = {5, 7, 10},
			duration = "5 seconds",
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Whenever a " .. b("Generator") .. " is completed, #pn activates and reveals the Aura of the Killer to you for the following durations:" ..
				list(
					bclr("faded jade", "Not the last Generator") .. colon .. space .. clror("#duration"),
					bclr("faded jade", "The last Generator") .. colon .. space .. "#pl(1)") ..
				"#pn deactivates after use."
		},
		{
			version = "2.1.0",
			units = {1},
			values = {5, 7, 10},
			duration = "5 seconds", 
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Whenever you complete a " .. b("Generator") .. ", #pn activates and reveals the Aura of the Killer to you for the following durations:" ..
				list(
					bclr("faded jade", "Not the last Generator") .. colon .. space .. clror("#duration"),
					bclr("faded jade", "The last Generator") .. colon .. space .. "#pl(1)") ..
				"#pn deactivates after use."
		},
		{
			version = "1.0.0",
			units = {1},
			values = {3, 5, 7},
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" ..
				list("The Aura of the Killer is revealed to you for #pl(1).") ..
				"#pn deactivates after use."
		},
	},
	["Dead Hard"] =
	{
		{
			version = "6.7.0",
			units = {1},
			values = {60, 50, 40},
			endurance = "0.5 seconds",
			rarity = 2,
			desc =
				"After being unhooked by any means, #pn activates:" .. br ..
				"While injured and running, press the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effect:" ..
				list("Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for " .. clror("#endurance") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)."
		},
		{
			version = "6.1.0",
			units = {1},
			values = {60, 50, 40},
			endurance = "0.5 seconds",
			rarity = 2,
			desc =
				"Whenever you are injured and running, #pn activates:" .. br ..
				"While active, press the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effect:" ..
				list("Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for " .. clror("#endurance") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)."
		},
		{
			version = "1.6.0",
			units = {1},
			values = {60, 50, 40},
			effect = "0.5 seconds",
			rarity = 2,
			desc =
				"Whenever you are injured and running, #pn activates:" .. br ..
				"While active, press the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effects for " .. clror("#effect") .. colon ..
				list(
					"Grants the ability to " .. i("Dash") .. " forwards.",
					"Grants the ability to ignore any incoming damage from any source.") ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)."
		},
	},
	["Dead Man's Switch"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {25, 30, 35},
			rarity = 2,
			desc =
				"After hooking a Survivor, #pn triggers its effect:" ..
				list(
					b("Blocks") .. " the first " .. b("Generator") .. " any Survivor stops repairing for #pl(1).",
					nbullet .. "The " .. i("Blocked Generator") .. " is highlighted to you in " .. bclr("white", "white") .. dot) ..
				"#pn cannot activate if its effect is still active from a previous activation."
		},
		{
			version = "8.3.0",
			units = {1},
			values = {40, 45, 50},
			rarity = 2,
			desc =
				"After hooking a Survivor, #pn triggers its effect:" ..
				list(
					b("Blocks") .. " the first " .. b("Generator") .. " any Survivor stops repairing for #pl(1).",
					nbullet .. "The " .. i("Blocked Generator") .. " is highlighted to you in " .. bclr("white", "white") .. dot) ..
				"#pn cannot activate if its effect is still active from a previous activation."
		},
		{
			version = "6.1.2",
			units = {1},
			values = {20, 25, 30},
			rarity = 2,
			desc =
				"After hooking a Survivor, #pn activates for #pl(1):" ..
				list(
					b("Blocks") .. " any " .. b("Generator") .. " any Survivor stops repairing within the Activation window.",
					nbullet .. "This effect lasts for the remainder of the Activation window.",
					nbullet .. i("Blocked Generators") .. " are highlighted to you in " .. bclr("white", "white") .. dot)
		},
		{
			version = "5.5.0",
			units = {1},
			values = {35, 40, 45},
			rarity = 2,
			desc =
				"After hooking a Survivor, #pn activates for #pl(1):" ..
				list(
					b("Blocks") .. " any " .. b("Generator") .. " any Survivor stops repairing within the Activation window.",
					nbullet .. "This effect lasts for the remainder of the Activation window.",
					i("Blocked Generators") .. " are highlighted to you in " .. bclr("white", "white") .. dot)
		},
		{
			version = "3.6.0",
			units = {1},
			values = {35, 40, 45},
			rarity = 2,
			desc =
				"After hooking your " .. b(i("Obsession")) .. ", #pn activates for #pl(1):" ..
				list(
					b("Blocks") .. " any " .. b("Generator") .. " any Survivor stops repairing within the Activation window.",
					nbullet .. "This effect lasts for the remainder of the Activation window.",
					i("Blocked Generators") .. " are highlighted to you in " .. bclr("white", "white") .. dot) ..
				loadoutStrings.obsessionPerkKiller
		},
	},
	["Deathbound"] =
	{
		{
			version = "8.6.0",
			units = {3},
			values = {12, 8, 4},
			healthState = 1,
			rarity = 2,
			desc =
				"Whenever a Survivor finishes healing another Survivor for the equivalent of " .. clror("#healthState") .. " Health State, #pn activates:" ..
				list(
					"Causes the Healer to scream and reveal their location.",
					"Causes the Healer to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " whenever they are farther than #pl(1) from the other Survivor.",
					"The Healer sees the Aura of the Healed Survivor while #pn is active.") .. 
				"#pn deactivates after the Healer loses a Health State."
		},
		{
			version = "8.3.0",
			units = {3},
			values = {16, 12, 8},
			healthState = 1,
			rarity = 2,
			desc =
				"Whenever a Survivor finishes healing another Survivor for the equivalent of " .. clror("#healthState") .. " Health State, #pn activates:" ..
				list(
					"Causes the Healer to scream and reveal their location.",
					"Causes the Healer to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " whenever they are farther than #pl(1) from the other Survivor.") .. 
				"#pn deactivates after the Healer loses a Health State."
		},
		{
			version = "4.0.0",
			units = {3},
			values = {16, 12, 8},
			healthState = 1,
			radius = "32 metres", 
			duration = "60 seconds",
			rarity = 2,
			desc =
				"Whenever a Survivor finishes healing another Survivor for the equivalent of " .. clror("#healthState") .. " Health State at least " .. clro("#radius") .. " away from you, #pn activates:" ..
				list(
					"Causes the Healer to scream and reveal their location.",
					"Causes the Healer to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " whenever they are farther than #pl(1) from the Healee for the next " .. clro("#duration") .. dot)
		},
	},
	["Deception"] =
	{
		{
			version = "8.6.0",
			units = {1},
			values = {25, 20, 15},
			stealth = "5 seconds",
			rarity = 2,
			desc =
				"Press and hold the " .. loadoutStrings.sprintButton .. " while interacting with a " .. b("Locker") .. " for the following effects:" ..
				list(
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. " for " .. clror("#stealth") .. dot,
					"Causes you to run past the targeted " .. b("Locker") .. ", instead of entering it.",
					"Causes its doors to swiftly open and close again, feining you having entered it in a rush.",
					"Triggers a " .. i("Loud Noise Notification") .. " for the Killer at its location.") .. 
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "8.2.0",
			units = {1},
			values = {30, 25, 20},
			stealth = "3 seconds",
			rarity = 2,
			desc =
				"Press and hold the " .. loadoutStrings.sprintButton .. " while interacting with a " .. b("Locker") .. " for the following effects:" ..
				list(
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. " for " .. clror("#stealth") .. dot,
					"Causes you to run past the targeted " .. b("Locker") .. ", instead of entering it.",
					"Causes its doors to swiftly open and close again, feining you having entered it in a rush.",
					"Triggers a " .. i("Loud Noise Notification") .. " for the Killer at its location.") .. 
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "4.4.0",
			units = {1},
			values = {60, 50, 40},
			stealth = "3 seconds",
			rarity = 2,
			desc =
				"Press and hold the " .. loadoutStrings.sprintButton .. " while interacting with a " .. b("Locker") .. " for the following effects:" ..
				list(
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. " for " .. clror("#stealth") .. dot,
					"Causes you to run past the targeted " .. b("Locker") .. ", instead of entering it.",
					"Causes its doors to swiftly open and close again, feining you having entered it in a rush.",
					"Triggers a " .. i("Loud Noise Notification") .. " for the Killer at its location.") .. 
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Decisive Strike"] =
	{
		{
			version = "8.0.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
        		"After being unhooked or unhooking yourself, #pn activates for the next #pl(1):" .. 
        		list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for " .. clror("4 seconds") .. dot,
        			"Causes you to become the next " .. b(i("Obsession")) .. dot) ..
        		"#pn is deactivated once the " .. b("Exit Gates") .. " are powered." .. br ..
        		"#pn is disabled for the remainder of the Trial after use." .. nlp ..
        		loadoutStrings.conspicuousActionsPerk .. nlp ..
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "7.7.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
        		"After being unhooked or unhooking yourself, #pn activates for the next #pl(1):" .. 
        		list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for " .. clror("5 seconds") .. dot,
        			"Causes you to become the next " .. b(i("Obsession")) .. dot) ..
        		"#pn is deactivated once the " .. b("Exit Gates") .. " are powered." .. br ..
        		"#pn is disabled for the remainder of the Trial after use." .. nlp ..
        		loadoutStrings.conspicuousActionsPerk .. nlp ..
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "6.1.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
        		"After being unhooked or unhooking yourself, #pn activates for the next #pl(1):" .. 
        		list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for " .. clror("3 seconds") .. dot,
        			"Causes you to become the next " .. b(i("Obsession")) .. dot) ..
        		"#pn is deactivated once the " .. b("Exit Gates") .. " are powered." .. br ..
        		"#pn is disabled for the remainder of the Trial after use." .. nlp ..
        		loadoutStrings.conspicuousActionsPerk .. nlp ..
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "5.4.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
        		"After being unhooked or unhooking yourself, #pn activates for the next #pl(1):" .. 
        		list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for " .. clror("5 seconds") .. dot,
        			"Causes you to become the next " .. b(i("Obsession")) .. dot) ..
        		"#pn is deactivated prematurely when performing any of the following interactions:" ..
        		list(
        			"Repairing a " .. b("Generator") .. dot,
        			"Healing yourself or other Survivors.",
        			"Cleansing or Blessing a " .. b("Totem") .. dot,
        			"Sabotaging a " .. b("Hook") .. dot,
        			"Unhooking other Survivors.") ..
        		"#pn is disabled for the remainder of the Trial after use." .. nlp ..
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "4.6.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
        		"After being unhooked or unhooking yourself, #pn activates for the next #pl(1):" .. 
        		list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for " .. clror("5 seconds") .. dot,
        			"Causes you to become the next " .. b(i("Obsession")) .. dot) ..
        		"#pn is deactivated upon performing any of the following interactions:" ..
        		list(
        			"Repairing a " .. b("Generator") .. dot,
        			"Healing yourself or other Survivors.",
        			"Cleansing a " .. b("Totem") .. dot,
        			"Sabotaging a " .. b("Hook") .. dot,
        			"Unhooking other Survivors.") ..
        		"#pn is disabled for the remainder of the Trial after use." .. nlp ..
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "2.6.3",
			units = {1},
			values = {40, 50, 60},
			rarity = 3,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
        		"After being unhooked or unhooking yourself, #pn activates for the next #pl(1):" .. 
        		list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for " .. clror("5 seconds") .. dot,
        			"Causes you to become the next " .. b(i("Obsession")) .. dot) ..
        		"#pn is disabled for the remainder of the Trial after use." .. nlp ..
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "2.6.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 3,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
        		"After being unhooked or unhooking yourself, #pn activates for the next #pl(1):" .. 
        		list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for " .. clror("3 seconds") .. dot,
        			"Causes you to become the next " .. b(i("Obsession")) .. dot) ..
        		"#pn is disabled for the remainder of the Trial after use." .. nlp ..
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "1.4.0",
			units = {1, 4},
			values = {3, 3.5, 4, 45, 40, 35},
			rarity = 3,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
				"If you are the " .. b(i("Obsession")) .. colon ..
        		list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for #pl(1).") ..
        		"If you are not the " .. b(i("Obsession")) .. colon ..
        		list(
        			"While being carried by the Killer and after filling the " .. i("Wiggle Meter") .. " to #pl(2), succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for #pl(1).") ..
        		"#pn is disabled for the remainder of the Trial after use." .. nlp ..
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "1.3.0",
			units = {1},
			values = {3, 3.5, 4},
			rarity = 3,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
				list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for #pl(1).") ..
        		"#pn is disabled for the remainder of the Trial after use."
		},
		{
			version = "1.2.1",
			units = {1},
			values = {3, 4, 5},
			rarity = 3,
			desc =
				"Using whatever is at hand, you stab your aggressor in an ultimate attempt to escape." .. nlp ..
				list(
        			"When grabbed or picked up by the Killer, succeed a " .. i("Skill Check") .. " to stab the Killer and escape from their grasp.",
        			nbullet .. " Stuns the Killer for #pl(1).") ..
        		"#pn is disabled for the remainder of the Trial after use."
		}
	},
	["Deerstalker"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {40, 35, 30},
			duration = "3 seconds",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
                "Whenever a Survivor reads your Aura, #pn activates for the same duration as their Aura-reading action:" ..
        		list("The Aura of that Survivor is revealed to you.") ..
        		"Furthermore, the following effect triggers automatically every #pl(1):" ..
        		list("Your Aura is revealed for " .. clror("#duration") .. " to the Survivor with currently the lowest cumulative " .. i("Chase time") .. dot)
		},
		{
			version = "2.6.3",
			units = {3},
			values = {20, 28, 36},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list("The Auras of all Survivors in the " .. i("Dying State") .. " are revealed to you within #pl(1).")
		},
		{
			version = "1.1.2",
			units = {3},
			values = {12, 24, 36},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list("The Auras of all Survivors in the " .. i("Dying State") .. " are revealed to you within #pl(1).")
		},
		{
			version = "1.0.0",
			units = {3},
			values = {12, 24, 36},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list(
                	"The Auras of all Survivors in the " .. i("Dying State") .. " are revealed to you within #pl(1).",
                	nbullet .. "This effect also applies when those Survivors are being healed.")
		},
	},
	["Desperate Measures"] =
	{
		{
			version = "9.0.0",
			units = {4, 4},
			values = {16, 18, 20, 64, 72, 80}, 
			rarity = 2,
			desc =
				"Whenever any Survivor, including yourself, is not in the Healthy State, #pn activates:" ..
				list(b("Increases") .. " your Action speeds for Healing and Unhooking by a stack-able #pl(1) per injured, dying, or hooked Survivor, up to a maximum of #pl(2).")
		},
		{
			version = "4.2.0",
			units = {4, 4},
			values = {10, 12, 14, 40, 48, 56}, 
			rarity = 2,
			desc =
				"Whenever any Survivor, including yourself, is not in the Healthy State, #pn activates:" ..
				list(b("Increases") .. " your Action speeds for Healing and Unhooking by a stack-able #pl(1) per injured, dying, or hooked Survivor, up to a maximum of #pl(2).")
		},
	},
	["Déjà Vu"] =
	{
		{
			version = "9.1.0",
			units = {4},
			values = {4, 5, 6},
			generatorCount = 3,
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list(
                	"The Auras of the " .. clror("#generatorCount") .. space .. b("Generators") .. " in closest proximity to one another are revealed to you at all times.",
                	b("Increases") .. " your Repair speed on those Generators by #pl(1).")
		},
		{
			version = "7.0.0",
			units = {4},
			values = {4, 5, 6},
			generatorCount = 3,
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list(
                	"The Auras of the " .. clror("#generatorCount") .. space .. b("Generators") .. " in closest proximity to one another are revealed to you at all times.",
                	b("Increases") .. " your Repair speed on those Generators by #pl(1).") ..
                "#pn automatically adds its revealed " .. b("Generators") .. " to an equipped " .. b("Map") .. dot
		},
		{
			version = "6.1.0",
			units = {1, 4},
			values = {30, 45, 60, 3, 4, 5},
			generatorCount = 3,
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list(
                	"The Auras of the " .. clror("#generatorCount") .. space .. b("Generators") .. " in closest proximity to one another are revealed to you for #pl(1) at the start of the Trial and whenever a " .. b("Generator") .. " is completed.",
                	b("Increases") .. " your Repair speed on those Generators by #pl(2).") ..
                "#pn automatically adds its revealed " .. b("Generators") .. " to an equipped " .. b("Map") .. dot
		},
		{
			version = "2.1.0",
			units = {1},
			values = {30, 45, 60},
			generatorCount = 3,
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list("The Auras of the " .. clror("#generatorCount") .. space .. b("Generators") .. " in closest proximity to one another are revealed to you for #pl(1) at the start of the Trial and whenever a " .. b("Generator") .. " is completed.") ..
                "#pn automatically adds its revealed " .. b("Generators") .. " to an equipped " .. b("Map") .. dot
		},
		{
			version = "1.0.0",
			units = {7, 1},
			values = {1, 1, 2, 4, 8, 8},
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list("The Auras of #pl(1) " .. b("Generator(s)") .. " is/are revealed to you for #pl(2) at the start of the Trial during the initial camera pan.") ..
                "#pn automatically adds its revealed " .. b("Generators") .. " to an equipped " .. b("Map") .. dot
		},
	},
	["Detective's Hunch"] =
	{
		{
			version = "9.1.0",
			units = {3},
			values = {32, 48, 64},
			duration = "20 seconds",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Each time a " .. b("Generator") .. " is completed, #pn triggers its effect:" ..
				list(
					"The Auras of the following objects within #pl(1) of your location are revealed to you for " .. clror("#duration") .. colon,
					nbullet .. space .. b("Chests"),
					nbullet .. space .. b("Generators"),
					nbullet .. space .. b("Totems"))
		},
		{
			version = "3.5.0",
			units = {3},
			values = {32, 48, 64},
			duration = "10 seconds",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Each time a " .. b("Generator") .. " is completed, #pn triggers its effect:" ..
				list(
					"The Auras of the following objects within #pl(1) of your location are revealed to you for " .. clror("#duration") .. colon,
					nbullet .. space .. b("Chests"),
					nbullet .. space .. b("Generators"),
					nbullet .. space .. b("Totems")) ..
				"#pn automatically adds its revealed objects to an equipped " .. b("Map") .. dot
		},
		{
			version = "3.3.1",
			units = {3},
			values = {32, 48, 64},
			duration = "10 seconds",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its effect:" ..
				list(
					"The Auras of the following objects within #pl(1) of your location are revealed to you for " .. clror("#duration") .. colon,
					nbullet .. space .. b("Chests"),
					nbullet .. space .. b("Generators"),
					nbullet .. space .. b("Totems")) ..
				"#pn automatically adds its revealed objects (except for " .. b("Chests") .. ") to an equipped " .. b("Map") .. dot
		},
		{
			version = "1.9.0",
			units = {3},
			values = {32, 48, 64},
			duration = "5 seconds",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Whenever you complete a " .. b("Generator") .. ", #pn triggers its effect:" ..
				list(
					"The Auras of the following objects within #pl(1) of your location are revealed to you for " .. clror("#duration") .. colon,
					nbullet .. space .. b("Chests"),
					nbullet .. space .. b("Generators"),
					nbullet .. space .. b("Totems")) ..
				"#pn automatically adds its revealed objects (except for " .. b("Chests") .. ") to an equipped " .. b("Map") .. dot
		},
	},
	["Distortion"] =
	{
		{
			version = "8.3.2",
			units = {1},
			values = {8, 10, 12},
			tokens = {"1 Token", "-1 Token", "+1 Token", "15 seconds", "2 Tokens"}, 
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokens(1)") .. dot .. br ..
				"Whenever the Killer attempts to read your Aura, #pn automatically consumes " .. clro("#tokens(2)") .. " to trigger the following effects for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being read.",
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) ..
				"#pn recharges " .. clro("#tokens(3)") .. " every " .. clro("#tokens(4)") .. " of being chased by the Killer, and can hold " .. clro("#tokens(5)") .. dot .. br ..
				"#pn does not trigger its effects while in the " .. i("Dying State") .. dot
		},
		{
			version = "8.3.0",
			units = {1},
			values = {8, 10, 12},
			tokens = {"1 Token", "-1 Token", "+1 Token", "30 seconds", "2 Tokens"}, 
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokens(1)") .. dot .. br ..
				"Whenever the Killer attempts to read your Aura, #pn automatically consumes " .. clro("#tokens(2)") .. " to trigger the following effects for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being read.",
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) ..
				"#pn recharges " .. clro("#tokens(3)") .. " every " .. clro("#tokens(4)") .. " of being chased by the Killer, and can hold " .. clro("#tokens(5)") .. dot .. br ..
				"#pn does not trigger its effects while in the " .. i("Dying State") .. dot
		},
		{
			version = "6.1.0",
			units = {1},
			values = {6, 8, 10},
			tokens = {"3 Tokens", "-1 Token", "+1 Token", "30 seconds"},
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokens(1)") .. dot .. br ..
				"Whenever the Killer attempts to read your Aura, #pn automatically consumes " .. clro("#tokens(2)") .. " to trigger the following effects for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being read.",
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) ..
				"#pn recharges " .. clro("#tokens(3)") .. " every " .. clro("#tokens(4)") .. " of being inside the " .. i("Terror Radius") .. " without being chased, up to the initial count." .. br ..
				"#pn does not trigger its effects while in the " .. i("Dying State") .. dot
		},
		{
			version = "5.5.0",
			units = {1},
			values = {6, 8, 10},
			tokens = {"4 Tokens", "-1 Token"},
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokens(1)") .. dot .. br ..
				"Whenever the Killer attempts to read your Aura, #pn automatically consumes " .. clro("#tokens(2)") .. " to trigger the following effects for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being read.",
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) ..
				"#pn does not trigger its effects while in the " .. i("Dying State") .. " or caught in a " .. b("Killer Trap") .. dot
		},
		{
			version = "2.4.0",
			units = {1},
			values = {6, 8, 10},
			tokens = {"3 Tokens", "-1 Token"},
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokens(1)") .. dot .. br ..
				"Whenever the Killer attempts to read your Aura, #pn automatically consumes " .. clro("#tokens(2)") .. " to trigger the following effects for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being read.",
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) ..
				"#pn does not trigger its effects while in the " .. i("Dying State") .. " or caught in a " .. b("Killer Trap") .. dot
		},
	},
	["Distressing"] =
	{
		{
			version = "8.4.0",
			units = {4},
			values = {20, 25, 30},
			rarity = 2,
			desc =
				"You benefit from the following permanent effect:" .. 
                list(b("Increases") .. " your " .. i("Terror Radius") .. " by #pl(1).")
		},
		{
			version = "2.6.0",
			units = {4},
			values = {22, 24, 26},
			bonus = "+100 %",
			rarity = 2,
			desc =
				"You benefit from the following permanent effects:" ..  
                list(
                	b("Increases") .. " your " .. i("Terror Radius") .. " by #pl(1).",
                	"Grants " .. clror("#bonus") .. " bonus Bloodpoints for all actions in the Deviousness " .. i("Scoring Category") .. dot) ..
                loadoutStrings.bonusBPDuringTrial
		},
		{
			version = "1.7.0",
			units = {4, 4},
			values = {22, 24, 26, 50, 75, 100},
			rarity = 2,
			desc =
				"You benefit from the following permanent effects:" .. 
                list(
                	b("Increases") .. " your " .. i("Terror Radius") .. " by #pl(1).",
                	"Grants #pl(2) bonus Bloodpoints for all actions in the Deviousness " .. i("Scoring Category") .. dot) ..
                loadoutStrings.bonusBPDuringTrial
		},
		{
			version = "1.0.0",
			units = {4, 4},
			values = {8, 16, 24, 5, 10, 15},
			rarity = 2,
			desc =
				"You benefit from the following permanent effect:" .. 
                list(
                	b("Increases") .. " your " .. i("Terror Radius") .. " by #pl(1).",
                	"Grants #pl(2) bonus Bloodpoints for all actions in the Deviousness " .. i("Scoring Category") .. dot) ..
                loadoutStrings.bonusBPDuringTrial
		},
	},
	["Do No Harm"] =
	{
		{
			version = "8.7.0 (PTB)",
			units = {4, 4},
			values = {30, 40, 50, 60, 80, 100},
			bonusStack = "+3 %",
			bonusMax = "+6 %", 
			rarity = 2,
			desc =
                "When healing another Survivor, depending on their accumulated " .. i("Hook Stages") .. ", you benefit from the following effects:" ..
				list(
					b("Increases") .. " your Altruistic Healing speed by #pl(1) per " .. i("Hook Stage") .. ", up to a maximum of #pl(2).",
					b("Increases") .. " the Progression bonus of " .. i("Great Healing Skill Checks") .. " by " .. clror("#bonusStack") .. " per " .. i("Hook Stage") .. ", up to a maximum of " .. clro("#bonusMax") .. dot)
    	},
    },
	["Dominance"] =
	{
		{
			version = "8.4.0",
			units = {1},
			values = {8, 12, 16},
			rarity = 2,
			desc =
				"The power you wield over the land strikes terror in the hearts of all who cross your path." .. nlp ..
				"The first time each " .. b("Chest") .. " and each " .. b("Totem") .. " are interacted with by a Survivor, #pn triggers its effect:" ..
				list(
					"Calls upon " .. b("The Entity") .. " to block it for #pl(1).",
					"The Aura of the blocked Prop is revealed to you in " .. bclr("white", "white") .. dot)
		},
		{
			version = "8.2.0",
			units = {1},
			values = {4, 6, 8},
			rarity = 2,
			desc =
				"The power you wield over the land strikes terror in the hearts of all who cross your path." .. nlp ..
				"The first time each " .. b("Chest") .. " and each " .. b("Totem") .. " are interacted with by a Survivor, #pn triggers its effect:" ..
				list(
					"Calls upon " .. b("The Entity") .. " to block it for #pl(1).",
					"The Aura of the blocked Prop is revealed to you in " .. bclr("white", "white") .. dot)
		},
	},
	["Dragon's Grip"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			units = {1},
			values = {60, 45, 30},
			activation = "30 seconds",
			location = "4 seconds",
			exposed = "60 seconds",
			desc =
				"After performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. ", #pn activates for " .. clror("#activation") .. dot .. br ..
				"While active, the first Survivor interacting with that " .. b("Generator") .. " suffers from the following effects:" ..
				list(
					"Causes them to scream and reveal their location for " .. clro("#location") .. dot,
					"Inflicts the " .. b(i("Exposed") .. space .. "Status Effect") .. " for " .. clro("#exposed") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "8.1.0",
			rarity = 2,
			units = {1},
			values = {60, 50, 40},
			activation = "30 seconds",
			location = "4 seconds",
			exposed = "60 seconds",
			desc =
				"After performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. ", #pn activates for " .. clror("#activation") .. dot .. br ..
				"While active, the first Survivor interacting with that " .. b("Generator") .. " suffers from the following effects:" ..
				list(
					"Causes them to scream and reveal their location for " .. clro("#location") .. dot,
					"Inflicts the " .. b(i("Exposed") .. space .. "Status Effect") .. " for " .. clro("#exposed") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "4.2.0",
			rarity = 2,
			units = {1},
			values = {120, 100, 80},
			activation = "30 seconds",
			location = "4 seconds",
			exposed = "60 seconds",
			desc =
				"After performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. ", #pn activates for " .. clror("#activation") .. dot .. br ..
				"While active, the first Survivor interacting with that " .. b("Generator") .. " suffers from the following effects:" ..
				list(
					"Causes them to scream and reveal their location for " .. clro("#location") .. dot,
					"Inflicts the " .. b(i("Exposed") .. space .. "Status Effect") .. " for " .. clro("#exposed") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Duty of Care"] =
	{
		{
			version = "8.7.0",
			units = {1},
			values = {4, 5, 6}, 
			range = "12 metres",
			haste = "+25 %",
			rarity = 2,
			desc =
                "While healthy, taking a " .. i("Protection Hit") .. " causes all other Survivors within " .. clror("#range") .. " of your location to benefit from the following effect:" ..
				list("Grants them a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for #pl(1).")
    	},
    	{
			version = "8.7.0 (PTB)",
			units = {1},
			values = {4, 5, 6}, 
			range = "16 metres",
			haste = "+25 %",
			rarity = 2,
			desc =
                "While healthy, taking a " .. i("Protection Hit") .. " causes all other Survivors within " .. clror("#range") .. " of your location to benefit from the following effect:" ..
				list("Grants them a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for #pl(1).")
    	},
    },
    ["Dying Light"] =
	{
		{
			version = "3.2.0",
			units = {4, 4},
			values = {2, 2.5, 3, 22, 27.5, 33},
			rarity = 3,
			desc =
				"Each time you hook a Survivor other than your " .. b(i("Obsession")) .. ", you gain " .. clror("+1 Token") .. colon ..
				list(
					"For as long as the " .. b(i("Obsession")) .. " is alive, all other Survivors suffer from a stack-able #pl(1) per Token Action Speed penalty to Repairing, Healing, and Sabotaging, up to a maximum of #pl(2) or " .. clro("11 Tokens") .. dot,
					"The " .. b(i("Obsession")) .. " is unaffected by this penalty and instead granted a permanent " .. clro("+33 %") .. " Action Speed bonus to Unhooking and Healing other Survivors.") ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "1.2.1",
			units = {4, 4},
			values = {19, 22, 25, 38, 44, 50},
			rarity = 3,
			desc =
				"After you kill or sacrifice your " .. b(i("Obsession")) .. ", all other Survivors suffer from a permanent #pl(1) Action Speed penalty to Repairing, Healing, and Sabotaging." .. nlp ..
				"While alive, the " .. b(i("Obsession")) .. " benefits from a permanent #pl(2) Action Speed bonus to Unhooking and Healing other Survivors." .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
	},
	-- E Perks --
	["Empathic Connection"] =
	{
		{
			version = "9.0.0",
			units = {4},
			values = {25, 30, 35},
			rarity = 2,
			desc =
				"You benefit from the following permanent primary effect:" .. 
				list(b("Increases") .. " your Altruistic Healing speed by #pl(1).") ..
				"Whenever any other Survivor is injured, #pn applies its secondary effect:" ..
				list("Your Aura as a potential Healer is revealed to them.")
		},
		{
			version = "8.1.0",
			units = {3},
			values = {32, 64, 96},
			healing = "+30 %",
			rarity = 2,
			desc =
				"You benefit from the following permanent primary effect:" .. 
				list(b("Increases") .. " your Altruistic Healing speed by " .. clror("#healing") .. dot) ..
				"Whenever any other Survivor is injured, #pn applies its secondary effect:" ..
				list("Your Aura as a potential Healer is revealed to them within #pl(1) of your location.")
		},
		{
			version = "5.6.0",
			units = {3},
			values = {32, 64, 96},
			healing = "+10 %",
			rarity = 2,
			desc =
				"You benefit from the following permanent primary effect:" .. 
				list(b("Increases") .. " your Altruistic Healing speed by " .. clror("#healing") .. dot) ..
				"Whenever any other Survivor is injured, #pn applies its secondary effect:" ..
				list("Your Aura as a potential Healer is revealed to them within #pl(1) of your location.")
		},
	},
	["Empathy"] =
	{
		{
			version = "2.6.0",
			units = {3},
			values = {64, 96, 128},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
            	list("The Auras of injured or dying Survivors are revealed to you within #pl(1).")
		},
		{
			version = "1.0.0",
			units = {3},
			values = {32, 64, 99999.99},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
            	list("The Auras of injured or dying Survivors are revealed to you within #pl(1).")
		},
	},
	["Enduring"] =
	{
		{
			version = "5.6.1",
			units = {4},
			values = {40, 45, 50},
			rarity = 2,
			desc =
				"You benefit from the following effect:" .. 
				list(
					b("Reduces") .. " the duration of " .. i("Pallet Stuns") .. " by #pl(1).",
					nbullet .. "This effect does not apply when stunned while carrying a Survivor.")
		},
		{
			version = "3.0.0",
			units = {4},
			values = {40, 45, 50},
			rarity = 1,
			desc =
				"You benefit from the following effect:" .. 
				list(b("Reduces") .. " the duration of " .. i("Pallet Stuns") .. " by #pl(1).")
		},
		{
			version = "2.6.0",
			units = {4},
			values = {50, 60, 75},
			rarity = 1,
			desc =
				"You benefit from the following effect:" .. 
				list(b("Increases") .. " the Recovery rate of " .. i("Stuns") .. " by #pl(1).")
		},
		{
			version = "1.7.0",
			units = {4, 4},
			values = {50, 60, 75, 20, 28, 35},
			rarity = 1,
			desc =
				"You benefit from the following effects:" .. 
				list(
					b("Increases") .. " the Recovery rate of " .. i("Pallet Stuns") .. " by #pl(1).",
					b("Increases") .. " the Recovery rate of " .. i("Perk Stuns") .. " by #pl(2).")
		},
		{
			version = "1.2.1d",
			units = {4},
			values = {25, 50, 75},
			effect = "-35 %",
			rarity = 1,
			desc =
				"You benefit from the following effects:" .. 
				list(
					b("Increases") .. " the Recovery rate of " .. i("Pallet Stuns") .. " by #pl(1).",
					b("Reduces") .. " the duration of " .. i("Perk Stuns") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.2.1",
			units = {4},
			values = {25, 50, 75},
			effect = "-20 %",
			rarity = 1,
			desc =
				"You benefit from the following effects:" .. 
				list(
					b("Increases") .. " the Recovery rate of " .. i("Pallet Stuns") .. " by #pl(1).",
					b("Reduces") .. " the duration of " .. i("Perk Stuns") .. " by " .. clror("#effect") .. dot)
		},
		{
			version = "1.0.0",
			units = {4},
			values = {25, 50, 75},
			rarity = 1,
			desc =
				"You benefit from the following effect:" .. 
				list(b("Increases") .. " the Recovery rate of " .. i("Pallet Stuns") .. " by #pl(1).")
		},
	},
	["Eruption"] =
	{
		{
			version = "6.6.0",
			units = {1},
			values = {8, 10, 12},
			penalty = "-10 %",
			cooldown = "30 seconds", 
			rarity = 2,
			desc =
				"Performing the " .. i("Damage Generator") .. " action on " .. b("Generators") .. " highlights their Auras in " .. bclr("yellow", "yellow") .. dot .. br ..
				"Whenever a Survivor enters the " .. i("Dying State") .. " by any means, #pn triggers the following effects on all highlighted " .. b("Generators") .. colon ..
				list(
					"Causes them to explode, damaging them.",
					nbullet .. "Instantly regresses them by " .. clror("#penalty") .. " of their total Progression.",
					nbullet .. "Causes them to start regressing afterwards.",
					"Causes all Survivors currently repairing them to suffer from the following effects:",
					nbullet .. "Causes them to scream.",
					nbullet .. "Thei Auras are revealed to you for #pl(1).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. " after triggering its effects, which also resets the highlighted Auras."
		},
		{
			version = "6.1.0",
			units = {1},
			values = {15, 20, 25},
			penalty = "-10 %",
			cooldown = "30 seconds", 
			rarity = 2,
			desc =
				"Performing the " .. i("Damage Generator") .. " action on " .. b("Generators") .. " highlights their Auras in " .. bclr("yellow", "yellow") .. dot .. br ..
				"Whenever a Survivor enters the " .. i("Dying State") .. " by any means, #pn triggers the following effects on all highlighted " .. b("Generators") .. colon ..
				list(
					"Causes them to explode, damaging them.",
					nbullet .. "Instantly regresses them by " .. clror("#penalty") .. " of their total Progression.",
					nbullet .. "Causes them to start regressing afterwards.",
					"Causes all Survivors currently repairing them to suffer from the following effects:",
					nbullet .. "Causes them to scream.",
					nbullet .. "Inflicts the " .. b(i("Incapacitated") .. space .. "Status Effect") .. " for #pl(1).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. " after triggering its effects, which also resets the highlighted Auras."
		},
		{
			version = "6.1.0",
			units = {1},
			values = {12, 14, 16},
			penalty = "-6 %",
			cooldown = "30 seconds", 
			rarity = 2,
			desc =
				"Performing the " .. i("Damage Generator") .. " action on " .. b("Generators") .. " highlights their Auras in " .. bclr("yellow", "yellow") .. dot .. br ..
				"Whenever a Survivor enters the " .. i("Dying State") .. " by any means, #pn triggers the following effects on all highlighted " .. b("Generators") .. colon ..
				list(
					"Causes them to explode, damaging them.",
					nbullet .. "Instantly regresses them by " .. clror("#penalty") .. " of their total Progression.",
					nbullet .. "Causes them to start regressing afterwards.",
					"Causes all Survivors currently repairing them to suffer from the following effects:",
					nbullet .. "Causes them to scream.",
					nbullet .. "Inflicts the " .. b(i("Incapacitated") .. space .. "Status Effect") .. " for #pl(1).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. " after triggering its effects, which also resets the highlighted Auras."
		},
	},
	["Exultation"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {30, 25, 20},
			chargeBonus = "+75 %",
			rarity = 2,
			desc =
				"While holding an " .. b("Item") .. ", stunning the Killer by dropping a " .. b("Pallet") .. " causes the following effects:" ..
				list(
					b("Recharges") .. " the " .. b("Item") .. " by " .. clror("#chargeBonus") .. dot,
					b("Upgrades") .. " its Rarity to the next available Tier.") ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "8.2.1",
			units = {1},
			values = {40, 35, 30},
			chargeBonus = "+25 %",
			rarity = 2,
			desc =
				"While holding an " .. b("Item") .. ", stunning the Killer by dropping a " .. b("Pallet") .. " causes the following effects:" ..
				list(
					b("Recharges") .. " the " .. b("Item") .. " by " .. clror("#chargeBonus") .. dot,
					b("Upgrades") .. " its Rarity to the next available Tier.") ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "8.2.0",
			units = {1},
			values = {40, 35, 30},
			chargeBonus = "+25 %",
			rarity = 2,
			desc =
				"While holding an " .. b("Item") .. ", stunning the Killer by dropping a " .. b("Pallet") .. " causes the following effects:" ..
				list(
					b("Recharges") .. " the " .. b("Item") .. " by " .. clror("#chargeBonus") .. dot,
					b("Upgrades") .. " its Rarity to the next available Tier.") ..
				"#pn has a cool-down of #pl(1)." .. nlp ..
				"Upgraded " .. b("Items") .. " return to their original Rarity at the end of the Trial."
		},
	},
	-- F Perks --
	["Fire Up"] =
	{
		{
			version = "8.5.0",
			units = {4, 4},
			values = {4, 5, 6, 20, 25, 30},
			rarity = 2,
			desc =
				"The increased pressure of losing your preys fills you with anger and gives you unsuspected motivation." .. nlp ..
				"For each completed " .. b("Generator") .. ", #pn gains " .. clror("+1 Token") .. ", up to a maximum of " .. clro("5 Tokens") .. colon ..
				list(
					b("Increases") .. " the Action speeds for the following interactions by a stack-able #pl(1) per Token, up to a maximum of #pl(2):",
					nbullet .. "Picking up and dropping Survivors.",
					nbullet .. "Breaking " .. b("Breakable Walls") .. " and dropped " .. b("Pallets") .. dot,
					nbullet .. "Damaging " .. b("Generators") .. dot,
					nbullet .. "Vaulting " .. b("Windows") .. dot)
		},
		{
			version = "2.6.0",
			units = {4, 4},
			values = {3, 3.5, 4, 15, 17.5, 20},
			rarity = 1,
			desc =
				"The increased pressure of losing your preys fills you with anger and gives you unsuspected motivation." .. nlp ..
				"For each completed " .. b("Generator") .. ", #pn gains " .. clror("+1 Token") .. ", up to a maximum of " .. clro("5 Tokens") .. colon ..
				list(
					b("Increases") .. " the Action speeds for the following interactions by a stack-able #pl(1) per Token, up to a maximum of #pl(2):",
					nbullet .. "Picking up and dropping Survivors.",
					nbullet .. "Breaking " .. b("Breakable Walls") .. " and dropped " .. b("Pallets") .. dot,
					nbullet .. "Damaging " .. b("Generators") .. dot,
					nbullet .. "Vaulting " .. b("Windows") .. dot)
		},
		{
			version = "1.8.0",
			units = {4, 4, 4},
			values = {6, 8, 10, 8, 10, 12, 10, 12, 14},
			rarity = 1,
			desc =
				"The increased pressure of losing your preys fills you with anger and gives you unsuspected motivation." .. nlp ..
				"For each completed " .. b("Generator") .. ", #pn gains " .. clror("+1 Token") .. ", up to a maximum of " .. clro("4 Tokens") .. colon ..
				list(
					b("Increases") .. " the Action speeds for the following interactions based on the number of accumulated Tokens:",
					nbullet .. "Picking up and dropping Survivors.",
					nbullet .. "Breaking " .. b("Breakable Walls") .. " and dropped " .. b("Pallets") .. dot,
					nbullet .. "Damaging " .. b("Generators") .. dot,
					nbullet .. "Vaulting " .. b("Windows") .. dot,
					"The Action speeds are increased by the following amounts:",
					nbullet .. bclr("faded jade", "2 Tokens") .. colon .. " #pl(1)",
					nbullet .. bclr("faded jade", "3 Tokens") .. colon .. " #pl(2)",
					nbullet .. bclr("faded jade", "4 Tokens") .. colon .. " #pl(3)")
		},
	},
	["Fixated"] =
	{
		{
			version = "7.3.3",
			units = {4},
			values = {10, 15, 20},
			notice = "Due to the return of " .. b("CHAPTER 13: Stranger Things") .. ", this Patch reverted the licensing-related changes from " .. b("Patch 5.3.0") .. dot,
			rarity = 2,
			desc =
				i("When you have a goal in mind, there's no turning back; better to ask forgiveness than permission.") .. nlp ..
				"You benefit from the following permanent effects:" ..
				list(
					b("Increases") .. " your Walking speed by #pl(1).",
					"Grants the ability to see your own " .. i("Scratch Marks") .. dot)
		},
		{
			version = "5.3.0",
			units = {4},
			values = {10, 15, 20},
			rarity = 2,
			notice = "This Patch only changed the introductory flavour text and renamed the " .. b("Perk") .. " from " .. b("Fixated") .. " to " .. b("Self-Aware") .. dot,
			desc =
				i("You know your weaknesses and refuse to hide from them.") .. nlp ..
				"You benefit from the following permanent effects:" ..
				list(
					b("Increases") .. " your Walking speed by #pl(1).",
					"Grants the ability to see your own " .. i("Scratch Marks") .. dot)
		},
		{
			version = "4.5.0",
			units = {4},
			values = {10, 15, 20},
			rarity = 2,
			desc =
				i("When you have a goal in mind, there's no turning back; better to ask forgiveness than permission.") .. nlp ..
				"You benefit from the following permanent effects:" ..
				list(
					b("Increases") .. " your Walking speed by #pl(1).",
					"Grants the ability to see your own " .. i("Scratch Marks") .. dot)
		},
		{
			version = "3.2.0",
			units = {4},
			values = {10, 15, 20},
			rarity = 2,
			desc =
				"You benefit from the following effects:" ..
				list(
					b("Increases") .. " your Walking speed by #pl(1) when at full health.",
					"Grants the ability to see your own " .. i("Scratch Marks") .. " at all times.")
		},
	},
	["Flashbang"] =
	{
		{
			version = "8.2.0",
			units = {4},
			values = {50, 45, 40},
			rarity = 2,
			desc =
				"You have adapted to a world in chaos and making what you can from the debris." .. nlp ..
				"After repairing " .. b("Generators") .. " for a total of #pl(1), #pn activates:" ..
				list("Press the " .. loadoutStrings.activeAbilityButton .. " while hiding inside a " .. b("Locker") .. " to craft a " .. b("Flash Grenade") .. dot) ..
				"#pn deactivates after use."
		},
		{
			version = "7.0.0",
			units = {4},
			values = {70, 60, 50},
			rarity = 2,
			desc =
				"You have adapted to a world in chaos and making what you can from the debris." .. nlp ..
				"After repairing " .. b("Generators") .. " for a total of #pl(1), #pn activates:" ..
				list("Press the " .. loadoutStrings.activeAbilityButton .. " while hiding inside a " .. b("Locker") .. " to craft a " .. b("Flash Grenade") .. dot) ..
				"#pn deactivates after use."
		},
		{
			version = "5.0.0",
			units = {4},
			values = {70, 60, 50},
			rarity = 2,
			desc =
				"You have adapted to a world in chaos and making what you can from the debris." .. nlp ..
				"After repairing " .. b("Generators") .. " for a total of #pl(1), #pn activates:" ..
				list("Press the " .. loadoutStrings.activeAbilityButton .. " while empty-handed and hiding inside a " .. b("Locker") .. " to craft a " .. b("Flash Grenade") .. dot) ..
				"#pn deactivates after use."
		},
	},
	["For the People"] =
	{
		{
			version = "5.3.0",
			units = {1},
			values = {80, 70, 60},
			rarity = 2,
			desc =
				"You risk life and injury for others." .. nlp ..
				"While healthy and healing another Survivor without using a " .. b("Med-Kit") .. ", press the " .. loadoutStrings.activeAbilityButton .. " to activate #pn:" ..
				list(
					"Trades " .. clror(1) .. " Health State with that Survivor:",
					nbullet .. "Instantly heals them to the Injured State, if they were dying or suffering from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. dot,
					nbullet .. "Instantly heals them to full health, if they were injured.",
					"You yourself become injured and suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " for the next #pl(1).",
					"You become the Killer's " .. b(i("Obsession")) .. ", if not already.") ..
				loadoutStrings.obsessionChanceMinus .. br ..
				loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "3.6.0",
			units = {1},
			values = {110, 100, 90},
			rarity = 2,
			desc =
				"You risk life and injury for others." .. nlp ..
				"While healthy and healing another Survivor without using a " .. b("Med-Kit") .. ", press the " .. loadoutStrings.activeAbilityButton .. " to activate #pn:" ..
				list(
					"Trades " .. clror(1) .. " Health State with that Survivor:",
					nbullet .. "Instantly heals them to the Injured State, if they were dying or suffering from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. dot,
					nbullet .. "Instantly heals them to full health, if they were injured.",
					"You yourself become injured and suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " for the next #pl(1).",
					"You become the Killer's " .. b(i("Obsession")) .. ", if not already.") ..
				loadoutStrings.obsessionChanceMinus .. br ..
				loadoutStrings.obsessionPerkSurvivor
		},
	},
	["Forever Entwined"] =
	{
		{
			version = "8.6.0 (PTB)",
			units = {5, 4}, 
			values = {6, 7, 8, 24, 28, 32},
			tokenGain = "+1 Token",
			bonus = "+4 %", 
			rarity = 2,
			desc =
                "Whenever a Survivors takes damage, #pn gains " .. clror("#tokenGain") .. ", up to a maximum of #pl(1):" ..
                list(b("Increases") .. " the Action speeds for Dropping, Hooking, and Picking up a Survivor by a stack-able " .. clro("#bonus") .. " per Token, up to a maximum of #pl(2).")
    	},
    },
    ["Franklin's Demise"] =
    {
    	{
    		version = "9.1.0",
    		units = {3},
    		values = {32, 48, 64},
    		rarity = 2,
    		desc = 
    			"Survivors hit with your vicious " .. i("Basic Attack") .. " drop any equipped " .. b("Item") .. " on impact:" ..
    			list("The Auras of lost " .. b("Items") .. " are revealed to within #pl(1).")
    	},
    	{
    		version = "5.0.0",
    		units = {1},
    		values = {150, 120, 90},
    		range = "32 metres",
    		rarity = 2,
    		desc = 
    			"Survivors hit with your vicious " .. i("Basic Attack") .. " drop any equipped " .. b("Item") .. " on impact:" ..
    			list(
    				"Causes the lost " .. b("Item") .. " to slowly lose its remaining Charges until it is fully depleted after #pl(1).",
    				"The Auras of lost " .. b("Items") .. " are revealed to you in " .. bclr("white", "white") .. " within " .. clror("#range") .. dot,
    				nbullet .. "The Aura-colour slowly changes to " .. bclr("red", "red") .. " as the timer elapses, indicating the current level of depletion.")
    	},
    	{
    		version = "4.1.0",
    		units = {1},
    		values = {150, 120, 90},
    		range = "32 metres",
    		rarity = 2,
    		desc =
    			"Survivors hit with your vicious " .. i("Basic Attack") .. " drop any equipped " .. b("Item") .. " on impact:" ..
    			list(
    				"Causes the lost " .. b("Item") .. " to be consumed by " .. b("The Entity") .. ", if not recovered within #pl(1).",
    				"The Auras of lost " .. b("Items") .. " are revealed to you in " .. bclr("white", "white") .. " within " .. clror("#range") .. dot,
    				nbullet .. "The Aura-colour slowly changes to " .. bclr("red", "red") .. " as the timer elapses.")
    	},
    	{
    		version = "1.7.2",
    		units = {4},
    		values = {0, 5, 10},
    		rarity = 2,
    		desc =
    			"Survivors hit with your vicious " .. i("Basic Attack") .. " drop any equipped " .. b("Item") .. " on impact." .. br ..
    			"The lost " .. b("Item") .. " is damaged in the fall:" .. 
    			list(b("Depletes") .. space .. "#pl(1) of its total Charges.")
    	},
    	{
    		version = "1.7.0",
    		units = {4},
    		values = {0, 5, 10},
    		rarity = 2,
    		desc =
    			"Survivors hit with your vicious " .. i("Basic or Special Attack") .. " drop any equipped " .. b("Item") .. " on impact." .. br ..
    			"The lost " .. b("Item") .. " is damaged in the fall:" .. 
    			list(b("Depletes") .. space .. "#pl(1) of its total Charges.")
    	},
    },
    ["Friendly Competition"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {100, 110, 120},
			effect = "+5 %",
			rarity = 2,
			desc =
				"Each time you complete a " .. b("Generator") .. " together with at least one other Survivor, #pn activates:" ..
				list(b("Increases") .. " the Repair speed of all participating Survivors, including yourself, by " .. clror("#effect") .. " for #pl(1).")
		},
		{
			version = "6.6.0",
			units = {1},
			values = {45, 60, 75},
			effect = "+5 %",
			rarity = 2,
			desc =
				"Each time you complete a " .. b("Generator") .. " together with at least one other Survivor, #pn activates:" ..
				list(b("Increases") .. " the Repair speed of all participating Survivors, including yourself, by " .. clror("#effect") .. " for #pl(1).")
		},
	},
	["Furtive Chase"] =
	{
		{
			version = "9.3.0 (PTB)",
			units = {5, 4},
			values = {3, 4, 5, 30, 40, 50},
			token = "+1 Token",
			stack = "+10 %",
			rarity = 2,
			desc =
				"Whenever you hook the " .. b(i("Obsession")) .. ", #pn gains " .. clror("#token") .. ", up to a maximum of #pl(1):" ..
				list(b("Reduces") .. " your " .. i("Terror Radius") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).") ..
				"Whenever the " .. b(i("Obsession")) .. " is unhooked by another Survivor, the " .. b(i("Obsession") .. space .. "Status") .. " transfers to their Rescuer." .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "8.7.0",
			units = {1},
			values = {6, 8, 10},
			haste = "+10 %",
			rarity = 2,
			desc =
				"After hooking the " .. b(i("Obsession")) .. ", you benefit from the following effects for #pl(1):" ..
				list(
					"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot,
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot) ..
				"Whenever the " .. b(i("Obsession")) .. " is unhooked by another Survivor, the " .. b(i("Obsession") .. space .. "Status") .. " transfers to their Rescuer." .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "7.3.0",
			units = {1},
			values = {6, 8, 10},
			haste = "+5 %",
			rarity = 2,
			desc =
				"After hooking the " .. b(i("Obsession")) .. ", you benefit from the following effects for #pl(1):" ..
				list(
					"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot,
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. dot) ..
				"Whenever the " .. b(i("Obsession")) .. " is unhooked by another Survivor, the " .. b(i("Obsession") .. space .. "Status") .. " transfers to their Rescuer." .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "5.5.0",
			units = {5, 3},
			values = {2, 3, 4, 8, 12, 16},
			token = "+1 Token",
			stack = "-4 metres",
			rarity = 2,
			desc =
				"Whenever you hook " .. b(i("Obsession")) .. ", #pn gains " .. clror("#token") .. ", up to a maximum of #pl(1)." .. br .. 
				"When chasing a Survivor, you benefit from the following effect:" ..
				list(b("Reduces") .. " your " .. i("Terror Radius") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).") ..
				"Whenever the " .. b(i("Obsession")) .. " is unhooked by another Survivor, the " .. b(i("Obsession") .. space .. "Status") .. " transfers to their Rescuer." .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "3.0.0",
			units = {5, 3},
			values = {2, 3, 4, 8, 12, 16},
			token = "+1 Token",
			stack = "-4 metres",
			rarity = 2,
			desc =
				"Whenever you hook " .. b(i("Obsession")) .. ", #pn gains " .. clror("#token") .. ", up to a maximum of #pl(1)." .. br .. 
				"When chasing a Survivor, you benefit from the following effect:" ..
				list(b("Reduces") .. " your " .. i("Terror Radius") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).") ..
				"Whenever the " .. b(i("Obsession")) .. " is unhooked by another Survivor, the " .. b(i("Obsession") .. space .. "Status") .. " transfers to their Rescuer." .. br ..
				"#pn loses all accumulated Tokens once the current " .. b(i("Obsession")) .. " is killed or sacrificed." .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
	},
	-- G Perks --
	["Game Afoot"] =
	{
		{
			version = "8.7.0",
			units = {1},
			values = {8, 9, 10}, 
			haste = "+7 %",
			rarity = 2,
			desc =
				"Whenever you hit the Survivor with currently the highest cumulative " .. i("Chase time") .. " with a " .. i("Basic Attack") .. ", #pn triggers its primary effect:" ..
				list("Causes the " .. b(i("Obsession") .. space .. "Status") .. " to transfer to that Survivor.") ..
				"While chasing the " .. i(b("Obsessions")) .. ", performing the " .. i("Break or Damage") .. " action causes #pn to trigger its secondary effect:" .. 
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for #pl(1).")
		},
		{
			version = "6.6.0",
			units = {1},
			values = {8, 9, 10}, 
			haste = "+5 %",
			rarity = 2,
			desc =
				"Whenever you hit the Survivor with currently the highest cumulative " .. i("Chase time") .. " with a " .. i("Basic Attack") .. ", #pn triggers its primary effect:" ..
				list("Causes the " .. b(i("Obsession") .. space .. "Status") .. " to transfer to that Survivor.") ..
				"While chasing the " .. i(b("Obsessions")) .. ", performing the " .. i("Break or Damage") .. " action causes #pn to trigger its secondary effect:" .. 
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for #pl(1).")
		},
	},
	["Genetic Limits"] =
	{
		{
			version = "8.3.0",
			units = {1},
			values = {6, 7, 8},
			rarity = 2,
			desc =
				"Around you, the limits of human life become readily apparent." .. 
				list("Whenever a Survivor loses a Health State, they suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1).")
		},
		{
			version = "7.0.0",
			units = {1},
			values = {24, 28, 32},
			rarity = 2,
			desc =
				"Around you, the limits of human life become readily apparent." .. 
				list("Whenever a Survivor finishes a Healing action, they suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1).")
		},
	},
	["Ghost Notes"] =
	{
		{
			version = "9.2.0 (PTB)",
			units = {4},
			values = {5, 7.5, 10},
			effect = "+50 %", 
			rarity = 2,
			desc =
                "While suffering from the " .. b(i("Exhausted") .. space .. "Status Effect") .. ", you benefit from the following effects:" .. 
				list(
					"Causes your " .. i("Scratch Marks") .. " to disappear " .. clror("#effect") .. " faster.",
					b("Increases") .. " your Recovery rate from that " .. b("Status Effect") .. " by #pl(1).") ..
				loadoutStrings.exhaustionPerkNoTrigger
    	},
    },
	-- H Perks --
	["Haywire"] =
	{
		{
			version = "9.0.0",
			units = {4},
			values = {80, 90, 100},
			threshold = "80 %",
			rarity = 2,
			desc =
				"Whenever a Survivor stops opening an " .. b("Exit Gates") .. " after accumulating at least " .. clror("#threshold") .. " Progression towards being opened, #pn causes it to regress:" ..
				list(
					b("Regresses") .. " at a rate of #pl(1) of the normal Gate-Opening speed.",
					"Causes Survivors to see the lights atop the switch flickering randomly while it regresses.")
		},
		{
			version = "9.0.0 (PTB)",
			units = {4},
			values = {40, 45, 50},
			threshold = "50 %",
			rarity = 2,
			desc =
				"Whenever a Survivor stops opening an " .. b("Exit Gates") .. " after accumulating at least " .. clror("#threshold") .. " Progression towards being opened, #pn causes it to regress:" ..
				list(
					b("Regresses") .. " at a rate of #pl(1) of the normal Gate-Opening speed.",
					"Causes Survivors to see the lights atop the switch flickering randomly while it regresses.")
		},
	},
	["Head On"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {60, 50, 40},
			charge = "3 seconds",
			stun = {"2.5 metres", "3 seconds"},
			rarity = 2,
			desc =
				"After hiding in a " .. b("Locker") .. " for " .. clror("#charge") .. ", #pn activates." .. br ..
				"While active, hold the " .. loadoutStrings.sprintButton .. " while exiting the " .. b("Locker") .. " to trigger its effect:" ..
				list(
					"Causes you to forcefully launch yourself from the " .. b("Locker") .. ", stunning the Killer if they are too close to it:",
					nbullet .. "Has a Stun range of " .. clro("#stun(1)") .. dot,
					nbullet .. "Has a Stun duration of " .. clro("#stun(2)") .. dot,
					"Triggers a " .. i("Loud Noise Notification") .. " for the Killer upon missing.") ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) on a successful stun."
		},
		{
			version = "3.1.0",
			units = {1},
			values = {60, 50, 40},
			charge = "3 seconds",
			stun = {"2.5 metres", "3 seconds"},
			rarity = 2,
			desc =
				"After hiding in a " .. b("Locker") .. " for " .. clror("#charge") .. ", #pn activates." .. br ..
				"While active, hold the " .. loadoutStrings.sprintButton .. " while exiting the " .. b("Locker") .. " to trigger its effect:" ..
				list(
					"Causes you to forcefully launch yourself from the " .. b("Locker") .. ", stunning the Killer if they are too close to it:",
					nbullet .. "Has a Stun range of " .. clro("#stun(1)") .. dot,
					nbullet .. "Has a Stun duration of " .. clro("#stun(2)") .. dot,
					"Triggers a " .. i("Loud Noise Notification") .. " for the Killer upon missing.") ..
				loadoutStrings.exhaustionPerkNoUseCrows .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) on a successful stun."
		},
		{
			version = "2.6.0",
			units = {1},
			values = {60, 50, 40},
			charge = "3 seconds",
			stun = {"2.5 metres", "3 seconds"},
			rarity = 2,
			desc =
				"After hiding in a " .. b("Locker") .. " for " .. clror("#charge") .. ", #pn activates." .. br ..
				"While active, hold the " .. loadoutStrings.sprintButton .. " while exiting the " .. b("Locker") .. " to trigger its effect:" ..
				list(
					"Causes you to forcefully launch yourself from the " .. b("Locker") .. ", stunning the Killer if they are too close to it:",
					nbullet .. "Has a Stun range of " .. clro("#stun(1)") .. dot,
					nbullet .. "Has a Stun duration of " .. clro("#stun(2)") .. dot,
					"Triggers a " .. i("Loud Noise Notification") .. " for the Killer upon missing.") ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1) on a successful stun."
		},
	},
	["Help Wanted"] =
	{
		{
			version = "9.0.0 (PTB)",
			units = {1},
			values = {40, 50, 60},
			cooldown = "+25 %",
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action, #pn activates:" ..
				list("Causes that " .. b("Generator") .. " to become a " .. i("Compromised Generator") .. dot) ..
				"Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effect for #pl(1):" ..
				list(b("Increases") .. " the Recovery speed of successful " .. i("Basic Attacks") .. " by " .. clror("#cooldown") .. dot)
		},
	},
	["Hex: Blood Favour"] =
	{
		{
			version = "5.3.0",
			units = {3},
			values = {24, 28, 32},
			block = "15 seconds",
			rarity = 2,
			desc =
				loadoutStrings.hexPerkTrialStart .. br ..
				"Whenever a Survivor loses a Health State by any means, #pn triggers its effect for " .. clror("#block") .. colon ..
				list(
					b("Blocks") .. " all upright " .. b("Pallets") .. " within #pl(1) of that Survivor.",
					nbullet .. i("Blocked Pallets") .. " cannot be dropped by any Survivor.") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "4.2.0",
			units = {1},
			values = {60, 50, 40},
			block = "15 seconds",
			range = "16 metres",
			rarity = 2,
			desc =
				loadoutStrings.hexPerkTrialStart .. br ..
				"Whenever a Survivor takes damage from a " .. i("Basic Attack") .. ", #pn triggers its effect for " .. clror("#block") .. colon ..
				list(
					b("Blocks") .. " all upright " .. b("Pallets") .. " within " .. clro("#range") .. " of that Survivor.",
					nbullet .. i("Blocked Pallets") .. " cannot be dropped by any Survivor.") ..
				"#pn has a cool-down of #pl(1)." .. nlp ..
				loadoutStrings.hexPerkFooter
		},
	},
	["Hex: Crowd Control"] =
	{
		{
			version = "8.3.0",
			units = {7},
			values = {3, 4, 5},
			rarity = 2,
			desc =
				loadoutStrings.hexPerkTrialStart .. br ..
				"Whenever a Survivors performs a " .. i("Rushed Vault") .. " action at a " .. b("Window") .. ", #pn triggers its effect:" .. 
				list(b("Blocks") .. " that " .. b("Window") .. " for all Survivors.") ..
				"#pn has a limit of #pl(1) " .. b("Windows") .. " it can affect at a time." .. br ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "7.1.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				loadoutStrings.hexPerkTrialStart .. br ..
				"Whenever a Survivors performs a " .. i("Rushed Vault") .. " action at a " .. b("Window") .. ", #pn triggers its effect:" .. 
				list(b("Blocks") .. " that " .. b("Window") .. " for all Survivors for #pl(1).") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "5.1.0",
			units = {1},
			values = {14, 17, 20},
			rarity = 2,
			desc =
				loadoutStrings.hexPerkTrialStart .. br ..
				"Whenever a Survivors performs a " .. i("Rushed Vault") .. " action at a " .. b("Window") .. ", #pn triggers its effect:" .. 
				list(b("Blocks") .. " that " .. b("Window") .. " for all Survivors for #pl(1).") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "4.6.0",
			units = {1},
			values = {10, 12, 14},
			rarity = 2,
			desc =
				loadoutStrings.hexPerkTrialStart .. br ..
				"Whenever a Survivors performs a " .. i("Rushed Vault") .. " action at a " .. b("Window") .. ", #pn triggers its effect:" .. 
				list(b("Blocks") .. " that " .. b("Window") .. " for all Survivors for #pl(1).") ..
				loadoutStrings.hexPerkFooter
		},
	},
	["Hex: Devour Hope"] =
	{
		{
			version = "2.6.0",
			units = {4},
			values = {3, 4, 5},
			distance = "24 metres",
			tokens = {"+1 Token", "5 Tokens"},
			durationHaste = "10 seconds",
			delay = "10 seconds", 
			rarity = 3,
			desc =
				loadoutStrings.hexPerkTrialStart .. br ..
				"Whenever a Survivor is unhooked at least " .. clror("#distance") .. " from your location, #pn gains " .. clro("#tokens(1)") .. ", up to a maximum of " .. clro("#tokens(2)") .. colon ..
				list(
					bclr("faded jade", "At 2 Tokens") .. colon .. space .. clro("#delay") .. " after hooking a Survivor, you are granted a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot,
					bclr("faded jade", "At 3 Tokens") .. colon .. space .. "Afflicts all Survivors with the " .. b(i("Exposed") .. space .. "Status Effect") .. dot,
					bclr("faded jade", "At 5 Tokens") .. colon .. space .. "Unlocks the " .. i("Kill") .. " ability, allowing you to kill dying Survivors by your own hands.") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "1.5.0",
			units = {7, 7, 7},
			values = {"No effect", "No Effect", "Grants a +5 &#37; % Haste Status Effect for 10 seconds after 10 seconds of having hooked a Survivor.", "No effect", "Causes all Survivors to suffer from a permanent Exposed Status Effect.", "Causes all Survivors to suffer from a permanent Exposed Status Effect.", "Grants the ability to kill all Survivors by your own hand.", "Grants the ability to kill all Survivors by your own hand.", "Grants the ability to kill all Survivors by your own hand."},
			distance = "24 metres",
			tokens = {"+1 Token", "5 Tokens"},
			rarity = 3,
			desc =
				"Whenever a Survivor is unhooked at least " .. clror("#distance") .. " from your location, #pn gains " .. clro("#tokens(1)") .. ", up to a maximum of " .. clro("#tokens(2)") .. colon ..
				list(
					bclr("faded jade", "At 2 Tokens") .. colon .. space .. "#pl(1)",
					bclr("faded jade", "At 3 Tokens") .. colon .. space .. "#pl(2)",
					bclr("faded jade", "At 5 Tokens") .. colon .. space .. "#pl(3)") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "1.3.1",
			units = {7, 7, 7},
			values = {"No effect", "No Effect", "Causes all Survivors to suffer from a -5 &#37; Repair Speed penalty.", "No effect", "Causes all Survivors to suffer from a permanent Exposed Status Effect.", "Causes all Survivors to suffer from a permanent Exposed Status Effect.", "Grants the ability to kill all Survivors by your own hand.", "Grants the ability to kill all Survivors by your own hand.", "Grants the ability to kill all Survivors by your own hand."},
			distance = "24 metres",
			tokens = {"+1 Token", "5 Tokens"},
			rarity = 3,
			desc =
				"Whenever a Survivor is unhooked at least " .. clror("#distance") .. " from your location, #pn gains " .. clro("#tokens(1)") .. ", up to a maximum of " .. clro("#tokens(2)") .. colon ..
				list(
					bclr("faded jade", "At 1 Token") .. colon .. space .. "#pl(1)",
					bclr("faded jade", "At 3 Tokens") .. colon .. space .. "#pl(2)",
					bclr("faded jade", "At 5 Tokens") .. colon .. space .. "#pl(3)") ..
				loadoutStrings.hexPerkFooter
		},
	},
	["Hex: Haunted Ground"] =
	{
		{
			version = "2.2.0 (PTB)",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				loadoutStrings.hexPerkTrap .. br ..
				"Blessing or cleansing either " .. b("Hex Totem") .. " trips the trap and triggers the following effect:" ..
				list("Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for #pl(1).") ..
				"#pn extinguishes the second " .. b("Hex Totem") .. " after tripping its trap." .. br ..
				"#pn is disabled for the remainder of the Trial after triggering its effect."
		},
	},
	["Hex: Huntress Lullaby"] =
	{
		{
			version = "4.3.0",
			units = {4},
			values = {2, 4, 6},
			tokenGain = "+1 Token",
			tokenMax = "5 Tokens",
			penalties = {"-14 %", "-28 %", "-42 %", "-56 %"}, 
			rarity = 2,
			desc =
				"Survivors performing Healing or Repairing actions suffer from the following effect:" ..
				list(b("Increases") .. " the Progression penalty for " .. i("Failed Skill Checks") .. " by #pl(1).") ..
				"Each time a Survivor is hooked, #pn grows in power and gains " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenMax") .. dot .. br ..
				"Survivors performing Healing or Repairing actions suffer from the following additional effect:" ..
				list(
					b("Reduces") .. " the time between the audio cue announcing an imminent " .. i("Skill Check") .. " and it appearing, depending on the number of accumulated Tokens:",
					nbullet .. bclr("faded jade", "1 Token") .. colon .. space .. clro("#penalties(1)"),
					nbullet .. bclr("faded jade", "2 Tokens") .. colon .. space .. clro("#penalties(2)"),
					nbullet .. bclr("faded jade", "3 Tokens") .. colon .. space .. clro("#penalties(3)"),
					nbullet .. bclr("faded jade", "4 Tokens") .. colon .. space .. clro("#penalties(4)"),
					nbullet .. bclr("faded jade", "5 Tokens") .. colon .. space .. b("Suppresses") .. " the audio cue altogether.") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "1.6.0",
			units = {4},
			values = {2, 4, 6},
			tokenGain = "+1 Token",
			tokenMax = "5 Tokens",
			penalties = {"-14 %", "-28 %", "-42 %", "-56 %"}, 
			rarity = 2,
			desc =
				"Survivors performing skilful actions suffer from the following effect:" ..
				list(b("Increases") .. " the Progression penalty for " .. i("Failed Skill Checks") .. " by #pl(1).") ..
				"Each time a Survivor is hooked, #pn grows in power and gains " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenMax") .. dot .. br ..
				"Survivors performing skilful actions suffer from the following additional effect:" ..
				list(
					b("Reduces") .. " the time between the audio cue announcing an imminent " .. i("Skill Check") .. " and it appearing, depending on the number of accumulated Tokens:",
					nbullet .. bclr("faded jade", "1 Token") .. colon .. space .. clro("#penalties(1)"),
					nbullet .. bclr("faded jade", "2 Tokens") .. colon .. space .. clro("#penalties(2)"),
					nbullet .. bclr("faded jade", "3 Tokens") .. colon .. space .. clro("#penalties(3)"),
					nbullet .. bclr("faded jade", "4 Tokens") .. colon .. space .. clro("#penalties(4)"),
					nbullet .. bclr("faded jade", "5 Tokens") .. colon .. space .. b("Suppresses") .. " the audio cue altogether.") ..
				loadoutStrings.hexPerkFooter
		},
	},
	["Hex: No One Escapes Death"] =
	{
		{
			version = "6.1.0",
			units = {4},
			values = {2, 3, 4},
			aura = {"4 metres", "24 metres", "30 seconds"},
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, if there is still a " .. b("Dull Totem") .. " remaining in the environment, #pn activates and lights it:" .. 
                list(
                	"Grants a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot,
                	"Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot) .. 
                "Once the " .. b("Status Effect") .. " is revealed to Survivors, #pn triggers the following effect:" ..
                list(
                	"The Aura of its " .. b("Hex Totem") .. " is revealed to all Survivors within " .. clror("#aura(1)") .. dot,
                	nbullet .. "This range gradually expands to " .. clro("#aura(2)") .. " over the course of " .. clro("#aura(3)") .. dot) ..
                "#pn remains inactive if no " .. b("Dull Totems") .. " are available." .. nlp ..
                loadoutStrings.hexPerkFooter
		},
		{
			version = "2.3.0",
			units = {4},
			values = {2, 3, 4},
			rarity = 3,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, if there is still a " .. b("Dull Totem") .. " remaining in the environment, #pn activates and lights it:" .. 
                list(
                	"Grants a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot,
                	"Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot) .. 
                "#pn remains inactive if no " .. b("Dull Totems") .. " are available." .. nlp ..
                loadoutStrings.hexPerkFooter
		},
		{
			version = "1.5.0",
			units = {4, 4},
			values = {3, 4, 4, 4, 8, 8},
			rarity = 3,
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("You are animated by the power of your Hex Totem when the Survivors are on the verge of escaping.") .. nlp ..
                "Once the " .. b("Exit Gates") .. " are powered, if there is still a " .. b("Dull Totem") .. " remaining in the environment, #pn activates and lights it:" .. 
                list(
                	"Grants a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot,
                	b("Reduces") .. " the Cool-down time of successful and missed " .. i("Basic Attacks") .. " by #pl(2).") .. 
                bclr("pink", "Tier III only") .. colon ..
                list("Causes " .. i("Basic Attacks") .. " to inflict double damage.") ..
                "#pn remains inactive if no " .. b("Dull Totems") .. " are available." .. nlp ..
                loadoutStrings.hexPerkFooter
		},
		{
			version = "1.0.5",
			units = {4, 4},
			values = {3, 4, 4, 4, 8, 8},
			rarity = 3,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates for " .. clror("120 seconds") .. colon .. 
                list(
                	b("Increases") .. " your Movement speed by #pl(1).",
                	b("Reduces") .. " the Cool-down time of successful and missed " .. i("Basic Attacks") .. " by #pl(2).") .. 
                bclr("pink", "Tier III only") .. colon ..
                list("Causes " .. i("Basic Attacks") .. " to inflict double damage.")
		},
		{
			version = "1.0.2",
			units = {4, 4},
			values = {3, 5, 5, 4, 8, 8},
			rarity = 3,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" .. 
                list(
                	b("Increases") .. " your Movement speed by #pl(1).",
                	b("Reduces") .. " the Cool-down time of successful and missed " .. i("Basic Attacks") .. " by #pl(2).") .. 
                bclr("pink", "Tier III only") .. colon ..
                list("Causes " .. i("Basic Attacks") .. " to inflict double damage.")
		},
		{
			version = "1.0.0",
			units = {4, 4},
			values = {3, 5, 5, 4, 8, 8},
			rarity = 3,
			desc =
				i("You are animated by an unseen force when the Survivors are on the verge of escaping.") .. nlp ..
                "Once at least one " .. b("Exit Gate") .. " is opened, #pn activates:" .. 
                list(
                	b("Increases") .. " your Movement speed by #pl(1).",
                	b("Reduces") .. " the Cool-down time of successful and missed " .. i("Basic Attacks") .. " by #pl(2).") .. 
                bclr("pink", "Tier III only") .. colon ..
                list("Causes " .. i("Basic Attacks") .. " to inflict double damage.")
		},
	},
	["Hex: Nothing but Misery"] =
	{
		{
			version = "8.6.0 (PTB)",
			units = {1},
			values = {10, 12.5, 15},
			attacks = "8 times",
			hindered = "-5 %", 
			rarity = 2,
			desc =
                "After damaging Survivors a total of " .. clror("#attacks") .. " with " .. i("Basic Attacks") .. ", a random " .. b("Dull Totem") .. " becomes a " .. b("Hex Totem") .. ", cursing all Survivors:" ..
                list("Survivors damaged by a " .. i("Basic Attack") .. " suffer from a " .. clro("#hindered") .. space .. space .. b(i("Hindered") .. space .. "Status Effect") ..  " for #pl(1).") ..
                loadoutStrings.hexPerkFooter
    	},
    },
	["Hex: Overture of Doom"] =
	{
		{
			version = "9.2.0 (PTB)",
			units = {1},
			values = {20, 25, 30},
			trigger = "5 seconds",
			radius = "32 metres",
			rarity = 2,
			desc =
                "Creates a " .. b("Hex Totem") .. " that curses the farthest " .. b("Generator") .. " from its location:" ..
				list("The Aura of the " .. i("Cursed Generator") .. " is highlighted in " .. bclr("yellow", "yellow") .. dot) ..
				"When a Survivor repairs the " .. i("Cursed Generator") .. " for at least " .. clror("#trigger") .. ", #pn triggers the following effects for #pl(1):" ..
				list(
					"Transfers your " .. i("Terror Radius") .. " to the " .. i("Cursed Generator") .. dot,
					nbullet .. "This " .. i("Terror Radius") .. " is set to " .. clro("#radius") .. dot,
					"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot) ..
				"Once the " .. i("Cursed Generator") .. " is repaired, the next farthest " .. b("Generator") .. " becomes cursed." .. br ..
				loadoutStrings.hexPerkFooter
    	},
    },
    ["Hex: Pentimento"] =
	{
		{
			version = "8.7.0",
			units = {4, 4},
			values = {1, 2, 3, 24, 28, 32},
			tokenGain = "+1 Token",
			tokenLimit = "5 Tokens",
			penalty = "-20 %",
			range = "16 metres",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of cleansed " .. b("Totems") .. " are revealed to you in " .. bclr("white", "white") .. dot) ..
				"Press the " .. loadoutStrings.interactionButton .. " over the remains of a cleansed " .. b("Totem") .. " to resurrect it as a " .. b("Rekindled Totem") .. dot .. br ..
				"For each " .. b("Rekindled Totem") .. ", #pn gains " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenLimit") .. colon ..
				list(
					bclr("faded jade", "1 Token") .. colon .. space .. b("Reduces") .. " the Action speeds for Healing and Repairing by " .. clro("#penalty") .. dot,
					bclr("faded jade", "2 to 5 Tokens") .. colon .. space .. b("Increase") .. " the strength of the Action Speed penalty by a stackable #pl(1) per Token, up to a maximum of #pl(2).",
					"Survivors cursed by #pn see the Auras of " .. b("Rekindled Totems") .. " within " .. clro("#range") .. dot) ..
				"Once #pn has reached its limit of " .. clro("#tokenLimit") .. ", it calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Blocks") .. " all " .. b("Rekindled Totems") .. " for the remainder of the Trial.") ..
				b("Totems") .. " may only be rekindled once per Trial, with " .. b("The Entity") .. " consuming the remains of " .. b("Rekindled Totems") .. " once they are cleansed." .. nlp ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "5.4.0",
			units = {4},
			values = {20, 25, 30},
			tokenGain = "+1 Token",
			tokenLimit = "5 Tokens",
			penalty = "-20 %",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of cleansed " .. b("Totems") .. " are revealed to you in " .. bclr("white", "white") .. dot) ..
				"Press the " .. loadoutStrings.interactionButton .. " over the remains of a cleansed " .. b("Totem") .. " to resurrect it as a " .. b("Rekindled Totem") .. dot .. br ..
				"For each " .. b("Rekindled Totem") .. ", #pn gains " .. clror("#tokenGain") .. colon ..
				list(
					b("Reduces") .. " the following Action speeds by #pl(1):",
					nbullet .. bclr("faded jade", "1 Token") .. colon .. space .. "Repairing",
					nbullet .. bclr("faded jade", "2 Tokens") .. colon .. space .. "+ Healing",
					nbullet .. bclr("faded jade", "3 Tokens") .. colon .. space .. "+ Recovery",
					nbullet .. bclr("faded jade", "4 Tokens") .. colon .. space .. "+ Gate-Opening") ..
				"Once #pn has reached its limit of " .. clro("#tokenLimit") .. ", it calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(b("Blocks") .. " all " .. b("Rekindled Totems") .. " for the remainder of the Trial.") ..
				b("Totems") .. " may only be rekindled once per Trial, with " .. b("The Entity") .. " consuming the remains of " .. b("Rekindled Totems") .. " once they are cleansed." .. nlp ..
				loadoutStrings.hexPerkFooter
		},
	},
	["Hex: Retribution"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {40, 50, 60},
			duration = "20 seconds", 
			rarity = 2,
			desc =
				"Whenever a Survivor blesses or cleanses a " .. b("Totem") .. ", #pn triggers its primary effect:" ..
				list("Causes that Survivor to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for #pl(1).") ..
				"Whenever a " .. b("Hex Totem") .. " is removed by any means, including its own, #pn triggers its secondary effect:" ..
				list("The Auras of all Survivors are revealed to you for " .. clror("#duration") .. dot) .. 
				loadoutStrings.hexPerkFooter
		},
		{
			version = "5.3.0",
			units = {1},
			values = {35, 40, 45},
			duration = "15 seconds", 
			rarity = 2,
			desc =
				"Whenever a Survivor blesses or cleanses a " .. b("Totem") .. ", #pn triggers its primary effect:" ..
				list("Causes that Survivor to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for #pl(1).") ..
				"Whenever a " .. b("Hex Totem") .. " is removed by any means, including its own, #pn triggers its secondary effect:" ..
				list("The Auras of all Survivors are revealed to you for " .. clror("#duration") .. dot) .. 
				loadoutStrings.hexPerkFooter
		},
		{
			version = "3.6.0",
			units = {1},
			values = {35, 40, 45},
			duration = "10 seconds", 
			rarity = 2,
			desc =
				"Whenever a Survivor cleanses a " .. b("Totem") .. ", depending on its type, either of the following effects applies:" ..
				list(
					bclr("faded jade", "Dull Totem") .. colon .. " Causes that Survivor to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for #pl(1).",
					bclr("faded jade", "Hex Totem") .. colon .. " The Auras of all Survivors are revealed to you for " .. clror("#duration") .. " after completing the interaction.") .. 
				loadoutStrings.hexPerkFooter
		},
	},
	["Hex: Ruin"] =
	{
		{
			version = "9.2.0",
			units = {4},
			values = {100, 125, 150},
			rarity = 2,
			desc =
				"All " .. b("Generators") .. " not currently being repaired experience the following effect:" ..
				list("Causes them to automatically regress at #pl(1) of the default Regression rate.") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "7.5.0",
			units = {4},
			values = {50, 75, 100},
			rarity = 2,
			desc =
				"All " .. b("Generators") .. " not currently being repaired experience the following effect:" ..
				list("Causes them to automatically regress at #pl(1) of the default Regression rate.") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "6.1.0",
			units = {4},
			values = {50, 75, 100},
			rarity = 2,
			desc =
				"All " .. b("Generators") .. " not currently being repaired experience the following effect:" ..
				list("Causes them to automatically regress at #pl(1) of the default Regression rate.") ..
				"#pn is disabled for the remainder of the Trial after the first Survivor is killed by any means." .. nlp ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "3.5.0",
			units = {4},
			values = {100, 150, 200},
			rarity = 3,
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("A Hex that affects the Generator Repair progress of all Survivors.") .. nlp ..
				"All " .. b("Generators") .. " not currently being repaired experience the following effect:" ..
				list("Causes them to automatically regress at #pl(1) of the default Regression rate.") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "2.6.0",
			units = {4},
			values = {3, 4, 5},
			rarity = 3,
			desc =
				i("A Hex that affects the Survivors' skills at repairing Generators.") .. nlp ..
				"While repairing a " .. b("Generator") .. ", Survivors suffer from the following effects:" ..
				list(
					i("Great Repair Skill Checks") .. " no longer grant any bonus Progression.",
					i("Good Repair Skill Checks") .. " regress the " .. b("Generator") .. " by #pl(1) of its total Progression.") ..
				loadoutStrings.hexPerkFooter
		},
		{
			version = "1.3.1",
			units = {7},
			values = {2, 3, 4},
			penalty = "-5 %",
			rarity = 3,
			desc =
				"While repairing a " .. b("Generator") .. ", #pl(1) Survivors selected at random at the start of the Trial suffer from the following effects:" ..
				list(
					i("Great Repair Skill Checks") .. " no longer grant any bonus Progression.",
					i("Good Repair Skill Checks") .. " regress the " .. b("Generator") .. " by " .. clror("#penalty") .. " of its total Progression.") ..
				loadoutStrings.hexPerkFooter
		},
	},
	["Hex: Thrill of the Hunt"] =
	{
		{
			version = "8.4.2",
			units = {4, 4},
			values = {8, 10, 12, 40, 50, 60},
			tokenCount = "5 Tokens",
			tokenLoss = "-1 Token", 
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokenCount") .. ", one for each " .. b("Totem") .. " located in the environment:" ..
                list(b("Reduces") .. " the Action speeds for Blessing and Cleansing by a stack-able #pl(1) per Token, up to a maximum of #pl(2).") ..
                "#pn loses " .. clro("#tokenLoss") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp ..
                loadoutStrings.hexPerkFooter
		},
		{
			version = "8.4.0",
			units = {4, 4},
			values = {10, 12, 14, 50, 60, 70},
			tokenCount = "5 Tokens",
			tokenLoss = "-1 Token", 
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokenCount") .. ", one for each " .. b("Totem") .. " located in the environment:" ..
                list(b("Reduces") .. " the Action speeds for Blessing and Cleansing by a stack-able #pl(1) per Token, up to a maximum of #pl(2).") ..
                "#pn loses " .. clro("#tokenLoss") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp ..
                loadoutStrings.hexPerkFooter
		},
		{
			version = "5.3.0",
			units = {4, 4},
			values = {8, 9, 10, 40, 45, 50},
			tokenCount = "5 Tokens",
			tokenLoss = "-1 Token", 
			tokenBonus = "+10 %",
			maxBonus = "+50 %",
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokenCount") .. ", one for each " .. b("Totem") .. " located in the environment:" ..
                list(
                	b("Reduces") .. " the Action speeds for Blessing and Cleansing by a stack-able #pl(1) per Token, up to a maximum of #pl(2).",
                	"Grants a stack-able " .. clro("#tokenBonus") .. " bonus Bloodpoints in the " .. b("Hunter") .. space .. i("Scoring Category") .. " per Token, up to a maximum of " .. clro ("#maxBonus") .. dot) ..
                "#pn loses " .. clro("#tokenLoss") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp ..
                loadoutStrings.bonusBPDuringTrial .. br ..
                loadoutStrings.hexPerkFooter
		},
		{
			version = "2.6.0",
			units = {4, 4},
			values = {4, 5, 6, 20, 25, 30},
			tokenCount = "5 Tokens",
			tokenLoss = "-1 Token",
			tokenBonus = "+10 %",
			maxBonus = "+50 %",
			rarity = 1,
			desc =
				"Start the Trial with " .. clror("#tokenCount") .. ", one for each " .. b("Totem") .. " located in the environment:" ..
                list(
                	b("Reduces") .. " the Cleansing speed by a stack-able #pl(1) per Token, up to a maximum of #pl(2).",
                	"Grants a stack-able " .. clro("#tokenBonus") .. " bonus Bloodpoints in the " .. b("Hunter") .. space .. i("Scoring Category") .. " per Token, up to a maximum of " .. clro ("#maxBonus") .. dot,
                	"Triggers a " .. i("Loud Noise Notification") .. " whenever a Survivor starts cleansing a " .. b("Hex Totem") .. dot) ..
                "#pn loses " .. clro("#tokenLoss") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp ..
                loadoutStrings.bonusBPDuringTrial .. br ..
                loadoutStrings.hexPerkFooter
		},
		{
			version = "1.5.2",
			units = {4, 4, 4, 4},
			values = {4, 5, 6, 20, 25, 30, 6, 8, 10, 30, 40, 50},
			tokenCount = "5 Tokens",
			tokenLoss = "-1 Token",
			rarity = 1,
			desc =
				"Start the Trial with " .. clror("#tokenCount") .. ", one for each " .. b("Totem") .. " located in the environment:" ..
                list(
                	b("Reduces") .. " the Cleansing speed by a stack-able #pl(1) per Token, up to a maximum of #pl(2).",
                	"Grants a stack-able #pl(3) bonus Bloodpoints in the " .. b("Hunter") .. space .. i("Scoring Category") .. " per Token, up to a maximum of #pl(4).",
                	"Triggers a " .. i("Loud Noise Notification") .. " whenever a Survivor starts cleansing a " .. b("Hex Totem") .. dot) ..
                "#pn loses " .. clro("#tokenLoss") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp ..
                loadoutStrings.bonusBPDuringTrial .. br ..
                loadoutStrings.hexPerkFooter
		},
		{
			version = "1.5.0",
			units = {4, 4, 4, 4},
			values = {4, 7, 10, 20, 35, 50, 4, 6, 8, 20, 30, 40},
			tokenCount = "5 Tokens",
			tokenLoss = "-1 Token",
			rarity = 1,
			desc =
				"Start the Trial with " .. clror("#tokenCount") .. ", one for each " .. b("Totem") .. " located in the environment:" ..
                list(
                	b("Reduces") .. " the Cleansing speed by a stack-able #pl(1) per Token, up to a maximum of #pl(2).",
                	"Grants a stack-able #pl(3) bonus Bloodpoints in the " .. b("Hunter") .. space .. i("Scoring Category") .. " per Token, up to a maximum of #pl(4).",
                	"Triggers a " .. i("Loud Noise Notification") .. " whenever a Survivor starts cleansing a " .. b("Hex Totem") .. dot) ..
                "#pn loses " .. clro("#tokenLoss") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp ..
                loadoutStrings.bonusBPDuringTrial .. br ..
                loadoutStrings.hexPerkFooter
		},
		{
			version = "1.3.1",
			units = {4, 4},
			values = {4, 7, 10, 4, 6, 8},
			tokenGain = "+1 Token",
			distance = "24 metres",
			rarity = 1,
			desc =
				"Whenever a Survivor is unhooked while you are at least " .. clror("#distance") .. " away, #pn is granted " .. clro("#tokenGain") .. colon ..
                list(
                	b("Reduces") .. " the Cleansing speed by a stack-able #pl(1) per Token.",
                	"Grants a stack-able #pl(2) bonus Bloodpoints in the " .. b("Hunter") .. space .. i("Scoring Category") .. " per Token.") ..
                loadoutStrings.bonusBPDuringTrial .. br ..
                loadoutStrings.hexPerkFooter
		},
	},
	["Hope"] =
	{
		{
			version = "9.2.0",
			units = {4},
			values = {3, 4, 5},
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates for the remainder of the Trial:" ..
				list("Grants a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot)
		},
		{
			version = "6.1.0",
			units = {4},
			values = {5, 6, 7},
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates for the remainder of the Trial:" ..
				list("Grants a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot)
		},
		{
			version = "1.3.0",
			units = {4},
			values = {5, 6, 7},
			timer = "120 seconds",
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates for " .. clror("#timer") .. colon ..
				list(b("Increases") .. " your Movement speed by #pl(1).")
		},
		{
			version = "1.0.0",
			units = {4},
			values = {2, 3, 4},
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates for the remainder of the Trial:" ..
				list(b("Increases") .. " your Movement speed by #pl(1).")
		},
	},
	["Hubris"] =
	{
		{
			version = "9.1.0",
			rarity = 2,
			units = {1},
			values = {20, 25, 30},
			cooldown = "20 seconds",
			desc =
				"Whenever a Survivor stuns you by any means, #pn triggers its effect:" ..
				list("Causes them to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for #pl(1).") ..
				"#pn has a cool-down of " .. clror("#cooldown") .. dot
		},
		{
			version = "6.4.0 (PTB)",
			rarity = 2,
			units = {1},
			values = {10, 15, 20},
			cooldown = "20 seconds",
			desc =
				"Whenever a Survivor stuns you by any means, #pn triggers its effect:" ..
				list("Causes them to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for #pl(1).") ..
				"#pn has a cool-down of " .. clror("#cooldown") .. dot
		},
	},
	["Human Greed"] =
	{
		{
			version = "8.4.1",
			units = {1},
			values = {3, 4, 5},
			range = "8 metres",
			cooldown = "10 seconds",
			rarity = 2,
			desc =
				"One can always rely on the avarice of the living and use it to one's advantage." .. nlp ..
				"Grants the ability to kick opened " .. b("Chests") .. " and close them." ..
				list(
					"The Auras of unopened " .. b("Chests") .. " are revealed to you at all times.",
					"The Auras of Survivors coming within " .. clror("#range") .. " of unopened or closed " .. b("Chests") .. " are revealed to you for #pl(1).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. " on the ability to kick " .. b("Chests") .. dot
		},
		{
			version = "8.4.0",
			units = {1},
			values = {30, 25, 20},
			range = "8 metres",
			duration = "3 seconds",
			rarity = 2,
			desc =
				"One can always rely on the avarice of the living and use it to one's advantage." .. nlp ..
				"Grants the ability to kick opened " .. b("Chests") .. " and close them." ..
				list(
					"The Auras of unopened " .. b("Chests") .. " are revealed to you at all times.",
					"The Auras of Survivors coming within " .. clror("#range") .. " of unopened or closed " .. b("Chests") .. " are revealed to you for " .. clro("#duration") .. dot) ..
				"#pn has a cool-down of #pl(1) on the ability to kick " .. b("Chests") .. dot
		},
		{
			version = "8.2.1",
			units = {1},
			values = {60, 45, 30},
			speed = "+50 %",
			range = "8 metres",
			duration = "3 seconds",
			rarity = 2,
			desc =
				"One can always rely on the avarice of the living and use it to one's advantage." .. nlp ..
				"Grants the ability to kick opened " .. b("Chests") .. " and close them." ..
				list(
					b("Increases") .. " the Unlocking speed on kicked " .. b("Chests") .. " by " .. clror("#speed") .. dot,
					"The Auras of unopened " .. b("Chests") .. " are revealed to you at all times.",
					"The Auras of Survivors coming within " .. clro("#range") .. " of unopened or closed " .. b("Chests") .. " are revealed to you for " .. clro("#duration") .. dot) ..
				"#pn has a cool-down of #pl(1) on the ability to kick " .. b("Chests") .. dot
		},
		{
			version = "8.2.0",
			units = {1},
			values = {80, 70, 60},
			speed = "+50 %",
			range = "8 metres",
			duration = "3 seconds",
			rarity = 2,
			desc =
				"One can always rely on the avarice of the living and use it to one's advantage." .. nlp ..
				"Grants the ability to kick opened " .. b("Chests") .. " and close them." ..
				list(
					b("Increases") .. " the Unlocking speed on kicked " .. b("Chests") .. " by " .. clror("#speed") .. dot,
					"The Auras of unopened " .. b("Chests") .. " are revealed to you at all times.",
					"The Auras of Survivors coming within " .. clro("#range") .. " of unopened or closed " .. b("Chests") .. " are revealed to you for " .. clro("#duration") .. dot) ..
				"#pn has a cool-down of #pl(1) on the ability to kick " .. b("Chests") .. dot
		},
	},
	["Hysteria"] =
	{
		{
			version = "8.6.0",
			units = {1},
			values = {30, 35, 40},
			cooldown = "20 seconds", 
			rarity = 2,
			desc =
				"Whenever you injure a healthy Survivor, #pn triggers its effect:" ..
				list(
					"Causes all Survivors currently in the " .. i("Injured State") .. " to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for #pl(1).",
					nbullet .. "This effect also applies the Survivor triggering it.") ..
				"#pn has a cool-down of " .. clror("#cooldown") .. dot
		},
		{
			version = "5.0.0",
			units = {1},
			values = {20, 25, 30},
			cooldown = "30 seconds", 
			rarity = 2,
			desc =
				"Whenever you injure a healthy Survivor, #pn triggers its effect:" ..
				list(
					"Causes all Survivors currently in the " .. i("Injured State") .. " to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for #pl(1).",
					nbullet .. "This effect also applies the Survivor triggering it.") ..
				"#pn has a cool-down of " .. clror("#cooldown") .. dot
		},
	},
	-- I Perks --
	["I'm All Ears"] =
	{
		{
			version = "8.1.0",
			units = {1},
			values = {60, 45, 30},
			rarity = 2,
			range = "48 metres",
			duration = "8 seconds",
			desc =
				"Unlocks potential in your Aura-reading ability, sharpening your keen senses in the dark Realm of " .. b("The Entity") .. dot .. nlp ..
				"Whenever a Survivor performs a " .. i("Rushed Vault") .. " action within " .. clror("#range") .. " of your location, you benefit from the following effect:" ..
				list("The Aura of the Survivor is revealed to you for " .. clro("#duration") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "3.0.0",
			units = {1},
			values = {60, 50, 40},
			rarity = 2,
			range = "48 metres",
			duration = "6 seconds",
			desc =
				"Unlocks potential in your Aura-reading ability, sharpening your keen senses in the dark Realm of " .. b("The Entity") .. dot .. nlp ..
				"Whenever a Survivor performs a " .. i("Rushed Vault") .. " action within " .. clror("#range") .. " of your location, you benefit from the following effect:" ..
				list("The Aura of the Survivor is revealed to you for " .. clro("#duration") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Inner Focus"] =
	{
		{
			version = "8.3.2",
			units = {1},
			values = {6, 8, 10},
			rarity = 2,
			desc =
				"You have honed your ability to see through the haze of the Ravage." ..
				list(
					"Grants the ability to see the " .. i("Scratch Marks") .. " of other Survivors.",
					"Whenever another Survivor loses a Health State due to the Killer, the Aura of the latter is revealed to your for #pl(1).")
		},
		{
			version = "8.3.0",
			units = {1},
			values = {6, 8, 10},
			rarity = 2,
			desc =
				"You have honed your ability to see through the haze of the Ravage." ..
				list(
					"Grants the ability to see the " .. i("Scratch Marks") .. " of other Survivors.",
					"Whenever another Survivor loses a Health State by any means, the Aura of the Killer is revealed to your for #pl(1).")
		},
		{
			version = "6.1.0",
			units = {1},
			values = {3, 4, 5},
			radius = "32 metres",
			rarity = 2,
			desc =
				"You have honed your ability to see through the haze of the Ravage." ..
				list(
					"Grants the ability to see the " .. i("Scratch Marks") .. " of other Survivors.",
					"Whenever another Survivor within " .. clror("#radius") .. " of your location loses a Health State by any means, the Aura of the Killer is revealed to your for #pl(1).")
		},
		{
			version = "6.0.0",
			units = {1},
			values = {3, 4, 5},
			radius = "32 metres",
			rarity = 2,
			desc =
				"You have honed your ability to see through the haze of the Ravage." ..
				list(
					"Grants the ability to see the " .. i("Scratch Marks") .. " of other Survivors within " .. clror("#radius") .. dot,
					"Whenever another Survivor within " .. clro("#radius") .. " of your location loses a Health State by any means, the Aura of the Killer is revealed to your for #pl(1).")
		},
	},
	["Inner Strength"] =
	{
		{
			version = "7.3.3",
			units = {1},
			values = {10, 9, 8},
			notice = "Due to the return of " .. b("CHAPTER 13: Stranger Things") .. ", this Patch reverted the licensing-related changes from " .. b("Patch 5.3.0") .. dot,
			rarity = 2,
			desc =
				"After cleansing a " .. b("Totem") .. " of any kind, #pn activates." .. br ..
				"While active, hiding inside a " .. b("Locker") .. " for #pl(1) triggers the following effect:" ..
				list("Heals you to the next Health State.") ..
				"#pn deactivates after use." .. br ..
				"#pn cannot be used while suffering from the " .. b(i("Broken") .. space .. "Status Effect") .. dot
		},
		{
			version = "5.3.0",
			units = {1},
			values = {10, 9, 8},
			icon = "Inner Healing",
			notice = "This Patch only changed the icon and renamed the " .. b("Perk") .. " from " .. b("Inner Strength") .. " to " .. b("Inner Healing") .. dot,
			rarity = 2,
			desc =
				"After cleansing a " .. b("Totem") .. " of any kind, " .. i("Inner Healing") .. " activates." .. br ..
				"While active, hiding inside a " .. b("Locker") .. " for #pl(1) triggers the following effect:" ..
				list("Heals you to the next Health State.") ..
				i("Inner Healing") .. " deactivates after use." .. br ..
				i("Inner Healing") .. " cannot be used while suffering from the " .. b(i("Broken") .. space .. "Status Effect") .. dot
		},
		{
			version = "3.2.0",
			units = {1},
			values = {10, 9, 8},
			rarity = 2,
			desc =
				"After cleansing a " .. b("Totem") .. " of any kind, #pn activates." .. br ..
				"While active, hiding inside a " .. b("Locker") .. " for #pl(1) triggers the following effect:" ..
				list("Heals you to the next Health State.") ..
				"#pn deactivates after use." .. br ..
				"#pn cannot be used while suffering from the " .. b(i("Broken") .. space .. "Status Effect") .. dot
		},
	},
	["Insidious"] =
	{
		{
			version = "9.1.0",
			units = {2},
			values = {3, 2, 1},
			rarity = 2,
			desc =
				"Unlocks the stealth ability." .. br ..
                "After standing still for #pl(1), #pn activates for as long as you remain stationary:" ..
                list("Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot) ..
                "#pn deactivates once you start moving again."
		},
		{
			version = "3.4.0",
			units = {1},
			values = {4, 3, 2},
			rarity = 3,
			desc =
				"Unlocks the stealth ability." .. br ..
                "After standing still for #pl(1), #pn activates for as long as you remain stationary:" ..
                list("Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot) ..
                "#pn deactivates once you start moving again."
		},
		{
			version = "1.0.5",
			units = {1},
			values = {4, 3, 2},
			radius = "0 metres",
			rarity = 3,
			desc =
				"Unlocks the stealth ability." .. br ..
                "After standing still for #pl(1), #pn activates for as long as you remain stationary:" .. 
                list(
                	b("Reduces") .. " your " .. i("Terror Radius") .. " to " .. clror("#radius") .. dot,
                	b("Suppresses") .. " your " .. i("Red Stain") .. dot) ..
                "#pn deactivates once you start moving again."
		},
		{
			version = "1.0.0",
			units = {1},
			values = {6, 4, 3},
			radius = "0 metres",
			rarity = 3,
			desc =
				"Unlocks the stealth ability." .. br ..
                "After standing still for #pl(1), #pn activates for as long as you remain stationary:" .. 
                list(
                	b("Reduces") .. " your " .. i("Terror Radius") .. " to " .. clror("#radius") .. dot,
                	b("Suppresses") .. " your " .. i("Red Stain") .. dot) ..
                "#pn deactivates once you start moving again."
		},
	},
	["Invocation: Treacherous Crows"] =
	{
		{
			version = "8.4.0 (PTB)",
			units = {1},
			values = {1, 1.5, 2},
			rarity = 2,
			desc =
				loadoutStrings.invocationPerkHeader .. nlp ..
				"Once the " .. i("Invocation") .. " is completed, the following effects apply:" .. 
				list(
					"Whenever the Killer scares a " .. b("Crow") .. " while a Survivor is inside their " .. i("Terror Radius") .. ", their Aura is revealed to all Survivors for #pl(1).",
					"You automatically enter the " .. i("Injured State") .. " from any previous Health State, and suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " for the remainder of the Trial.")
		},
	},
	["Invocation: Weaving Spiders"] =
	{
		{
			version = "8.0.0",
			units = {9},
			values = {8, 9, 10},
			rarity = 2,
			desc =
				"The place where fear festers and terror treads is also where those with the gift can reach across the veil." .. nlp ..
				loadoutStrings.invocationPerkHeader .. nlp ..
				"Once the " .. i("Invocation") .. " is completed, the following effects apply:" .. 
				list(
					b("Permanently reduces") .. " the Repair Charges requirement of all " .. b("Generators") .. " in the Trial by #pl(1).",
					"You automatically enter the " .. i("Injured State") .. " from any previous Health State, and suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " for the remainder of the Trial.") ..
				"Completing this " .. i("Invocation") .. " disables all other instances of #pn for the remainder of the Trial."
		},
		{
			version = "7.6.0",
			units = {9},
			values = {8, 9, 10},
			rarity = 2,
			desc =
				"The place where fear festers and terror treads is also where those with the gift can reach across the veil." .. nlp ..
				loadoutStrings.invocationPerkHeader_760 .. nlp ..
				"Once the " .. i("Invocation") .. " is completed, the following effects apply:" .. 
				list(
					b("Permanently reduces") .. " the Repair Charges requirement of all " .. b("Generators") .. " in the Trial by #pl(1).",
					"You automatically enter the " .. i("Injured State") .. " from any previous Health State, and suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " for the remainder of the Trial.") ..
				"Completing this " .. i("Invocation") .. " disables all other instances of #pn for the remainder of the Trial."
		},
	},
	["Iron Grasp"] =
	{
		{
			version = "2.6.3",
			units = {4},
			values = {4, 8, 12}, 
			wiggleEffects = "-75 %", 
			rarity = 1,
			desc =
				"While carrying a Survivor, they suffer from the following effects:" .. 
                list(
                	b("Reduces") .. " the strength of the " .. i("Involuntary Strafing") .. " caused by their wiggling by " .. clror("#wiggleEffects") .. dot,
                    b("Increases") .. " the time required to break free from your grasp by #pl(1).")
		},
		{
			version = "1.5.0",
			units = {4, 4},
			values = {25, 50, 75, 4, 8, 12},
			rarity = 1,
			desc =
				"While carrying a Survivor, they suffer from the following effects:" .. 
                list(
                	b("Reduces") .. " the strength of the " .. i("Involuntary Strafing") .. " caused by their wiggling by #pl(1).",
                    b("Increases") .. " the time required to break free from your grasp by #pl(2).")
		},
		{
			version = "1.0.5",
			units = {4, 4},
			values = {20, 40, 60, 15, 27, 36},
			rarity = 1,
			desc =
				"While carrying a Survivor, they suffer from the following effects:" .. 
                list(
                	b("Reduces") .. " the strength of the " .. i("Involuntary Strafing") .. " caused by their wiggling by #pl(1).",
                    b("Increases") .. " the time required to break free from your grasp by #pl(2).")
		},
		{
			version = "1.0.0",
			units = {4, 4},
			values = {25, 50, 75, 20, 40, 60},
			rarity = 1,
			desc =
				"While carrying a Survivor, they suffer from the following effects:" .. 
                list(
                	b("Reduces") .. " the strength of the " .. i("Involuntary Strafing") .. " caused by their wiggling by #pl(1).",
                    b("Increases") .. " the time required to break free from your grasp by #pl(2).")
		},
	},
	["Iron Maiden"] =
	{
		{
			version = "4.5.0",
			units = {4},
			values = {30, 40, 50},
			rarity = 2,
			duration = "4 seconds",
			exposed = "30 seconds",
			desc =
				"While interacting with an empty " .. b("Locker") .. ", #pn applies its primary effect:" .. 
				list(b("Increases") .. " your Search speed by #pl(1).") ..
				"Whenever a Survivor exits a " .. b("Locker") .. ", #pn triggers its secondary effects:" ..
				list(
					"Causes them to scream and trigger a " .. i("Loud Noise Notification") .. " at their current location.",
					nbullet .. "This effect lingers for " .. clror("#duration") .. dot,
					"Causes them to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for " .. clro("#exposed") .. dot)
		},
		{
			version = "3.2.0",
			units = {4},
			values = {30, 40, 50},
			rarity = 3,
			duration = "4 seconds",
			exposed = "15 seconds",
			desc =
				"While interacting with an empty " .. b("Locker") .. ", #pn applies its primary effect:" .. 
				list(b("Increases") .. " your Search speed by #pl(1).") ..
				"Whenever a Survivor exits a " .. b("Locker") .. ", #pn triggers its secondary effects:" ..
				list(
					"Causes them to scream and trigger a " .. i("Loud Noise Notification") .. " at their current location.",
					nbullet .. "This effect lingers for " .. clror("#duration") .. dot,
					"Causes them to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for " .. clro("#exposed") .. dot)
		},
		{
			version = "2.5.0",
			units = {4},
			values = {30, 40, 50},
			rarity = 3,
			duration = "3 seconds",
			exposed = "15 seconds",
			desc =
				"While interacting with an empty " .. b("Locker") .. ", #pn applies its primary effect:" .. 
				list(b("Increases") .. " your Search speed by #pl(1).") ..
				"Whenever a Survivor exits a " .. b("Locker") .. ", #pn triggers its secondary effects:" ..
				list(
					"Causes them to scream and trigger a " .. i("Loud Noise Notification") .. " at their current location.",
					nbullet .. "This effect lingers for " .. clror("#duration") .. dot,
					"Causes them to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for " .. clro("#exposed") .. dot)
		},
		{
			version = "2.4.0",
			units = {4},
			values = {30, 40, 50},
			rarity = 3,
			duration = "4 seconds",
			exposed = "15 seconds",
			desc =
				"While interacting with an empty " .. b("Locker") .. ", #pn applies its primary effect:" .. 
				list(b("Increases") .. " your Search speed by #pl(1).") ..
				"Whenever a Survivor exits a " .. b("Locker") .. ", #pn triggers its secondary effects:" ..
				list(
					"Causes them to scream and trigger a " .. i("Loud Noise Notification") .. " at their current location.",
					nbullet .. "This effect lingers for " .. clror("#duration") .. dot,
					"Causes them to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for " .. clro("#exposed") .. dot)
		},
	},
	["Iron Will"] =
	{
		{
			version = "8.1.2",
			units = {4},
			values = {80, 90, 100},
			rarity = 2,
			notice = "Identical to the previous version, except that the values stack additively.",
			desc =
				"While injured, you benefit from the following effects:" ..
				list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by #pl(1).") ..
				loadoutStrings.exhaustionPerkNoUseNoTrigger
		},
		{
			version = "8.1.0",
			units = {4},
			values = {80, 90, 100},
			rarity = 2,
			desc =
				"While injured, you benefit from the following effects:" ..
				list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by #pl(1).") ..
				loadoutStrings.exhaustionPerkNoUseNoTrigger
		},
		{
			version = "6.1.0",
			units = {4},
			values = {25, 50, 75},
			rarity = 2,
			desc =
				"While injured, you benefit from the following effects:" ..
				list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by #pl(1).") ..
				loadoutStrings.exhaustionPerkNoUseNoTrigger
		},
		{
			version = "5.1.0",
			units = {4},
			values = {50, 75, 100},
			rarity = 2,
			notice = "Identical to the previous version, except that the values stack multiplicatively.",
			desc =
				"While injured, you benefit from the following effects:" ..
				list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by #pl(1).")
		},
		{
			version = "2.3.0",
			units = {4},
			values = {50, 75, 100},
			rarity = 1,
			desc =
				"While injured, you benefit from the following effects:" ..
				list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by #pl(1).")
		},
		{
			version = "1.0.0",
			units = {7, 4},
			values = {"and stationary", "and stationary", "and stationary or moving", 50, 100, 100},
			rarity = 1,
			desc =
				"While injured #pl(1), you benefit from the following effects:" ..
				list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by #pl(2).")
		},
	},
	-- J Perks --
	-- K Perks --
	["Kindred"] =
	{
		{
			version = "3.4.0",
			units = {3},
			values = {8, 12, 16},
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. nlp ..
                "Whenever any Survivor is hooked, #pn activates and applies the following effects:" ..
                list(
                	"The Aura of the Killer is revealed to all Survivors whenever the Killer comes within #pl(1) of the " .. b("Hook") .. dot,
                	"If you are the " .. i("Hooked Survivor") .. ", the Auras of all Survivors are revealed to each other.",
                	"If you are not the " .. i("Hooked Survivor") .. ", the Auras of all other Survivors are only revealed to you.")
		},
		{
			version = "2.6.0",
			units = {3},
			values = {8, 12, 16},
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. nlp ..
                "Whenever you are hooked, #pn activates and applies the following effects:" ..
                list(
                	"The Aura of the Killer is revealed to all Survivors whenever the Killer comes within #pl(1) of the " .. b("Hook") .. dot,
                	"The Auras of all Survivors are revealed to each other.")
		},
		{
			version = "1.1.0",
			units = {7},
			values = {"one other Survivor", "all Survivors", "all Survivors"},
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. nlp ..
                "Whenever you are hooked, #pn activates and applies the following effects:" ..
                list("The Aura(s) of #pl(1) is/are revealed to all Survivors.") ..
                bclr(4, "Tier III only") .. colon ..
                list("The Aura of the Killer is revealed to all Survivors whenever the Killer comes within " .. clror("8 metres") .. " of the " .. b("Hook") .. dot)
		},
	},
	["Knock Out"] =
	{
		{
			version = "8.6.0",
			units = {1},
			values = {3, 4, 5},
			range = "6 metres",
			timer = "6 seconds",
			hindered = "-5 %",
			rarity = 2,
			desc =
				"Whenever a Survivor moves farther than " .. clror("#range") .. " from a " .. b("Pallet") .. " within " .. clro("#timer") .. " of dropping it, #pn triggers its effect:" ..
				list("Causes them to suffer from a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for #pl(1).")
		},
		{
			version = "6.1.0",
			units = {3},
			values = {32, 24, 16},
			duration = "15 seconds",
			crawling = "-50 %",
			recovery = "-25 %",
			rarity = 2,
			desc =
				"Whenever you put a Survivor into the " .. i("Dying State") .. " with your " .. i("Basic Attack") .. ", #pn triggers its primary effect:" ..
				list(b("Limits") .. " the ability for other Survivors to see the Aura of the dying Survivor to within #pl(1) of their location.") ..
				"Upon entering the " .. i("Dying State") .. ", #pn additionally inflicts the following secondary effects on the dying Survivor for " .. clror("#duration") .. colon ..
				list(
					b("Narrows") .. " their " .. i("Field of View") .. dot,
					b("Reduces") .. " their Crawling Movement speed by " .. clro("#crawling") .. dot,
					b("Reduces") .. " their Recovery speed by " .. clro("#recovery") .. dot,
					"Causes them to suffer from the " .. i(b("Blindness")) .. space .. b("Status Effect") .. dot)
		},
		{
			version = "4.1.0",
			units = {3},
			values = {32, 24, 16},
			duration = "15 seconds",
			crawling = "-50 %",
			rarity = 1,
			desc =
				"Whenever you put a Survivor into the " .. i("Dying State") .. " with your " .. i("Basic Attack") .. ", #pn triggers its primary effect:" ..
				list(b("Limits") .. " the ability for other Survivors to see the Aura of the dying Survivor to within #pl(1) of their location.") ..
				"Upon entering the " .. i("Dying State") .. ", #pn additionally inflicts the following secondary effects on the dying Survivor for " .. clror("#duration") .. colon ..
				list(
					b("Narrows") .. " their " .. i("Field of View") .. dot,
					b("Reduces") .. " their Crawling Movement speed by " .. clro("#crawling") .. dot,
					"Causes them to suffer from the " .. i(b("Blindness")) .. space .. b("Status Effect") .. dot)
		},
		{
			version = "1.7.0",
			units = {3},
			values = {32, 24, 16},
			rarity = 1,
			desc =
				"Whenever you put a Survivor into the " .. i("Dying State") .. " with your " .. i("Basic Attack") .. ", #pn triggers its effect:" ..
				list(b("Limits") .. " the ability for other Survivors to see the Aura of the dying Survivor to within #pl(1) of their location.")
		},
	},
	-- L Perks --
	["Languid Touch"] =
	{
		{
			version = "8.4.0",
			units = {1},
			values = {6, 8, 10},
			range = "36 metres",
			cooldown = "5 seconds", 
			rarity = 2,
			desc =
				"Your dreadful aura is so suffocating that even terrifying scenes tire your prey." .. nlp ..
				"When a Survivor scares off a " .. b("Crow") .. " within " .. clror("#range") .. " of your location, #pn activates:" ..
				list("Causes that Survivor to suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
		{
			version = "8.0.0",
			units = {1},
			values = {6, 8, 10},
			range = "36 metres",
			cooldown = "20 seconds", 
			rarity = 2,
			desc =
				"Your dreadful aura is so suffocating that even terrifying scenes tire your prey." .. nlp ..
				"When a Survivor scares off a " .. b("Crow") .. " within " .. clror("#range") .. " of your location, #pn activates:" ..
				list("Causes that Survivor to suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
	},
	["Last Stand"] =
	{
		{
			version = "9.1.0",
			units = {1},
			values = {120, 105, 90},
			stun = "3 seconds",
			range = "2.5 metres",
			rarity = 2,
			desc =
				"After staying in the " .. i("Terror Radius") .. " without being chased for #pl(1), #pn activates." .. br ..
				"While active, perform a " .. i("Rushed Vault") .. " action to trigger its effect:" ..
				list(b("Stuns") .. " the Killer for " .. clror("#stun") .. ", if they are within " .. clro("#range") .. " of that Vault location.") ..
				"#pn is disabled for the remainder of the Trial after use."
		},
		{
			version = "9.1.0 (PTB)",
			units = {1},
			values = {80, 70, 60},
			stun = "3 seconds",
			range = "2.5 metres",
			rarity = 2,
			desc =
				"After staying in the " .. i("Terror Radius") .. " without being chased for #pl(1), #pn activates." .. br ..
				"While active, perform a " .. i("Rushed Vault") .. " action to trigger its effect:" ..
				list(b("Stuns") .. " the Killer for " .. clror("#stun") .. ", if they are within " .. clro("#range") .. " of that Vault location.") ..
				"#pn is disabled for the remainder of the Trial after use."
		},
	},
	["Leader"] =
	{
		{
			version = "9.2.0",
			units = {4},
			values = {20, 25, 30},
			radius = "10 metres",
			linger = "15 seconds",
			rarity = 3,
			desc =
				"All other Survivors within " .. clror("#radius") .. " of your location benefit from the following effect:" ..
            	list(
            		b("Increases") .. " their Action speeds for Cleansing, Gate-Opening, Healing, Sabotaging, Searching, and Unhooking by #pl(1).",
            		nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving its " .. i("Area of Effect") .. dot) ..
            	loadoutStrings.singleInstancePerk
		},
		{
			version = "2.5.0",
			units = {4},
			values = {15, 20, 25},
			radius = "8 metres",
			linger = "15 seconds",
			rarity = 3,
			desc =
				"All other Survivors within " .. clror("#radius") .. " of your location benefit from the following effect:" ..
            	list(
            		b("Increases") .. " their Action speeds for Cleansing, Gate-Opening, Healing, Sabotaging, Searching, and Unhooking by #pl(1).",
            		nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving its " .. i("Area of Effect") .. dot) ..
            	loadoutStrings.singleInstancePerk
		},
		{
			version = "2.3.0",
			units = {4},
			values = {3, 6, 9},
			radius = "8 metres",
			linger = "15 seconds",
			rarity = 3,
			desc =
				"All other Survivors within " .. clror("#radius") .. " of your location benefit from the following effect:" ..
            	list(
            		b("Increases") .. " their Action speeds for Cleansing, Gate-Opening, Healing, Repairing, Sabotaging, Searching, and Unhooking by #pl(1).",
            		nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving its " .. i("Area of Effect") .. dot) ..
            	loadoutStrings.multiInstancePerk
		},
		{
			version = "1.0.0",
			units = {4},
			values = {3, 6, 9},
			radius = "8 metres",
			rarity = 3,
			desc =
				"All other Survivors within " .. clror("#radius") .. " of your location benefit from the following effect:" ..
            	list(b("Increases") .. " their Action speeds for Cleansing, Gate-Opening, Healing, Repairing, Sabotaging, Searching, and Unhooking by #pl(1).") ..
            	loadoutStrings.multiInstancePerk
		},
	},
	["Left Behind"] =
	{
		{
			version = "3.2.0",
			units = {3},
			values = {24, 28, 32},
			rarity = 1,
			desc =
				"You will get the job done... no matter the cost." .. nlp ..
				"Once you are the " .. bclr("yellow", "Last Survivor Standing") .. ", #pn activates:" ..
				list("The Aura of the " .. b("Hatch") .. " is revealed to you within #pl(1).")
		},
		{
			version = "2.7.0",
			units = {4, 4, 4, 4, 4},
			values = {55, 65, 75, 110, 130, 150, 165, 195, 225, 220, 260, 300, 275, 325, 375},
			rarity = 1,
			desc =
				"You will get the job done... no matter the cost." .. nlp ..
				"Once you are the " .. bclr("yellow", "Last Survivor Standing") .. ", #pn activates:" ..
				list(
					b("Increases") .. " your Repair speed by a stack-able #pl(1) per remaining " .. b("Generator") .. " needed to power the " .. b("Exit Gates") .. colon,
					nbullet .. bclr("faded jade", "1 Generator") .. colon .. space .. "#pl(1)",
					nbullet .. bclr("faded jade", "2 Generators") .. colon .. space .. "#pl(2)",
					nbullet .. bclr("faded jade", "3 Generators") .. colon .. space .. "#pl(3)",
					nbullet .. bclr("faded jade", "4 Generators") .. colon .. space .. "#pl(4)",
					nbullet .. bclr("faded jade", "5 Generators") .. colon .. space .. "#pl(5)")
		},
		{
			version = "1.4.2",
			units = {4, 4, 4, 4, 4},
			values = {19, 22, 25, 28, 44, 50, 57, 66, 75, 76, 88, 100, 95, 110, 125},
			rarity = 1,
			desc =
				"You will get the job done... no matter the cost." .. nlp ..
				"Once you are the " .. bclr("yellow", "Last Survivor Standing") .. ", #pn activates:" ..
				list(
					b("Increases") .. " your Repair speed by a stack-able #pl(1) per remaining " .. b("Generator") .. " needed to power the " .. b("Exit Gates") .. colon,
					nbullet .. bclr("faded jade", "1 Generator") .. colon .. space .. "#pl(1)",
					nbullet .. bclr("faded jade", "2 Generators") .. colon .. space .. "#pl(2)",
					nbullet .. bclr("faded jade", "3 Generators") .. colon .. space .. "#pl(3)",
					nbullet .. bclr("faded jade", "4 Generators") .. colon .. space .. "#pl(4)",
					nbullet .. bclr("faded jade", "5 Generators") .. colon .. space .. "#pl(5)")
		},
	},
	["Leverage"] =
	{
		{
			version = "9.2.0",
			units = {4},
			values = {20, 25, 30},
			duration = "60 seconds",
			rarity = 2,
			desc =
				"Whenever a Survivor performs an " .. i("Unhook") .. " action, they suffer from the following effect for " .. clror("#duration") .. colon .. 
				list(b("Reduces") .. " their Healing speeds by #pl(1).")
		},
		{
			version = "8.3.0",
			units = {4},
			values = {30, 40, 50},
			duration = "30 seconds",
			notice = "This Patch also updated both flavour texts.",
			rarity = 2,
			desc =
				i("Kick your competitors when they're down. Never let them regain lost ground.") .. nlp ..
				"Whenever a Survivor performs an " .. i("Unhook") .. " action, they suffer from the following effect for " .. clror("#duration") .. colon .. 
				list(b("Reduces") .. " their Healing speeds by #pl(1).") .. 
				i("Good. Now we can move in for the kill.")
		},
		{
			version = "6.6.0",
			units = {4, 4},
			values = {3, 4, 5, 30, 40, 50},
			duration = "30 seconds",
			tokens = {"+1 Token", "10 Tokens"},
			rarity = 2,
			desc =
				i("Like in business, you profit most when those around you suffer most.") .. nlp ..
				"Whenever you hook a Survivor, #pn is granted " .. clror("#tokens(1)") .. ", up to a maximum of " .. clro("#tokens(2)") .. ", and applies the following effect for " .. clro("#duration") .. colon .. 
				list(b("Reduces") .. " the Healing speeds of all Survivors by a stack-able #pl(1) per Token, up to a maximum of #pl(2).") ..
				i("The best way to raise profit is to cut expenditures. Cut everything.")
		},
	},
	["Light-Footed"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {14, 12, 10},
			rarity = 2,
			desc =
				"Whenever you are healthy, #pn activates:" .. 
				list(b("Suppresses") .. " the sound of your footsteps while running.") ..
				"#pn has a cool-down of #pl(1) after performing a " .. i("Rush Vault action") .. dot
		},
		{
			version = "7.2.0",
			units = {1},
			values = {28, 24, 20},
			rarity = 2,
			desc =
				"Whenever you are healthy, #pn activates:" .. 
				list(b("Suppresses") .. " the sound of your footsteps while running.") ..
				"#pn has a cool-down of #pl(1) after performing a " .. i("Rush Vault action") .. dot
		},
	},
	["Lightweight"] =
	{
		{
			version = "6.1.0",
			units = {1},
			values = {3, 4, 5},
			spawnChance = "-60 %",
			rarity = 2,
			desc =
				"Your running is light and soft, making your tracks harder to follow." .. 
                list(
                	b("Reduces") .. " the Lifetime of your " .. i("Scratch Marks") .. " by #pl(1).",
                	b("Reduces") .. " the Spawn chance of patches of " .. i("Scratch Marks") .. " by " .. clror("#spawnChance") .. ", making their spacing inconsistent.")
		},
		{
			version = "1.0.0",
			units = {2},
			values = {1, 2, 3},
			rarity = 2,
			desc =
				"Your running is light and soft, making your tracks harder to follow." .. 
                list(b("Reduces") .. " the Lifetime of your " .. i("Scratch Marks") .. " by #pl(1).")
		},
	},
	["Lithe"] =
	{
		{
			version = "2.6.0",
			units = {1},
			values = {60, 50, 40},
			haste = "+50 %",
			durationHaste = "3 seconds",
			rarity = 2,
			desc =
				"Whenever you perform a " .. i("Rushed Vault") .. " action, #pn triggers its effect:" ..
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)."
		},
		{
			version = "1.5.1",
			units = {1},
			values = {60, 50, 40},
			haste = "+50 %",
			durationHaste = "3 seconds",
			rarity = 2,
			desc =
				"While being chased by the Killer, performing a " .. i("Rushed Vault") .. " action triggers the following effect:" ..
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)."
		},
	},
	["Low Profile"] =
	{
		{
			version = "6.2.0",
			units = {1},
			values = {70, 80, 90},
			rarity = 2,
			desc =
				"You work best alone." .. br ..
				"When it is just you and your pursuer, you know how to disappear." .. nlp ..
				"Whenever you are the only Survivor not currently incapacitated by either being downed, carried, or hooked, #pn activates:" ..
				list(b("Suppresses") .. " your " .. i("Grunts of Pain") .. " and the creation of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. " for #pl(1).") ..
				"#pn deactivates after use and only accounts for Survivors still participating in the Trial."
		},
		{
			version = "6.2.0 (PTB)",
			units = {1},
			values = {70, 80, 90},
			rarity = 2,
			desc =
				"You work best alone." .. br ..
				"When it is just you and your pursuer, you know how to disappear." .. nlp ..
				"Once you are the " .. bclr("yellow", "Last Survivor Standing") .. ", #pn activates:" ..
				list(b("Suppresses") .. " your " .. i("Grunts of Pain") .. " and the creation of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. " for #pl(1).") ..
				"#pn deactivates after use."
		},
	},
	["Lucky Break"] =
	{
		{
			version = "6.1.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates:" ..
				list(b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. " for up to #pl(1).") ..
				"Whenever you are healing another Survivor, #pn recharges by the same amount of time spent performing the Healing action, up to its initial maximum." .. br ..
				"#pn deactivates once its timer runs out or whenever your Health State updates to any other but the " .. i("Injured State") .. dot
		},
		{
			version = "5.0.0",
			units = {1},
			values = {40, 50, 60},
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates:" ..
				list(b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. " for up to #pl(1).") ..
				"#pn deactivates whenever your Health State updates to any other but the " .. i("Injured State") .. dot .. br ..
				"#pn is disabled for the remainder of the Trial once its timer runs out."
		},
		{
			version = "4.7.0",
			units = {1},
			values = {35, 40, 45},
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates:" ..
				list(b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. " for up to #pl(1).") ..
				"#pn deactivates whenever your Health State updates to any other but the " .. i("Injured State") .. dot .. br ..
				"#pn is disabled for the remainder of the Trial once its timer runs out."
		},
		{
			version = "3.4.0",
			units = {1},
			values = {120, 150, 180},
			rarity = 3,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates:" ..
				list(b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. " for up to #pl(1).") ..
				"#pn deactivates whenever your Health State updates to any other but the " .. i("Injured State") .. dot .. br ..
				"#pn is disabled for the remainder of the Trial once its timer runs out."
		},
	},
	["Lucky Star"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {35, 30, 25},
			duration = "30 seconds",
			rarity = 2,
			desc =
				"While hiding inside a " .. b("Locker") .. ", you benefit from the following effect:" ..
				list(b("Suppresses") .. " your " .. i("Grunts of Pain") .. dot) ..
				"After exiting the " .. b("Locker") .. ", you benefit from the following effects for " .. clror("#duration") .. colon ..
				list(
					b("Suppresses") .. " your " .. i("Grunts of Pain") .. " and the creation of " .. i("Pools of Blood") .. dot,
					"The Auras of all other Survivors are revealed to you.",
					"The Aura of the nearest " .. b("Generator") .. " is revealed to you and highlighted in " .. bclr("yellow", "yellow") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "8.3.0",
			units = {1},
			values = {40, 35, 30},
			duration = "30 seconds",
			rarity = 2,
			desc =
				"While hiding inside a " .. b("Locker") .. ", you benefit from the following effect:" ..
				list(b("Suppresses") .. " your " .. i("Grunts of Pain") .. dot) ..
				"After exiting the " .. b("Locker") .. ", you benefit from the following effects for " .. clror("#duration") .. colon ..
				list(
					b("Suppresses") .. " your " .. i("Grunts of Pain") .. " and the creation of " .. i("Pools of Blood") .. dot,
					"The Auras of all other Survivors are revealed to you.",
					"The Aura of the nearest " .. b("Generator") .. " is revealed to you and highlighted in " .. bclr("yellow", "yellow") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "7.2.0",
			units = {1},
			values = {40, 35, 30},
			duration = "10 seconds",
			rarity = 2,
			desc =
				"While hiding inside a " .. b("Locker") .. ", the following effects apply for " .. clror("#duration") .. colon ..
				list(b("Suppresses") .. " your " .. i("Grunts of Pain") .. " and the creation of " .. i("Pools of Blood") .. dot) ..
				"After exiting the " .. b("Locker") .. " the following effects apply for " .. clro("#duration") .. colon ..
				list(
					"The Auras of all other Survivors are revealed to you.",
					"The Aura of the nearest " .. b("Generator") .. " is revealed to you and highlighted in " .. bclr("yellow", "yellow") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	-- M Perks --
	["Machine Learning"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {40, 50, 60},
			haste = "+8 %",
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action, #pn activates:" ..
				list(
					"Causes that " .. b("Generator") .. " to become a " .. i("Compromised Generator") .. dot,
					nbullet .. "Damaging another " .. b("Generator") .. " transfers the state to it instead.",
					"The Aura of the " .. i("Compromised Generator") .. " is highlighted to you in " .. bclr("yellow", "yellow") .. " until it is completed.") ..
				"Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effects for #pl(1):" ..
				list(
					b(i("Undetectable") .. space .. "Status Effect"),
					clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect")) ..
				"#pn deactivates after use."
		},
		{
			version = "8.3.2",
			units = {1},
			values = {35, 40, 45},
			haste = "+10 %",
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action, #pn activates:" ..
				list(
					"Causes that " .. b("Generator") .. " to become a " .. i("Compromised Generator") .. dot,
					nbullet .. "Damaging another " .. b("Generator") .. " transfers the state to it instead.",
					"The Aura of the " .. i("Compromised Generator") .. " is highlighted to you in " .. bclr("yellow", "yellow") .. " until it is completed.") ..
				"Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effects for #pl(1):" ..
				list(
					b(i("Undetectable") .. space .. "Status Effect"),
					clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect")) ..
				"#pn deactivates after use."
		},
		{
			version = "8.3.0",
			units = {1},
			values = {40, 50, 60},
			haste = "+10 %",
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action, #pn activates:" ..
				list(
					"Causes that " .. b("Generator") .. " to become a " .. i("Compromised Generator") .. dot,
					nbullet .. "Damaging another " .. b("Generator") .. " transfers the state to it instead.",
					"The Aura of the " .. i("Compromised Generator") .. " is highlighted to you in " .. bclr("yellow", "yellow") .. " until it is completed.") ..
				"Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effects for #pl(1):" ..
				list(
					b(i("Undetectable") .. space .. "Status Effect"),
					clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect")) ..
				"#pn deactivates after use."
		},
		{
			version = "8.1.0",
			units = {1},
			values = {40, 50, 60},
			haste = "+10 %",
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action, #pn activates:" ..
				list(
					"Causes the next " .. b("Generator") .. " you damage to become a " .. i("Compromised Generator") .. dot,
					nbullet .. "Damaging another " .. b("Generator") .. " transfers the state to it instead.",
					"The Aura of the " .. i("Compromised Generator") .. " is highlighted to you in " .. bclr("yellow", "yellow") .. " until it is completed.") ..
				"Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effects for #pl(1):" ..
				list(
					b(i("Undetectable") .. space .. "Status Effect"),
					clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect")) ..
				"#pn deactivates after use."
		},
		{
			version = "7.0.0",
			units = {1},
			values = {20, 25, 30},
			haste = "+10 %",
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action, #pn activates:" ..
				list(
					"Causes the next " .. b("Generator") .. " you damage to become a " .. i("Compromised Generator") .. dot,
					nbullet .. "Damaging another " .. b("Generator") .. " transfers the state to it instead.",
					"The Aura of the " .. i("Compromised Generator") .. " is highlighted to you in " .. bclr("yellow", "yellow") .. " until it is completed.") ..
				"Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effects for #pl(1):" ..
				list(
					b(i("Undetectable") .. space .. "Status Effect"),
					clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect")) ..
				"#pn deactivates after use."
		},
	},
	["Made for This"] =
	{
		{
			version = "7.4.0",
			units = {1, 4},
			values = {6, 8, 10, 1, 2, 3},
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates." .. br ..
				"While active, completing a Healing action on another Survivor triggers the following primary effect:" .. 
				list(
					"Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for #pl(1).",
					nbullet .. loadoutStrings.conspicuousActions) ..
				"While active and suffering from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. ", running triggers the following secondary effect:" ..
				list("Grants a #pl(2) " .. b(i("Haste") .. space .. "Status Effect") .. dot)
		},
		{
			version = "7.0.0",
			units = {4, 1},
			values = {1, 2, 3, 6, 8, 10},
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates." .. br ..
				"While active, you benefit from the following effects:" .. 
				list(
					"Grants a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. " while running.",
					"Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for #pl(2) after completing a Healing action on another Survivor.",
					nbullet .. loadoutStrings.conspicuousActions) ..
				loadoutStrings.exhaustionPerkNoUseNoTrigger
		},
	},
	["Mettle of Man"] =
	{
		{
			version = "6.2.0",
			units = {3},
			values = {12, 14, 16},
			counter = "third", 
			rarity = 2,
			desc =
				"After triggering a " .. clror("#counter") .. space .. i("Protection Hit") .. " by any means, #pn activates:" ..
				list(
					"While in the " .. i("Injured State") .. ", #pn shields you from the next attack that would put you into the " .. i("Dying State") .. dot,
					"After healing back to full health by any means, #pn reveals your Aura to the Killer whenever you are farther than #pl(1) from their location.") ..
				"#pn deactivates after entering the " .. i("Dying State") .. " by any means." .. nlp ..
				loadoutStrings.obsessionChancePlus .. br ..
				loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "6.1.2 / 6.1.3",
			units = {3},
			values = {12, 14, 16},
			counter = "second", 
			rarity = 2,
			desc =
				"After triggering a " .. clror("#counter") .. space .. i("Protection Hit") .. " by any means, #pn activates:" ..
				list(
					"Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. dot,
					"Reveals your Aura to the Killer whenever you are farther than #pl(1) from their location.") ..
				"#pn deactivates after losing the " .. b("Status Effect") .. " by any means." .. nlp ..
				loadoutStrings.obsessionChancePlus .. br ..
				loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "3.3.0",
			units = {3},
			values = {12, 14, 16},
			counter = "third", 
			rarity = 2,
			desc =
				"After triggering a " .. clror("#counter") .. space .. i("Protection Hit") .. " by any means, #pn activates:" ..
				list(
					"While in the " .. i("Injured State") .. ", #pn shields you from the next attack that would put you into the " .. i("Dying State") .. dot,
					"After healing back to full health by any means, #pn reveals your Aura to the Killer whenever you are farther than #pl(1) from their location.") ..
				"#pn deactivates after entering the " .. i("Dying State") .. " by any means." .. br ..
				"#pn displays the " .. b(i("Endurance") .. space .. "Status Effect") .. " overlay, but uses its own mechanic to shield its user." .. nlp ..
				loadoutStrings.obsessionChancePlus .. br ..
				loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "3.0.0",
			units = {3},
			values = {12, 14, 16},
			counter = "third", 
			rarity = 2,
			desc =
				"After triggering a " .. clror("#counter") .. space .. i("Protection Hit") .. " by any means, #pn activates:" ..
				list(
					"While in the " .. i("Injured State") .. ", #pn shields you from the next attack that would put you into the " .. i("Dying State") .. dot,
					"After healing back to full health by any means, #pn reveals your Aura to the Killer whenever you are farther than #pl(1) from their location.") ..
				"#pn is disabled for the remainder of the Trial after entering the " .. i("Dying State") .. " by any means." .. br ..
				"#pn displays the " .. b(i("Endurance") .. space .. "Status Effect") .. " overlay, but uses its own mechanic to shield its user." .. nlp ..
				loadoutStrings.obsessionChancePlus .. br ..
				loadoutStrings.obsessionPerkSurvivor
		},
		{
			version = "2.6.3",
			units = {3},
			values = {12, 14, 16},
			counter = "3 times", 
			rarity = 2,
			desc =
				"After getting hit with a " .. ("Basic Attack") .. " a total of " .. clror("#counter") .. ", #pn activates:" ..
				list(
					"While in the " .. i("Injured State") .. ", #pn shields you from the next attack that would put you into the " .. i("Dying State") .. dot,
					"After healing back to full health by any means, #pn reveals your Aura to the Killer whenever you are farther than #pl(1) from their location.") ..
				"#pn is disabled for the remainder of the Trial after entering the " .. i("Dying State") .. " by any means." .. br ..
				"#pn displays the " .. b(i("Endurance") .. space .. "Status Effect") .. " overlay, but uses its own mechanic to shield its user." .. nlp ..
				loadoutStrings.obsessionChancePlus .. br ..
				loadoutStrings.obsessionPerkSurvivor
		},
	},
	["Mindbreaker"] =
	{
		{
			version = "7.3.3",
			units = {1},
			values = {3, 4, 5},
			notice = "Due to the return of " .. b("CHAPTER 13: Stranger Things") .. ", this Patch reverted the licensing-related changes from " .. b("Patch 5.3.0") .. dot,
			rarity = 2,
			desc =
				"While repairing a " .. b("Generator") .. ", Survivors suffer from the following effects:" ..
				list(
					"Incurs the " .. b(i("Blindness and Exhausted") .. space .. "Status Effects") .. dot,
					nbullet .. "Both " .. b("Status Effects") .. " linger for #pl(1) after ending the interaction.") ..
				loadoutStrings.exhaustionPerkNoOverridePause
		},
		{
			version = "5.3.0",
			units = {1},
			values = {3, 4, 5},
			rarity = 2,
			notice = "This Patch also renamed the " .. b("Perk") .. " from " .. b("Mindbreaker") .. " to " .. b("Fearmonger") .. dot,
			desc =
				"While repairing a " .. b("Generator") .. ", Survivors suffer from the following effects:" ..
				list(
					"Incurs the " .. b(i("Blindness and Exhausted") .. space .. "Status Effects") .. dot,
					nbullet .. "Both " .. b("Status Effects") .. " linger for #pl(1) after ending the interaction.") ..
				loadoutStrings.exhaustionPerkNoOverridePause
		},
		{
			version = "4.3.0",
			units = {1},
			values = {3, 4, 5},
			rarity = 2,
			desc =
				"While repairing a " .. b("Generator") .. ", Survivors suffer from the following effects:" ..
				list(
					"Incurs the " .. b(i("Exhausted") .. space .. "Status Effect") .. dot,
					nbullet .. "The " .. b("Status Effect") .. " lingers for #pl(1) after ending the interaction.") ..
				loadoutStrings.exhaustionPerkNoOverridePause
		},
		{
			version = "3.2.0",
			units = {2},
			values = {1, 2, 3},
			threshold = "50 %",
			rarity = 2,
			desc =
				"While repairing a " .. b("Generator") .. " with less than " .. clror("#threshold") .. " of Progression, Survivors suffer from the following effects:" ..
				list(
					"Incurs the " .. b(i("Exhausted") .. space .. "Status Effect") .. dot,
					nbullet .. "The " .. b("Status Effect") .. " lingers for #pl(1) after ending the interaction.") ..
				loadoutStrings.exhaustionPerkNoOverridePause
		},
	},
	["Monitor & Abuse"] =
	{
		{
			version = "9.2.0",
			units = {4, 4},
			values = {5, 10, 15, 15, 20, 25},
			rarity = 2,
			desc =
				"While actively chasing a Survivor, #pn applies its primary effect:" ..
				list(b("Increases") .. " your " .. i("Terror Radius") .. " by #pl(1).") ..
				"While " .. b("not") .. " actively chasing a Survivor, #pn applies its secondary effect:" ..
				list(b("Reduces") .. " your " .. i("Terror Radius") .. " by #pl(2).")
		},
		{
			version = "7.5.0",
			units = {3, 3},
			values = {6, 7, 8, 12, 14, 16},
			rarity = 2,
			desc =
				"Modifies your " .. i("Terror Radius") .. " with the following effect:" ..
				list(b("Increases") .. " its default radius by #pl(1).") ..
				"While " .. b("not") .. " actively chasing a Survivor, you benefit from the following effect:" ..
				list(b("Reduces") .. " your " .. i("Terror Radius") .. " by #pl(2).")
		},
		{
			version = "2.6.0",
			units = {7},
			values = {3, 5, 10},
			terrorRadius = {"+8 metres", "-16 metres"},
			rarity = 2,
			desc =
				"Modifies your " .. i("Terror Radius") .. " with the following effect:" ..
				list(b("Increases") .. " its default radius by " .. clror("#terrorRadius(1)") .. dot) ..
				"While " .. b("not") .. " actively chasing a Survivor, you benefit from the following effects:" ..
				list(
					b("Reduces") .. " your " .. i("Terror Radius") .. " by " .. clro("#terrorRadius(2)") .. dot,
					b("Increases")  .. " your " .. i("Field of View") .. " by #pl(1) " .. b("°") .. dot) ..
				"#pn does not stack its " .. i("Field of View") .. " gains with those from outside effects."
		},
		{
			version = "1.5.0",
			units = {3, 3, 7},
			values = {6, 7, 8, 12, 14, 16, 3, 5, 10},
			rarity = 2,
			desc =
				"Modifies your " .. i("Terror Radius") .. " with the following effect:" ..
				list(b("Increases") .. " its default radius by #pl(1).") ..
				"While " .. b("not") .. " actively chasing a Survivor, you benefit from the following effects:" ..
				list(
					b("Reduces") .. " your " .. i("Terror Radius") .. " by #pl(2)",
					b("Increases")  .. " your " .. i("Field of View") .. " by #pl(3) " .. b("°") .. dot) ..
				"#pn does not stack its " .. i("Field of View") .. " gains with those from outside effects."
		},
	},
	-- N Perks --
	["Nemesis"] =
	{
		{
			version = "8.6.0",
			units = {1},
			values = {40, 50, 60},
			aura = "8 seconds", 
			rarity = 2,
			desc =
				"Whenever a Survivor other than your " .. b(i("Obsession")) .. " blinds you by any means or stuns you with a " .. b("Pallet") .. " or a " .. b("Locker") .. ", #pn triggers its primary effect:" ..
				list("Causes that Survivor to become your current " .. b(i("Obsession")) .. dot) ..
				"Whenever your " .. b(i("Obsession")) .. " switches to a different Survivor by any means, #pn triggers its secondary effects:" ..
				list(
					"Causes that Survivor to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for #pl(1).",
					"Their Aura is revealed to you for " .. clror("#aura") .. dot) ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "5.0.0",
			units = {1},
			values = {40, 50, 60},
			aura = "4 seconds", 
			rarity = 2,
			desc =
				"Whenever a Survivor other than your " .. b(i("Obsession")) .. " blinds you by any means or stuns you with a " .. b("Pallet") .. " or a " .. b("Locker") .. ", #pn triggers its primary effect:" ..
				list("Causes that Survivor to become your current " .. b(i("Obsession")) .. dot) ..
				"Whenever your " .. b(i("Obsession")) .. " switches to a different Survivor by any means, #pn triggers its secondary effects:" ..
				list(
					"Causes that Survivor to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " for #pl(1).",
					"Their Aura is revealed to you for " .. clror("#aura") .. dot) ..
				loadoutStrings.obsessionPerkKiller
		},
	},
	["No Holds Barred"] =
	{
		{
			version = "8.0.0",
			units = {1},
			values = {15, 20, 25},
			rarity = 2,
			desc =
				"Each time a " .. b("Generator") .. " is completed, #pn calls upon " .. b("The Entity") .. " for the following effects:" ..
				list(
					b("Blocks") .. " the " .. b("Generator") .. " with the most Progression for #pl(1).",
					"The Aura of the " .. b("Blocked Generator") .. " is highlighted to you in " .. bclr("white", "white") .. dot)
		},
		{
			version = "5.2.0",
			units = {1},
			values = {20, 25, 30},
			rarity = 2,
			icon = "Deadlock",
			desc =
				"Each time a " .. b("Generator") .. " is completed, #pn calls upon " .. b("The Entity") .. " for the following effects:" ..
				list(
					b("Blocks") .. " the " .. b("Generator") .. " with the most Progression for #pl(1).",
					"The Aura of the " .. b("Blocked Generator") .. " is highlighted to you in " .. bclr("white", "white") .. dot)
		},
	},
	["No Mither"] =
	{
		{
			version = "9.2.0",
			units = {4},
			values = {15, 20, 25},
			rarity = 2,
			desc =
				"You suffer permanently from the " .. b(i("Broken") .. space .. "Status Effect") .. " in exchange for the following benefits:" ..
				list(
					b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. dot,
					b("Suppresses") .. " your " .. i("Grunts of Pain") ..  " while in the " .. i("Injured State") .. " or in the " .. i("Dying State") .. dot,
					"Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State") .. colon,
					nbullet .. b("Increases") .. " the Recovery speed by #pl(1).")
		},
		{
			version = "5.3.0",
			units = {4, 4},
			values = {25, 50, 75, 15, 20, 25},
			rarity = 2,
			desc =
				"You suffer permanently from the " .. b(i("Broken") .. space .. "Status Effect") .. " in exchange for the following benefits:" ..
				list(
					b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. dot,
					b("Reduces") .. " the volume of your " .. i("Grunts of Pain") ..  " by #pl(1) while in the " .. i("Injured State") .. " or in the " .. i("Dying State") .. dot,
					"Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State") .. colon,
					nbullet .. b("Increases") .. " the Recovery speed by #pl(2).")
		},
		{
			version = "2.2.0",
			units = {4},
			values = {0, 25, 50},
			rarity = 2,
			desc =
				"You suffer permanently from the " .. b(i("Broken") .. space .. "Status Effect") .. " in exchange for the following benefits:" ..
				list(
					b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. dot,
					b("Reduces") .. " the volume of your " .. i("Grunts of Pain") ..  " by #pl(1) while in the " .. i("Injured State") .. " or in the " .. i("Dying State") .. dot,
					"Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State") .. dot)
		},
		{
			version = "1.6.0",
			units = {4},
			values = {0, 25, 50},
			rarity = 2,
			desc =
				"You are permanently injured throughout the Trial in exchange for the following benefits:" ..
				list(
					b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. dot,
					b("Reduces") .. " the volume of your " .. i("Grunts of Pain") ..  " by #pl(1) while in the " .. i("Injured State") .. " or in the " .. i("Dying State") .. dot,
					"Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State") .. dot)
		},
	},
	["No One Left Behind"] =
	{
		{
			version = "8.4.0",
			units = {4},
			values = {50, 75, 100},
			effect = "+10 %",
			bonus = "+5 seconds",
			haste = "20 %",
			durationHaste = "15 seconds",
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" ..
                list(
                	"The Auras of all other Survivors are revealed to you.",
                	b("Increases") .. " your Action speeds for Healing and Unhooking by #pl(1).",
                	b("Increases") .. " the strength and duration of the " .. b(i("Haste") .. space .. "Status Effect") .. " granted to Survivors you unhook by " .. clror("#effect") .. " and " .. clro("#bonus") .. " respectively:",
                	nbullet .. "Causes them to benefit from a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot)
		},
		{
			version = "6.2.0",
			units = {4, 4},
			values = {30, 40, 50, 50, 75, 100},
			effect = "+7 %",
			haste = "14 %",
			durationHaste = "10 seconds",
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" ..
                list(
                	"The Auras of all other Survivors are revealed to you.",
                	b("Increases") .. " your Action speeds for Healing and Unhooking by #pl(1).",
                	b("Increases") .. " the strength of the " .. b(i("Haste") .. space .. "Status Effect") .. " granted to Survivors you unhook by " .. clror("#effect") .. colon,
                	nbullet .. "Causes them to benefit from a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot,
                	"Grants #pl(2) bonus Bloodpoints for actions in the " .. i("Altruism") .. " Category.")
		},
		{
			version = "6.1.0",
			units = {4, 4},
			values = {30, 40, 50, 50, 75, 100},
			effect = "+7 %",
			bonus = "+5 seconds",
			haste = "14 %",
			durationHaste = "10 seconds",
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" ..
                list(
                	"The Auras of all other Survivors are revealed to you.",
                	b("Increases") .. " your Action speeds for Healing and Unhooking by #pl(1).",
                	b("Increases") .. " the strength and duration of the " .. b(i("Haste") .. space .. "Status Effect") .. " granted to Survivors you unhook by " .. clror("#effect") .. " and " .. clro("#bonus") .. " respectively:",
                	nbullet .. "Causes them to benefit from a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot,
                	"Grants #pl(2) bonus Bloodpoints for actions in the " .. i("Altruism") .. " Category.")
		},
		{
			version = "3.4.0",
			units = {4, 4},
			values = {30, 40, 50, 50, 75, 100},
			rarity = 2,
			desc =
				"Once either of the two " .. b("Exit Gates") .. " has been opened, #pn activates:" ..
                list(
                	"The Auras of all other Survivors are revealed to you.",
                	b("Increases") .. " your Action speeds for Healing and Unhooking by #pl(1).",
                	"Grants #pl(2) bonus Bloodpoints for actions in the " .. i("Altruism") .. " Category.")
		},
		{
			version = "1.0.2",
			units = {4, 4},
			values = {4, 8, 12, 50, 75, 100},
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" ..
                list(
                	b("Increases") .. " your Action speeds for Healing and Unhooking by #pl(1).",
                	"Grants #pl(2) bonus Bloodpoints for actions in the " .. i("Altruism") .. " Category.")
		},
		{
			version = "1.0.0",
			units = {4, 4},
			values = {5, 10, 15, 50, 75, 100},
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" ..
                list(
                	b("Increases") .. " your Action speeds for Healing and Unhooking by #pl(1).",
                	"Grants #pl(2) bonus Bloodpoints for actions in the " .. i("Altruism") .. " Category.")
		},
	},
	["No Quarter"] =
	{
		{
			version = "8.4.0 (PTB)",
			units = {1},
			values = {20, 25, 30},
			threshold = "75 %",
			rarity = 2,
			desc =
				"Whenever a Survivor healing themselves by any means reaches " .. clror("#threshold") .. " Healing Progress, #pn triggers its effect:" ..
				list(
					"The Survivor is faced with a continuous stream of " .. i("Skill Checks") .. " until the " .. i("Self-Heal") .. " is completed.",
					"If they fail a " .. i("Skill Check") .. " or interrupt the action by any means, they suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " for #pl(1).")
		},
	},
	["No Way Out"] =
	{
		{
			version = "5.1.0",
			units = {1, 1},
			values = {6, 9, 12, 36, 48, 60}, 
			tokenGain = "+1 Token",
			block = "12 seconds", 
			rarity = 2,
			desc =
				"Whenever you hook a Survivor for the first time, #pn gains " .. clror("#tokenGain") .. dot .. br ..
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" .. 
				list("Causes the first Survivor to interact with either " .. b("Exit Gate Switch") .. " to trigger a " .. i("Loud Noise Notification") .. " at their location.") ..
				"Upon triggering the " .. i("Loud Noise Notification") .. ", #pn calls upon " .. b("The Entity") .. " for the following effect:" ..
				list(
					b("Blocks") .. " both " .. b("Exit Gate Switches") .. " for " .. clro("#block") .. dot,
					nbullet .. "This time is extended by an additional #pl(1) per accumulated Token, up to a combined maximum of #pl(2).")
		},
		{
			version = "4.6.0",
			units = {1, 1},
			values = {4, 6, 8, 26, 34, 42}, 
			tokenGain = "+1 Token",
			block = "10 seconds", 
			rarity = 2,
			desc =
				"Whenever you hook a Survivor for the first time, #pn gains " .. clror("#tokenGain") .. dot .. br ..
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates and calls upon " .. b("The Entity") .. " for the following effect:" .. 
				list(
					b("Blocks") .. " both " .. b("Exit Gate Switches") .. " for " .. clro("#block") .. dot,
					nbullet .. "This time is extended by an additional #pl(1) per accumulated Token, up to a combined maximum of #pl(2).")
		},
	},
	["None Are Free"] =
	{
		{
			version = "8.6.0 (PTB)",
			units = {1, 1},
			values = {12, 14, 16, 48, 56, 64}, 
			tokenGain = "+1 Token",
			tokenMax = "4 Tokens",
			rarity = 2,
			desc =
                "Whenever you hook a Survivor for the first time, #pn gains " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenMax") .. dot .. br ..
                "Once all " .. b("Generators") .. " are completed, #pn calls upon " .. b("The Entity") .. " to trigger the following effect:" ..
				list(b("Blocks") .. " all " .. b("Windows") .. " and upright " .. b("Pallets") .. " for a stack-able #pl(1) per Token, up to a maximum of #pl(2).")
    	},
    },
	-- O Perks --
	["Object of Obsession"] =
	{
		{
			version = "4.7.0",
			units = {4},
			values = {2, 4, 6},
			interval = "30 seconds",
			duration = "3 seconds",
			rarity = 2,
			desc =
				"Whenever the Killer reads your Aura, #pn activates for the same duration as their Aura-reading action:" ..
        		list(
        			"The Aura of the Killer is revealed to you.",
        			b("Increases") .. " your Action speeds for Cleansing, Healing, and Repairing actions by #pl(1).") ..
        		"If you are the Killer's current " .. b(i("Obsession")) .. ", the following effect triggers automatically every " .. clror("#interval") .. colon ..
        		list("Your Aura is revealed to the Killer for " .. clro("#duration") .. dot) ..
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor .. nlp
		},
		{
			version = "1.2.1",
			units = {3, 3},
			values = {56, 64, 72, 44, 56, 64},
			rarity = 2,
			desc =
				"Looking in the direction of the Killer whenever you are outside of their " .. i("Terror Radius") .. " causes your link to activate #pn:" ..
        		list(
        			"Both the Killer's Aura and your own are revealed to each other for as long as the link is maintained:",
        			nbullet .. "If you are the Killer's current " .. b(i("Obsession")) .. ", the link has an " .. b("increased") .. " maximum range of #pl(1).",
        			nbullet .. "If you are not the Killer's current " .. b(i("Obsession")) .. ", the link has a " .. b("reduced") .. " maximum range of #pl(2).") .. 
        		loadoutStrings.obsessionChancePlus .. br ..
        		loadoutStrings.obsessionPerkSurvivor .. nlp
		},
	},
	["Off the Record"] =
	{
		{
			version = "9.3.0 (PTB)",
			units = {1},
			values = {60, 70, 80}, 
			rarity = 2,
			desc =
				"After being unhooked by any means, #pn activates for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being revealed.",
					b("Suppresses") .. " your " .. i("Grunts of Pain") .. " while in the " .. i("Injured State") .. dot,
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot)
		},
		{
			version = "9.2.2",
			units = {1},
			values = {30, 35, 40}, 
			rarity = 2,
			desc =
				"After being unhooked by any means, #pn activates for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being revealed.",
					b("Suppresses") .. " your " .. i("Grunts of Pain") .. " while in the " .. i("Injured State") .. dot,
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot,
					"Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. dot,
					nbullet .. loadoutStrings.conspicuousActions)
		},
		{
			version = "9.2.0",
			units = {1},
			values = {60, 70, 80}, 
			rarity = 2,
			desc =
				"After being unhooked by any means, #pn activates for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being revealed.",
					b("Suppresses") .. " your " .. i("Grunts of Pain") .. " while in the " .. i("Injured State") .. dot,
					b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot)
		},
		{
			version = "6.1.0",
			units = {1},
			values = {60, 70, 80}, 
			rarity = 2,
			desc =
				"After being unhooked by any means, #pn activates for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being revealed.",
					b("Suppresses") .. " your " .. i("Grunts of Pain") .. " while in the " .. i("Injured State") .. dot,
					"Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. dot,
					nbullet .. loadoutStrings.conspicuousActions) ..
				"#pn deactivates prematurely and is disabled for the remainder of the Trial upon powering the " .. b("Exit Gates") .. dot
		},
		{
			version = "3.6.0",
			units = {1},
			values = {60, 70, 80}, 
			rarity = 2,
			desc =
				"After being unhooked by any means, #pn activates for #pl(1):" ..
				list(
					b("Blocks") .. " your Aura from being revealed.",
					b("Suppresses") .. " your " .. i("Grunts of Pain") .. " while in the " .. i("Injured State") .. dot)
		},
	},
	["One-Two-Three-Four!"] =
	{
		{
			version = "9.2.0 (PTB)",
			units = {1},
			values = {110, 100, 90},
			performance = {"15 seconds", "16 metres", "90 seconds"},
			bonus = "+20 %", 
			rarity = 2,
			desc =
                "While standing and idle, press the " .. loadoutStrings.activeAbilityButton .. " to start a " .. i("Performance") .. colon .. 
				list(
					"Lasts for up to " .. clror("#performance(1)") .. dot,
					"Empowers Survivors within " .. clro("#performance(2)") .. " of your location.",
					"Triggers continuous " .. i("Skill Checks") .. dot) ..
				"After successfully completing the " .. i("Performance") .. ", empowered Survivors performing Healing or Repairing actions benefit from the following effect for " .. clro("#performance(3)") .. colon ..
				list(b("Increases") .. " the chances of triggering " .. i("Skill Checks") .. " by " .. clro("#bonus") .. dot) ..
				"#pn has a cool-down of #pl(1) after cancelling or completing the " .. i("Performance") .. dot
    	},
    },
	["Oppression"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {45, 40, 35},
			generators = 4,
			rarity = 2,
			desc =
				"Performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. " triggers the following effects:" ..
				list(
					"Randomly selects up to " .. clror("#generators") .. " additional " .. b("Generators") .. " that will also start regressing.",
					nbullet .. "Triggers a difficult " .. i("Skill Check") .. " for all Survivors currently repairing them.") ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "8.1.0",
			units = {1},
			values = {60, 50, 40},
			generators = 3,
			rarity = 2,
			desc =
				"Performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. " triggers the following effects:" ..
				list(
					"Randomly selects up to " .. clror("#generators") .. " additional " .. b("Generators") .. " that will also start regressing.",
					nbullet .. "Triggers a difficult " .. i("Skill Check") .. " for all Survivors currently repairing them.") ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "4.4.0",
			units = {1},
			values = {120, 100, 80},
			generators = 3,
			rarity = 2,
			desc =
				"Performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. " triggers the following effects:" ..
				list(
					"Randomly selects up to " .. clror("#generators") .. " additional " .. b("Generators") .. " that will also start regressing.",
					nbullet .. "Triggers a difficult " .. i("Skill Check") .. " for all Survivors currently repairing them.") ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Overcome"] =
	{
		{
			version = "5.4.0 (PTB)",
			units = {1},
			values = {60, 50, 40}, 
			effect = "+2 seconds",
			rarity = 2,
			desc =
				"Whenever you enter the " .. i("Injured State") .. " from full health, #pn triggers its effect:" ..
				list(b("Extends") .. " the duration of the " .. i("On-hit Sprint") .. " by " .. clror("#effect") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)."
		},
	},
	["Overwhelming Presence"] =
	{
		{
			version = "9.1.0",
			units = {1},
			values = {2, 3, 4},
			rarity = 2,
			activationRange = "32 metres",
			exhausted = "15 seconds",
			cooldown = "25 seconds", 
			desc =
				"Whenever a Survivor starts using an " .. b("Item") .. " within " .. clror("#activationRange") .. " of your location, #pn triggers its primary effect:" .. 
				list("Inflicts the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clro("#exhausted") .. dot) ..
				"Whenever a Survivor within " .. clro("#activationRange") .. " of your location becomes " .. b(i("Exhausted")) .. " by any means, #pn triggers its secondary effect:" ..
				list("The Aura of whichever " .. i("Exhausted Survivor") .. " is closest to your location is revealed to you for #pl(1).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
		{
			version = "3.4.0",
			units = {4},
			values = {80, 90, 100},
			rarity = 1,
			notice = "This Patch changed the introductory flavour text.",
			desc =
				i("Just knowing you are near is enough to disturb your victims.") .. nlp ..
				"While using an " .. b("Item") .. " inside your " .. i("Terror Radius") .. ", Survivors suffer from inefficiency:" ..
				list(b("Increases") .. " its Depletion rate by #pl(1).")
		},
		{
			version = "1.7.0",
			units = {4},
			values = {80, 90, 100},
			rarity = 1,
			desc =
				i("Your presence alone instils great fear.") .. nlp ..
				"While using an " .. b("Item") .. " inside your " .. i("Terror Radius") .. ", Survivors suffer from inefficiency:" ..
				list(b("Increases") .. " its Depletion rate by #pl(1).")
		},
		{
			version = "1.5.1",
			units = {4},
			values = {40, 45, 50},
			rarity = 1,
			desc =
				"While using an " .. b("Item") .. " inside your " .. i("Terror Radius") .. ", Survivors suffer from inefficiency:" ..
				list(b("Increases") .. " its Depletion rate by #pl(1).")
		},
	},
	-- P Perks --
	["Parental Guidance"] =
	{
		{
			version = "5.6.0",
			units = {1},
			values = {5, 6, 7},
			rarity = 2,
			desc =
				"After stunning the Killer by any means, #pn triggers its effect: " ..
				list("Suppresses your " .. i("Grunts of Pain") .. " and the creation of " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. " for #pl(1).")
		},
		{
			version = "5.6.0 (PTB)",
			units = {1},
			values = {8, 9, 10},
			rarity = 2,
			desc =
				"After stunning the Killer by any means, #pn triggers its effect: " ..
				list("Suppresses your " .. i("Grunts of Pain") .. " and the creation of " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. " for #pl(1).")
		},
	},
	["Phantom Fear"] =
	{
		{
			version = "9.0.0 (PTB)",
			units = {1},
			values = {80, 70, 60},
			aura = "2 seconds",
			rarity = 2,
			desc =
				"Whenever a Survivor within your " .. i("Terror Radius") .. " looks at you, they suffer from the following effects:" ..
				list("Causes them to scream and reveal their Aura to you for " .. clror("#aura") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Pharmacy"] =
	{
		{
			version = "9.2.0",
			units = {4},
			values = {75, 100, 125},
			noiseRange = "-12 metres",
			rarity = 2,
			desc =
				"While unlocking a " .. b("Chest") .. ", you benefit from the following effects:" ..
				list(
					b("Increases") .. " the Unlocking speed by #pl(1).",
					b("Reduces") .. " the audible range of all noises related to the " .. i("Unlocking") .. " interaction by " .. clror("#noiseRange") .. dot,
					"Guarantees an " .. b("Emergency Med-Kit") .. " after completing the interaction.")
		},
		{
			version = "8.4.0",
			units = {4},
			values = {70, 85, 100},
			noiseRange = "-16 metres",
			rarity = 2,
			desc =
				"While unlocking a " .. b("Chest") .. ", you benefit from the following effects:" ..
				list(
					b("Increases") .. " the Unlocking speed by #pl(1).",
					b("Reduces") .. " the audible range of all noises related to the " .. i("Unlocking") .. " interaction by " .. clror("#noiseRange") .. dot,
					"Guarantees an " .. b("Emergency Med-Kit") .. " after completing the interaction.")
		},
		{
			version = "6.1.0",
			units = {4},
			values = {40, 60, 80},
			noiseRange = "-8 metres",
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates." .. br ..
				"While active, you benefit from the following effects when unlocking a " .. b("Chest") .. colon ..
				list(
					b("Increases") .. " the Unlocking speed by #pl(1).",
					b("Reduces") .. " the audible range of all noises related to the " .. i("Unlocking") .. " interaction by " .. clror("#noiseRange") .. dot,
					"Guarantees an " .. b("Emergency Med-Kit") .. " after completing the interaction.")
		},
		{
			version = "2.6.0",
			units = {4},
			values = {40, 60, 80},
			noiseRange = "-8 metres",
			rarity = 2,
			desc =
				"While opening a " .. b("Chest") .. ", you benefit from the following effects:" ..
				list(
					b("Increases") .. " the Opening speed by #pl(1).",
					b("Reduces") .. " the audible range of all noises related to the " .. i("Chest-Opening") .. " interaction by " .. clror("#noiseRange") .. dot) ..
				"#pn guarantees an " .. b("Emergency Med-Kit") .. " from the " .. clro("first") .. space .. b("Chest") .. " you open."
		},
		{
			version = "1.8.0",
			units = {4, 3},
			values = {40, 60, 80, 0, 4, 8},
			rarity = 2,
			desc =
				"While opening a " .. b("Chest") .. ", you benefit from the following effects:" ..
				list(
					b("Increases") .. " the Opening speed by #pl(1).",
					b("Reduces") .. " the audible range of all noises related to the " .. i("Chest-Opening") .. " interaction by #pl(2).") ..
				"#pn guarantees an " .. b("Emergency Med-Kit") .. " from the " .. clror("first") .. space .. b("Chest") .. " you open."
		},
	},
	["Play with Your Food"] =
	{
		{
			version = "3.7.0",
			units = {4, 4},
			values = {3, 4, 5, 9, 12, 15}, 
			tokens = {"+1 Token", "3 Tokens", "-1 Token", "1 Token"},
			cooldown = "10 seconds", 
			rarity = 2,
			desc =
				"Losing your " .. b(i("Obsession")) .. " in a chase causes #pn to gain " .. clror("#tokens(1)") .. ", up to a maximum of " .. clro("#tokens(2)") .. ", and performing a " .. i("Basic or Special Attack") .. " with the potential to damage a Survivor causes it to lose " .. clro("#tokens(3)") .. dot .. br ..
				"While having at least " .. clro("#tokens(4)") .. ", you benefit from the following effect:" ..
				list("Grants a stack-able #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. " per Token, up to a maximum of #pl(2).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. " between gaining additional Tokens."
		},
		{
			version = "1.5.2",
			displayVersion = "Unknown",
			units = {4, 4},
			values = {3, 4, 5, 9, 12, 15}, 
			tokens = {"+1 Token", "3 Tokens", "-1 Token", "1 Token"},
			cooldown = "10 seconds", 
			rarity = 3,
			desc =
				"Losing your " .. b(i("Obsession")) .. " in a chase causes #pn to gain " .. clror("#tokens(1)") .. ", up to a maximum of " .. clro("#tokens(2)") .. ", and performing an offensive action causes it to lose " .. clro("#tokens(3)") .. dot .. br ..
				"While having at least " .. clro("#tokens(4)") .. ", you benefit from the following effect:" ..
				list("Grants a stack-able #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. " per Token, up to a maximum of #pl(2).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. " between gaining additional Tokens."
		},
		{
			version = "1.2.1",
			displayVersion = "1.2.1d",
			units = {4, 4},
			values = {3, 4, 5, 9, 12, 15}, 
			tokens = {"+1 Token", "3 Tokens", "-1 Token", "1 Token"},
			cooldown = "10 seconds", 
			rarity = 3,
			desc =
				"Losing your " .. b(i("Obsession")) .. " in a chase causes #pn to gain " .. clror("#tokens(1)") .. ", up to a maximum of " .. clro("#tokens(2)") .. ", and performing an offensive action causes it to lose " .. clro("#tokens(3)") .. dot .. br ..
				"While having at least " .. clro("#tokens(4)") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " your Movement speed by a stack-able #pl(1) per Token, up to a maximum of #pl(2).") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. " between gaining additional Tokens."
		},
		{
			version = "1.2.1",
			units = {4, 4},
			values = {5, 6, 7, 15, 18, 21}, 
			tokens = {"+1 Token", "3 Tokens", "-1 Token", "1 Token"},
			rarity = 3,
			desc =
				"Losing your " .. b(i("Obsession")) .. " in a chase causes #pn to gain " .. clror("#tokens(1)") .. ", up to a maximum of " .. clro("#tokens(2)") .. ", and performing an offensive action causes it to lose " .. clro("#tokens(3)") .. dot .. br ..
				"While having at least " .. clro("#tokens(4)") .. ", you benefit from the following effect:" ..
				list(b("Increases") .. " your Movement speed by a stack-able #pl(1) per Token, up to a maximum of #pl(2).")
		},
	},
	["Plot Twist"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {2, 3, 4},
			recovery = "+25 %",
			haste = "+50 %",
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates." .. br ..
				"While active, press the " .. loadoutStrings.activeAbilityButton .. " while crouching and stationary to trigger the following primary effects:" ..
				list(
					"Silently enter the " .. i("Dying State") .. " without notifying the Killer.",
					b("Suppresses") .. " your " .. i("Grunts of Pain") .. " and the creation of " .. i("Pools of Blood") .. dot,
					"Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State") .. colon,
					nbullet .. b("Increases") .. " the Recovery speed by " .. clror("#recovery") .. dot) ..
				"After self-recovering from the " .. i("Dying State") .. ", you benefit from the following secondary effects:" ..
				list(
					"Instantly heals you to full health.",
					"Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for #pl(1).") ..
				"#pn is disabled after recovering by any means, but can be reactivated once more upon powering the " .. b("Exit Gates") .. dot
		},
		{
			version = "7.1.0",
			units = {1},
			values = {2, 3, 4},
			haste = "+50 %",
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates." .. br ..
				"While active, press the " .. loadoutStrings.activeAbilityButton .. " while crouching and stationary to trigger the following primary effects:" ..
				list(
					"Silently enter the " .. i("Dying State") .. " without notifying the Killer.",
					b("Suppresses") .. " your " .. i("Grunts of Pain") .. " and the creation of " .. i("Pools of Blood") .. dot,
					"Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State") .. dot) ..
				"After self-recovering from the " .. i("Dying State") .. ", you benefit from the following secondary effects:" ..
				list(
					"Instantly heals you to full health.",
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for #pl(1).") ..
				"#pn is disabled after recovering by any means, but can be reactivated once more upon powering the " .. b("Exit Gates") .. dot
		},
	},
	["Plunderer's Instinct"] =
	{
		{
			version = "8.4.0",
			units = {3},
			values = {32, 48, 64},
			chance = "+50 %",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list(
                	"The Auras of the following objects are revealed to you within #pl(1):",
                	nbullet .. "Closed " .. b("Chests") .. " located in the environment.",
                	nbullet .. b("Items") .. " sitting inside opened " .. b("Chests") .. dot,
                	nbullet .. b("Items") .. " dropped in the environment.") ..
                "When unlocking or rummaging through " .. b("Chests") .. ", you benefit from the following effect:" ..
                list(b("Increases") .. " the chances of finding rarer " .. b("Items") .. " by " .. clror("#chance") .. dot)
		},
		{
			version = "3.3.0",
			units = {3, 4},
			values = {16, 24, 32, 14, 24, 46},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list(
                	"The Auras of the following objects are revealed to you within #pl(1):",
                	nbullet .. "Closed " .. b("Chests") .. " located in the environment.",
                	nbullet .. b("Items") .. " sitting inside opened " .. b("Chests") .. dot,
                	nbullet .. b("Items") .. " dropped in the environment.") ..
                "When searching through " .. b("Chests") .. ", you benefit from the following effect:" ..
                list(b("Increases") .. " the chances of finding rarer " .. b("Items") .. " by #pl(2).")
		},
		{
			version = "1.3.0",
			units = {3, 4},
			values = {16, 24, 32, 14, 24, 46},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list("The Auras of closed or opened " .. b("Chests") .. " are revealed to you within #pl(1).") ..
                "When searching through " .. b("Chests") .. ", you benefit from the following effect:" ..
                list(b("Increases") .. " the chances of finding rarer " .. b("Items") .. " by #pl(2).")
		},
		{
			version = "1.0.0",
			units = {3},
			values = {16, 32, 64},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
                list("The Auras of closed or opened " .. b("Chests") .. " are revealed to you within #pl(1).")
		},
	},
	["Poised"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {20, 25, 30},
			duration = "8 seconds",
			rarity = 2,
			desc =
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its primary effect:" ..
				list(b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. " for #pl(1).") ..
				"Whenever you start repairing a " .. b("Generator") .. " for the first time, #pn triggers its secondary effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clror("#duration") .. dot)
		},
		{
			version = "8.3.0",
			units = {1},
			values = {10, 12, 14},
			duration = "6 seconds",
			rarity = 2,
			desc =
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its primary effect:" ..
				list(b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. " for #pl(1).") ..
				"Whenever you start repairing a " .. b("Generator") .. " for the first time, #pn triggers its secondary effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clror("#duration") .. dot)
		},
		{
			version = "2.6.0",
			units = {1},
			values = {6, 8, 10},
			rarity = 2,
			desc =
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its effect:" ..
				list(b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. " for #pl(1).")
		},
	},
	["Pop Goes the Weasel"] =
	{
		{
			version = "8.0.0",
			units = {1},
			values = {35, 40, 45},
			penalty = "-20 %",
			rarity = 2,
			desc =
				"After hooking a Survivor, #pn activates for #pl(1)." .. br ..
				"While active, manually damaging a " .. b("Generator") .. " triggers the following effect:" ..
				list("Instantly regresses it by " .. clror("#penalty") .. " of its current Progression.") ..
				"#pn deactivates after use or once its timer elapses."
		},
		{
			version = "7.0.0",
			units = {1},
			values = {35, 40, 45},
			penalty = "-30 %",
			rarity = 2,
			desc =
				"After hooking a Survivor, #pn activates for #pl(1)." .. br ..
				"While active, manually damaging a " .. b("Generator") .. " triggers the following effect:" ..
				list("Instantly regresses it by " .. clror("#penalty") .. " of its current Progression.") ..
				"#pn deactivates after use or once its timer elapses."
		},
		{
			version = "6.1.0",
			units = {1},
			values = {35, 40, 45},
			penalty = "-20 %",
			rarity = 2,
			desc =
				"After hooking a Survivor, #pn activates for #pl(1)." .. br ..
				"While active, manually damaging a " .. b("Generator") .. " triggers the following effect:" ..
				list("Instantly regresses it by " .. clror("#penalty") .. " of its current Progression.") ..
				"#pn deactivates after use or once its timer elapses."
		},
		{
			version = "4.3.0",
			units = {1},
			values = {35, 40, 45},
			penalty = "-25 %",
			rarity = 2,
			desc =
				"After hooking a Survivor, #pn activates for #pl(1)." .. br ..
				"While active, manually damaging a " .. b("Generator") .. " triggers the following effect:" ..
				list("Instantly regresses it by " .. clror("#penalty") .. " of its total Progression.") ..
				"#pn deactivates after use or once its timer elapses."
		},
		{
			version = "3.0.0",
			units = {1},
			values = {40, 50, 60},
			penalty = "-25 %",
			rarity = 3,
			desc =
				"After hooking a Survivor, #pn activates for #pl(1)." .. br ..
				"While active, manually damaging a " .. b("Generator") .. " triggers the following effect:" ..
				list("Instantly regresses it by " .. clror("#penalty") .. " of its total Progression.") ..
				"#pn deactivates after use or once its timer elapses."
		},
		{
			version = "2.0.0",
			units = {4},
			values = {15, 20, 25},
			timer = "30 seconds",
			rarity = 3,
			desc =
				"After hooking a Survivor, #pn activates for " .. clror("#timer") .. dot .. br ..
				"While active, manually damaging a " .. b("Generator") .. " triggers the following effect:" ..
				list("Instantly regresses it by #pl(1) of its total Progression.") ..
				"#pn deactivates after use or once its timer elapses."
		},
	},
	["Potential Energy"] =
	{
		{
			version = "9.1.0",
			units = {5},
			values = {10, 15, 20},
			conversion = {"1 Token", "1 %", "+1 %"},
			threshold = "1 Token",
			penalty = {"-20 %", "-10 %"},
			rarity = 2,
			desc =
				"While repairing a " .. b("Generator") .. ", press the " .. loadoutStrings.activeAbilityButton .. " to " .. i("Store Potential Energy") .. colon ..
				list(
					"Repair Charges no longer progress the " .. b("Generator") .. " and are instead converted into Tokens:",
					nbullet .. "Gain " .. clror("#conversion(1)") .. " for the equivalent of " .. clro("#conversion(2)") .. " Progression, up to a maximum of #pl(1).",
					i("Failed Repair Skill Checks") .. " incur a penalty depending on how many Tokens have been accumulated:",
					nbullet .. bclr("faded jade", "Not at Token Limit") .. colon .. space .. b("Reduces") .. " the number of accumulated Tokens by " .. clro("#penalty(1)") .. dot,
					nbullet .. bclr("faded jade", "At Token Limit") .. colon .. space .. "Regresses the " .. b("Generator") .. " by " .. clro("#penalty(2)") .. dot) ..
				"Having accumulated at least " .. clro("#threshold") .. ", press the " .. loadoutStrings.activeAbilityButton .. " again on the same or a different " .. b("Generator") .. " to " .. i("Release Potential Energy") .. colon ..
				list(
					"Consumes all accumulated Tokens.",
					"Instantly progresses that " .. b("Generator") .. " by " .. clro("#conversion(3)") .. " per Token.") ..
				"#pn deactivates after use or losing a Health State by any means, and will lose all accumulated Tokens in case of the latter."
		},
		{
			version = "6.4.0",
			units = {1},
			values = {12, 10, 8},
			conversion = {"1 Token", "1.5 %", "+1 %"},
			tokenLimit = "20 Tokens",
			threshold = "1 Token",
			penalty = {"-20 %", "-10 %"},
			rarity = 2,
			desc =
				"After uninterruptedly repairing any " .. b("Generator") .. " for a total of #pl(1), #pn activates." .. br ..
				"While active and continuing to repair, press the " .. loadoutStrings.activeAbilityButton .. " to " .. i("Store Potential Energy") .. colon ..
				list(
					"Repair Charges no longer progress the " .. b("Generator") .. " and are instead converted into Tokens:",
					nbullet .. "Gain " .. clror("#conversion(1)") .. " for the equivalent of " .. clro("#conversion(2)") .. " Progression, up to a maximum of " .. clro("#tokenLimit") .. dot,
					i("Failed Repair Skill Checks") .. " incur a penalty depending on how many Tokens have been accumulated:",
					nbullet .. bclr("faded jade", "Not at Token Limit") .. colon .. space .. b("Reduces") .. " the number of accumulated Tokens by " .. clro("#penalty(1)") .. dot,
					nbullet .. bclr("faded jade", "At Token Limit") .. colon .. space .. "Regresses the " .. b("Generator") .. " by " .. clro("#penalty(2)") .. dot) ..
				"Having accumulated at least " .. clro("#threshold") .. ", press the " .. loadoutStrings.activeAbilityButton .. " again on the same or a different " .. b("Generator") .. " to " .. i("Release Potential Energy") .. colon ..
				list(
					"Consumes all accumulated Tokens.",
					"Instantly progresses that " .. b("Generator") .. " by " .. clro("#conversion(3)") .. " per Token.") ..
				"#pn deactivates after use or losing a Health State by any means, and will lose all accumulated Tokens in case of the latter."
		},
	},
	["Power Struggle"] =
	{
		{
			version = "5.5.0",
			units = {4},
			values = {25, 20, 15},
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Dying State") .. ", you benefit from the following primary effect:" ..
				list("The Auras of upright " .. b("Pallets") .. " are revealed to you.") ..
				"After reaching #pl(1) of Wiggle progression, #pn unlocks the following secondary effect:" ..
				list(
					"Grants the ability to drop a nearby " .. b("Pallet") .. " while being carried by the Killer.",
					nbullet .. "Stuns the Killer and causes them to release you from their grasp.") ..
				"#pn deactivates after use."
		},
		{
			version = "4.4.0",
			units = {4},
			values = {35, 30, 25},
			rarity = 2,
			desc =
				"After reaching #pl(1) of Wiggle progression, #pn unlocks the following effect:" ..
				list(
					"Grants the ability to drop a nearby " .. b("Pallet") .. " while being carried by the Killer.",
					nbullet .. "Stuns the Killer and causes them to release you from their grasp.") ..
				"#pn deactivates after use."
		},
	},
	["Predator"] =
	{
		{
			version = "8.3.2",
			units = {1},
			values = {60, 50, 40},
			duration = "4 seconds",
			rarity = 2,
			desc =
				"Whenever you lose a Survivor in a " .. i("Chase") .. ", #pn triggers its effect:" ..
                list("Their Aura is revealed to you for " .. clror("#duration") .. dot) ..
                "#pn has a cool-down of #pl(1)."
		},
		{
			version = "8.3.0",
			units = {1},
			values = {60, 50, 40},
			duration = "6 seconds",
			rarity = 2,
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("Your acute tracking ability allows you to find lost prey more easily.") .. nlp ..
				"Whenever you lose a Survivor in a " .. i("Chase") .. ", #pn triggers its effect:" ..
                list("Their Aura is revealed to you for " .. clror("#duration") .. dot) ..
                "#pn has a cool-down of #pl(1)."
		},
		{
			version = "2.1.0",
			units = {7},
			values = {"slightly", "moderately", "considerably"},
			rarity = 1,
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("Your acute tracking ability allows you to follow disturbances left by running prey.") .. nlp ..
				"#pn causes the following effect:" ..
				list(i("Scratch Marks") .. " spawn #pl(1) closer together.")
		},
		{
			version = "1.0.0",
			units = {2},
			values = {1, 2, 3},
			rarity = 1,
			desc =
				i("Your acute tracking ability allows you to follow disturbances left by passing prey over a longer period of time.") .. nlp ..
				"#pn causes the following effect:" ..
				list(b("Extends") .. " the lifetime of " .. i("Scratch Marks") .. " by #pl(1).")
		},
	},
	["Premonition"] =
	{
		{
			version = "2.6.2",
			units = {1},
			values = {60, 45, 30},
			cone = "45 °",
			range = "36 metres",
			rarity = 3,
			desc =
				"Projects an invisible cone in the direction you are looking, with a Detection angle of " .. clror("#cone") .. " and a range of " .. clro("#range") .. colon ..
            	list("Triggers an audio cue when detecting the Killer within it.") ..
                "#pn has a cool-down of #pl(1)."
		},
		{
			version = "1.0.0",
			units = {3, 1},
			values = {12, 24, 36, 60, 45, 30},
			cone = "45 °",
			rarity = 3,
			desc =
				"Projects an invisible cone in the direction you are looking, with a Detection angle of " .. clror("#cone") .. " and a range of #pl(1):" ..
            	list("Triggers an audio cue when detecting the Killer within it.")
		},
	},
	["Prove Thyself"] =
	{
		{
			version = "7.1.0",
			units = {4, 4},
			values = {6, 8, 10, 18, 24, 30},
			rarity = 2,
			desc =
				b("Increases") .. " the Repair speed by a stack-able #pl(1) per other Survivor within " .. clror("4 metres") .. " of your location, up to a maximum of #pl(2)." .. nlp ..
            	"#pn extends its effect to all Survivors within its range." .. nlp ..
            	loadoutStrings.singleInstancePerk
		},
		{
			version = "3.7.0",
			units = {4},
			values = {50, 75, 100},
			rarity = 2,
			desc =
				b("Increases") .. " the Repair speed by a stack-able " .. clror("+15 %") .. " per other Survivor within " .. clro("4 metres") .. " of your location, up to a maximum of " .. clro("+45 %") .. dot .. nlp ..
            	"Grants #pl(1) bonus Bloodpoints for triggering co-operative " .. i("Score Events") .. dot .. nlp ..
            	"#pn extends its Repair effect to all Survivors within its range." .. nlp ..
            	loadoutStrings.bonusBPDuringTrial .. nlp ..
            	loadoutStrings.singleInstancePerk
		},
		{
			version = "2.5.0",
			units = {4},
			values = {50, 75, 100},
			rarity = 2,
			desc =
				b("Increases") .. " the Repair speed by a stack-able " .. clror("+10 %") .. " per other Survivor within " .. clro("4 metres") .. " of your location, up to a maximum of " .. clro("+30 %") .. dot .. nlp ..
            	"Grants #pl(1) bonus Bloodpoints for triggering co-operative " .. i("Score Events") .. dot .. nlp ..
            	"#pn extends its Repair effect to all Survivors within its range." .. nlp ..
            	loadoutStrings.bonusBPDuringTrial .. nlp ..
            	loadoutStrings.singleInstancePerk
		},
		{
			version = "1.0.0",
			units = {4, 4, 4},
			values = {1, 2, 3, 2, 4, 6, 3, 6, 9},
			rarity = 2,
			desc =
				b("Increases") .. " the Action speeds for Cleansing, Healing, Opening, Repairing, Sabotaging, and Searching when other Survivors are within " .. clror("8 metres") .. " of your location:" ..
				list(
					bclr("faded jade", "1 other Survivor") .. colon .. space .. "#pl(1)",
					bclr("faded jade", "2 other Survivors") .. colon .. space .. "#pl(2)",
					bclr("faded jade", "3 other Survivors") .. colon .. space .. "#pl(3)")
		},
	},
	-- Q Perks --
	["Quick & Quiet"] =
	{
		{
			version = "8.6.0",
			units = {1},
			values = {25, 20, 15},
			rarity = 2,
			desc =
				"When performing a " .. i("Rushed") .. " action to vault across " .. b("Pallets") .. " or " .. b("Windows") .. ", or to enter or exit " .. b("Lockers") .. ", #pn triggers its effect:" ..
        		list(b("Suppresses") .. " all noises related to those interactions and the accompanying " .. i("Loud Noise Notification") .. dot) ..
        		"#pn has a cool-down of #pl(1)."
		},
		{
			version = "1.5.2",
			units = {1},
			values = {30, 25, 20},
			rarity = 1,
			desc =
				"When performing a " .. i("Rushed") .. " action to vault across " .. b("Pallets") .. " or " .. b("Windows") .. ", or to enter or exit " .. b("Lockers") .. ", #pn triggers its effect:" ..
        		list(b("Suppresses") .. " all noises related to those interactions and the accompanying " .. i("Loud Noise Notification") .. dot) ..
        		"#pn has a cool-down of #pl(1)."
		},
		{
			version = "1.0.0",
			units = {4},
			values = {30, 60, 90},
			rarity = 1,
			desc =
				"When performing a " .. i("Rushed") .. " action to vault across " .. b("Pallets") .. " or " .. b("Windows") .. ", or to enter or exit " .. b("Lockers") .. ", #pn triggers its effect:" ..
        		list(b("Reduces") .. " the audible range of all noises related to these interactions by #pl(1).")
		},
	},
	["Quick Gambit"] =
	{
		{
			version = "9.2.0",
			units = {4},
			values = {3, 4, 5},
			cooldown = "40 seconds", 
			rarity = 2,
			desc =
				"While being chased by the Killer, the following effects apply:" ..
				list(
					"The Auras of other Survivors are revealed to you.",
					b("Increases") .. " the Repair speed of other Survivors by #pl(1).") ..
				"#pn has a cool-down of " .. clror("#cooldown") .. " upon losing a Health State."
		},
		{
			version = "8.3.0",
			units = {4},
			values = {3, 4, 5},
			cooldown = "60 seconds", 
			rarity = 2,
			desc =
				"While being chased by the Killer, the following effects apply:" ..
				list(
					"The Auras of other Survivors are revealed to you.",
					b("Increases") .. " the Repair speed of other Survivors by #pl(1).") ..
				"#pn has a cool-down of " .. clror("#cooldown") .. " upon losing a Health State."
		},
		{
			version = "7.5.0",
			units = {4},
			values = {6, 7, 8},
			radius = "36 metres", 
			rarity = 2,
			desc =
				"While being chased by the Killer, the following effects apply within " .. clror("#radius") .. " of your location:" ..
				list(
					"The Auras of " .. b("Generators") .. " within that range are revealed to you.",
					nbullet .. "This range can be extended by other effects.",
					b("Increases") .. " the Repair speed of other Survivors within that range by #pl(1).",
					nbullet .. "This range cannot be extended by other effects.")
		},
		{
			version = "6.4.0",
			units = {4},
			values = {6, 7, 8},
			radius = "24 metres", 
			rarity = 2,
			desc =
				"While being chased by the Killer, the following effect applies within " .. clror("#radius") .. " of your location:" ..
				list(b("Increases") .. " the Repair speed of other Survivors within that range by #pl(1).")
		},
	},
	-- R Perks --
	["Rancor"] =
	{
		{
			version = "6.4.0",
			units = {1},
			values = {5, 4, 3},
			duration = "3 seconds",
			rarity = 2,
			desc =
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its primary effects:" ..
				list(
					"Causes all Survivors to trigger a " .. i("Loud Noise Notification") .. " at their current location.",
					nbullet .. "This effect lingers for " .. clror("#duration") .. dot,
					"Your Aura is revealed to the " .. b(i("Obsession")) .. " for #pl(1).") ..
				"Once the " .. b("Exit Gates") .. " are powered, #pn additionally triggers its secondary effects on the " .. b(i("Obsession")) .. colon ..
				list(
					"Inflicts the " .. b(i("Exposed") .. space .. "Status Effect") .. " for the remainder of the Trial.",
					"Grants the ability to kill them when in close proximity.") ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "2.2.0 (PTB)",
			units = {1},
			values = {5, 4, 3},
			duration = "3 seconds",
			rarity = 3,
			desc =
				"Whenever a " .. b("Generator") .. " is completed, #pn triggers its primary effects:" ..
				list(
					"Causes all Survivors to trigger a " .. i("Loud Noise Notification") .. " at their current location.",
					nbullet .. "This effect lingers for " .. clror("#duration") .. dot,
					"Your Aura is revealed to the " .. b(i("Obsession")) .. " for #pl(1).") ..
				"Once the last " .. b("Generator") .. " is completed, #pn additionally triggers its secondary effects on the " .. b(i("Obsession")) .. colon ..
				list(
					"Inflicts the " .. b(i("Exposed") .. space .. "Status Effect") .. " for the remainder of the Trial.",
					"Grants the ability to kill them when in close proximity.") ..
				loadoutStrings.obsessionPerkKiller
		},
	},
	["Rapid Response"] =
	{
		{
			version = "8.7.0",
			units = {1},
			values = {30, 25, 20},
			aura = "2 seconds", 
			rarity = 2,
			desc =
                "Whenever you become afflicted by the " .. b(i("Exhausted") .. space .. "Status Effect") .. ", #pn triggers its effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clror("#aura") .. dot) ..
				"Perform a " .. i("Rushed") .. " action to exit a " .. b("Locker") .. " to voluntarily trigger the " .. b("Status Effect") .. " for #pl(1)." .. br ..
				loadoutStrings.exhaustionPerkNoOverride
    	},
    	{
			version = "8.7.0 (PTB)",
			units = {2},
			values = {1, 1.5, 2},
			exhausted = "30 seconds", 
			rarity = 2,
			desc =
                "Whenever you become afflicted by the " .. b(i("Exhausted") .. space .. "Status Effect") .. ", #pn triggers its effect:" ..
				list("The Aura of the Killer is revealed to you for #pl(1).") ..
				"Perform a " .. i("Rushed") .. " action to exit a " .. b("Locker") .. " to voluntarily trigger the " .. b("Status Effect") .. " for " .. clror("#exhausted") .. dot .. br ..
				loadoutStrings.exhaustionPerkNoOverride
    	},
    },
    ["Ravenous"] =
	{
		{
			version = "9.2.0 (PTB)",
			units = {1},
			values = {40, 50, 60},
			tokens = {"+1 Token", "4 Tokens"}, 
			rarity = 2,
			desc =
                "Whenever you hook a Survivor for the first time, #pn gains " .. clror("#tokens(1)") .. ", up to a maximum of " .. clro("#tokens(2)") .. dot .. br ..
                "Once you accumulate " .. clro("#tokens(2)") .. ", all Survivors suffer from the following effects:" ..
                list(
                	"Causes them to scream.",
                	"Inflicts the " .. b(i("Exposed") .. space .. "Status Effect") .. " for #pl(1).")
    	},
    },
	["Reassurance"] =
	{
		{
			version = "6.2.0",
			units = {1},
			values = {20, 25, 30}, 
			range = "6 metres", 
			limit = "once",
			rarity = 2,
			desc =
                "While within " .. clror("#range") .. " of a hooked Survivor, press the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effects for #pl(1):" .. 
				list(
					b("Pauses") .. " the " .. i("Sacrifice Process") .. dot,
					nbullet .. "This also pauses the " .. i("Struggle Skill Checks") .. " for Survivors in the " .. i("Struggle Phase") .. dot,
					"Causes the outline of that Survivor to be highlighted in " .. bclr("white", "white") .. dot) ..
				"#pn can only be used " .. clro("#limit") .. " per Survivor per " .. i("Hook Instance") .. dot
    	},
    	{
			version = "6.2.0 (PTB)",
			units = {1},
			values = {20, 25, 30}, 
			range = "6 metres",
			cooldown = "40 seconds",
			rarity = 2,
			desc =
                "While within " .. clror("#range") .. " of a hooked Survivor, press the " .. loadoutStrings.activeAbilityButton .. " to trigger the following effects for #pl(1):" .. 
				list(
					b("Pauses") .. " the " .. i("Sacrifice Process") .. dot,
					nbullet .. "This also pauses the " .. i("Struggle Skill Checks") .. " for Survivors in the " .. i("Struggle Phase") .. dot,
					"Causes the outline of that Survivor to be highlighted in " .. bclr("white", "white") .. dot) ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
    	},
    },
    ["Red Herring"] =
	{
		{
			version = "8.6.0",
			units = {1},
			values = {25, 20, 15},
			activation = "1 second",
			rarity = 2,
			desc =
				"After repairing a " .. b("Generator") .. " for at least " .. clror("#activation") .. ", #pn triggers its primary effect:" ..
				list(
					"The Aura of that " .. b("Generator") .. " is highlighted to you in " .. bclr("yellow", "yellow") .. dot,
					"The highlight persists until either of the following occurs:",
					nbullet .. "The " .. b("Generator") .. " is completed.",
					nbullet .. "You start repairing a different " .. b("Generator") .. dot,
					nbullet .. "You enter a " .. b("Locker") .. dot) ..
				"When entering a " .. b("Locker") .. ", #pn triggers its secondary effect:" ..
				list("Triggers a " .. i("Loud Noise Notification") .. " for the Killer on the highlighted " .. b("Generator") .. dot) .. 
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "3.6.0",
			units = {1},
			values = {60, 50, 40},
			activation = "3 seconds",
			rarity = 2,
			desc =
				"After repairing a " .. b("Generator") .. " for at least " .. clror("#activation") .. ", #pn triggers its primary effect:" ..
				list(
					"The Aura of that " .. b("Generator") .. " is highlighted to you in " .. bclr("yellow", "yellow") .. dot,
					"The highlight persists until either of the following occurs:",
					nbullet .. "The " .. b("Generator") .. " is completed.",
					nbullet .. "You start repairing a different " .. b("Generator") .. dot,
					nbullet .. "You enter a " .. b("Locker") .. dot) ..
				"When entering a " .. b("Locker") .. ", #pn triggers its secondary effect:" ..
				list("Triggers a " .. i("Loud Noise Notification") .. " for the Killer on the highlighted " .. b("Generator") .. dot) .. 
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Remember Me"] =
	{
		{
			version = "8.5.0",
			units = {5, 1, 1},
			values = {3, 4, 5, 18, 24, 30, 38, 44, 50},
			tokenGain = "+1 Token", 
			stack = "6 seconds",
			gateDefault = "20 seconds", 
			rarity = 2,
			desc =
				"Whenever the " .. b(i("Obsession")) .. " loses a Health State by any means, #pn gains " .. clror("#tokenGain") .. ", up to a maximum of #pl(1):" ..
				list(
					b("Increases") .. " the Opening time of both " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum additional Opening time of #pl(2).",
					nbullet .. "This results in a maximum possible Opening time of #pl(3) for both " .. b("Exit Gates") .. dot) ..
				"#pn does not apply its penalty to the " .. b(i("Obsession")) .. ", allowing them to open both " .. b("Exit Gates") .. " in the default time of " .. clro("#gateDefault") .. dot .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "7.1.0",
			units = {5, 1, 1},
			values = {2, 3, 4, 12, 18, 24, 32, 38, 44},
			tokenGain = "+1 Token", 
			stack = "6 seconds",
			gateDefault = "20 seconds", 
			rarity = 2,
			desc =
				"Whenever the " .. b(i("Obsession")) .. " loses a Health State by any means, #pn gains " .. clror("#tokenGain") .. ", up to a maximum of #pl(1):" ..
				list(
					b("Increases") .. " the Opening time of both " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum additional Opening time of #pl(2).",
					nbullet .. "This results in a maximum possible Opening time of #pl(3) for both " .. b("Exit Gates") .. dot) .. 
				"#pn does not apply its penalty to the " .. b(i("Obsession")) .. ", allowing them to open both " .. b("Exit Gates") .. " in the default time of " .. clro("#gateDefault") .. dot .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "5.5.0",
			units = {5, 1, 1},
			values = {2, 3, 4, 8, 12, 16, 28, 32, 36},
			tokenGain = "+1 Token", 
			stack = "4 seconds",
			gateDefault = "20 seconds", 
			rarity = 2,
			desc =
				"Whenever the " .. b(i("Obsession")) .. " loses a Health State by any means, #pn gains " .. clror("#tokenGain") .. ", up to a maximum of #pl(1):" ..
				list(
					b("Increases") .. " the Opening time of both " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum additional Opening time of #pl(2).",
					nbullet .. "This results in a maximum possible Opening time of #pl(3) for both " .. b("Exit Gates") .. dot) ..
				"#pn does not apply its penalty to the " .. b(i("Obsession")) .. ", allowing them to open both " .. b("Exit Gates") .. " in the default time of " .. clro("#gateDefault") .. dot .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "2.7.0",
			units = {5, 1, 1},
			values = {2, 3, 4, 8, 12, 16, 28, 32, 36},
			tokenGain = "+1 Token", 
			stack = "4 seconds",
			gateDefault = "20 seconds", 
			rarity = 2,
			desc =
				"Whenever you hit the " .. b(i("Obsession")) .. " with a " .. i("Basic Attack") .. ", #pn gains " .. clror("#tokenGain") .. ", up to a maximum of #pl(1):" ..
				list(
					b("Increases") .. " the Opening time of both " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum additional Opening time of #pl(2).",
					nbullet .. "This results in a maximum possible Opening time of #pl(3) for both " .. b("Exit Gates") .. dot) ..
				"#pn does not apply its penalty to the " .. b(i("Obsession")) .. ", allowing them to open both " .. b("Exit Gates") .. " in the default time of " .. clro("#gateDefault") .. dot .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "1.8.0",
			units = {5, 1, 1},
			values = {4, 5, 6, 20, 25, 30, 40, 45, 50},
			tokenGain = "+1 Token", 
			stack = "5 seconds",
			gateDefault = "20 seconds", 
			rarity = 2,
			desc =
				"Whenever you hit the " .. b(i("Obsession")) .. " with a " .. i("Basic Attack") .. ", #pn gains " .. clror("#tokenGain") .. ", up to a maximum of #pl(1):" ..
				list(
					b("Increases") .. " the Opening time of both " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum additional Opening time of #pl(2).",
					nbullet .. "This results in a maximum possible Opening time of #pl(3) for both " .. b("Exit Gates") .. dot) ..
				"#pn does not apply its penalty to the " .. b(i("Obsession")) .. ", allowing them to open both " .. b("Exit Gates") .. " in the default time of " .. clro("#gateDefault") .. dot .. nlp ..
				loadoutStrings.obsessionPerkKiller
		},
	},
	["Road Life"] =
	{
		{
			version = "9.2.0",
			units = {5},
			values = {6, 5, 4},
			tokens = {"+1 Token", "0 Tokens", "-1 Token"},
			healing = "+100 %", 
			rarity = 2,
			desc =
                "While injured and repairing a " .. b("Generator") .. ", regular " .. i("Skill Checks") .. " have the following effects:" ..
				list(
					"Gain " .. clror("#tokens(1)") .. " for " .. i("Great Repair Skill Checks") .. dot,
					"Gain " .. clro("#tokens(2)") .. " for " .. i("Good Repair Skill Checks") .. dot,
					"Lose " .. clro("#tokens(3)") ..  " for " .. i("Failed Repair Skill Checks") .. dot) ..
				"Once you accumulate #pl(1), consume all Tokens to benefit from the following effect:" ..
				list(b("Increases") .. " your Healing speed by " .. clro("#healing") .. " until you stop healing.") .. 
				"#pn deactivates after use and does not activate while suffering from the " .. b(i("Broken") .. space .. "Status Effect") .. dot .. br ..
				"#pn does not interact with special " .. i("Skill Checks") .. " triggered by outside effects."
    	},
		{
			version = "9.2.0 (PTB)",
			units = {5},
			values = {8, 7, 6},
			tokens = {"+1 Token", "0 Tokens", "-2 Tokens"},
			healing = "+100 %", 
			rarity = 2,
			desc =
                "While injured and repairing a " .. b("Generator") .. ", regular " .. i("Skill Checks") .. " have the following effects:" ..
				list(
					"Gain " .. clror("#tokens(1)") .. " for " .. i("Great Repair Skill Checks") .. dot,
					"Gain " .. clro("#tokens(2)") .. " for " .. i("Good Repair Skill Checks") .. dot,
					"Lose " .. clro("#tokens(3)") ..  " for " .. i("Failed Repair Skill Checks") .. dot) ..
				"Once you accumulate #pl(1), consume all Tokens to benefit from the following effect:" ..
				list(b("Increases") .. " your Healing speed by " .. clro("#healing") .. " until you stop healing.") .. 
				"#pn deactivates after use and does not activate while suffering from the " .. b(i("Broken") .. space .. "Status Effect") .. dot .. br ..
				"#pn does not interact with special " .. i("Skill Checks") .. " triggered by outside effects."
    	},
    },
	-- S Perks --
	["Saboteur"] =
	{
		{
			version = "7.1.0",
			units = {1},
			values = {70, 65, 60},
			radius = "56 metres",
			speed = "+30 %",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
        		list(
        			"While the Killer is carrying another Survivor, the Auras of all " .. b("Hooks") .. " within " .. clror("#radius") .. " of their original Pick-up location are revealed to you:",
        			nbullet .. "The Auras of normal " .. b("Hooks") .. " are " .. bclr("white", "white") .. dot,
        			nbullet .. "The Auras of " .. b("Scourge Hooks") .. " are " .. bclr("yellow", "yellow") .. dot) .. 
        		"Unlocks the ability to sabotage " .. b("Hooks") .. " without " .. b("Toolboxes") .. colon ..
        		list(
        			b("Increases") .. " the Sabotage speed without a " .. b("Toolbox") .. " by " .. clro("#speed") .. dot,
        			nbullet .. "This effect has a cool-down of #pl(1) after use.")
		},
		{
			version = "6.1.0",
			units = {1},
			values = {90, 75, 60},
			radius = "56 metres",
			speed = "+20 %",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
        		list(
        			"While the Killer is carrying another Survivor, the Auras of all " .. b("Hooks") .. " within " .. clror("#radius") .. " of their original Pick-up location are revealed to you:",
        			nbullet .. "The Auras of normal " .. b("Hooks") .. " are " .. bclr("white", "white") .. dot,
        			nbullet .. "The Auras of " .. b("Scourge Hooks") .. " are " .. bclr("yellow", "yellow") .. dot) .. 
        		"Unlocks the ability to sabotage " .. b("Hooks") .. " without " .. b("Toolboxes") .. colon ..
        		list(
        			b("Increases") .. " the Sabotage speed without a " .. b("Toolbox") .. " by " .. clro("#speed") .. dot,
        			nbullet .. "This effect has a cool-down of #pl(1) after use.")
		},
		{
			version = "3.6.0",
			units = {1},
			values = {90, 75, 60},
			radius = "56 metres",
			speed = "+20 %",
			rarity = 3,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. 
        		list("While the Killer is carrying another Survivor, the Auras of all " .. b("Hooks") .. " within " .. clror("#radius") .. " of their original Pick-up location are revealed to you in " .. bclr("white", "white") .. dot) ..
        		"Unlocks the ability to sabotage " .. b("Hooks") .. " without " .. b("Toolboxes") .. colon ..
        		list(
        			b("Increases") .. " the Sabotage speed without a " .. b("Toolbox") .. " by " .. clro("#speed") .. dot,
        			nbullet .. "This effect has a cool-down of #pl(1) after use.")
		},
		{
			version = "2.3.0",
			units = {1},
			values = {10, 20, 30},
			speed = "50 %",
			rarity = 3,
			icon = "Saboteur (Original Icon)",
			desc =
				"Unlocks the ability to sabotage " .. b("Hooks") .. " without " .. b("Toolboxes") .. colon ..
        		list(
        			b("Reduces") .. " the Sabotage speed without a " .. b("Toolbox") .. " to " .. clror("#speed") .. " of its default value.",
        			b("Increases") .. " the Auto-Repair timer of " .. i("Sabotaged Hooks and Bear Traps") .. " by #pl(1).")
		},
		{
			version = "1.0.2",
			units = {4, 4, 4},
			values = {30, 40, 50, 20, 10, 0, 50, 75, 100},
			rarity = 3,
			icon = "Saboteur (Original Icon)",
			desc =
				"Unlocks the ability to sabotage " .. b("Hooks") .. " without " .. b("Toolboxes") .. colon ..
        		list(
        			b("Reduces") .. " the Sabotage speed without a " .. b("Toolbox") .. " to #pl(1) of its default value.",
        			b("Reduces") .. " the size of the Success zones of " .. i("Sabotage Skill Checks") .. " by #pl(2).",
        			b("Increases") .. " the Item efficiency of " .. b("Toolboxes") .. " during " .. i("Sabotage") .. " by #pl(3).")
		},
		{
			version = "1.0.0",
			units = {4, 4, 4},
			values = {40, 60, 80, 20, 10, 0, 50, 75, 100},
			rarity = 3,
			icon = "Saboteur (Original Icon)",
			desc =
				"Unlocks the ability to sabotage " .. b("Hooks") .. " without " .. b("Toolboxes") .. colon ..
        		list(
        			b("Reduces") .. " the Sabotage speed without a " .. b("Toolbox") .. " to #pl(1) of its default value.",
        			b("Reduces") .. " the size of the Success zones of " .. i("Sabotage Skill Checks") .. " by #pl(2).",
        			b("Increases") .. " the Item efficiency of " .. b("Toolboxes") .. " during " .. i("Sabotage") .. " by #pl(3).")
		},
	},
	["Save the Best for Last"] =
	{
		{
			version = "7.5.0",
			units = {5, 4},
			values = {6, 7, 8, 24, 28, 32},
			tokenGain = "+1 Token",
			tokenCost = "-2 Tokens",
			cooldownStack = "-4 % per Token",
			rarity = 2,
			desc =
				"Damaging any Survivor other than the " .. b(i("Obsession")) .. " with a " .. i("Basic Attack") .. " causes #pn to gain " .. clror("#tokenGain") .. ", up to a maximum of #pl(1)." .. br ..
				"Damaging the " .. b(i("Obsession")) .. " with either a " .. i("Basic or Special Attack") .. " causes #pn to lose " .. clro("#tokenCost") .. colon ..
				list("Grants a stack-able " .. clro("#cooldownStack") .. " Cool-down time reduction on successful " .. i("Basic Attacks") .. ", up to a maximum of #pl(2).") ..
				"#pn freezes its current Token Count once the " .. b(i("Obsession")) .. " is sacrificed or killed." .. br ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "2.1.0",
			units = {5},
			values = {4, 3, 2},
			tokenGain = "+1 Token",
			tokenLimit = "8 Tokens",
			cooldownStack = "-5 % per Token",
			cooldownMax = "-40 %",
			rarity = 3,
			desc =
				"Damaging any Survivor other than the " .. b(i("Obsession")) .. " with a " .. i("Basic Attack") .. " causes #pn to gain " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenLimit") .. dot .. br ..
				"Damaging the " .. b(i("Obsession")) .. " with one causes it to lose #pl(1) instead:" ..
				list("Grants a stack-able " .. clro("#cooldownStack") .. " Cool-down time reduction on successful " .. i("Basic Attacks") .. ", up to a maximum of " .. clro("#cooldownMax") .. dot) ..
				"#pn freezes its current Token Count once the " .. b(i("Obsession")) .. " is sacrificed or killed." .. br ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "1.5.0",
			units = {4},
			values = {30, 40, 50},
			chase = "20 seconds",
			linger = "5 seconds",
			rarity = 3,
			desc =
				"After chasing a Survivor for at least " .. clror("#chase") .. ", #pn activates for as long as the chase continues:" ..
				list(
					b("Reduces") .. " the Cool-down time of the next successful " .. i("Basic Attack") .. " by #pl(1).",
					nbullet .. "This effect lingers for " .. clro("#linger") .. " if the chase is lost, acting as a buffer.") ..
				"#pn deactivates after a successful " .. i("Basic Attack") .. dot .. br ..
				"#pn is disabled for the remainder of the Trial once the " .. b(i("Obsession")) .. " is sacrificed or killed." .. br ..
				loadoutStrings.obsessionPerkKiller
		},
		{
			version = "1.2.1",
			units = {4, 4},
			values = {14, 18, 20, 25, 29, 33},
			rarity = 3,
			desc =
				i("Basic Attacks") .. " benefit from the following effects:" ..
                list(
                	b("Reduces") .. " the Cool-down time of missed attacks by #pl(1).",
                	b("Reduces") .. " the Cool-down time of successful attacks by #pl(2).") ..
				"#pn is disabled for the remainder of the Trial once the " .. b(i("Obsession")) .. " is sacrificed or killed." .. br ..
				loadoutStrings.obsessionPerkKiller
		},
	},
	["Scavenger"] =
	{
		{
			version = "7.0.0",
			units = {1},
			values = {40, 35, 30},
			tokenLimit = "5 Tokens",
			speedPenalty = "-50 %",
			rarity = 2,
			desc =
				"While holding a depleted " .. i("Toolbox") .. ", #pn activates:" ..
				list(
					"Succeeding at " .. i("Great Repairing Skill Checks") .. " grants " .. clror("1 Token") .. ", up to a maximum of " .. clro("#tokenLimit") .. dot,
					"Reaching the maximum number of Tokens automatically consumes them and fully recharges the " .. i("Toolbox") .. dot,
					"Recharging a " .. i("Toolbox") .. " will reduce your Repair speed by " .. clro("#speedPenalty") .. " for #pl(1).") ..
				"#pn grants the ability to rummage through an open Chest once per Trial and will guarantee a basic Toolbox."
		},
		{
			version = "7.0.0 (PTB)",
			units = {5},
			values = {6, 5, 4},
			rarity = 2,
			desc =
				"While holding a depleted " .. i("Toolbox") .. ", #pn activates:" ..
				list(
					"Succeeding at " .. i("Great Repairing Skill Checks") .. " grants " .. clror("1 Token") .. ", up to a maximum of #pl(1).",
					"Reaching the maximum number of Tokens automatically consumes them and fully recharges the " .. i("Toolbox") .. dot,
					"#pn is then disabled for the remainder of the Trial.") ..
				"#pn grants the ability to rummage through an open Chest once per Trial and will guarantee a basic Toolbox."
		}
	},
	["Scene Partner"] =
	{
		{
			version = "8.4.0",
			units = {1},
			values = {4, 5, 6},
			aura = "+2 seconds",
			chance = "50 %",
			cooldown = "40 seconds",
			rarity = 2,
			desc =
				"You lock in with your co-star, engaging with and reacting to each other on a higher level." .. nlp ..
				"Whenever you are inside the " .. i("Terror Radius") .. ", #pn activates:" ..
				list(
					"Looking at the Killer causes you to scream, which reveals their Aura for #pl(1).",
					"There is a chance of " .. clror("#chance") .. " that you will scream again, extending the Aura-reveal duration by another " .. clro("#aura") .. dot) ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
		{
			version = "7.1.0",
			units = {1},
			values = {3, 4, 5},
			aura = "+2 seconds",
			chance = "50 %",
			cooldown = "60 seconds",
			rarity = 2,
			desc =
				"You lock in with your co-star, engaging with and reacting to each other on a higher level." .. nlp ..
				"Whenever you are inside the " .. i("Terror Radius") .. ", #pn activates:" ..
				list(
					"Looking at the Killer causes you to scream, which reveals their Aura for #pl(1).",
					"There is a chance of " .. clror("#chance") .. " that you will scream again, extending the Aura-reveal duration by another " .. clro("#aura") .. dot) ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
	},
	["Scourge Hook: Jagged Compass"] =
	{
		{
			version = "8.4.0 (PTB)",
			units = {1},
			values = {6, 8, 10},
			rarity = 2,
			desc =
				loadoutStrings.scourgeHookDefault .. nlp ..
				"Whenever a Survivor is unhooked from a normal " .. b("Hook") .. ", the following effect applies:" ..
				list("The " .. b("Hook") .. " is converted into a " .. bclr("white", "Scourge Hook") .. dot) ..
				"Whenever you hook a Survivor onto a " .. bclr("white", "Scourge Hook") .. ", the following effect applies:" ..
				list("The Aura of the " .. b("Generator") .. " with the most progression is highlighted in " .. bclr("yellow", "yellow") .. " for #pl(1).")
		},
	},
	["Scourge Hook: Hangman's Trick"] =
	{
		{
			version = "9.1.0",
			units = {3},
			values = {12, 14, 16},
			rarity = 2,
			desc =
				loadoutStrings.scourgeHookDefault .. nlp ..
				"While carrying a Survivor, #pn triggers its primary effect:" ..
				list("The Auras of all Survivors within #pl(1) of a " .. bclr("white", "Scourge Hook") .. " are revealed to you.") ..
				"Whenever a Survivor starts the " .. i("Sabotage") .. " action on any " .. b("Hook") .. ", #pn triggers its secondary effect:" ..
				list("Triggers a " .. i("Loud Noise Notification") .. " at the location of that " .. b("Hook") .. dot)
		},
		{
			version = "7.1.0",
			units = {3},
			values = {8, 10, 12},
			rarity = 2,
			notice = "This Patch also changed this Perk into a " .. b("Scourge Hook Perk") .. dot,
			desc =
				loadoutStrings.scourgeHookDefault .. nlp ..
				"While carrying a Survivor, #pn triggers its primary effect:" ..
				list("The Auras of all Survivors within #pl(1) of a " .. bclr("white", "Scourge Hook") .. " are revealed to you.") ..
				"Whenever a Survivor starts the " .. i("Sabotage") .. " action on any " .. b("Hook") .. ", #pn triggers its secondary effect:" ..
				list("Triggers a " .. i("Loud Noise Notification") .. " at the location of that " .. b("Hook") .. dot)
		},
		{
			version = "3.6.0",
			units = {3},
			values = {2, 4, 6},
			rarity = 2,
			notice = "This Patch also changed the introductory flavour text.",
			desc =
				i("Your ingenious modifications to hooks alert you of tampering.") .. nlp ..
				"While carrying a Survivor, " .. i("Hangman's Trick") .. " triggers its primary effect:" ..
				list("The Auras of all Survivors within #pl(1) of a " .. b("Hook") .. " are revealed to you.") ..
				"Whenever a Survivor starts the " .. i("Sabotage") .. " action on a " .. b("Hook") .. comma .. i("Hangman's Trick") .. " triggers its secondary effect:" ..
				list("Triggers a " .. i("Loud Noise Notification") .. " at the location of that " .. b("Hook") .. dot)
		},
		{
			version = "2.1.0",
			units = {1},
			values = {30, 20, 10},
			repair = "60 seconds",
			rarity = 2,
			desc =
				i("Your ingenious modifications to hooks prevent tampering and permanent damage.") .. nlp ..
				"Calls upon " .. b("The Entity") .. " for the following primary effects:" ..
				list(
					b("Hooks") .. " destroyed by " .. i("Sabotage or Sacrifice") .. " automatically repair themselves after #pl(1).",
					b("Bear Traps") .. " destroyed by " .. i("Sabotage") .. " automatically repair themselves after " .. clror("#repair") .. dot) ..
				"Whenever a Survivor starts the " .. i("Sabotage") .. " action on a " .. b("Hook") .. comma .. i("Hangman's Trick") .. " triggers its secondary effect:" ..
				list("Triggers a " .. i("Loud Noise Notification") .. " at the location of that " .. b("Hook") .. dot)
		},
		{
			version = "1.9.0",
			units = {1},
			values = {30, 20, 10},
			rarity = 2,
			desc =
				"Calls upon " .. b("The Entity") .. " for the following primary effect:" ..
				list(b("Hooks") .. " destroyed by " .. i("Sabotage or Sacrifice") .. " automatically repair themselves after #pl(1).") ..
				"Whenever a Survivor starts the " .. i("Sabotage") .. " action on a " .. b("Hook") .. comma .. i("Hangman's Trick") .. " triggers its secondary effect:" ..
				list("Triggers a " .. i("Loud Noise Notification") .. " at the location of that " .. b("Hook") .. dot)
		},
	},
	["Scourge Hook: Monstrous Shrine"] =
	{
		{
			version = "6.1.0",
			units = {4},
			values = {10, 15, 20},
			rarity = 2,
			desc =
				"At the start of the Trial, the " .. clror(4) .. space .. b("Hooks") .. " located inside the " .. i("Basement") .. " and an additional " .. clro(4) .. space .. b("Hooks") .. " located throughout the Trial Grounds are all changed into " .. bclr("yellow", "Scourge Hooks") .. colon ..
                list("The Auras of " .. bclr("yellow", "Scourge Hooks") .. " are highlighted to you in " .. bclr("white", "white") .. dot) ..
                "Whenever you are farther than " .. clro("#distance") .. " from a Survivor hooked onto a " .. bclr("yellow", "Scourge Hook") .. ", the following effect applies:" ..
                list(b("Accelerates") .. " their Sacrifice Process by #pl(1).")
		},
		{
			version = "1.0.0",
			units = {4, 4, 4},
			values = {3, 6, 9, 5, 10, 15, 3, 6, 9},
			rarity = 2,
			desc =
				"The " .. clror(4) .. space .. b("Hooks") .. " located inside the " .. i("Basement") .. " possess the following benefits:" ..
				list(
					b("Accelerate") .. " the Sacrifice Process by #pl(1).",
					b("Reduce") .. " the chances to successfully perform a " .. i("Self-Unhook") .. " by #pl(2).",
					b("Increase") .. " the penalty incurred when failing a " .. i("Self-Unhook") .. " attempt by #pl(3).")
		},
	},
	["Scourge Hook: Pain Resonance"] =
	{
		{
			version = "8.0.0",
			units = {4},
			values = {10, 15, 20},
			rarity = 2,
			desc =
				"Overwhelming pain reverberates outwards." .. nlp ..
				loadoutStrings.scourgeHookDefault .. nlp ..
				"Start the Trial with " .. clror("4 Token") .. dot .. nlp ..
				"Whenever a Survivor is hooked onto a "  .. b("Scourge Hook") .. " for the first time, #pn consumes " .. clro("-1 Token") .. " and applies the following effects:" ..
				list(
					"Causes the " .. b("Generator") .. " with the most progression to explode, damaging it.",
					nbullet .. "Instantly regresses the damaged " .. b("Generator") .. " by #pl(1) of its total Progression.",
					nbullet .. "Causes the damaged " .. b("Generator") .. " to start regressing afterwards.",
					"Causes all Survivors repairing the damaged " .. b("Generator") .. " to scream.",
					nbullet .. "This does not trigger a " .. i("Loud Noise Notification") .. dot) ..
				"#pn is disabled for the remainder of the Trial once all Tokens are consumed."
		},
		{
			version = "6.7.0",
			units = {4},
			values = {15, 20, 25},
			rarity = 2,
			desc =
				"Overwhelming pain reverberates outwards." .. nlp ..
				loadoutStrings.scourgeHookDefault .. nlp ..
				"Start the Trial with " .. clror("4 Token") .. dot .. nlp ..
				"Whenever a Survivor is hooked onto a "  .. b("Scourge Hook") .. " for the first time, #pn consumes " .. clro("-1 Token") .. " and applies the following effects:" ..
				list(
					"Causes the " .. b("Generator") .. " with the most progression to explode, damaging it.",
					nbullet .. "Instantly regresses the damaged " .. b("Generator") .. " by #pl(1) of its total Progression.",
					nbullet .. "Causes the damaged " .. b("Generator") .. " to start regressing afterwards.",
					"Causes all Survivors repairing the damaged " .. b("Generator") .. " to scream.",
					nbullet .. "This does not trigger a " .. i("Loud Noise Notification") .. dot) ..
				"#pn is disabled for the remainder of the Trial once all Tokens are consumed."
		},
		{
			version = "6.1.2",
			units = {4},
			values = {9, 12, 15},
			rarity = 2,
			desc =
				"Overwhelming pain reverberates outwards." .. nlp ..
				loadoutStrings.scourgeHookDefault .. nlp ..
				"Whenever a Survivor is hooked onto a "  .. b("Scourge Hook") .. ", #pn triggers and applies the following effects:" ..
				list(
					"Causes the " .. b("Generator") .. " with the most progression to explode, damaging it.",
					nbullet .. "Instantly regresses the damaged " .. b("Generator") .. " by #pl(1) of its total Progression.",
					nbullet .. "Causes the damaged " .. b("Generator") .. " to start regressing afterwards.",
					"Causes all Survivors repairing the damaged " .. b("Generator") .. " to scream.",
					nbullet .. "This does not trigger a " .. i("Loud Noise Notification") .. dot)
		},
		{
			version = "6.1.0",
			units = {4},
			values = {9, 12, 15},
			rarity = 2,
			desc =
				"Overwhelming pain reverberates outwards." .. nlp ..
				loadoutStrings.scourgeHookDefault .. nlp ..
				"Whenever a Survivor is hooked onto a "  .. b("Scourge Hook") .. ", #pn triggers and applies the following effects:" ..
				list(
					"Damages the " .. b("Generator") .. " with the most progression.",
					nbullet .. "Instantly regresses the damaged " .. b("Generator") .. " by #pl(1) of its total Progression.",
					nbullet .. "Causes the damaged " .. b("Generator") .. " to start regressing afterwards.")
		},
		{
			version = "5.4.0",
			units = {4},
			values = {9, 12, 15},
			rarity = 2,
			desc =
				"Overwhelming pain reverberates outwards." .. nlp ..
				loadoutStrings.scourgeHookDefault .. nlp ..
				"Whenever a Survivor is hooked onto a "  .. b("Scourge Hook") .. ", #pn triggers and applies the following effects:" ..
				list(
					"Causes the " .. b("Generator") .. " with the most progression to explode, damaging it.",
					nbullet .. "Instantly regresses the damaged " .. b("Generator") .. " by #pl(1) of its total Progression.",
					nbullet .. "Causes the damaged " .. b("Generator") .. " to start regressing afterwards.",
					"Causes all Survivors repairing the damaged " .. b("Generator") .. " to scream and reveal their location.")
		},
	},
	["Scourge Hook: Weeping Wounds"] =
	{
		{
			version = "7.6.0",
			units = {4},
			values = {10, 13, 16},
			duration = "90 seconds",
			icon = "Scourge Hook: Gift of Pain",
			rarity = 2,
			desc =
				loadoutStrings.scourgeHookDefault .. nlp ..
				loadoutStrings.scourgeHookUnhooked ..
				list("Causes that Survivor to suffer from the " .. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. " for " .. clror("#duration") .. dot) ..
				"After the first time that Survivor is healed back to full health, they suffer from the following effect until they are injured again by any means:" ..
				list(b("Reduces") .. " their Action speeds for Healing and Repairing by #pl(1).")
		},
		{
			version = "6.1.0",
			units = {4},
			values = {10, 13, 16},
			icon = "Scourge Hook: Gift of Pain",
			rarity = 2,
			desc =
				loadoutStrings.scourgeHookDefault .. nlp ..
				loadoutStrings.scourgeHookUnhooked ..
				list("Causes that Survivor to suffer from the " .. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. " until fully healed.") ..
				"After the first time that Survivor is healed back to full health, they suffer from the following effect until they are injured again by any means:" ..
				list(b("Reduces") .. " their Action speeds for Healing and Repairing by #pl(1).")
		},
		{
			version = "5.2.0",
			units = {4},
			values = {7, 8, 9},
			icon = "Scourge Hook: Gift of Pain",
			rarity = 2,
			desc =
				loadoutStrings.scourgeHookDefault .. nlp ..
				loadoutStrings.scourgeHookUnhooked ..
				list("Causes that Survivor to suffer from the " .. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. " until fully healed.") ..
				"After the first time that Survivor is healed back to full health, they suffer from the following effect until they are injured again by any means:" ..
				list(b("Reduces") .. " their Action speeds for Healing and Repairing by #pl(1).")
		},
	},
	["Second Wind"] =
	{
		{
			version = "7.3.3",
			units = {1},
			values = {28, 24, 20},
			rarity = 2,
			notice = "With the return of " .. b("CHAPTER 13: Stranger Things") .. ", this Patch reinstated the original flavour texts, icon, and name of the Perk.",
			desc = 
				"When you heal another Survivor for the equivalent of " .. clror(1) .. space .. b("Health State") .. comma .. space .. i("Second Wind") .. " activates:" ..
				list(
					"The next time you are unhooked or unhook yourself, you suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " until " .. i("Second Wind") .. " deactivates.",
					"You are automatically healed " .. clro(1) .. space .. b("Health State") .. " after #pl(1).") ..
				"While " .. i("Second Wind") .. " is active, the following conditions will deactivate it:" .. 
				list(
					"Successfully being healed by #pn.",
					"Being put into the " .. i("Dying State") .. " before the timer elapses." ) ..
				i("Second Wind") .. " does not activate if you already suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. dot
		},
		{
			version = "5.3.0",
			units = {1},
			values = {28, 24, 20},
			icon = "Renewal",
			rarity = 2,
			notice = "This Patch only removed the flavour texts, changed its icon, and changed its name from " .. b("Second Wind") .. " to " .. b("Renewal") .. dot,
			desc = 
				"When you heal another Survivor for the equivalent of " .. clror(1) .. space .. b("Health State") .. comma .. space .. i("Renewal") .. " activates:" ..
				list(
					"The next time you are unhooked or unhook yourself, you suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " until " .. i("Renewal") .. " deactivates.",
					"You are automatically healed " .. clro(1) .. space .. b("Health State") .. " after #pl(1).") ..
				"While " .. i("Renewal") .. " is active, the following conditions will deactivate it:" .. 
				list(
					"Successfully being healed by #pn.",
					"Being put into the " .. i("Dying State") .. " before the timer elapses." ) ..
				i("Renewal") .. " does not activate if you already suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. dot
		},
		{
			version = "4.5.0",
			units = {1},
			values = {28, 24, 20},
			rarity = 2,
			desc = 
				"When you heal another Survivor for the equivalent of " .. clror(1) .. space .. b("Health State") .. comma .. space .. i("Second Wind") .. " activates:" ..
				list(
					"The next time you are unhooked or unhook yourself, you suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " until " .. i("Second Wind") .. " deactivates.",
					"You are automatically healed " .. clro(1) .. space .. b("Health State") .. " after #pl(1).") ..
				"While " .. i("Second Wind") .. " is active, the following conditions will deactivate it:" .. 
				list(
					"Successfully being healed by #pn.",
					"Being put into the " .. i("Dying State") .. " before the timer elapses." ) ..
				i("Second Wind") .. " does not activate if you already suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. dot
		},
		{
			version = "3.2.0",
			units = {1},
			values = {34, 32, 30},
			rarity = 2,
			desc = 
				"When you heal another Survivor for the equivalent of " .. clror(1) .. space .. b("Health State") .. comma .. space .. i("Second Wind") .. " activates:" ..
				list(
					"The next time you are unhooked or unhook yourself, you suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. " until " .. i("Second Wind") .. " deactivates.",
					"You are automatically healed " .. clro(1) .. space .. b("Health State") .. " after #pl(1).") ..
				"While " .. i("Second Wind") .. " is active, the following conditions will deactivate it:" .. 
				list(
					"Successfully being healed by #pn.",
					"Being put into the " .. i("Dying State") .. " before the timer elapses." ) ..
				i("Second Wind") .. " does not activate if you already suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. dot
		},
	},
	["Self-Care"] =
	{
		{
			version = "6.1.0",
			units = {4},
			values = {25, 30, 35},
			rarity = 2,
			desc =
				"Unlocks the " .. i("Self-Care")  .. " ability:" ..
				list("Grants the ability to self-heal without needing a " .. b("Med-Kit") .. " at #pl(1) of the regular Healing speed.")
		},
		{
			version = "2.5.0 (PTB)",
			ptbOnly = true,
			units = {4},
			values = {45, 35, 25},
			efficiency = "+20 %",
			rarity = 3,
			desc =
				"Unlocks the " .. i("Self-Care")  .. " ability:" ..
				list(
					"Grants the ability to self-heal without needing a " .. b("Med-Kit") .. dot,
					b("Reduces") .. " all Healing speeds by #pl(1).",
					b("Increases") .. " the Item efficiency of " .. b("Med-Kits") .. " used for Personal Healing by " .. clror("#efficiency") .. dot)
		},
		{
			version = "1.7.0",
			units = {4},
			values = {10, 15, 20},
			speed = "50 %",
			rarity = 3,
			desc =
				"Unlocks the " .. i("Self-Care")  .. " ability:" ..
				list(
					"Grants the ability to self-heal without needing a " .. b("Med-Kit") .. " at " .. clror("#speed") .. " of the regular Healing speed.",
					b("Increases") .. " the Item efficiency of " .. b("Med-Kits") .. " used for Personal Healing by #pl(1).")
		},
		{
			version = "1.0.2",
			units = {4, 4, 4},
			values = {30, 40, 50, 50, 75, 100, 20, 10, 0},
			rarity = 3,
			desc =
				"Unlocks the " .. i("Self-Care")  .. " ability:" ..
				list(
					"Grants the ability to self-heal without needing a " .. b("Med-Kit") .. " at #pl(1) of the regular Healing speed.",
					b("Increases") .. " the Item efficiency of " .. b("Med-Kits") .. " used for Personal Healing by #pl(2).",
					b("Reduces") .. " the size of the Success zones of " .. i("Healing Skill Checks") .. " by #pl(3).")
		},
		{
			version = "1.0.0",
			units = {4, 4, 4},
			values = {40, 60, 80, 50, 75, 100, 20, 10, 0},
			rarity = 3,
			desc =
				"Unlocks the " .. i("Self-Care")  .. " ability:" ..
				list(
					"Grants the ability to self-heal without needing a " .. b("Med-Kit") .. " at #pl(1) of the regular Healing speed.",
					b("Increases") .. " the Item efficiency of " .. b("Med-Kits") .. " used for Personal Healing by #pl(2).",
					b("Reduces") .. " the size of the Success zones of " .. i("Healing Skill Checks") .. " by #pl(3).")
		},
	},
	["Septic Touch"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {20, 25, 30},
			rarity = 2,
			desc =
				"Whenever a Survivor performs a Healing action while inside the " .. i("Terror Radius") .. ", they suffer from the following effects:" .. 
				list(
					"Inflicts the " .. b(i("Blindness and Exhausted") .. space .. "Status Effects") .. dot, 
					nbullet .. "These effects linger for #pl(1) after the Healing action is interrupted by any means.")
		},
		{
			version = "6.0.0",
			units = {1},
			values = {6, 8, 10},
			rarity = 2,
			desc =
				"Whenever a Survivor performs a Healing action while inside the " .. i("Terror Radius") .. ", they suffer from the following effects:" .. 
				list(
					"Inflicts the " .. b(i("Blindness and Exhausted") .. space .. "Status Effects") .. dot, 
					nbullet .. "These effects linger for #pl(1) after the Healing action is interrupted by any means.")
		},
	},
	["Shadowborn"] =
	{
		{
			version = "7.5.0",
			units = {4},
			values = {6, 8, 10},
			durationHaste = "10 seconds",
			rarity = 2,
			desc =
				"Whenever you are blinded by any means, #pn triggers its effect:" .. 
				list("Grants a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clror("#durationHaste") .. dot)
		},
		{
			version = "1.8.3",
			units = {7},
			values = {9, 12, 15},
			rarity = 3,
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("You have a keen vision in the darkness of the night.") .. nlp ..
				"#pn causes the following effect:" ..
				list(b("Increases") .. " your " .. i("Field of View") .. " by #pl(1) " .. b("°") .. dot) ..
				"#pn does not stack with other effects that alter the " .. i("Field of View") .. dot
		},
		{
			version = "1.5.0",
			units = {7, 4},
			values = {3, 5, 10, 30, 40, 50},
			blindTime = "-30 %",
			rarity = 3,
			desc =
				"#pn causes the following effect:" ..
				list(
					b("Increases") .. " your " .. i("Field of View") .. " by #pl(1) " .. b("°") .. dot,
					b("Increases") .. " the Recovery time from being blinded by #pl(2).",
					b("Reduces") .. " the time required to be blinded by a " .. i("Flashlight") .. " by " .. clror("#blindTime") .. dot)..
				"#pn does not stack with other effects that alter the " .. i("Field of View") .. dot
		},
		{
			version = "1.0.5",
			units = {4, 7, 4},
			values = {5, 10, 20, 3, 5, 10, 25, 50, 75},
			blindTime = "-50 %",
			rarity = 3,
			desc =
				"#pn causes the following effect:" ..
				list(
					b("Increases") .. " the visual brightness of the environment by #pl(1).", 
					b("Increases") .. " your " .. i("Field of View") .. " by #pl(2) " .. b("°") .. dot,
					b("Increases") .. " the Recovery time from being blinded by #pl(3).",
					b("Reduces") .. " the time required to be blinded by a " .. i("Flashlight") .. " by " .. clror("#blindTime") .. dot)..
				"#pn does not stack with other effects that alter the " .. i("Field of View") .. dot
		},
		{
			version = "1.0.0",
			units = {4, 7, 4},
			values = {5, 10, 20, 10, 20, 30, 25, 50, 75},
			blindTime = "-50 %",
			rarity = 3,
			desc =
				i("You have a keen vision in the darkness of the night, but are highly sensitive to light.") .. nlp ..
				"#pn causes the following effect:" ..
				list(
					b("Increases") .. " the visual brightness of the environment by #pl(1).", 
					b("Increases") .. " your " .. i("Field of View") .. " by #pl(2) " .. b("°") .. dot,
					b("Increases") .. " the Recovery time from being blinded by #pl(3).",
					b("Reduces") .. " the time required to be blinded by a " .. i("Flashlight") .. " by " .. clror("#blindTime") .. dot)..
				"#pn does not stack with other effects that alter the " .. i("Field of View") .. dot
		},
	},
	["Shoulder the Burden"] =
	{
		{
			version = "8.4.0",
			units = {1},
			values = {60, 50, 40},
			rarity = 2,
			desc =
				"Once per Trial, and while you are not on " .. i("Death Hook") .. ", press the " .. loadoutStrings.activeAbilityButton .. " while standing in front of a " .. i("Hooked Survivor") .. " to unhook them and trigger the following effects:" ..
				list(
					"Trade " .. clror(1) .. space .. i("Hook Stage") .. " with the other Survivor to their benefit.",
					"Causes you to scream and suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for #pl(1).")
		},
		{
			version = "8.4.0 (PTB)",
			units = {1},
			values = {30, 25, 20},
			rarity = 2,
			desc =
				"Once per Trial, and while you are not on " .. i("Death Hook") .. ", press the " .. loadoutStrings.activeAbilityButton .. " while standing in front of a " .. i("Hooked Survivor") .. " to unhook them and trigger the following effects:" ..
				list(
					"Trade " .. clror(1) .. space .. i("Hook Stage") .. " with the other Survivor to their benefit.",
					"Causes you to scream and suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. " for #pl(1).")
		},
	},
	["Slippery Meat"] =
	{
		{
			version = "4.3.0",
			units = {4},
			values = {2, 3, 4},
			attempts = "+3",
			rarity = 2,
			desc =
				"You have developed an efficient way to get off Hooks." .. 
            	list(
        			"Grants the ability to attempt " .. clror("#attempts") .. " additional " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. dot,
        			b("Increases") .. " the chances to successfully perform a " .. i("Self-Unhook") .. " by #pl(1).")
        },
        {
			version = "2.6.2",
			units = {4},
			values = {15, 20, 25},
			attempts = "+3",
			rarity = 1,
			icon = "Slippery Meat (Old)",
			desc =
				"You have developed an efficient way to get out of Bear Traps and off Hooks." .. 
            	list(
        			"Grants the ability to attempt " .. clror("#attempts") .. " additional " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. dot,
        			b("Increases") .. " the chances to successfully perform an " .. i("Escape Attempt") .. " while caught in a " .. b("Bear Trap") .. " by #pl(1).")
        },
        {
			version = "1.7.0",
			units = {7, 4},
			values = {1, 2, 3, 15, 20, 25},
			rarity = 1,
			icon = "Slippery Meat (Old)",
			desc =
				"You have developed an efficient way to get out of Bear Traps and off Hooks." .. 
            	list(
        			"Grants the ability to attempt #pl(1) additional " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. dot,
        			b("Increases") .. " the chances to successfully perform an " .. i("Escape Attempt") .. " while caught in a " .. b("Bear Trap") .. " by #pl(2).")
        },
        {
			version = "1.0.0",
			units = {4, 4, 4},
			values = {0, 0, 5, 0, 5, 10, 5, 10, 15},
			rarity = 1,
			icon = "Slippery Meat (Old)",
			desc =
				"You have developed an efficient way to get out of Bear Traps and off Hooks." .. 
            	list(
        			b("Increases") .. " the chances to successfully perform a " .. i("Self-Unhook") .. " by #pl(1).",
        			b("Increases") .. " the chances to successfully perform an " .. i("Escape Attempt") .. " while caught in a " .. b("Bear Trap") .. " by #pl(2).",
        			b("Increases") .. " the Action speeds when performing either interaction by #pl(3).")
        },
	},
	["Sloppy Butcher"] =
	{
		{
			version = "7.6.0",
			units = {1, 4},
			values = {70, 80, 90, 50, 75, 100}, 
			bleeding = "+25 %",
			rarity = 2,
			desc =
				"Survivors hit with your vicious " .. i("Basic Attack") .. " suffer from the following effects for #pl(1):" ..
                list(
                	"Inflicts the ".. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. dot,
                	"Modifies the potency of " .. b(i("Haemorrhage")) .. colon,
                	nbullet .. b("Increases") .. " the Spawn frequency of " .. i("Pools of Blood") .. " by #pl(2).",
                	nbullet .. b("Increases") .. " the Regression rate of partial Healing progression by " .. clror("#bleeding") .. dot)
		},
		{
			version = "5.7.0",
			units = {4, 4},
			values = {50, 75, 100, 15, 20, 25},
			rarity = 2,
			desc =
				"Survivors hit with your vicious " .. i("Basic Attack") .. " suffer from the following effects:" ..
                list(
                	"Inflicts the ".. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. " until fully healed.",
                	"Modifies the potency of " .. b(i("Haemorrhage")) .. colon,
                	nbullet .. b("Increases") .. " the Spawn frequency of " .. i("Pools of Blood") .. " by #pl(1).",
                	nbullet .. b("Increases") .. " the Regression rate of partial Healing progression by #pl(2).")
		},
		{
			version = "4.5.2",
			units = {4},
			values = {50, 75, 100},
			rarity = 2,
			desc =
				"Survivors hit with your vicious " .. i("Basic Attack") .. " suffer from the following effects until fully healed:" ..
                list(
                	"Inflicts the ".. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. dot,
                	"Modifies the potency of " .. b(i("Haemorrhage")) .. colon,
                	nbullet .. b("Increases") .. " the Spawn frequency of " .. i("Pools of Blood") .. " by #pl(1).")
		},
		{
			version = "2.1.0",
			units = {7},
			values = {"slightly", "moderately", "considerably"},
			rarity = 1,
			desc =
				"Survivors hit with your vicious " .. i("Basic Attack") .. " suffer from the following effects until fully healed:" ..
                list(
                	"Inflicts the ".. b(i("Haemorrhage and Mangled") .. space .. "Status Effects") .. dot,
                	"Modifies the potency of " .. b(i("Haemorrhage")) .. colon,
                    nbullet .. b("Increases") .. " the amount of " .. i("Bleeding") .. " #pl(1).")
		},
		{
			version = "1.5.2",
			units = {7},
			values = {"slightly", "moderately", "considerably"},
			rarity = 1,
			desc =
				"Survivors hit with your vicious " .. i("Basic Attack") .. " suffer from the following effects until fully healed:" ..
                list(
                	"Inflicts the ".. b(i("Haemorrhage") .. space .. "Status Effect") .. dot,
                	"Modifies its potency:",
                	nbullet .. b("Increases") .. " the amount of " .. i("Bleeding") .. " #pl(1).")
		},
		{
			version = "1.0.0",
			units = {7},
			values = {"slightly", "moderately", "considerably"},
			rarity = 1,
			desc =
				"Survivors hit with your vicious " .. i("Basic Attack") .. " suffer from the following effect until fully healed:" ..
                list(b("Increases") .. " the amount of " .. i("Bleeding") .. " #pl(1).")
		},
	},
	["Small Game"] =
	{
		{
			version = "4.7.0",
			units = {3, 1},
			values = {8, 10, 12, 14, 12, 10},
			coneDefault = "45 °",
			tokenGain = "+1 Token",
			tokenLimit = "5 Tokens",
			coneReduction = "-5 °",
			coneLimit = "-25 °", 
			rarity = 2,
			desc =
				"Projects an invisible cone in the direction you are looking, with a Detection angle of " .. clror("#coneDefault") .. " and a range of #pl(1):" ..
            	list(
            		"Triggers an audio cue when detecting any type of " .. b("Totem") .. " within it.",
            		nbullet .. "This effect has a cool-down of #pl(2) after use.") ..
            	"Each time a " .. b("Totem") .. " is cleansed, #pn gains " .. clro("#tokenGain") .. ", up to a maximum of " .. clro("#tokenLimit") .. colon ..
            	list(b("Reduces") .. " the Detection angle of the cone by a stack-able " .. clro("#coneReduction") .. " per Token, up to a maximum of " .. clro("#coneLimit") .. dot)
		},
		{
			version = "3.1.0",
			units = {3, 1},
			values = {8, 10, 12, 15, 12, 10},
			cone = "45 °",
			rangeBonus = "+4 metres",
			rarity = 1,
			icon = "Small Game (Old)",
			desc =
				"Projects an invisible cone in the direction you are looking, with a Detection angle of " .. clror("#cone") .. " and a range of #pl(1):" ..
            	list(
            		"Triggers an audio cue when detecting any of the following objects within it:",
            		nbullet .. b("Bear Traps"),
            		ndbullet .. "Only if they were placed manually by " .. b("The Trapper") .. dot,
            		nbullet .. b("Dream Pallets"),
            		nbullet .. b("Phantasm Traps"),
            		ndbullet .. b("Increase") .. " the Detection range by " .. clro("#rangeBonus") .. " in their case.",
            		nbullet .. b("Totems")) ..
            	"#pn has a cool-down of #pl(2)."
		},
		{
			version = "1.3.0",
			units = {3, 1},
			values = {8, 10, 12, 15, 12, 10},
			cone = "45 °",
			rangeBonus = "+4 metres",
			rarity = 1,
			icon = "Small Game (Old)",
			desc =
				"Projects an invisible cone in the direction you are looking, with a Detection angle of " .. clror("#cone") .. " and a range of #pl(1):" ..
            	list(
            		"Triggers an audio cue when detecting any of the following objects within it:",
            		nbullet .. b("Bear Traps"),
            		ndbullet .. "Only if they were placed manually by " .. b("The Trapper") .. dot,
            		nbullet .. b("Phantasm Traps"),
            		ndbullet .. b("Increase") .. " the Detection range by " .. clro("#rangeBonus") .. " in their case.",
            		nbullet .. b("Totems")) ..
            	"#pn has a cool-down of #pl(2)."
		},
		{
			version = "1.0.0",
			units = {3},
			values = {2, 4, 6},
			rarity = 1,
			icon = "Small Game (Old)",
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of " .. b("Bear Traps") .. " are revealed to you within #pl(1).")
		},
	},
	["Smash Hit"] =
	{
		{
			version = "7.1.0",
			units = {1},
			values = {30, 25, 20},
			haste = "+50 %",
			durationHaste = "4 seconds",
			rarity = 2,
			desc =
				"Whenever you stun the Killer with a " .. b("Pallet") .. " , #pn triggers its effect:" ..
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)."
		},
		{
			version = "4.6.0",
			units = {1},
			values = {60, 50, 40},
			haste = "+50 %",
			durationHaste = "4 seconds",
			rarity = 2,
			desc =
				"Whenever you stun the Killer with a " .. b("Pallet") .. " , #pn triggers its effect:" ..
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)."
		},
	},
	["Solidarity"] =
	{
		{
			version = "8.1.0",
			units = {4},
			values = {50, 60, 70},
			rarity = 2,
			desc =
				"While injured, healing another Survivor without a " .. b("Med-Kit") .. " causes #pn to apply the following effects:" ..
				list(
					"Grants the ability to passively heal yourself while healing other Survivors.",
					b("Reduces") .. " your Personal Healing speed to #pl(1) of your Altruistic Healing speed.")
		},
		{
			version = "2.6.0",
			units = {4},
			values = {40, 45, 50},
			rarity = 1,
			desc =
				"While injured, healing another Survivor without a " .. b("Med-Kit") .. " causes #pn to apply the following effects:" ..
				list(
					"Grants the ability to passively heal yourself while healing other Survivors.",
					b("Reduces") .. " your Personal Healing speed to #pl(1) of your Altruistic Healing speed.")
		},
	},
	["Soul Guard"] =
	{
		{
			version = "4.7.0",
			units = {1},
			values = {4, 6, 8},
			cooldown = "30 seconds",
			rarity = 3,
			desc =
				"Whenever you heal or recover from the " .. i("Dying State") .. ", #pn triggers its primary effect:" ..
				list(
					"Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for #pl(1).",
					nbullet .. loadoutStrings.conspicuousActions,
					nbullet .. "This ability has a cool-down of " .. clror("#cooldown") .. dot) ..
				"While suffering from the " .. b(i("Cursed") .. space .. "Status Effect") .. ", #pn applies its secondary effect:" ..
				list("Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State.") .. dot)
		},
		{
			version = "4.0.0",
			units = {1},
			values = {4, 6, 8},
			rarity = 3,
			desc =
				"Whenever you heal or recover from the " .. i("Dying State") .. ", #pn triggers its primary effect:" ..
				list(
					"Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for #pl(1).",
					nbullet .. loadoutStrings.conspicuousActions) ..
				"While suffering from the " .. b(i("Cursed") .. space .. "Status Effect") .. ", #pn applies its secondary effect:" ..
				list("Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the " .. i("Dying State.") .. dot)
		},
	},
	["Spies from the Shadows"] =
	{
		{
			version = "2.6.0",
			units = {3},
			values = {20, 28, 36},
			cooldown = "5 seconds",
			rarity = 3,
			desc =
				"Whenever a Survivor startles a " .. b("Crow") .. " within #pl(1) of your location, #pn triggers its effect:" ..
                list("Alerts you with a unique " .. i("Loud Noise Notification") .. " in the shape of a " .. b("Crow") .. dot) ..
                "#pn has a cool-down of " .. clror("#cooldown") .. " between alerts."
		},
		{
			version = "2.5.0",
			units = {3},
			values = {32, 40, 48},
			rarity = 3,
			desc =
				"Whenever a Survivor startles a " .. b("Crow") .. " within #pl(1) of your location, #pn triggers its effect:" ..
                list("Alerts you with a unique " .. i("Loud Noise Notification") .. " in the shape of a " .. b("Crow") .. dot)
		},
		{
			version = "1.0.5",
			units = {3, 4},
			values = {16, 24, 36, 50, 50, 75},
			rarity = 3,
			desc =
				"Whenever a Survivor startles a " .. b("Crow") .. " within #pl(1) of your location, #pn has a #pl(2) chance to trigger its effect:" ..
                list("Alerts you with a " .. i("Loud Noise Notification") .. dot)
		},
		{
			version = "1.0.0",
			units = {3, 4},
			values = {12, 24, 36, 25, 50, 75},
			rarity = 3,
			desc =
				"Whenever a Survivor startles a " .. b("Crow") .. " within #pl(1) of your location, #pn has a #pl(2) chance to trigger its effect:" ..
                list("Alerts you with a " .. i("Loud Noise Notification") .. dot)
		},
	},
	["Spine Chill"] =
	{
		{
			version = "7.1.0",
			units = {4},
			values = {2, 4, 6},
			range = "36 metres",
			linger = "0.5 seconds",
			rarity = 2,
			desc =
				"An unnatural tingle warns you of impending doom." .. nlp ..
 				"Whenever the Killer is within " .. clror("#range") .. " of your location and looking at you with a clear " .. i("Line of Sight") .. ", #pn activates:" ..
 				list(
 					"Warns of the Killer's proximity and their potential awareness of your location by lighting its icon.",
            		b("Increases") .. " your Action speeds for Blessing, Cleansing, Gate-Opening, Healing, Repairing, Sabotaging, Unhooking, and Unlocking by #pl(1).",
            		nbullet .. "This effect lingers for " .. clro("#linger") .. " after the Killer loses " .. i("Line of Sight") .. " or exits the Activation range.")
		},
		{
			version = "6.1.0",
			units = {4},
			values = {2, 4, 6},
			range = "36 metres",
			linger = "0.5 seconds",
			rarity = 2,
			desc =
				"An unnatural tingle warns you of impending doom." .. nlp ..
 				"Whenever the Killer is within " .. clror("#range") .. " of your location, #pn activates:" ..
 				list(
 					"Warns of the Killer's proximity and their potential awareness of your location by lighting its icon.",
 					"If the " .. i("Terror Radius") .. " is audible, #pn indicates its intensity, and thus the Killer's proximity, on its icon by adjusting the Cool-down timer.",
 					"If the Killer has " .. i("Line of Sight") .. " on you, #pn " .. b("increases") .. " your Action speeds for Blessing, Cleansing, Gate-Opening, Healing, Repairing, Sabotaging, Unhooking, and Unlocking by #pl(1).",
            		nbullet .. "This effect lingers for " .. clro("#linger") .. " after the Killer loses " .. i("Line of Sight") .. " or exits the Activation range.")
		},
		{
			version = "2.6.2",
			units = {4},
			values = {2, 4, 6},
			range = "36 metres",
			skillCheckChance = "+10 %",
			skillCheckZone = "-10 %",
			rarity = 3,
			desc =
				"An unnatural tingle warns you of impending doom." .. nlp ..
 				"Whenever the Killer is within " .. clror("#range") .. " of your location and facing in your direction, #pn activates:" ..
 				list(
 					b("Increases") .. " your Action speeds for Cleansing, Gate-Opening, Healing, Repairing, Sabotaging, Searching, Unhooking, and Vaulting by #pl(1).",
 					b("Increases") .. " the chances of triggering a " .. i("Skill Check") .. " by " .. clro("#skillCheckChance") .. dot,
 					b("Reduces") .. " the size of the " .. i("Skill Check Success Zone") .. " by " .. clro("#skillCheckZone") .. dot)
		},
		{
			version = "1.0.0",
			units = {3, 4},
			values = {12, 24, 36, 2, 4, 6},
			skillCheckChance = "+10 %",
			skillCheckZone = "-10 %",
			rarity = 3,
			desc =
				"An unnatural tingle warns you of impending doom." .. nlp ..
 				"Whenever the Killer is within #pl(1) of your location and facing in your direction, #pn activates:" ..
 				list(
 					b("Increases") .. " your Action speeds for Cleansing, Gate-Opening, Healing, Repairing, Sabotaging, Searching, Unhooking, and Vaulting by #pl(2).",
 					b("Increases") .. " the chances of triggering a " .. i("Skill Check") .. " by " .. clror("#skillCheckChance") .. dot,
 					b("Reduces") .. " the size of the " .. i("Skill Check Success Zone") .. " by " .. clro("#skillCheckZone") .. dot)
		},
	},
	["Spirit Fury"] =
	{
		{
			version = "2.2.0 (PTB)",
			units = {7},
			values = {4, 3, 2},
			rarity = 1,
			desc =
				"After manually breaking a total of #pl(1) dropped " .. b("Pallets") .. " by any means, #pn activates:" ..
				list("Instantly breaks the next " .. b("Pallet") .. " used by a Survivor to stun you.") ..
				"#pn deactivates after use and does not affect the duration of the " .. i("Pallet Stun") .. dot
		},
	},
	["Sprint Burst"] =
	{
		{
			version = "1.5.0",
			units = {1},
			values = {60, 50, 40},
			haste = "+50 %",
			durationHaste = "3 seconds",
			rarity = 3,
			desc =
				"Starting to run triggers #pn:" ..
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) ..
				loadoutStrings.exhaustionPerkNoUse .. br ..
				"#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)."
		},
		{
			version = "1.3.0",
			units = {1},
			values = {60, 50, 40},
			speed = "150 %",
			duration = "3 seconds",
			boost = "+33 %",
			penalty = "-50 %",
			rarity = 3,
			desc =
				"Starting to run triggers #pn:" ..
				list(b("Increases") .. " your Movement speed to " .. clror("#speed") .. " of its default value for " .. clro("#duration") .. dot) ..
        		"#pn has a cool-down of #pl(1):" ..
        		list(
        			b("Increases") .. " its Recovery rate by " .. clro("#boost") .. " while crouching.",
        			b("Reduces") .. " its Recovery rate by " .. clro("#penalty") .. " while running.")
		},
		{
			version = "1.0.2",
			units = {1},
			values = {60, 50, 40},
			speed = "150 %",
			duration = "3 seconds",
			rarity = 3,
			desc =
				"Starting to run triggers #pn:" ..
				list(b("Increases") .. " your Movement speed to " .. clror("#speed") .. " of its default value for " .. clro("#duration") .. dot) ..
        		"#pn has a cool-down of #pl(1)."
		},
		{
			version = "1.0.0",
			units = {1},
			values = {40, 30, 20},
			speed = "150 %",
			duration = "3 seconds",
			rarity = 3,
			desc =
				"Starting to run triggers #pn:" ..
				list(b("Increases") .. " your Movement speed to " .. clror("#speed") .. " of its default value for " .. clro("#duration") .. dot) ..
        		"#pn has a cool-down of #pl(1)."
		},
	},
	["Stake Out"] =
	{
		{
			version = "3.7.0",
			units = {5},
			values = {2, 3, 4},
			tokenChargeTime = "15 seconds",
			tokenGain = "+1 Token",
			tokenCost = "-1 Token",
			bonus = "+1 %",
			rarity = 3,
			desc =
				"Staying in the " .. i("Terror Radius") .. " without being chased grants " .. clror("#tokenGain") .. " every " .. clro("#tokenChargeTime") .. ", up to a maximum of #pl(1)." .. br ..
				"While performing a skilful interaction that can trigger " .. i("Skill Checks") .. ", you benefit from the following effects:" ..
				list(
					"Converts any " .. i("Good Skill Check") .. " into a " .. i("Great Skill Check") .. dot,
					nbullet .. "This consumes " .. clro("#tokenCost") .. dot,
					b("Increases") .. " the Progression bonus of those " .. i("Great Skill Checks") .. " by " .. clro("#bonus") .. dot) ..
				"#pn does not apply to regular " .. i("Great Skill Checks") .. " nor do they consume any Tokens."
		},
		{
			version = "1.9.0",
			units = {5},
			values = {2, 3, 4},
			tokenChargeTime = "15 seconds",
			tokenGain = "+1 Token",
			tokenCost = "-1 Token",
			rarity = 3,
			desc =
				"Staying in the " .. i("Terror Radius") .. " without being chased grants " .. clror("#tokenGain") .. " every " .. clro("#tokenChargeTime") .. ", up to a maximum of #pl(1)." .. br ..
				"While performing a skilful interaction that can trigger " .. i("Skill Checks") .. ", you benefit from the following effect:" ..
				list(
					"Converts any " .. i("Good Skill Check") .. " into a " .. i("Great Skill Check") .. dot,
					nbullet .. "This consumes " .. clro("#tokenCost") .. dot) ..
				"#pn does not apply to regular " .. i("Great Skill Checks") .. " nor do they consume any Tokens."
		},
	},
	["Starstruck"] =
	{
		{
			version = "4.6.0",
			units = {1},
			values = {26, 28, 30},
			cooldown = "60 seconds",
			rarity = 2,
			desc =
				"Whenever you are carrying a Survivor, #pn activates:" ..
				list(
					"Causes all other Survivors in your " .. i("Terror Radius") .. " to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for #pl(1) after affected Survivors leave the " .. i("Terror Radius") .. " or #pn deactivates.") ..
				"#pn deactivates after hooking or dropping the carried Survivor and has a cool-down of " .. clror("#cooldown") .. dot
		},
		{
			version = "4.6.0 (PTB)",
			units = {1},
			values = {26, 28, 30},
			cooldown = "90 seconds",
			rarity = 2,
			desc =
				"Whenever you are carrying a Survivor, #pn activates:" ..
				list(
					"Causes all other Survivors in your " .. i("Terror Radius") .. " to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot,
					nbullet .. "This effect lingers for #pl(1) after affected Survivors leave the " .. i("Terror Radius") .. " or #pn deactivates.",
					nbullet .. "This effect does not refresh upon re-entering the " .. i("Terror Radius") .. dot) ..
				"#pn deactivates after hooking or dropping the carried Survivor and has a cool-down of " .. clror("#cooldown") .. dot
		},
	},
	["Still Sight"] =
	{
		{
			version = "9.1.0",
			units = {1},
			values = {4, 3, 2},
			range = "24 metres",
			rarity = 2,
			desc =
				"After standing still for #pl(1), #pn activates:" .. 
					list(
						"The following Auras are revealed to you within " .. clror("#range") .. colon,
						nbullet .. b("Killer"),
						nbullet .. b("Chests"),
						nbullet .. b("Generators")) ..
					"#pn deactivates once you start moving again."
		},
		{
			version = "8.0.0",
			units = {1},
			values = {6, 5, 4},
			range = "24 metres",
			rarity = 2,
			desc =
				"After standing still for #pl(1), #pn activates:" .. 
					list(
						"The following Auras are revealed to you within " .. clror("#range") .. colon,
						nbullet .. b("Killer"),
						nbullet .. b("Chests"),
						nbullet .. b("Generators")) ..
					"#pn deactivates once you start moving again."
		},
	},
	["Streetwise"] =
	{
		{
			version = "9.1.0",
			units = {4},
			values = {60, 70, 80},
			activation = "first time",
			aura = "8 seconds",
			rarity = 2,
			desc =
				"Any " .. b("Items") .. " with Charges you retrieve from " .. b("Chests") .. " benefit from the following primary effect:" ..
				list(b("Increases") .. " their Charges permanently by #pl(1).") ..
				"Whenever your currently equipped " .. b("Item") .. " is depleted for the " .. clror("#activation") .. ", #pn triggers its secondary effect:" ..
				list("The Aura of the Killer is revealed to you for " .. clro("#aura") .. dot)
		},
		{
			version = "3.0.0",
			units = {4},
			values = {15, 20, 25},
			range = "8 metres",
			linger = "15 seconds",
			rarity = 3,
			desc =
				"All equipped " .. b("Items") .. " with Charges located within " .. clror("#range") .. " of your current location, including your own, benefit from the following effect:" ..
				list(
					b("Increases") .. " their Charges temporarily by #pl(1).",
					nbullet .. "For other Survivors, this effect lingers for " .. clro("#linger") .. " after leaving its range.") ..
				"Charges are only increased while using an " .. b("Item") .. ", to improve its efficiency."
		},
		{
			version = "2.3.0",
			units = {4},
			values = {10, 12, 15},
			range = "8 metres",
			linger = "15 seconds",
			rarity = 3,
			desc =
				"All equipped " .. b("Items") .. " with Charges located within " .. clror("#range") .. " of your current location, including your own, benefit from the following effect:" ..
				list(
					b("Increases") .. " their Charges temporarily by #pl(1).",
					nbullet .. "For other Survivors, this effect lingers for " .. clro("#linger") .. " after leaving its range.") ..
				"Charges are only increased while using an " .. b("Item") .. ", to improve its efficiency."
		},
		{
			version = "1.1.0",
			units = {4},
			values = {10, 12, 15},
			range = "8 metres",
			rarity = 3,
			desc =
				"All equipped " .. b("Items") .. " with Charges located within " .. clror("#range") .. " of your current location, including your own, benefit from the following effect:" ..
				list(b("Increases") .. " their Charges temporarily by #pl(1).") ..
				"Charges are only increased while using an " .. b("Item") .. ", to improve its efficiency."
		},
	},
	["Stridor"] =
	{
		{
			version = "8.1.1",
			units = {4, 4},
			values = {30, 40, 50, 15, 20, 25},
			rarity = 2,
			desc =
				"You are acutely sensitive to the breathing of your prey." .. 
				list(
					b("Increases") .. " the volume of " .. i("Grunts of Pain") .. " of injured Survivors by #pl(1).",
					b("Increases") .. " the volume of regular breathing of Survivors by #pl(2).")
		},
		{
			version = "5.1.0",
			units = {4, 4},
			values = {25, 50, 50, 0, 0, 25},
			rarity = 2,
			notice = "Identical to the previous version, except that the values stack multiplicatively.",
			desc =
				"You are acutely sensitive to the breathing of your prey." .. 
				list(
					b("Increases") .. " the volume of " .. i("Grunts of Pain") .. " of injured Survivors by #pl(1).",
					b("Increases") .. " the volume of regular breathing of Survivors by #pl(2).")
		},
		{
			version = "1.1.0",
			units = {4, 4},
			values = {25, 50, 50, 0, 0, 25},
			rarity = 1,
			desc =
				"You are acutely sensitive to the breathing of your prey." .. 
				list(
					b("Increases") .. " the volume of " .. i("Grunts of Pain") .. " of injured Survivors by #pl(1).",
					b("Increases") .. " the volume of regular breathing of Survivors by #pl(2).")
		},
	},
	["Superior Anatomy"] =
	{
		{
			version = "9.0.0",
			units = {4},
			values = {30, 35, 40}, 
			range = "12 metres",
			cooldown = "25 seconds", 
			rarity = 2,
			desc =
				"Whenever a Survivor performs a " .. i("Rush Vault") .. " action within " .. clror("#range") .. " of your location, #pn activates:" ..
				list(b("Increases") .. " your Vaulting speed by #pl(1).") .. 
				"#pn deactivates after vaulting." .. br ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
		{
			version = "6.2.0 (PTB)",
			units = {4},
			values = {30, 35, 40}, 
			range = "8 metres",
			cooldown = "30 seconds", 
			rarity = 2,
			desc =
				"Whenever a Survivor performs a " .. i("Rush Vault") .. " action within " .. clror("#range") .. " of your location, #pn activates:" ..
				list(b("Increases") .. " your Vaulting speed by #pl(1).") .. 
				"#pn deactivates after vaulting." .. br ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
	},
	["Surge"] =
	{
		{
			version = "6.1.0",
			units = {4},
			values = {6, 7, 8},
			range = "32 metres", 
			rarity = 2,
			desc =
				"Whenever you put a Survivor into the " .. i("Dying State") .. " with your " .. i("Basic Attack") .. ", #pn triggers its effect:" ..
				list(
					"Causes all " .. b("Generators") .. " within " .. clror("#range") .. " of your location to instantly explode and start regressing.",
					"Instantly regresses all affected " .. b("Generators") .. " by #pl(1).")
		},
		{
			version = "5.3.0",
			units = {1},
			values = {60, 50, 40},
			range = "32 metres", 
			effect = "-8 %", 
			rarity = 2,
			notice = "Identical to the previous version, except that it was renamed to " .. b("Jolt") .. " due to the license having left until " .. b("Patch 7.3.3") .. dot,
			desc =
				"Whenever you put a Survivor into the " .. i("Dying State") .. " with your " .. i("Basic Attack") .. ", #pn triggers its effect:" ..
				list(
					"Causes all " .. b("Generators") .. " within " .. clror("#range") .. " of your location to instantly explode and start regressing.",
					"Instantly regresses all affected " .. b("Generators") .. " by " .. clro("#effect") .. dot) ..
				i("Jolt") .. " has a cooldown of #pl(1)."
		},
		{
			version = "3.2.0",
			units = {1},
			values = {60, 50, 40},
			range = "32 metres", 
			effect = "-8 %", 
			rarity = 2,
			desc =
				"Whenever you put a Survivor into the " .. i("Dying State") .. " with your " .. i("Basic Attack") .. ", #pn triggers its effect:" ..
				list(
					"Causes all " .. b("Generators") .. " within " .. clror("#range") .. " of your location to instantly explode and start regressing.",
					"Instantly regresses all affected " .. b("Generators") .. " by " .. clro("#effect") .. dot) ..
				i("Surge") .. " has a cooldown of #pl(1)."
		},
	},
	["Surveillance"] =
	{
		{
			version = "5.0.0",
			units = {1},
			values = {8, 12, 16}, 
			range = "+8 metres", 
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. nlp ..
				"The Auras of damaged " .. b("Generators") .. " are highlighted based on their current state:" .. 
				list(
					bclr("white", "White Aura") .. colon .. space .. "The " .. b("Generator") .. " is currently regressing.",
					bclr("yellow", "Yellow Aura") .. colon .. space .. "The " .. b("Generator") .. " stopped regressing due to Survivor-intervention.",
					nbullet .. "This effect lasts for #pl(1), after which the " .. b("Generator Aura") .. " returns to its default colour.") ..
				"While Survivors are repairing " .. b("Generators") .. ", they suffer from the following effect:" ..
				list(b("Increases") .. " the audible range of all noises related to the " .. i("Repair") .. " interaction by " .. clror("#range") .. dot)
		},
		{
			version = "4.3.0",
			units = {1},
			values = {8, 12, 16}, 
			range = "+8 metres", 
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. nlp ..
				"The Auras of damaged " .. b("Generators") .. " are highlighted based on their current state:" .. 
				list(
					bclr("white", "White Aura") .. colon .. space .. "The " .. b("Generator") .. " is currently regressing.",
					bclr("yellow", "Yellow Aura") .. colon .. space .. "The " .. b("Generator") .. " stopped regressing by any means.",
					nbullet .. "This effect lasts for #pl(1), after which the " .. b("Generator Aura") .. " returns to its default colour.") ..
				"While Survivors are repairing " .. b("Generators") .. ", they suffer from the following effect:" ..
				list(b("Increases") .. " the audible range of all noises related to the " .. i("Repair") .. " interaction by " .. clror("#range") .. dot)
		},
		{
			version = "2.5.0",
			units = {1},
			values = {8, 12, 16}, 
			range = "+8 metres", 
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" .. nlp ..
				"The Auras of damaged " .. b("Generators") .. " are highlighted based on their current state:" .. 
				list(
					bclr("white", "White Aura") .. colon .. space .. "The " .. b("Generator") .. " is currently regressing.",
					bclr("yellow", "Yellow Aura") .. colon .. space .. "The " .. b("Generator") .. " stopped regressing due to Survivor-intervention.",
					nbullet .. "This effect lasts for #pl(1), after which the " .. b("Generator Aura") .. " returns to its default colour.") ..
				"While Survivors are repairing " .. b("Generators") .. ", they suffer from the following effect:" ..
				list(b("Increases") .. " the audible range of all noises related to the " .. i("Repair") .. " interaction by " .. clror("#range") .. dot)
		},
		{
			version = "1.9.0",
			units = {7},
			values = {1, 2, 3},
			duration = "16 seconds",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of the last #pl(1) regressing " .. b("Generator(s)") .. " is/are highlighted to you in " .. bclr("white", "white") .. " for " .. clror("#duration") .. dot)
		},
	},
	-- T Perks --
	["Teamwork: Collective Stealth"] =
	{
		{
			version = "8.3.0",
			units = {3},
			values = {8, 12, 16},
			duration = "4 seconds",
			rarity = 2,
			desc =
				"When someone helps you out, you respond in kind." .. nlp ..
				loadoutStrings.teamworkPerkHealOnYou ..
				list(
					b("Suppresses") .. " your " .. i("Scratch Marks") .. " for as long as you stay within #pl(1) of one another.",
					nbullet .. "This effect lingers for " .. clror("#duration") .. " once out of range and resumes upon re-entering it before that timer elapses.") ..
				loadoutStrings.singleInstancePerk
		},
		{
			version = "6.6.0",
			units = {1},
			values = {180, 160, 140},
			radius = "12 metres",
			rarity = 2,
			desc =
				"When someone helps you out, you respond in kind." .. nlp ..
				loadoutStrings.teamworkPerkHealOnYou ..
				list(b("Suppresses") .. " your " .. i("Scratch Marks") .. " for as long as you stay within " .. clror("#radius") .. " of one another or one of you loses a Health State.") .. 
				"#pn has a cool-down of #pl(1)." .. nlp ..
				loadoutStrings.singleInstancePerk
		},
	},
	["Teamwork: Power of Two"] =
	{
		{
			version = "8.3.0",
			units = {3},
			values = {8, 12, 16},
			haste = "+5 %",
			duration = "4 seconds",
			rarity = 2,
			desc =
				"It is hard to keep up with you, but it does not stop people from trying." .. nlp ..
				loadoutStrings.teamworkPerkHealOnOther ..
				list(
					"Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for as long as you stay within #pl(1) of one another.",
					nbullet .. "This effect lingers for " .. clro("#duration") .. " once out of range and resumes upon re-entering it before that timer elapses.") ..
				loadoutStrings.singleInstancePerk
		},
		{
			version = "6.6.0",
			units = {1},
			values = {180, 160, 140},
			haste = "+5 %",
			radius = "12 metres",
			rarity = 2,
			desc =
				"It is hard to keep up with you, but it does not stop people from trying." .. nlp ..
				loadoutStrings.teamworkPerkHealOnOther ..
				list("Grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for as long as you stay within " .. clro("#radius") .. " of one another or one of you loses a Health State.") ..
				"#pn has a cool-down of #pl(1)." .. nlp ..
				loadoutStrings.singleInstancePerk
		},
	},
	["Teamwork: Throw Down"] =
	{
		{
			version = "9.1.0 (PTB)",
			units = {1},
			values = {6, 8, 10},
			range = "24 metres",
			rarity = 2,
			desc =
				"Whenever you blind the Killer by any means or stun them using a " .. b("Pallet") .. ", #pn triggers its effect:" ..
				list("Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " to all other injured Survivors within " .. clror("#range") .. " of your location for #pl(1).")
		},
	},
	["Teamwork: Toughen Up"] =
	{
		{
			version = "9.1.0 (PTB)",
			units = {1},
			values = {20, 25, 30},
			range = "24 metres",
			rarity = 2,
			desc =
				"While injured, whenever another Survivor within " .. clror("#range") .. " of your location blinds the Killer by any means or stuns them using a " .. b("Pallet") .. ", #pn triggers its effect:" ..
				list(b("Suppresses") .. " your " .. i("Grunts of Pain") .. ", and the creation of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. " for #pl(1).")
		},
	},
	["Technician"] =
	{
		{
			version = "4.3.0",
			units = {4},
			values = {3, 4, 5},
			range = "-8 metres",
			rarity = 2,
			desc =
				"While repairing a " .. b("Generator") .. ", the following effects apply:" ..
				list(
					b("Reduces") .. " the audible range of all noises related to the " .. i("Repair") .. " interaction by " .. clror("#range") .. dot,
					b("Increases") .. " the Progression penalty incurred when failing a " .. i("Skill Check") .. " by #pl(1).",
					b("Suppresses") .. " the explosion of the " .. b("Generator") .. " and the " .. i("Loud Noise Notification") .. " usually triggered by that.")
		},
		{
			version = "2.5.0",
			units = {4},
			values = {30, 40, 50},
			range = "-8 metres",
			rarity = 1,
			desc =
				"While repairing a " .. b("Generator") .. ", the following effects apply:" ..
				list(
					b("Reduces") .. " the audible range of all noises related to the " .. i("Repair") .. " interaction by " .. clror("#range") .. dot,
					i("Failed Repair Skill Checks") .. " have a chance of #pl(1) to not cause the " .. b("Generator") .. " to explode and trigger a " .. i("Loud Noise Notification") .. dot,
					nbullet .. "This still incurs the default Progression penalty.")
		},
		{
			version = "1.5.1",
			units = {3, 4},
			values = {0, 4, 8, 30, 40, 50},
			rarity = 1,
			desc =
				"While repairing a " .. b("Generator") .. ", the following effects apply:" ..
				list(
					b("Reduces") .. " the audible range of all noises related to the " .. i("Repair") .. " interaction by #pl(1).",
					i("Failed Repair Skill Checks") .. " have a chance of #pl(2) to not cause the " .. b("Generator") .. " to explode and trigger a " .. i("Loud Noise Notification") .. dot,
					nbullet .. "This still incurs the default Progression penalty.")
		},
	},
	["Tenacity"] =
	{
		{
			version = "9.3.0",
			units = {4},
			values = {30, 40, 50},
			volume = "-75 %",
			rarity = 2,
			desc =
				"Your ferocious tenacity in dire situations allows you to benefit from the following effects while in the " .. i("Dying State") .. colon ..
				list(
					"Grants the ability to recover while crawling.",
					"Grants a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot,
					b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by " .. clror("#volume") .. dot,
					b("Blocks") .. " your Aura from being read.")
		},
		{
			version = "9.2.0",
			units = {4},
			values = {15, 20, 25},
			volume = "-75 %",
			rarity = 2,
			desc =
				"Your ferocious tenacity in dire situations allows you to benefit from the following effects while in the " .. i("Dying State") .. colon ..
				list(
					"Grants a #pl(1) " .. b(i("Haste") .. space .. "Status Effect") .. dot,
					b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by " .. clror("#volume") .. dot,
					b("Blocks") .. " your Aura from being read.")
		},
		{
			version = "6.1.0",
			units = {4},
			values = {30, 40, 50},
			volume = "-75 %",
			rarity = 2,
			desc =
				"Your ferocious tenacity in dire situations allows you to benefit from the following effects while in the " .. i("Dying State") .. colon ..
				list(
					"Grants the ability to recover while crawling.",
					b("Increases") .. " the Crawling Movement speed by #pl(1).",
					b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by " .. clror("#volume") .. dot)
		},
		{
			version = "1.9.0",
			units = {4},
			values = {30, 40, 50},
			rarity = 1,
			desc =
				"Your ferocious tenacity in dire situations allows you to benefit from the following effects while in the " .. i("Dying State") .. colon ..
				list(
					"Grants the ability to recover while crawling.",
					b("Increases") .. " the Crawling Movement speed by #pl(1).")
		},
	},
	["Terminus"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {35, 40, 45}, 
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" .. 
                list(
                	"Causes all injured, dying, or hooked Survivors to suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. dot,
                	nbullet .. "This effect last until one of the " .. b("Exit Gates") .. " is opened, after which it lingers for another #pl(1).")
		},
		{
			version = "6.2.0 (PTB)",
			units = {1},
			values = {20, 25, 30}, 
			rarity = 2,
			desc =
				"Once the " .. b("Exit Gates") .. " are powered, #pn activates:" .. 
                list(
                	"Causes all injured, dying, or hooked Survivors to suffer from the " .. b(i("Broken") .. space .. "Status Effect") .. dot,
                	nbullet .. "This effect last until one of the " .. b("Exit Gates") .. " is opened, after which it lingers for another #pl(1).")
		},
	},
	["Thanatophobia"] =
	{
		{
			version = "6.1.2 / 6.1.3",
			displayVersion = "6.1.2",
			units = {4, 4, 4},
			values = {1, 1.5, 2, 4, 6, 8, 16, 18, 20},
			penalty = "+12 %", 
			rarity = 2,
			desc =
				"Whenever at least one Survivor is either injured, dying, or hooked, #pn activates." .. br ..
				"While active, all Survivors suffer from the following primary effect:" .. 
				list("Incurs a stack-able #pl(1) Action-Speed penalty per injured, dying, or hooked Survivor for Cleansing, Repairing, and Sabotaging, up to a maximum of #pl(2).") ..
				"If all four Survivors are either injured, dying, or hooked, they suffer from the following secondary effect:" ..
				list(b("Increases") .. " the penalty by an additional " .. clror("#penalty") .. " to a total of #pl(3).")
		},
		{
			version = "6.1.0",
			units = {4, 4},
			values = {4.5, 5, 5.5, 18, 20, 22},
			rarity = 2,
			desc =
				"Whenever at least one Survivor is either injured, dying, or hooked, #pn activates." .. br ..
				"While active, all Survivors suffer from the following effect:" .. 
				list("Incurs a stack-able #pl(1) Action-Speed penalty per injured, dying, or hooked Survivor for Cleansing, Repairing, and Sabotaging, up to a maximum of #pl(2).")
		},
		{
			version = "4.3.0",
			units = {4, 4},
			values = {4, 4.5, 5, 16, 18, 20},
			rarity = 2,
			desc =
				"Whenever at least one Survivor is either injured, dying, or hooked, #pn activates." .. br ..
				"While active, all Survivors suffer from the following effect:" .. 
				list("Incurs a stack-able #pl(1) Action-Speed penalty per injured, dying, or hooked Survivor for Cleansing, Repairing, and Sabotaging, up to a maximum of #pl(2).")
		},
		{
			version = "2.6.0",
			units = {4, 4},
			values = {3, 3.5, 4, 12, 14, 16},
			rarity = 2,
			desc =
				"Whenever at least one Survivor is either injured, dying, or hooked, #pn activates." .. br ..
				"While active, all Survivors suffer from the following effect:" .. 
				list("Incurs a stack-able #pl(1) Action-Speed penalty per injured, dying, or hooked Survivor for Healing, Repairing, and Sabotaging, up to a maximum of #pl(2).")
		},
		{
			version = "1.1.0",
			units = {4, 4, 4, 4},
			values = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
			rarity = 2,
			desc =
				"Whenever at least one Survivor is either injured, dying, or hooked, #pn activates." .. br ..
				"While active, all Survivors suffer from the following effect:" .. 
				list(
					b("Reduces") .. " the Action speeds for Healing, Repairing, and Sabotaging by the following amount, depending on the number of injured, dying, or hooked Survivors:",
					nbullet .. bclr("faded jade", "1 Survivor") .. colon .. space .. "#pl(1)",
					nbullet .. bclr("faded jade", "2 Survivors") .. colon .. space .. "#pl(2)",
					nbullet .. bclr("faded jade", "3 Survivors") .. colon .. space .. "#pl(3)",
					nbullet .. bclr("faded jade", "4 Survivors") .. colon .. space .. "#pl(4)")
		},
	},
	["This Is Not Happening"] =
	{
		{
			version = "3.6.0",
			units = {4},
			values = {10, 20, 30},
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates and you benefit from the following effect:" ..
            	list(
            		b("Increases") .. " the Success zone for a " .. i("Great Skill Check") .. " by #pl(1) for the following interactions:",
            		nbullet .. "Healing",
            		nbullet .. "Repairing")
		},
		{
			version = "1.7.0",
			units = {4},
			values = {10, 20, 30},
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates and you benefit from the following effect:" ..
            	list(
            		b("Increases") .. " the Success zone for a " .. i("Great Skill Check") .. " by #pl(1) for the following interactions:",
            		nbullet .. "Healing",
            		nbullet .. "Repairing",
            		nbullet .. "Sabotaging")
		},
		{
			version = "1.0.0",
			units = {4},
			values = {10, 20, 30},
			rarity = 2,
			desc =
				"Whenever you are in the " .. i("Injured State") .. ", #pn activates and you benefit from the following effect:" ..
            	list(
            		b("Increases") .. " the Success zone for a " .. i("Good Skill Check") .. " by #pl(1) for the following interactions:",
            		nbullet .. "Healing",
            		nbullet .. "Repairing",
            		nbullet .. "Sabotaging")
		},
	},
	["Thrilling Tremors"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {40, 35, 30}, 
			duration = "16 seconds",
			rarity = 2,
			desc =
				"After picking up a Survivor, #pn triggers its effects:" ..
				list(
					b("Blocks") .. " all " .. b("Generators") .. " not currently being repaired by any Survivors for " .. clror("#duration") .. dot,
					"The Auras of " .. b("Blocked Generators") .. " are highlighted to you in " .. bclr("white", "white") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "3.0.0",
			units = {1},
			values = {100, 80, 60}, 
			duration = "16 seconds",
			rarity = 2,
			desc =
				"After picking up a Survivor, #pn triggers its effects:" ..
				list(
					b("Blocks") .. " all " .. b("Generators") .. " not currently being repaired by any Survivors for " .. clror("#duration") .. dot,
					"The Auras of " .. b("Blocked Generators") .. " are highlighted to you in " .. bclr("white", "white") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	["THWACK!"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {4, 5, 6},
			tokens = "3 Tokens",
			radius = "36 metres",
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokens") .. dot .. br ..
				"Whenever you break a " .. b("Breakable Wall") .. " or a dropped " .. b("Pallet") .. ", #pn consumes " .. clro("-1 Token") .. " and applies the following effect:" ..
				list(
					"Causes all Survivors within " .. clro("#radius") .. " of your location to scream and reveal their Aura for #pl(1).") ..
				"Whenever you hook a Survivor, #pn is granted " .. clro("+1 Token") .. dot
		},
		{
			version = "8.3.0",
			units = {1},
			values = {3, 4, 5},
			tokens = "3 Tokens",
			radius = "24 metres",
			rarity = 2,
			desc =
				"Start the Trial with " .. clror("#tokens") .. dot .. br ..
				"Whenever you break a " .. b("Breakable Wall") .. " or a dropped " .. b("Pallet") .. ", #pn consumes " .. clro("-1 Token") .. " and applies the following effect:" ..
				list(
					"Causes all Survivors within " .. clro("#radius") .. " of your location to scream and reveal their Aura for #pl(1).") ..
				"Whenever you hook a Survivor, #pn is granted " .. clro("+1 Token") .. dot
		},
		{
			version = "6.6.0",
			units = {3},
			values = {28, 30, 32},
			duration = "4 seconds",
			rarity = 2,
			desc =
				"After hooking a Survivor, #pn activates:" ..
				list(
					"The next time you break a " .. b("Breakable Wall") .. " or a dropped " .. b("Pallet") .. ", all Survivors within #pl(1) of your location scream and reveal their Aura for " .. clror("#duration") .. dot) ..
				"#pn deactivates after use."
		},
	},
	-- U Perks --
	["Ultimate Weapon"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {55, 50, 45},
			range = "40 metres",
			blindness = "30 seconds",
			rarity = 2,
			desc =
				"Whenever you search a " .. b("Locker") .. ", #pn triggers its effects on all Survivors within " .. clror("#range") .. " of its location:" ..
				list(
					"Causes them to scream and reveal their location to you.",
					"Inflicts the " .. b(i("Blindness") .. space .. "Status Effect") .. " for " .. clro("#blindness") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "7.7.1",
			units = {1},
			values = {80, 70, 60},
			range = "32 metres",
			blindness = "30 seconds",
			rarity = 2,
			desc =
				"Whenever you search a " .. b("Locker") .. ", #pn triggers its effects on all Survivors within " .. clror("#range") .. " of its location:" ..
				list(
					"Causes them to scream and reveal their location to you.",
					"Inflicts the " .. b(i("Blindness") .. space .. "Status Effect") .. " for " .. clro("#blindness") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "7.7.0",
			units = {1},
			values = {80, 70, 60},
			activation = "15 seconds",
			aura = "3 seconds",
			blindness = "30 seconds",
			rarity = 2,
			desc =
				"Any Survivor entering the " .. i("Terror Radius") .. " within " .. clror("#activation") .. " of you searching a " .. b("Locker") .. " suffers from the following effects:" .. 
				list(
					"Their Aura is revealed to you for " .. clro("#aura") .. dot,
					"Inflicts the " .. b(i("Blindness") .. space .. "Status Effect") .. " for " .. clro("#blindness") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
		{
			version = "7.2.0",
			units = {1},
			values = {40, 35, 30},
			activation = "30 seconds",
			blindness = "30 seconds",
			rarity = 2,
			desc =
				"Any Survivor entering the " .. i("Terror Radius") .. " within " .. clror("#activation") .. " of you searching a " .. b("Locker") .. " suffers from the following effects:" .. 
				list(
					"Causes them to scream and reveal their location to you.",
					"Inflicts the " .. b(i("Blindness") .. space .. "Status Effect") .. " for " .. clro("#blindness") .. dot) ..
				"#pn has a cool-down of #pl(1)."
		},
	},
	["Unbound"] =
	{
		{
			version = "9.0.0",
			units = {1},
			values = {24, 27, 30},
			haste = "+7 %",
			durationHaste = "10 seconds",
			rarity = 2,
			desc =
				"When a Survivor becomes injured by any means, #pn activates for #pl(1):" ..
				list(
					"Vaulting a " .. b("Window") .. " while #pn is active grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot,
					nbullet .. "This effect cannot stack with itself.")
		},
		{
			version = "8.7.0",
			units = {1},
			values = {24, 27, 30},
			haste = "+10 %",
			durationHaste = "10 seconds",
			rarity = 2,
			desc =
				"When a Survivor becomes injured by any means, #pn activates for #pl(1):" ..
				list(
					"Vaulting a " .. b("Window") .. " while #pn is active grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot,
					nbullet .. "This effect cannot stack with itself.")
		},
		{
			version = "7.6.0",
			units = {1},
			values = {24, 27, 30},
			haste = "+5 %",
			durationHaste = "10 seconds",
			rarity = 2,
			desc =
				"When a Survivor becomes injured by any means, #pn activates for #pl(1):" ..
				list(
					"Vaulting a " .. b("Window") .. " while #pn is active grants a " .. clror("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot,
					nbullet .. "This effect cannot stack with itself.")
		},
	},
	["Undone"] =
	{
		{
			version = "7.6.0 (PTB)",
			units = {5, 4, 1},
			values = {18, 24, 30, 18, 24, 30, 18, 24, 30}, 
			tokenGain = "+3 Tokens",
			penalty = "-1 %",
			duration = "1 second",
			cooldown = "60 seconds", 
			rarity = 2,
			desc =
				"For every " .. i("Repair or Healing Skill Check") .. " failed by a Survivor, #pn gains " .. clror("#tokenGain") .. ", up to a maximum of #pl(1)." .. br ..
				"Performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. " consumes all accumulated Tokens and applies the following effects:" ..
				list(
					"Instantly regresses the damaged " .. b("Generator") .. " by a stack-able " .. clro("#penalty") .. " of its total Progression per Token, up to a maximum of #pl(2).",
					b("Blocks") .. " the damaged " .. b("Generator") .. " for " .. clro("#duration") .. " per Token, up to a maximum of #pl(3).",
					"Causes the damaged " .. b("Generator") .. " to start regressing once it becomes unblocked.") ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
	},
	["Unforeseen"] =
	{
		{
			version = "7.6.0 (PTB)",
			units = {1},
			values = {22, 26, 30},
			cooldown = "30 seconds", 
			rarity = 2,
			desc =
				"After performing the " .. i("Damage Generator") .. " action on a " .. b("Generator") .. ", you benefit from the following effects for #pl(1):" ..
				list(
					"Transfers your " .. i("Terror Radius") .. " to the damaged " .. b("Generator") .. dot,
					nbullet .. "This " .. i("Terror Radius") .. " is set to " .. clror("#radius") .. dot,
					"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. dot) ..
				"#pn has a cool-down of " .. clro("#cooldown") .. dot
		},
	},
	["Unnerving Presence"] =
	{
		{
			version = "3.6.0",
			units = {4},
			values = {40, 50, 60},
			skillCheckChance = "+10 %",
			rarity = 1,
			desc =
				"While inside your " .. i("Terror Radius") .. ", Survivors performing " .. i("Repairing") .. " or " .. i("Healing") .. " actions suffer from the following effects:" ..
				list(
					b("Increases") .. " the chances of triggering a " .. i("Skill Check") .. " by " .. clror("#skillCheckChance") .. dot,
					b("Reduces") .. " the Good Success zone of those " .. i("Skill Checks") .. " by #pl(1).") 
		},
		{
			version = "2.6.2",
			units = {4},
			values = {40, 50, 60},
			skillCheckChance = "+10 %",
			rarity = 1,
			desc =
				"While inside your " .. i("Terror Radius") .. ", Survivors performing " .. i("Repairing, Healing") .. " or " .. i("Sabotage") .. " actions suffer from the following effects:" ..
				list(
					b("Increases") .. " the chances of triggering a " .. i("Skill Check") .. " by " .. clror("#skillCheckChance") .. dot,
					b("Reduces") .. " the Good Success zone of those " .. i("Skill Checks") .. " by #pl(1).") 
		},
		{
			version = "1.7.0",
			units = {4, 4},
			values = {6, 8, 10, 40, 50, 60},
			rarity = 1,
			desc =
				"While inside your " .. i("Terror Radius") .. ", Survivors performing " .. i("Repairing, Healing") .. " or " .. i("Sabotage") .. " actions suffer from the following effects:" ..
				list(
					b("Increases") .. " the chances of triggering a " .. i("Skill Check") .. " by #pl(1).",
					b("Reduces") .. " the Good Success zone of those " .. i("Skill Checks") .. " by #pl(2).") 
		},
		{
			version = "1.0.0",
			units = {4, 4},
			values = {3, 5, 8, 5, 10, 15},
			rarity = 1,
			desc =
				"While inside your " .. i("Terror Radius") .. ", Survivors performing " .. i("Repairing, Healing") .. " or " .. i("Sabotage") .. " actions suffer from the following effects:" ..
				list(
					b("Increases") .. " the chances of triggering a " .. i("Skill Check") .. " by #pl(1).",
					b("Reduces") .. " the Good Success zone of those " .. i("Skill Checks") .. " by #pl(2).") 
		},
	},
	["Unrelenting"] =
	{
		{
			version = "1.4.0",
			units = {4},
			values = {20, 25, 30},
			rarity = 2,
			desc =
				i("Basic Attacks") .. " benefit from the following effect:" ..
                list(b("Reduces") .. " the Cool-down time of missed attacks by #pl(1).")
		},
		{
			version = "1.2.0",
			units = {4, 4},
			values = {16, 22, 30, 10, 16, 22},
			rarity = 2,
			desc =
				i("Basic Attacks") .. " benefit from the following effects:" ..
                list(
                	b("Reduces") .. " the Cool-down time of missed attacks by #pl(1).",
                	b("Reduces") .. " the Cool-down time of successful attacks by #pl(2).")
		},
		{
			version = "1.0.0",
			units = {4, 4},
			values = {3, 6, 9, 2, 4, 6},
			rarity = 2,
			desc =
				i("Basic Attacks") .. " benefit from the following effects:" ..
                list(
                	b("Reduces") .. " the Cool-down time of missed attacks by #pl(1).",
                	b("Reduces") .. " the Cool-down time of successful attacks by #pl(2).")
		},
	},
	["Up the Ante"] =
	{
		{
			version = "9.0.0",
			units = {4, 4},
			values = {1, 2, 3, 3, 6, 9}, 
			tokenGain = "+1 Token", 
			rarity = 2,
			desc =
				"Unlocks the ability to attempt " .. i("Self-Unhooks") .. " during the first " .. i("Hook Stage") .. " for all Survivors." .. br ..
				"For every Survivor still in the Trial, #pn is granted " .. clror("#tokenGain") .. colon ..
				list(b("Increases") .. " the " .. b("Luck") .. " at succeeding " .. i("Self-Unhook") .. " attempts for all Survivors by a stack-able #pl(1) per Token, up to a maximum of #pl(2).")
		},
		{
			version = "1.3.1",
			units = {4, 4},
			values = {1, 2, 3, 3, 6, 9}, 
			tokenGain = "+1 Token", 
			rarity = 3,
			desc =
				"For every Survivor still in the Trial, #pn is granted " .. clror("#tokenGain") .. colon ..
				list(b("Increases") .. " the " .. b("Luck") .. " at succeeding " .. i("Self-Unhook") .. " attempts for all Survivors by a stack-able #pl(1) per Token, up to a maximum of #pl(2).")
		},
	},
	-- V Perks --
	["Vigil"] =
	{
		{
			version = "9.2.0",
			units = {4},
			values = {43, 55, 66},
			range = "16 metres",
			linger = "15 seconds",
			rarity = 2,
			desc =
				"You recover #pl(1) faster from the following:" ..
				list("The " .. b(i("Blindness, Broken, Exhausted, Exposed, Haemorrhage, Hindered, Mangled") .. ", and " .. i("Oblivious") .. space .. "Status Effects") .. dot) ..
				"#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. " after leaving its " .. i("Area of Effect") .. dot .. br ..
				loadoutStrings.singleInstancePerk
		},
		{
			version = "8.5.0",
			units = {4},
			values = {43, 55, 66},
			range = "16 metres",
			linger = "15 seconds",
			rarity = 2,
			desc =
				"You recover #pl(1) faster from the following:" ..
				list("The " .. b(i("Blindness, Broken, Exhausted, Exposed, Haemorrhage, Hindered, Mangled") .. ", and " .. i("Oblivious") .. space .. "Status Effects") .. dot) ..
				"#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. " after leaving its " .. i("Area of Effect") .. dot .. br ..
				loadoutStrings.multiInstancePerk
		},
		{
			version = "7.6.0",
			units = {4},
			values = {20, 25, 30},
			range = "8 metres",
			linger = "15 seconds",
			rarity = 2,
			desc =
				"You recover #pl(1) faster from the following:" ..
				list("The " .. b(i("Blindness, Broken, Exhausted, Exposed, Haemorrhage, Hindered, Mangled") .. ", and " .. i("Oblivious") .. space .. "Status Effects") .. dot) ..
				"#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. " after leaving its " .. i("Area of Effect") .. dot .. br ..
				loadoutStrings.multiInstancePerk
		},
		{
			version = "5.3.0",
			units = {4},
			values = {20, 25, 30},
			range = "8 metres",
			linger = "15 seconds",
			rarity = 2,
			desc =
				"You recover #pl(1) faster from the following:" ..
				list("The " .. b(i("Blindness, Broken, Exhausted, Exposed, Haemorrhage, Hindered") .. ", and " .. i("Oblivious") .. space .. "Status Effects") .. dot) ..
				"#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. " after leaving its " .. i("Area of Effect") .. dot .. br ..
				loadoutStrings.multiInstancePerk
		},
		{
			version = "4.5.0",
			units = {4},
			values = {10, 15, 20},
			range = "8 metres",
			linger = "15 seconds",
			rarity = 2,
			desc =
				"You recover #pl(1) faster from the following:" ..
				list("The " .. b(i("Blindness, Exhausted, Haemorrhage") .. ", and " .. i("Hindered") .. space .. "Status Effects") .. dot) ..
				"#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. " after leaving its " .. i("Area of Effect") .. dot .. br ..
				loadoutStrings.multiInstancePerk
		},
		{
			version = "2.3.0",
			units = {4},
			values = {10, 15, 20},
			range = "8 metres",
			linger = "15 seconds",
			rarity = 2,
			desc =
				"You recover #pl(1) faster from the following:" ..
				list("The " .. b(i("Blindness, Exhausted, Haemorrhage, Hindered") .. ", and " .. i("Mangled") .. space .. "Status Effects") .. dot) ..
				"#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. " after leaving its " .. i("Area of Effect") .. dot .. br ..
				loadoutStrings.multiInstancePerk
		},
		{
			version = "1.8.0",
			units = {4},
			values = {10, 15, 20},
			range = "8 metres",
			rarity = 2,
			desc =
				"You recover #pl(1) faster from the following:" ..
				list("The " .. b(i("Blindness, Exhausted, Haemorrhage, Hindered") .. ", and " .. i("Mangled") .. space .. "Status Effects") .. dot) ..
				"#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location." .. br ..
				loadoutStrings.multiInstancePerk
		},
	},
	-- W Perks --
	["Wake Up!"] =
	{
		{
			version = "8.5.0",
			units = {4, 4},
			values = {8, 10, 12.5, 32, 40, 50},
			range = "128 metres",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Once all " .. b("Generators") .. " are completed, #pn activates:" ..
				list(
					"The Auras of the " .. b("Exit Gate Switches") .. " are revealed to you permanently while within " .. clror("#range") .. dot,
					"Your Aura is revealed to all other Survivors within " .. clro("#range") .. " while you are opening an " .. b("Exit Gate") .. dot,
					b("Increases") .. " your Gate-Opening speed by a stack-able #pl(1) for each Survivor still alive in the Trial, including yourself, up to a maximum of #pl(2).")
		},
		{
			version = "5.5.0",
			units = {4},
			values = {15, 20, 25},
			range = "128 metres",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Once all " .. b("Generators") .. " are completed, #pn activates:" ..
				list(
					"The Auras of the " .. b("Exit Gate Switches") .. " are revealed to you permanently while within " .. clror("#range") .. dot,
					"Your Aura is revealed to all other Survivors within " .. clro("#range") .. " while you are opening an " .. b("Exit Gate") .. dot,
					b("Increases") .. " your Gate-Opening speed by #pl(1).")
		},
		{
			version = "2.6.0",
			units = {4},
			values = {5, 10, 15},
			range = "128 metres",
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Once all " .. b("Generators") .. " are completed, #pn activates:" ..
				list(
					"The Auras of the " .. b("Exit Gate Switches") .. " are revealed to you permanently while within " .. clror("#range") .. dot,
					"Your Aura is revealed to all other Survivors within " .. clro("#range") .. " while you are opening an " .. b("Exit Gate") .. dot,
					b("Increases") .. " your Gate-Opening speed by #pl(1).")
		},
		{
			version = "1.8.0",
			units = {3, 4},
			values = {24, 48, "unlimited", 5, 10, 15},
			rarity = 1,
			desc =
				"Unlocks potential in your Aura-reading ability." .. br ..
				"Once all " .. b("Generators") .. " are completed, #pn activates:" ..
				list(
					"The Auras of the " .. b("Exit Gate Switches") .. " are revealed to you permanently while within #pl(1).",
					"Your Aura is revealed to all other Survivors within #pl(1) while you are opening an " .. b("Exit Gate") .. dot,
					b("Increases") .. " your Gate-Opening speed by #pl(2).")
		},
	},
	["Wandering Eye"] =
	{
		{
			version = "9.2.0",
			units = {1},
			values = {40, 35, 30},
			auras = {"20 metres", "5 seconds"}, 
			rarity = 2,
			desc =
                "Whenever you start chasing a Survivor, #pn triggers the following effect:" ..
                list("The Auras of all other injured Survivors within " .. clror("#auras(1)") .. " of your location are revealed to you for " .. clro("#auras(2)") .. dot) ..
                "#pn has a cool-down of #pl(1)."
    	},
    	{
			version = "9.2.0 (PTB)",
			units = {1},
			values = {40, 35, 30},
			auras = {"16 metres", "5 seconds"}, 
			rarity = 2,
			desc =
                "Whenever you start chasing a Survivor, #pn triggers the following effect:" ..
                list("The Auras of all other injured Survivors within " .. clror("#auras(1)") .. " of your location are revealed to you for " .. clro("#auras(2)") .. dot) ..
                "#pn has a cool-down of #pl(1)."
    	},
    },
	["Weave Attunement"] =
	{
		{
			version = "8.4.1",
			units = {1},
			values = {20, 25, 30},
			range = "12 metres",
			rarity = 2,
			desc =
				"You are so attuned to magical energies that you can sense even minor ripples around enchantments." .. nlp ..
				"Whenever an " .. b("Item") .. " is depleted for the first time, it is automatically dropped:" ..
				list(
					"The Auras of dropped " .. b("Survivor Items") .. " are revealed to you, as well as the Auras of any Survivors within " .. clror("#range") .. " of them.",
					nbullet .. "Affected Survivors see the Aura of that " .. b("Item") .. " as well.",
					"Causes Survivors picking up a " .. b("Survivor Item") .. " to suffer from the " .. i(b("Oblivious")) .. space .. b("Status Effects") .. " for #pl(1).")
		},
		{
			version = "8.4.0",
			units = {1},
			values = {20, 25, 30},
			range = "8 metres",
			rarity = 2,
			desc =
				"You are so attuned to magical energies that you can sense even minor ripples around enchantments." .. nlp ..
				"Whenever an " .. b("Item") .. " is depleted for the first time, it is automatically dropped:" ..
				list(
					"The Auras of dropped " .. b("Survivor Items") .. " are revealed to you, as well as the Auras of any Survivors within " .. clror("#range") .. " of them.",
					nbullet .. "Affected Survivors see the Aura of that " .. b("Item") .. " as well.",
					"Causes Survivors picking up a " .. b("Survivor Item") .. " to suffer from the " .. i(b("Oblivious")) .. space .. b("Status Effects") .. " for #pl(1).")
		},
		{
			version = "8.0.0",
			units = {1},
			values = {20, 25, 30},
			range = "12 metres",
			rarity = 2,
			desc =
				"You are so attuned to magical energies that you can sense even minor ripples around enchantments." .. nlp ..
				"Whenever an " .. b("Item") .. " is depleted for the first time, it is automatically dropped:" ..
				list(
					"The Auras of dropped " .. b("Survivor Items") .. " are revealed to you, as well as the Auras of any Survivors within " .. clror("#range") .. " of them.",
					"Causes Survivors picking up a " .. b("Survivor Item") .. " to suffer from the " .. i(b("Oblivious")) .. space .. b("Status Effects") .. " for #pl(1).")
		},
	},
	["We'll Make It"] =
	{
		{
			version = "4.0.2",
			units = {1},
			values = {30, 60, 90},
			effect = "+100 %",
			rarity = 2,
			desc =
				"After unhooking another Survivor, #pn activates for #pl(1):" ..
            	list(b("Increases") .. " your Altruistic Healing speed by " .. clror("#effect") .. dot)
		},
		{
			version = "2.6.0",
			units = {1},
			values = {30, 60, 90},
			effect = "+100 %",
			rarity = 2,
			desc =
				"After unhooking another Survivor, #pn activates for #pl(1):" ..
            	list(b("Increases") .. " your Altruistic Healing speed by " .. clror("#effect") .. dot) ..
            	loadoutStrings.noStackingPerk
		},
		{
			version = "1.0.2",
			units = {4, 1},
			values = {25, 50, 100, 30, 60, 90},
			maxStack = "+100 %",
			rarity = 2,
			desc =
				"After unhooking another Survivor, #pn activates for #pl(2):" ..
            	list(b("Increases") .. " your Altruistic Healing speed by a stack-able #pl(1) per total number of Survivors you unhooked, up to a maximum of " .. clror("#maxStack") .. dot)
		},
		{
			version = "1.0.0",
			units = {4, 4, 1},
			values = {25, 50, 100, 100, 200, 300, 60, 90, 120},
			rarity = 2,
			desc =
				"After unhooking another Survivor, #pn activates for #pl(3):" ..
            	list(b("Increases") .. " your Altruistic and Personal Healing speeds by a stack-able #pl(1) per total number of Survivors you unhooked, up to a maximum of #pl(2).")
		},
	},
	["We're Gonna Live Forever"] =
	{
		{
			version = "8.3.2",
			units = {1},
			values = {6, 8, 10},
			healing = "+100 %",
			cooldown = "30 seconds",
			rarity = 2,
			desc =
				"Your few friends deserve the best protection." .. nlp ..
				"You benefit from the following effect when healing a dying Survivor:" ..
				list(b("Increases") .. " your Healing speed by " .. clror("#healing") .. dot) ..
				"Any dying Survivor you heal back to the Injured State benefits from the following effect:" ..
				list(
					"Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for #pl(1).",
					nbullet .. "This effect can only be triggered once every " .. clro("#cooldown") .. dot)
		},
		{
			version = "8.3.0",
			units = {1},
			values = {6, 8, 10},
			healing = "+150 %",
			cooldown = "30 seconds",
			rarity = 2,
			desc =
				"Your few friends deserve the best protection." .. nlp ..
				"You benefit from the following effect when healing a dying Survivor:" ..
				list(b("Increases") .. " your Healing speed by " .. clror("#healing") .. dot) ..
				"Any dying Survivor you heal back to the Injured State benefits from the following effect:" ..
				list(
					"Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for #pl(1).",
					nbullet .. "This effect can only be triggered once every " .. clro("#cooldown") .. dot)
		},
		{
			version = "6.1.0",
			units = {1},
			values = {6, 8, 10},
			healing = "+100 %",
			rarity = 2,
			desc =
				"Your few friends deserve the best protection." .. nlp ..
				"You benefit from the following effect when healing a dying Survivor:" ..
				list(b("Increases") .. " your Healing speed by " .. clror("#healing") .. dot) ..
				"Whenever you perform any of the following actions, #pn is granted " .. clro("+1 Token") .. ", up to a maximum of " .. clro("4 Tokens") .. colon ..
				list(
					"Performing a " .. i("Safe Unhook") .. dot,
					"Taking a " .. i("Protection Hit") .. dot,
					"Stunning or blinding the Killer by any means to rescue a carried Survivor.") ..
				"Any dying Survivor you heal back to the Injured State benefits from the following effect in exchange for consuming " .. clro("-1 Token") .. colon ..
				list("Grants the " .. b(i("Endurance") .. space .. "Status Effect") .. " for #pl(1).")
		},
		{
			version = "4.3.0",
			units = {4},
			values = {50, 75, 100},
			healing = "+100 %",
			bonus = "+25 %",
			rarity = 2,
			desc =
				"Your few friends deserve the best protection." .. nlp ..
				"You benefit from the following effect when healing a dying Survivor:" ..
				list(b("Increases") .. " your Healing speed by " .. clror("#healing") .. dot) ..
				"Whenever you perform any of the following actions, #pn is granted " .. clro("+1 Token") .. ", up to a maximum of " .. clro("4 Tokens") .. colon ..
				list(
					"Performing a " .. i("Safe Unhook") .. dot,
					"Taking a " .. i("Protection Hit") .. dot,
					"Stunning or blinding the Killer by any means to rescue a carried Survivor.") ..
				"Grants a stack-able " .. clro("#bonus") .. " bonus per accumulated Token to all Bloodpoints, up to a maximum of #pl(1)." .. nlp ..
				loadoutStrings.bonusBPAfterTrial
		},
		{
			version = "2.7.0",
			units = {4},
			values = {50, 75, 100},
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Your few friends deserve the best protection." .. nlp ..
				"Whenever you perform a " .. i("Safe Unhook") ..  " or take a " .. i("Protection Hit") .. ", #pn is granted " .. clror("+1 Token") .. ", up to a maximum of " .. clro("4 Tokens") .. colon ..
				list(
					"Grants a stack-able " .. clro("#bonus") .. " bonus per accumulated Token to all Bloodpoints, up to a maximum of #pl(1).") ..
				loadoutStrings.bonusBPAfterTrial
		},
		{
			version = "1.7.0",
			units = {4},
			values = {50, 75, 100},
			bonus = "+25 %",
			rarity = 1,
			desc =
				"Your few friends deserve the best protection." .. nlp ..
				"Whenever you unhook another Survivor or take a " .. i("Protection Hit") .. ", #pn is granted " .. clror("+1 Token") .. ", up to a maximum of " .. clro("4 Tokens") .. colon ..
				list(
					"Grants a stack-able " .. clro("#bonus") .. " bonus per accumulated Token to all Bloodpoints, up to a maximum of #pl(1).") ..
				loadoutStrings.bonusBPAfterTrial
		},
		{
			version = "1.6.0",
			units = {4},
			values = {100, 150, 200},
			bonus = "+50 %",
			rarity = 1,
			desc =
				"Your few friends deserve the best protection." .. nlp ..
				"Whenever you unhook another Survivor or take a " .. i("Protection Hit") .. ", #pn is granted " .. clror("+1 Token") .. ", up to a maximum of " .. clro("4 Tokens") .. colon ..
				list(
					"Grants a stack-able " .. clro("#bonus") .. " bonus per accumulated Token to all Bloodpoints, up to a maximum of #pl(1).") ..
				loadoutStrings.bonusBPAfterTrial
		},
	},
	["Wicked"] =
	{
		{
			version = "9.3.2",
			units = {1},
			values = {16, 18, 20}, 
			chance = "100 %",
			rarity = 2,
			desc =
				"After you are unhooked by any means, #pn triggers the following effect:" ..
				list("The Aura of the Killer is revealed to you for #pl(1).") ..
				"While hooked inside the " .. i("Basement") .. ", #pn potentially triggers the following effect:" ..
				list(
					bclr("faded jade", "First Hook Stage") .. colon .. space .. clror("#chance") .. " to succeed an attempted " .. i("Self-Unhook") .. dot,
					bclr("faded jade", "Second Hook Stage") .. colon .. space .. " Does not trigger the effect.",
					bclr("yellow", "Last Survivor Standing") .. colon .. space .. " Does not trigger the effect.")
		},
		{
			version = "9.3.0 (PTB)",
			ptbOnly = true,
			units = {4},
			values = {30, 40, 50}, 
			chance = "100 %",
			rarity = 2,
			desc =
				"After you are unhooked by any means, #pn triggers the following effects:" ..
				list(
					bclr("faded jade", "Any Hook") .. colon .. space .. b("Suppresses") .. " the usual " .. i("Loud Noise Notification") .. " to the Killer.",
					bclr("faded jade", "Basement Hook") .. colon .. space .. "Additionally grants you #pl(1) of Healing progression.") ..
				"While hooked inside the " .. i("Basement") .. ", #pn potentially triggers the following effect:" ..
				list(
					bclr("faded jade", "First Hook Stage") .. colon .. space .. clror("#chance") .. " to succeed an attempted " .. i("Self-Unhook") .. dot,
					bclr("faded jade", "Second Hook Stage") .. colon .. space .. " Does not trigger the effect.",
					bclr("yellow", "Last Survivor Standing") .. colon .. space .. " Does not trigger the effect.")
		},
		{
			version = "7.6.0",
			units = {1},
			values = {16, 18, 20}, 
			chance = "100 %",
			rarity = 2,
			desc =
				"After you are unhooked by any means, #pn triggers the following effect:" ..
				list("The Aura of the Killer is revealed to you for #pl(1).") ..
				"While hooked inside the " .. i("Basement") .. ", #pn potentially triggers the following effect:" ..
				list(
					bclr("faded jade", "First Hook Stage") .. colon .. space .. clror("#chance") .. " to succeed an attempted " .. i("Self-Unhook") .. dot,
					bclr("faded jade", "Second Hook Stage") .. colon .. space .. " Does not trigger the effect.",
					bclr("yellow", "Last Survivor Standing") .. colon .. space .. " Does not trigger the effect.")
		},
		{
			version = "7.6.0 (PTB)",
			units = {4},
			values = {8, 9, 10}, 
			tokenStart = "1 Token",
			tokenGain = "+1 Token",
			tokenChargeTime = "15 seconds",
			tokenLimit = "5 Tokens",
			bonusStack = "+20 %",
			bonusMax = "+100 %",
			rarity = 2,
			desc =
				"You start the Trial with " .. clror("#tokenStart") .. dot .. br ..
				"Staying inside the " .. i("Basement") .. " grants " .. clro("#tokenGain") .. " every " .. clro("#tokenChargeTime") .. ", up to a maximum of " .. clro("#tokenLimit") .. colon ..
				list(b("Increases") .. " the Recovery rate from the " .. b(i("Mangled") .. space .. "Status Effect") .. " by " .. clro("#bonusStack") .. " per Token, up to a maximum of " .. clro("#bonusMax") .. dot) ..
				"While suffering from the " .. b(i("Cursed") .. space .. "Status Effect") .. ", you benefit from the following effect:" .. 
				list(b("Increases") .. " your Healing speed by #pl(1).")
		},
	},
	["Wiretap"] =
	{
		{
			version = "8.2.0",
			units = {1},
			values = {100, 110, 120},
			activation = "40 %",
			range = "14 metres",
			rarity = 2,
			desc =
				"You know that the best way to stay one step ahead is to keep tabs on the competition." .. nlp ..
				"After repairing " .. b("Generators") .. " for a total of " .. clror("#activation") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " while near a partially progressed " .. b("Generator") .. " to install a " .. i("Trap") .. ", which stays active for #pl(1).",
					"Whenever the Killer comes within " .. clro("#range") .. " of the " .. i("Trapped Generator") .. " their Aura is revealed to all Survivors.") ..
					"#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
		{
			version = "7.2.0",
			units = {1},
			values = {100, 110, 120},
			activation = "50 %",
			range = "14 metres",
			rarity = 2,
			desc =
				"You know that the best way to stay one step ahead is to keep tabs on the competition." .. nlp ..
				"After repairing " .. b("Generators") .. " for a total of " .. clror("#activation") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " while near a partially progressed " .. b("Generator") .. " to install a " .. i("Trap") .. ", which stays active for #pl(1).",
					"Whenever the Killer comes within " .. clro("#range") .. " of the " .. i("Trapped Generator") .. " their Aura is revealed to all Survivors.") ..
					"#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
		{
			version = "7.1.0",
			units = {1},
			values = {100, 110, 120},
			activation = "50 %",
			duration = "3 seconds",
			range = "14 metres",
			rarity = 2,
			desc =
				"You know that the best way to stay one step ahead is to keep tabs on the competition." .. nlp ..
				"After repairing " .. b("Generators") .. " for a total of " .. clror("#activation") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " after repairing a " .. b("Generator") .. " for " .. clro("#duration") .. " to install a " .. i("Trap") .. ", which stays active for #pl(1).",
					"Whenever the Killer comes within " .. clro("#range") .. " of the " .. i("Trapped Generator") .. " their Aura is revealed to all Survivors.") ..
					"#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
		{
			version = "6.2.0",
			units = {1},
			values = {60, 70, 80},
			activation = "33 %",
			duration = "3 seconds",
			range = "14 metres",
			rarity = 2,
			desc =
				"You know that the best way to stay one step ahead is to keep tabs on the competition." .. nlp ..
				"After repairing " .. b("Generators") .. " for a total of " .. clror("#activation") .. ", #pn activates:" ..
				list(
					"Press the " .. loadoutStrings.activeAbilityButton .. " after repairing a " .. b("Generator") .. " for " .. clro("#duration") .. " to install a " .. i("Trap") .. ", which stays active for #pl(1).",
					"Whenever the Killer comes within " .. clro("#range") .. " of the " .. i("Trapped Generator") .. " their Aura is revealed to all Survivors.") ..
					"#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." .. nlp ..
				loadoutStrings.trappedGenerators
		},
	},
	-- X Perks --
	-- Y Perks --
	-- Z Perks --
	["Zanshin Tactics"] =
	{
		{
			version = "8.3.2",
			units = {1},
			values = {3, 4, 5},
			radius = "32 metres",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of " .. b("Pallets") .. " and " .. b("Windows") .. " are revealed to you within " .. clror ("#radius") .. dot) ..
				"Whenever a Survivor drops a " .. b("Pallet") .. ", #pn triggers the following effect:" ..
				list("Their Aura is revealed to you for #pl(1).")
		},
		{
			version = "8.3.0",
			units = {1},
			values = {6, 7, 8},
			radius = "32 metres",
			rarity = 2,
			notice = "This Patch also updated the introductory flavour text.",
			desc =
				i("You are mentally alert and aware of key points on the battlefield and nearby enemies in retreat.") .. nlp ..
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of " .. b("Pallets") .. " and " .. b("Windows") .. " are revealed to you within " .. clror ("#radius") .. dot) ..
				"Whenever a Survivor drops a " .. b("Pallet") .. ", #pn triggers the following effect:" ..
				list("Their Aura is revealed to you for #pl(1).")
		},
		{
			version = "4.7.0",
			units = {3},
			values = {24, 28, 32},
			radius = "32 metres",
			rarity = 2,
			desc =
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of " .. b("Breakable Walls") .. comma .. b("Pallets") .. ", and " .. b("Windows") .. " are revealed to you within #pl(1).")
		},
		{
			version = "3.4.0",
			units = {1},
			values = {40, 35, 30},
			radius = "24 metres",
			rarity = 1,
			desc =
				i("You are mentally alert and aware of key points on the battlefield.") .. nlp ..
				"Unlocks potential in your Aura-reading ability:" ..
				list("The Auras of " .. b("Breakable Walls") .. comma .. b("Pallets") .. ", and " .. b("Windows") .. " are revealed to you within " .. clror("#radius") .. dot) ..
				"#pn has a cool-down of #pl(1) after damaging a Survivor."
		},
	},
}

p.powerDescriptionsHistory = {
	["Carter's Spark"] =
	{
		{
			version = "8.2.0",
			madnessSkillCheckTier1 = "33 %",
			madnessSkillCheckTier2 = "66 %",
			madnessSkillCheckTier3 = "100 %",
			snapOutOfItDuration = "12 seconds",
			shockTherapySpeed = "3.08 m/s",
			shockTherapyMadness = "+0.5 Tiers",
			shockTherapyRange = "12 metres",
			shockTherapyDetonation = "0.8 seconds",
			shockTherapyBlock = "2.5 seconds",
			staticBlastSpeed = "2.99 m/s",
			staticBlastMadness = "+1 Tier",
			staticBlastCooldownShort = "30 seconds",
			staticBlastCooldownLong = "45 seconds",
			desc =
			b("SPECIAL ABILITY: CARTER'S SPARK") .. br ..
            "Striking Survivors with his electro-convulsive abilities, " .. b("The Doctor") .. " causes them to suffer from the tiered " .. i(b("Madness")) .. space .. b("Status Effect") .. dot .. dbr ..
            
            b("SPECIAL AFFLICTION: MADNESS") .. br ..
            b(i("Madness")) .. " causes increasingly potent afflictions in the affected Survivors, depending on its current tier." .. nlp ..
            "Once " .. b(i("Madness")) .. " is obtained, Survivors are unable to lose it and may only reset it to " .. b("Tier I") .. " by performing the " .. i("Snap Out of It") .. " interaction." .. dbr ..
            
            b(i("Madness I")) .. " has the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clror("#madnessSkillCheckTier1") .. " to be " .. i("Madness Skill Checks") .. dot) .. br ..
            
            b(i("Madness II")) .. " has the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clro("#madnessSkillCheckTier2") .. " to be " .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot) .. br ..
            
            b(i("Madness III")) .. " has the following permanent effects until Survivors " .. i("Snap Out of It") .. colon .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up and continue doing so intermittently every few seconds.",
            	i("Skill Checks") .. " are " .. clro("#madnessSkillCheckTier3") .. space .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot,
            	nbullet .. "The Auras of " .. b(i("Illusionary Doctors")) .. " are revealed to " .. b("The Doctor") .. dot,
            	b("Suppresses") .. " the ability to use any equipped " .. b("Item") .. dot,
            	b("Suppresses") .. " the ability to perform, or have performed on themselves, any interaction with a Progress bar.",
            	nbullet .. "Unhooking other Survivors is exempt from this restriction.") .. br ..
            
            b("SPECIAL INTERACTION: SNAP OUT OF IT") .. br ..
            "Survivors having reached " .. b(i("Madness III")) .. " can perform the " .. i("Snap Out of It") .. " interaction for " .. clro("#snapOutOfItDuration") .. colon ..
            list(
            	"Triggers " .. i("Madness Skill Checks") .. " at each quadrant of the Progress bar.",
            	"Succeeding them continues the interaction.",
            	"Failing them has the following repercussions:",
            	nbullet .. "Interrupts the action and resets its Progress to the previous quadrant.",
            	nbullet .. "Causes the Survivor to scream and reveal their location.",
            	"Completing the interaction resets " .. b(i("Madness")) .. " to " .. i("Tier I") .. dot) .. br ..
            
            b("SPECIAL ABILITY: SHOCK THERAPY") .. br .. 
            "Press and hold the " .. loadoutStrings.powerButton .. " to perform a " .. i("Shock Therapy Attack") .. ", unleashing a cone-shaped ranged shock attack on the ground in front of " .. b("The Doctor") .. colon ..
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#shockTherapySpeed") .. " while charging.",
            	i("Shock Therapy") .. " has a range of " .. clro("#shockTherapyRange") .. " and detonates with a delay of " .. clro("#shockTherapyDetonation") .. dot) ..
            "Survivors struck with a " .. i("Shock Therapy Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#shockTherapyMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.",
            	b("Suppresses") .. " their ability to perform any interactions, including with " .. b("Pallets") .. " and " .. b("Windows") .. " for " .. clro("#shockTherapyBlock") .. dot) .. 
            "Survivors suffering from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " when struck by " .. i("Shock Therapy") .. " have it removed immediately." .. dbr ..
            
            b("SPECIAL ABILITY: STATIC BLAST") .. br .. 
            "Press and hold the " .. loadoutStrings.secondaryPowerButton .. ", once the Power Gauge is full, to perform a " .. i("Static Blast Attack") .. ", unleashing a ranged shock attack that propagates outwards from " .. b("The Doctor") .. colon .. 
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#staticBlastSpeed") .. " while charging.",
            	i("Static Blast") .. " passes through any obstacles and covers his entire " .. i("Terror Radius") .. dot) ..
            "Survivors struck with a " .. i("Static Blast Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#staticBlastMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.") .. 
            "Survivors can prevent being struck by " .. i("Static Blast") .. " by hiding inside a " .. b("Locker") .. dot .. br ..
            "Survivors suffering from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " when struck by " .. i("Static Blast") .. " have it removed immediately." .. nlp ..
            i("Static Blast") .. " has a variable cool-down:" .. 
            list(
            	clro("#staticBlastCooldownShort") .. " while no Survivors are in its range.",
            	clro("#staticBlastCooldownLong") .. " while at least one Survivor is in its range.")
		},
		{
			version = "7.6.0",
			madnessSkillCheckTier1 = "33 %",
			madnessSkillCheckTier2 = "66 %",
			madnessSkillCheckTier3 = "100 %",
			snapOutOfItDuration = "12 seconds",
			shockTherapySpeed = "3.08 m/s",
			shockTherapyMadness = "+0.5 Tiers",
			shockTherapyRange = "12 metres",
			shockTherapyDetonation = "0.8 seconds",
			shockTherapyBlock = "2.5 seconds",
			staticBlastSpeed = "1.16 m/s",
			staticBlastMadness = "+1 Tier",
			staticBlastCooldown = "60 seconds",
			desc =
			b("SPECIAL ABILITY: CARTER'S SPARK") .. br ..
            "Striking Survivors with his electro-convulsive abilities, " .. b("The Doctor") .. " increasingly causes them to suffer from the tiered " .. i(b("Madness")) .. space .. b("Status Effect") .. dot .. dbr ..
            
            b("SPECIAL AFFLICTION: MADNESS") .. br ..
            b(i("Madness")) .. " causes increasingly potent afflictions in the affected Survivors, depending on its current tier." .. nlp ..
            "Once " .. b(i("Madness")) .. " is obtained, Survivors are unable to lose it and may only reset it to " .. b("Tier I") .. " by performing the " .. i("Snap Out of It") .. " interaction." .. dbr ..
            
            b(i("Madness I")) .. " has the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clror("#madnessSkillCheckTier1") .. " to be " .. i("Madness Skill Checks") .. dot) .. br ..
            
            b(i("Madness II")) .. " has the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clro("#madnessSkillCheckTier2") .. " to be " .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot) .. br ..
            
            b(i("Madness III")) .. " has the following permanent effects until Survivors " .. i("Snap Out of It") .. colon .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up and continue doing so intermittently every few seconds.",
            	i("Skill Checks") .. " are " .. clro("#madnessSkillCheckTier3") .. space .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot,
            	nbullet .. "The Auras of " .. b(i("Illusionary Doctors")) .. " are revealed to " .. b("The Doctor") .. dot,
            	b("Suppresses") .. " the ability to use any equipped " .. b("Item") .. dot,
            	b("Suppresses") .. " the ability to perform, or have performed on themselves, any interaction with a Progress bar.",
            	nbullet .. "Unhooking other Survivors is exempt from this restriction.") .. br ..
            
            b("SPECIAL INTERACTION: SNAP OUT OF IT") .. br ..
            "Survivors having reached " .. b(i("Madness III")) .. " can perform the " .. i("Snap Out of It") .. " interaction for " .. clro("#snapOutOfItDuration") .. colon ..
            list(
            	"Triggers " .. i("Madness Skill Checks") .. " at each quadrant of the Progress bar.",
            	"Succeeding them continues the interaction.",
            	"Failing them has the following repercussions:",
            	nbullet .. "Interrupts the action and resets its Progress to the previous quadrant.",
            	nbullet .. "Causes the Survivor to scream and reveal their location.",
            	"Completing the interaction resets " .. b(i("Madness")) .. " to " .. i("Tier I") .. dot) .. br ..
            
            b("SPECIAL ABILITY: SHOCK THERAPY") .. br .. 
            "Press and hold the " .. loadoutStrings.powerButton .. " to perform a " .. i("Shock Therapy Attack") .. ", unleashing a cone-shaped ranged shock attack on the ground in front of " .. b("The Doctor") .. colon ..
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#shockTherapySpeed") .. " while charging.",
            	i("Shock Therapy") .. " has a range of " .. clro("#shockTherapyRange") .. " and detonates with a delay of " .. clro("#shockTherapyDetonation") .. dot) ..
            "Survivors struck with a " .. i("Shock Therapy Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#shockTherapyMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.",
            	b("Suppresses") .. " their ability to perform any interactions, including with " .. b("Pallets") .. " and " .. b("Windows") .. " for " .. clro("#shockTherapyBlock") .. dot) .. 
            "Survivors suffering from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " when struck by " .. i("Shock Therapy") .. " have it removed immediately." .. dbr ..
            
            b("SPECIAL ABILITY: STATIC BLAST") .. br .. 
            "Press and hold the " .. loadoutStrings.secondaryPowerButton .. ", once the Power Gauge is full, to perform a " .. i("Static Blast Attack") .. ", unleashing a ranged shock attack that propagates outwards from " .. b("The Doctor") .. colon .. 
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#staticBlastSpeed") .. " while charging.",
            	i("Static Blast") .. " passes through any obstacles and covers his entire " .. i("Terror Radius") .. dot) ..
            "Survivors struck with a " .. i("Static Blast Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#staticBlastMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.") .. 
            "Survivors can prevent being struck by " .. i("Static Blast") .. " by hiding inside a " .. b("Locker") .. dot .. br ..
            "Survivors suffering from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " when struck by " .. i("Static Blast") .. " have it removed immediately." .. nlp ..
            i("Static Blast") .. " has a cool-down of " .. clro("#staticBlastCooldown") .. dot
		},
		{
			version = "3.6.0",
			madnessSkillCheckTier1 = "33 %",
			madnessSkillCheckTier2 = "66 %",
			madnessSkillCheckTier3 = "100 %",
			snapOutOfItDuration = "12 seconds",
			shockTherapySpeed = "3.08 m/s",
			shockTherapyMadness = "+0.5 Tiers",
			shockTherapyRange = "10.7 metres",
			shockTherapyDetonation = "1 second",
			shockTherapyBlock = "2.5 seconds",
			staticBlastSpeed = "1.16 m/s",
			staticBlastMadness = "+1 Tier",
			staticBlastCooldown = "60 seconds",
			desc =
			b("SPECIAL ABILITY: CARTER'S SPARK") .. br ..
            "Striking Survivors with his electro-convulsive abilities, " .. b("The Doctor") .. " increasingly causes them to suffer from the tiered " .. i(b("Madness")) .. space .. b("Status Effect") .. dot .. dbr ..
            
            b("SPECIAL AFFLICTION: MADNESS") .. br ..
            b(i("Madness")) .. " causes increasingly potent afflictions in the affected Survivors, depending on its current tier." .. nlp ..
            "Once " .. b(i("Madness")) .. " is obtained, Survivors are unable to lose it and may only reset it to " .. b("Tier I") .. " by performing the " .. i("Snap Out of It") .. " interaction." .. dbr ..
            
            b(i("Madness I")) .. " has the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clror("#madnessSkillCheckTier1") .. " to be " .. i("Madness Skill Checks") .. dot) .. br ..
            
            b(i("Madness II")) .. " has the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clro("#madnessSkillCheckTier2") .. " to be " .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot) .. br ..
            
            b(i("Madness III")) .. " has the following permanent effects until Survivors " .. i("Snap Out of It") .. colon .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up and continue doing so intermittently every few seconds.",
            	i("Skill Checks") .. " are " .. clro("#madnessSkillCheckTier3") .. space .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot,
            	nbullet .. "The Auras of " .. b(i("Illusionary Doctors")) .. " are revealed to " .. b("The Doctor") .. dot,
            	b("Suppresses") .. " the ability to use any equipped " .. b("Item") .. dot,
            	b("Suppresses") .. " the ability to perform, or have performed on themselves, any interaction with a Progress bar.",
            	nbullet .. "Unhooking other Survivors is exempt from this restriction.") .. br ..
            
            b("SPECIAL INTERACTION: SNAP OUT OF IT") .. br ..
            "Survivors having reached " .. b(i("Madness III")) .. " can perform the " .. i("Snap Out of It") .. " interaction for " .. clro("#snapOutOfItDuration") .. colon ..
            list(
            	"Triggers " .. i("Madness Skill Checks") .. " at each quadrant of the Progress bar.",
            	"Succeeding them continues the interaction.",
            	"Failing them has the following repercussions:",
            	nbullet .. "Interrupts the action and resets its Progress to the previous quadrant.",
            	nbullet .. "Causes the Survivor to scream and reveal their location.",
            	"Completing the interaction resets " .. b(i("Madness")) .. " to " .. i("Tier I") .. dot) .. br ..
            
            b("SPECIAL ABILITY: SHOCK THERAPY") .. br .. 
            "Press and hold the " .. loadoutStrings.powerButton .. " to perform a " .. i("Shock Therapy Attack") .. ", unleashing a cone-shaped ranged shock attack on the ground in front of " .. b("The Doctor") .. colon ..
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#shockTherapySpeed") .. " while charging.",
            	i("Shock Therapy") .. " has a range of " .. clro("#shockTherapyRange") .. " and detonates with a delay of " .. clro("#shockTherapyDetonation") .. dot) ..
            "Survivors struck with a " .. i("Shock Therapy Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#shockTherapyMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.",
            	b("Suppresses") .. " their ability to perform any interactions, including with " .. b("Pallets") .. " and " .. b("Windows") .. " for " .. clro("#shockTherapyBlock") .. dot) .. 
            "Survivors suffering from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " when struck by " .. i("Shock Therapy") .. " have it removed immediately." .. dbr ..
            
            b("SPECIAL ABILITY: STATIC BLAST") .. br .. 
            "Press and hold the " .. loadoutStrings.secondaryPowerButton .. ", once the Power Gauge is full, to perform a " .. i("Static Blast Attack") .. ", unleashing a ranged shock attack that propagates outwards from " .. b("The Doctor") .. colon .. 
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#staticBlastSpeed") .. " while charging.",
            	i("Static Blast") .. " passes through any obstacles and covers his entire " .. i("Terror Radius") .. dot) ..
            "Survivors struck with a " .. i("Static Blast Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#staticBlastMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.") .. 
            "Survivors can prevent being struck by " .. i("Static Blast") .. " by hiding inside a " .. b("Locker") .. dot .. br ..
            "Survivors suffering from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " when struck by " .. i("Static Blast") .. " have it removed immediately." .. nlp ..
            i("Static Blast") .. " has a cool-down of " .. clro("#staticBlastCooldown") .. dot
		},
		{
			version = "3.5.0",
			madnessTier1 = "5 points",
			madnessTier2 = "55 points",
			madnessTier3 = "105 points",
			madnessSkillCheckTier1 = "33 %",
			madnessSkillCheckTier2 = "66 %",
			madnessSkillCheckTier3 = "100 %",
			madnessDecay = "-0.5 p/s",
			madnessDelay = "5 seconds",
			snapOutOfItDuration = "12 seconds",
			shockTherapySpeed = "3.08 m/s",
			shockTherapyMadness = "+30 points",
			shockTherapyRange = "10.7 metres",
			shockTherapyDetonation = "1 second",
			shockTherapyBlock = "2.5 seconds",
			staticBlastSpeed = "1.16 m/s",
			staticBlastMadness = "+50 points",
			staticBlastCooldown = "60 seconds",
			desc =
			b("SPECIAL ABILITY: CARTER'S SPARK") .. br ..
            "Striking Survivors with his electro-convulsive abilities, " .. b("The Doctor") .. " increasingly causes them to suffer from the tiered " .. i(b("Madness")) .. space .. b("Status Effect") .. dot .. dbr ..
            
            b("SPECIAL AFFLICTION: MADNESS") .. br ..
            b(i("Madness")) .. " causes increasingly potent afflictions in the affected Survivors, depending on its current tier." .. nlp ..
            "Once " .. b(i("Madness")) .. " is obtained, Survivors are unable to lose it and may only regress it or reset it to a lower tier:" ..
            list(
            	"Regresses at a rate of " .. clror("#madnessDecay") .. " while a Survivor is outside of the " .. i("Terror Radius") .. " for at least " .. clro("#madnessDelay") .. ", but not past the current Tier.",
            	"Resets to " .. b("Tier I") .. " after performing the " .. i("Snap Out of It") .. " interaction.") .. br ..
            
            b(i("Madness I")) .. " has a threshold of " .. clro("#madnessTier1") .. " and applies the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clro("#madnessSkillCheckTier1") .. " to be " .. i("Madness Skill Checks") .. dot) .. br ..
            
            b(i("Madness II")) .. " has a threshold of " .. clro("#madnessTier2") .. " and applies the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clro("#madnessSkillCheckTier2") .. " to be " .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot) .. br ..
            
            b(i("Madness III")) .. " has a threshold of " .. clro("#madnessTier3") .. " and applies the following permanent effects until Survivors " .. i("Snap Out of It") .. colon .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up and continue doing so intermittently every few seconds.",
            	i("Skill Checks") .. " are " .. clro("#madnessSkillCheckTier3") .. space .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot,
            	nbullet .. "The Auras of " .. b(i("Illusionary Doctors")) .. " are revealed to " .. b("The Doctor") .. dot,
            	b("Suppresses") .. " the ability to use any equipped " .. b("Item") .. dot,
            	b("Suppresses") .. " the ability to perform, or have performed on themselves, any interaction with a Progress bar.",
            	nbullet .. "Unhooking other Survivors is exempt from this restriction.") .. br ..
            
            b("SPECIAL INTERACTION: SNAP OUT OF IT") .. br ..
            "Survivors having reached " .. b(i("Madness III")) .. " can perform the " .. i("Snap Out of It") .. " interaction for " .. clro("#snapOutOfItDuration") .. colon ..
            list(
            	"Triggers " .. i("Madness Skill Checks") .. " at each quadrant of the Progress bar.",
            	"Succeeding them continues the interaction.",
            	"Failing them has the following repercussions:",
            	nbullet .. "Interrupts the action and resets its Progress to the previous quadrant.",
            	nbullet .. "Causes the Survivor to scream and reveal their location.",
            	"Completing the interaction resets " .. b(i("Madness")) .. " to " .. i("Tier I") .. dot) .. br ..
            
            b("SPECIAL ABILITY: SHOCK THERAPY") .. br .. 
            "Press and hold the " .. loadoutStrings.powerButton .. " to perform a " .. i("Shock Therapy Attack") .. ", unleashing a cone-shaped ranged shock attack on the ground in front of " .. b("The Doctor") .. colon ..
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#shockTherapySpeed") .. " while charging.",
            	i("Shock Therapy") .. " has a range of " .. clro("#shockTherapyRange") .. " and detonates with a delay of " .. clro("#shockTherapyDetonation") .. dot) ..
            "Survivors struck with a " .. i("Shock Therapy Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#shockTherapyMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.",
            	b("Suppresses") .. " their ability to perform any interactions, including with " .. b("Pallets") .. " and " .. b("Windows") .. " for " .. clro("#shockTherapyBlock") .. dot) .. 
            "Survivors suffering from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " when struck by " .. i("Shock Therapy") .. " have it removed immediately." .. dbr ..
            
            b("SPECIAL ABILITY: STATIC BLAST") .. br .. 
            "Press and hold the " .. loadoutStrings.secondaryPowerButton .. ", once the Power Gauge is full, to perform a " .. i("Static Blast Attack") .. ", unleashing a ranged shock attack that propagates outwards from " .. b("The Doctor") .. colon .. 
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#staticBlastSpeed") .. " while charging.",
            	i("Static Blast") .. " passes through any obstacles and covers his entire " .. i("Terror Radius") .. dot) ..
            "Survivors struck with a " .. i("Static Blast Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#staticBlastMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.") .. 
            "Survivors can prevent being struck by " .. i("Static Blast") .. " by hiding inside a " .. b("Locker") .. dot .. br ..
            "Survivors suffering from the " .. b(i("Oblivious") .. space .. "Status Effect") .. " when struck by " .. i("Static Blast") .. " have it removed immediately." .. nlp ..
            i("Static Blast") .. " has a cool-down of " .. clro("#staticBlastCooldown") .. dot
		},
		{
			version = "1.9.2",
			madnessTier1 = "5 points",
			madnessTier2 = "55 points",
			madnessTier3 = "105 points",
			madnessSkillCheckTier1 = "33 %",
			madnessSkillCheckTier2 = "66 %",
			madnessSkillCheckTier3 = "100 %",
			madnessDecay = "-1 p/s",
			madnessDelay = "5 seconds",
			snapOutOfItDuration = "12 seconds",
			stanceSwitch = "1 second",
			shockTherapySpeed = "3.08 m/s",
			shockTherapyMadness = "+30 points",
			shockTherapyRange = "9 metres",
			shockTherapyDetonation = "1 second",
			shockTherapyBlock = "2.5 seconds",
			punishmentSpeed = "4.6 m/s",
			treatmentSpeed = "4.4 m/s",
			desc =
			b("SPECIAL ABILITY: CARTER'S SPARK") .. br ..
            "Striking Survivors with his electro-convulsive abilities, " .. b("The Doctor") .. " increasingly causes them to suffer from the tiered " .. i(b("Madness")) .. space .. b("Status Effect") .. dot .. dbr ..
            
            b("SPECIAL AFFLICTION: MADNESS") .. br ..
            b(i("Madness")) .. " causes increasingly potent afflictions in the affected Survivors, depending on its current tier." .. nlp ..
            "Once " .. b(i("Madness")) .. " is obtained, Survivors are unable to lose it and may only regress it or reset it to a lower tier:" ..
            list(
            	"Regresses at a rate of " .. clror("#madnessDecay") .. " while a Survivor is outside of the " .. i("Terror Radius") .. " for at least " .. clro("#madnessDelay") .. ", but not past the current Tier.",
            	"Resets to " .. b("Tier II") .. " after performing the " .. i("Snap Out of It") .. " interaction.") .. br ..
            
            b(i("Madness I")) .. " has a threshold of " .. clro("#madnessTier1") .. " and applies the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clro("#madnessSkillCheckTier1") .. " to be " .. i("Madness Skill Checks") .. dot) .. br ..
            
            b(i("Madness II")) .. " has a threshold of " .. clro("#madnessTier2") .. " and applies the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clro("#madnessSkillCheckTier2") .. " to be " .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot) .. br ..
            
            b(i("Madness III")) .. " has a threshold of " .. clro("#madnessTier3") .. " and applies the following permanent effects until Survivors " .. i("Snap Out of It") .. colon .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up and continue doing so intermittently every few seconds.",
            	i("Skill Checks") .. " are " .. clro("#madnessSkillCheckTier3") .. space .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot,
            	nbullet .. "The Auras of " .. b(i("Illusionary Doctors")) .. " are revealed to " .. b("The Doctor") .. dot,
            	b("Suppresses") .. " the ability to use any equipped " .. b("Item") .. dot,
            	b("Suppresses") .. " the ability to perform, or have performed on themselves, any interaction with a Progress bar.",
            	nbullet .. "Unhooking other Survivors is exempt from this restriction.") .. br ..
            
            b("SPECIAL INTERACTION: SNAP OUT OF IT") .. br ..
            "Survivors having reached " .. b(i("Madness III")) .. " can perform the " .. i("Snap Out of It") .. " interaction for " .. clro("#snapOutOfItDuration") .. colon ..
            list(
            	"Triggers " .. i("Madness Skill Checks") .. dot,
            	"Succeeding them continues the interaction.",
            	"Failing them has the following repercussions:",
            	nbullet .. "Interrupts the action and fully resets its Progress.",
            	nbullet .. "Causes the Survivor to scream and reveal their location.",
            	"Completing the interaction resets " .. b(i("Madness")) .. " to " .. i("Tier II") .. dot) .. br ..
            
            b("SPECIAL INTERACTION: SWITCHING STANCE") .. br ..
            b("The Doctor") .. " has " .. clro(2) .. space .. i("Stances") .. " he must switch between in order to either attack Survivors or inflict them with " .. b(i("Madness")) .. dot .. br ..
            "Press and hold the " .. loadoutStrings.powerButton .. " for " .. clro("#stanceSwitch") .. " to switch " .. i("Stance") .. colon ..
            list(
            	i("Punishment Mode") .. colon,
            	nbullet .. "Provides the default Movement speed of " .. clro("#punishmentSpeed") .. dot,
            	nbullet .. "Provides the ability to attack Survivors.",
            	i("Treatment Mode") .. colon,
            	nbullet .. b("Reduces") .. " his Movement speed to " .. clro("#treatmentSpeed") .. dot,
            	nbullet .. b("Suppresses") .. " the ability to attack Survivors.",
            	nbullet .. "Grants access to the " .. i("Shock Therapy") .. " and " .. i("Static Field") .. " special abilities.") .. br ..
            
            b("SPECIAL ABILITY: SHOCK THERAPY") .. br .. 
            "While in " .. i("Treatment Mode") .. ", press and hold the " .. loadoutStrings.attackButton .. " to perform a " .. i("Shock Therapy Attack") .. ", unleashing a cone-shaped ranged shock attack on the ground in front of " .. b("The Doctor") .. colon ..
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#shockTherapySpeed") .. " while charging.",
            	i("Shock Therapy") .. " has a range of " .. clro("#shockTherapyRange") .. " and detonates with a delay of " .. clro("#shockTherapyDetonation") .. dot) ..
            "Survivors struck with a " .. i("Shock Therapy Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#shockTherapyMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.",
            	b("Suppresses") .. " their ability to perform any interactions, including with " .. b("Pallets") .. " and " .. b("Windows") .. " for " .. clro("#shockTherapyBlock") .. dot) .. br ..
            
            b("SPECIAL ABILITY: STATIC FIELD") .. br .. 
            "While in " .. i("Treatment Mode") .. comma .. b("The Doctor") .. " generates a " .. i("Static Field") .. " in his " .. i("Terror Radius") .. " that passively charges the " .. b(i("Madness")) .. " of any Survivor located within it:" ..
            list(
            	"The variable Charge rate is based on the Survivor's distance to " .. b("The Doctor") .. dot,
            	"Causes Survivors to scream and reveal their location, if their " .. b(i("Madness")) .. " reaches the next tier-up threshold.") ..
            "Survivors can shield themselves from the " .. i("Static Field") .. " by hiding inside a " .. b("Locker") .. dot
		},
		{
			version = "1.6.2",
			madnessTier1 = "5 points",
			madnessTier2 = "55 points",
			madnessTier3 = "105 points",
			madnessSkillCheckTier1 = "33 %",
			madnessSkillCheckTier2 = "66 %",
			madnessSkillCheckTier3 = "100 %",
			madnessDecay = "-1 p/s",
			madnessDelay = "5 seconds",
			snapOutOfItDuration = "12 seconds",
			stanceSwitch = "1 second",
			shockTherapySpeed = "3.08 m/s",
			shockTherapyMadness = "+30 points",
			shockTherapyRange = "9 metres",
			shockTherapyDetonation = "1 second",
			shockTherapyBlock = "2.5 seconds",
			punishmentSpeed = "4.6 m/s",
			treatmentSpeed = "4.4 m/s",
			desc =
			b("SPECIAL ABILITY: CARTER'S SPARK") .. br ..
            "Striking Survivors with his electro-convulsive abilities, " .. b("The Doctor") .. " increasingly causes them to suffer from the tiered " .. i(b("Madness")) .. space .. b("Status Effect") .. dot .. dbr ..
            
            b("SPECIAL AFFLICTION: MADNESS") .. br ..
            b(i("Madness")) .. " causes increasingly potent afflictions in the affected Survivors, depending on its current tier." .. nlp ..
            "Once " .. b(i("Madness")) .. " is obtained, Survivors are unable to lose it and may only regress it or reset it to a lower tier:" ..
            list(
            	"Regresses at a rate of " .. clror("#madnessDecay") .. " while a Survivor is outside of the " .. i("Terror Radius") .. " for at least " .. clro("#madnessDelay") .. ", but not past the current Tier.",
            	"Resets to " .. b("Tier II") .. " after performing the " .. i("Snap Out of It") .. " interaction.") .. br ..
            
            b(i("Madness I")) .. " has a threshold of " .. clro("#madnessTier1") .. " and applies the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clro("#madnessSkillCheckTier1") .. " to be " .. i("Madness Skill Checks") .. dot) .. br ..
            
            b(i("Madness II")) .. " has a threshold of " .. clro("#madnessTier2") .. " and applies the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	i("Skill Checks") .. " have a chance of " .. clro("#madnessSkillCheckTier2") .. " to be " .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot) .. br ..
            
            b(i("Madness III")) .. " has a threshold of " .. clro("#madnessTier3") .. " and applies the following permanent effects until Survivors " .. i("Snap Out of It") .. colon .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up and continue doing so intermittently every few seconds.",
            	i("Skill Checks") .. " are " .. clro("#madnessSkillCheckTier3") .. space .. i("Madness Skill Checks") .. dot,
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot,
            	nbullet .. "The Auras of " .. b(i("Illusionary Doctors")) .. " are revealed to " .. b("The Doctor") .. dot,
            	b("Suppresses") .. " the ability to use any equipped " .. b("Med-Kit") .. " or " .. b("Toolbox") .. dot,
            	b("Suppresses") .. " the ability to repair " .. b("Generators") .. ", heal themselves or other Survivors, and be healed by other Survivors.") .. br ..
            
            b("SPECIAL INTERACTION: SNAP OUT OF IT") .. br ..
            "Survivors having reached " .. b(i("Madness III")) .. " can perform the " .. i("Snap Out of It") .. " interaction for " .. clro("#snapOutOfItDuration") .. colon ..
            list(
            	"Triggers " .. i("Madness Skill Checks") .. dot,
            	"Succeeding them continues the interaction.",
            	"Failing them has the following repercussions:",
            	nbullet .. "Interrupts the action and fully resets its Progress.",
            	nbullet .. "Causes the Survivor to scream and reveal their location.",
            	"Completing the interaction resets " .. b(i("Madness")) .. " to " .. i("Tier II") .. dot) .. br ..
            
            b("SPECIAL INTERACTION: SWITCHING STANCE") .. br ..
            b("The Doctor") .. " has " .. clro(2) .. space .. i("Stances") .. " he must switch between in order to either attack Survivors or inflict them with " .. b(i("Madness")) .. dot .. br ..
            "Press and hold the " .. loadoutStrings.powerButton .. " for " .. clro("#stanceSwitch") .. " to switch " .. i("Stance") .. colon ..
            list(
            	i("Punishment Mode") .. colon,
            	nbullet .. "Provides the default Movement speed of " .. clro("#punishmentSpeed") .. dot,
            	nbullet .. "Provides the ability to attack Survivors.",
            	i("Treatment Mode") .. colon,
            	nbullet .. b("Reduces") .. " his Movement speed to " .. clro("#treatmentSpeed") .. dot,
            	nbullet .. b("Suppresses") .. " the ability to attack Survivors.",
            	nbullet .. "Grants access to the " .. i("Shock Therapy") .. " and " .. i("Static Field") .. " special abilities.") .. br ..
            
            b("SPECIAL ABILITY: SHOCK THERAPY") .. br .. 
            "While in " .. i("Treatment Mode") .. ", press and hold the " .. loadoutStrings.attackButton .. " to perform a " .. i("Shock Therapy Attack") .. ", unleashing a cone-shaped ranged shock attack on the ground in front of " .. b("The Doctor") .. colon ..
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#shockTherapySpeed") .. " while charging.",
            	i("Shock Therapy") .. " has a range of " .. clro("#shockTherapyRange") .. " and detonates with a delay of " .. clro("#shockTherapyDetonation") .. dot) ..
            "Survivors struck with a " .. i("Shock Therapy Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#shockTherapyMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.",
            	b("Suppresses") .. " their ability to perform any interactions, including with " .. b("Pallets") .. " and " .. b("Windows") .. " for " .. clro("#shockTherapyBlock") .. dot) .. br ..
            
            b("SPECIAL ABILITY: STATIC FIELD") .. br .. 
            "While in " .. i("Treatment Mode") .. comma .. b("The Doctor") .. " generates a " .. i("Static Field") .. " in his " .. i("Terror Radius") .. " that passively charges the " .. b(i("Madness")) .. " of any Survivor located within it:" ..
            list(
            	"The variable Charge rate is based on the Survivor's distance to " .. b("The Doctor") .. dot,
            	"Causes Survivors to scream and reveal their location, if their " .. b(i("Madness")) .. " reaches the next tier-up threshold.") ..
            "Survivors can shield themselves from the " .. i("Static Field") .. " by hiding inside a " .. b("Locker") .. dot
		},
		{
			version = "1.5.1b",
			madnessTier1 = "5 points",
			madnessTier2 = "55 points",
			madnessTier3 = "105 points",
			madnessDecay = "-1 p/s",
			madnessDelay = "5 seconds",
			snapOutOfItDuration = "12 seconds",
			stanceSwitch = "1 second",
			shockTherapySpeed = "3.08 m/s",
			shockTherapyMadness = "+30 points",
			shockTherapyRange = "9 metres",
			shockTherapyDetonation = "1 second",
			punishmentSpeed = "4.6 m/s",
			treatmentSpeed = "4.4 m/s",
			desc =
			b("SPECIAL ABILITY: CARTER'S SPARK") .. br ..
            "Striking Survivors with his electro-convulsive abilities, " .. b("The Doctor") .. " increasingly causes them to suffer from the tiered " .. i(b("Madness")) .. space .. b("Status Effect") .. dot .. dbr ..
            
            b("SPECIAL AFFLICTION: MADNESS") .. br ..
            b(i("Madness")) .. " causes increasingly potent afflictions in the affected Survivors, depending on its current tier." .. nlp ..
            "Once " .. b(i("Madness")) .. " is obtained, Survivors are unable to lose it and may only regress it or reset it to a lower tier:" ..
            list(
            	"Regresses at a rate of " .. clror("#madnessDecay") .. " while a Survivor is outside of the " .. i("Terror Radius") .. " for at least " .. clro("#madnessDelay") .. ", but not past the current Tier.",
            	"Resets to " .. b("Tier II") .. " after performing the " .. i("Snap Out of It") .. " interaction.") .. br ..
            
            b(i("Madness I")) .. " has a threshold of " .. clro("#madnessTier1") .. " and applies the following permanent effects until a tier-up:" .. 
            list("Causes Survivors to scream once during the tier-up, revealing their location to " .. b("The Doctor") .. dot) .. br ..
            
            b(i("Madness II")) .. " has a threshold of " .. clro("#madnessTier2") .. " and applies the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot) .. br ..
            
            b(i("Madness III")) .. " has a threshold of " .. clro("#madnessTier3") .. " and applies the following permanent effects until Survivors " .. i("Snap Out of It") .. colon .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up and continue doing so intermittently every few seconds.",
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot,
            	nbullet .. "The Auras of " .. b(i("Illusionary Doctors")) .. " are revealed to " .. b("The Doctor") .. dot) .. br ..
            
            b("SPECIAL INTERACTION: SNAP OUT OF IT") .. br ..
            "Survivors having reached " .. b(i("Madness III")) .. " can perform the " .. i("Snap Out of It") .. " interaction for " .. clro("#snapOutOfItDuration") .. colon ..
            list("Completing the interaction resets " .. b(i("Madness")) .. " to " .. i("Tier II") .. dot) .. br ..
            
            b("SPECIAL INTERACTION: SWITCHING STANCE") .. br ..
            b("The Doctor") .. " has " .. clro(2) .. space .. i("Stances") .. " he must switch between in order to either attack Survivors or inflict them with " .. b(i("Madness")) .. dot .. br ..
            "Press and hold the " .. loadoutStrings.powerButton .. " for " .. clro("#stanceSwitch") .. " to switch " .. i("Stance") .. colon ..
            list(
            	i("Punishment Mode") .. colon,
            	nbullet .. "Provides the default Movement speed of " .. clro("#punishmentSpeed") .. dot,
            	nbullet .. "Provides the ability to attack Survivors.",
            	i("Treatment Mode") .. colon,
            	nbullet .. b("Reduces") .. " his Movement speed to " .. clro("#treatmentSpeed") .. dot,
            	nbullet .. b("Suppresses") .. " the ability to attack Survivors.",
            	nbullet .. "Grants access to the " .. i("Shock Therapy") .. " and " .. i("Static Field") .. " special abilities.") .. br ..
            
            b("SPECIAL ABILITY: SHOCK THERAPY") .. br .. 
            "While in " .. i("Treatment Mode") .. ", press and hold the " .. loadoutStrings.attackButton .. " to perform a " .. i("Shock Therapy Attack") .. ", unleashing a cone-shaped ranged shock attack on the ground in front of " .. b("The Doctor") .. colon ..
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#shockTherapySpeed") .. " while charging.",
            	i("Shock Therapy") .. " has a range of " .. clro("#shockTherapyRange") .. " and detonates with a delay of " .. clro("#shockTherapyDetonation") .. dot) ..
            "Survivors struck with a " .. i("Shock Therapy Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#shockTherapyMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.") .. br ..
            
            b("SPECIAL ABILITY: STATIC FIELD") .. br .. 
            "While in " .. i("Treatment Mode") .. comma .. b("The Doctor") .. " generates a " .. i("Static Field") .. " in his " .. i("Terror Radius") .. " that passively charges the " .. b(i("Madness")) .. " of any Survivor located within it:" ..
            list(
            	"The variable Charge rate is based on the Survivor's distance to " .. b("The Doctor") .. dot,
            	"Causes Survivors to scream and reveal their location, if their " .. b(i("Madness")) .. " reaches the next tier-up threshold.") ..
            "Survivors can shield themselves from the " .. i("Static Field") .. " by hiding inside a " .. b("Locker") .. dot
		},
		{
			version = "1.5.1",
			madnessTier1 = "5 points",
			madnessTier2 = "55 points",
			madnessTier3 = "105 points",
			madnessDecay = "-1 p/s",
			madnessDelay = "5 seconds",
			snapOutOfItDuration = "4 seconds",
			stanceSwitch = "1 second",
			shockTherapySpeed = "3.08 m/s",
			shockTherapyMadness = "+30 points",
			shockTherapyRange = "7.5 metres",
			shockTherapyDetonation = "1 second",
			punishmentSpeed = "4.6 m/s",
			treatmentSpeed = "4.3 m/s",
			desc =
			b("SPECIAL ABILITY: CARTER'S SPARK") .. br ..
            "Striking Survivors with his electro-convulsive abilities, " .. b("The Doctor") .. " increasingly causes them to suffer from the tiered " .. i(b("Madness")) .. space .. b("Status Effect") .. dot .. dbr ..
            
            b("SPECIAL AFFLICTION: MADNESS") .. br ..
            b(i("Madness")) .. " causes increasingly potent afflictions in the affected Survivors, depending on its current tier." .. nlp ..
            "Once " .. b(i("Madness")) .. " is obtained, Survivors are unable to lose it and may only regress it or reset it to a lower tier:" ..
            list(
            	"Regresses at a rate of " .. clror("#madnessDecay") .. " while a Survivor is outside of the " .. i("Terror Radius") .. " for at least " .. clro("#madnessDelay") .. ", but not past the current Tier.",
            	"Resets to " .. b("Tier II") .. " after performing the " .. i("Snap Out of It") .. " interaction.") .. br ..
            
            b(i("Madness I")) .. " has a threshold of " .. clro("#madnessTier1") .. " and applies the following permanent effects until a tier-up:" .. 
            list("Causes Survivors to scream once during the tier-up, revealing their location to " .. b("The Doctor") .. dot) .. br ..
            
            b(i("Madness II")) .. " has a threshold of " .. clro("#madnessTier2") .. " and applies the following permanent effects until a tier-up:" .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up.",
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot) .. br ..
            
            b(i("Madness III")) .. " has a threshold of " .. clro("#madnessTier3") .. " and applies the following permanent effects until Survivors " .. i("Snap Out of It") .. colon .. 
            list(
            	"Causes Survivors to scream and reveal their location during the tier-up and continue doing so intermittently every few seconds.",
            	"Causes Survivors to experience occasional Hallucinations in the form of " .. b(i("Illusionary Doctors")) .. dot) .. br ..
            
            b("SPECIAL INTERACTION: SNAP OUT OF IT") .. br ..
            "Survivors having reached " .. b(i("Madness III")) .. " can perform the " .. i("Snap Out of It") .. " interaction for " .. clro("#snapOutOfItDuration") .. colon ..
            list("Completing the interaction resets " .. b(i("Madness")) .. " to " .. i("Tier II") .. dot) .. br ..
            
            b("SPECIAL INTERACTION: SWITCHING STANCE") .. br ..
            b("The Doctor") .. " has " .. clro(2) .. space .. i("Stances") .. " he must switch between in order to either attack Survivors or inflict them with " .. b(i("Madness")) .. dot .. br ..
            "Press and hold the " .. loadoutStrings.powerButton .. " for " .. clro("#stanceSwitch") .. " to switch " .. i("Stance") .. colon ..
            list(
            	i("Punishment Mode") .. colon,
            	nbullet .. "Provides the default Movement speed of " .. clro("#punishmentSpeed") .. dot,
            	nbullet .. "Provides the ability to attack Survivors.",
            	i("Treatment Mode") .. colon,
            	nbullet .. b("Reduces") .. " his Movement speed to " .. clro("#treatmentSpeed") .. dot,
            	nbullet .. b("Suppresses") .. " the ability to attack Survivors.",
            	nbullet .. "Grants access to the " .. i("Shock Therapy") .. " and " .. i("Static Field") .. " special abilities.") .. br ..
            
            b("SPECIAL ABILITY: SHOCK THERAPY") .. br .. 
            "While in " .. i("Treatment Mode") .. ", press and hold the " .. loadoutStrings.attackButton .. " to perform a " .. i("Shock Therapy Attack") .. ", unleashing a cone-shaped ranged shock attack on the ground in front of " .. b("The Doctor") .. colon ..
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#shockTherapySpeed") .. " while charging.",
            	i("Shock Therapy") .. " has a range of " .. clro("#shockTherapyRange") .. " and detonates with a delay of " .. clro("#shockTherapyDetonation") .. dot) ..
            "Survivors struck with a " .. i("Shock Therapy Attack") .. " suffer from the following effects:" ..
            list(
            	b("Increases") .. " their " .. b(i("Madness")) .. " by " .. clro("#shockTherapyMadness") .. dot,
            	"Causes them to scream, interrupting any on-going interactions at the moment of impact.") .. br ..
            
            b("SPECIAL ABILITY: STATIC FIELD") .. br .. 
            "While in " .. i("Treatment Mode") .. comma .. b("The Doctor") .. " generates a " .. i("Static Field") .. " in his " .. i("Terror Radius") .. " that passively charges the " .. b(i("Madness")) .. " of any Survivor located within it:" ..
            list(
            	"The variable Charge rate is based on the Survivor's distance to " .. b("The Doctor") .. dot,
            	"Causes Survivors to scream and reveal their location, if their " .. b(i("Madness")) .. " reaches the next tier-up threshold.") ..
            "Survivors can shield themselves from the " .. i("Static Field") .. " by hiding inside a " .. b("Locker") .. dot
		},
	},
	["Dream Demon"] =
	{
		{
			version = "8.5.0",
			invisibilityFar = "32 metres",
			invisibilityIntermittent = "16 to 32 metres",
			invisibilityNear = "16 metres",
			microsleep = "60 seconds",
			immunityMicrosleep = "30 seconds",
			wakeUp = "5 seconds",
			alarmClockInteraction = "2 seconds",
			dreamTraps = 2,
			dreamSnareChargeTime = "0.35 seconds",
			dreamSnareSpeed = "12 m/s",
			dreamSnareRange = "18 metres",
			dreamSnarePenalty = "+30 seconds",
			dreamSnareCooldown = "7 seconds",
			castingDreamSnares = "4.0 m/s",
			hindered = "-12 %",
			durationHindered = "4.5 seconds",
			dreamPallets = 8,
			dreamPalletRange = "24 metres",
			dreamPalletDelay = "1.5 seconds",
			dreamPalletPenalty = "+60 seconds",
			dreamPalletAOE = "3.5 metres",
			dreamPalletCooldown = "1.5 seconds",
			dreamProjectionRange = "8 to 12 metres",
			dreamProjectionThreshold = "0.5 seconds",
			dreamProjectionDuration = "2.5 seconds",
			dreamProjectionBonus = "-15 %",
			dreamProjectionMaxBonus = "-60 %",
			dreamProjectionCooldown = "30 seconds",
			dreamProjectionPenalty = "+15 seconds",
			castingDreamProjection = "3.86 m/s",
			dreamProjectionAOE = "8 metres",
			killerInstinct = "3 seconds",
			desc =
			b("SPECIAL ABILITY: DREAM DEMON") .. br ..
            b("The Nightmare") .. " is cloaked from awake Survivors." .. br .. "While they can hear his " .. i("Terror Radius") .. ", he is not always visible to them:" ..
            list(
            	b("The Nightmare") .. " is invisible to Survivors farther than " .. clror("#invisibilityFar") .. " away.",
            	b("The Nightmare") .. " is intermittently visible to Survivors from " .. clro("#invisibilityIntermittent") .. " away.",
            	b("The Nightmare") .. " is fully visible to Survivors closer than " .. clro("#invisibilityNear") .. dot) .. br ..
            
            b("SPECIAL STATE: MICROSLEEP") .. br ..
            "The mere presence of " .. b("The Nightmare") .. " induces " .. i("Microsleep") .. " in awake Survivors, causing them to passively fall asleep over " .. clro("#microsleep") .. dot .. br ..
            "Survivors who woke up with an " .. b("Alarm Clock") .. " are protected from " .. i("Microsleep") .. " for " .. clro("#immunityMicrosleep") .. dot .. dbr ..
            
            b("SPECIAL STATE: ASLEEP") .. br ..
            "Survivors who fall asleep automatically enter the " .. i("Dream World") .. " and suffer from the following effects while inside it:" ..
            list(
            	"Changes the penalty of interacting with " .. b("Dream Traps") .. dot,
            	"Triggers " .. i("Killer Instinct") .. " while performing a Healing action or while an " .. i("Awake Survivor") .. " is performing one on them.",
            	"Causes them to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. dot,
            	nbullet .. "Causes them to hear a non-directional " .. i("Lullaby") .. " instead.") .. 
            "Hitting Survivors with a " .. i("Basic Attack") .. " immediately pulls them into the " .. i("Dream World") .. ", unless they are protected by the temporary " .. i("Sleep Immunity") .. " granted by an " .. b("Alarm Clock") .. dot .. dbr ..
            
            b("SPECIAL INTERACTION: WAKING UP") .. br ..
            "Survivors have several ways to wake up and leave the " .. i("Dream World") .. colon ..
            list(
            	"Failing a " .. i("Skill Check") .. dot,
            	"Having an " .. i("Awake Survivor") .. " perform the " .. i("Wake Up") .. " interaction on them for " .. clro("#wakeUp") .. dot,
            	"Interacting with an " .. b("Alarm Clock") .. " for " .. clro("#alarmClockInteraction") .. dot,
            	"Entering the " .. i("Dying State") .. " by any means.") .. br ..
            
            b("SPECIAL ABILITIES: DREAM TRAPS") .. br ..
            b("The Nightmare") .. " has access to " .. clro("#dreamTraps") .. " types of " .. b("Dream Traps") .. colon .. b("Dream Snares and Dream Pallets") .. dot .. br ..
            "Press the " .. loadoutStrings.secondaryPowerButton .. " to switch between the two." .. dbr ..
            
            b("SPECIAL TRAP: DREAM SNARES") .. br ..
            "Press and hold the " .. loadoutStrings.powerButton .. " to charge a " .. b("Dream Snare") .. " over " .. clro("#dreamSnareChargeTime") .. dot .. br ..
            "While charged, press the " .. loadoutStrings.attackButton .. " to launch the " .. b("Dream Snare") .. " forwards:" ..
            list(
            	b("Reduces") .. " his Movement speed to " .. clro("#castingDreamSnares") .. dot,
            	"Moves at a speed of " .. clro("#dreamSnareSpeed") .. dot,
            	"Has a maximum range of " .. clro("#dreamSnareRange") .. dot,
            	"Can go through walls and follow slopes, but does not go off ledges.") .. 
            "When a " .. b("Dream Snare") .. " collides with a Survivor, it inflicts either of the following effects, depending on their state:" ..
            list(
            	bclr("faded jade", "Awake") .. colon .. space .. b("Advances") .. " their " .. i("Microsleep") .. " timer by " .. clro("#dreamSnarePenalty") .. dot,
            	bclr("faded jade", "Asleep") .. colon .. space .. "Causes them to suffer from a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot) ..
            b("Dream Snares") .. " have a cool-down of " .. clro("#dreamSnareCooldown") .. dot .. dbr ..
            
            b("SPECIAL TRAP: DREAM PALLETS") .. br ..
            b("The Nightmare") .. " can create up to " .. clro("#dreamPallets") .. space .. b("Dream Pallets") .. "  at a time." .. nlp ..
            "Press the " .. loadoutStrings.powerButton .. " to enter " .. i("Pallet Focus Mode") .. dot .. br ..
            "While in this mode, press the " .. loadoutStrings.attackButton .. " to spawn a " .. b("Dream Pallet") .. " at any valid location within " .. clro("#dreamPalletRange") .. br ..
            "Press the " .. loadoutStrings.attackButton .. " while targetting any " .. b("Dream Pallet") .. " within that same range to " .. i("Rupture") .. " it:" ..
            list(
            	"Has a delay of " .. clro("#dreamPalletDelay") .. dot,
            	"Has an " .. i("Area of Effect") .. " of " .. clro("#dreamPalletAOE") .. dot) .. 
            "When a " .. b("Dream Pallet") .. " ruptures while a Survivor is inside its " .. i("Area of Effect") .. ", it inflicts either of the following effects, depending on their state:" ..
            list(
            	bclr("faded jade", "Awake") .. colon .. space .. b("Advances") .. " their " .. i("Microsleep") .. " timer by " .. clro("#dreamPalletPenalty") .. dot,
            	bclr("faded jade", "Asleep") .. colon .. space .. "Inflicts damage.") ..
            b("Dream Snares") .. " have a cool-down of " .. clro("#dreamPalletCooldown") .. dot .. nlp ..
            "Survivors can drop a " .. b("Dream Pallet") .. " and attempt to stun " .. b("The Nightmare") .. ", if it is not in the process of rupturing." .. br ..
            "Dropping a " .. b("Dream Pallet") .. " instantly destroys it, causing it to explode in blood." .. dbr ..
            
            b("SPECIAL LOCOMOTION: DREAM PROJECTION") .. br ..
            b("The Nightmare") .. " can teleport to any " .. b("Generator") .. " in the environment at any time, regardless of its state, as well as to within " .. clro("#dreamProjectionRange") .. " of any " .. i("Asleep Survivors") .. " involved in a Healing action." .. nlp ..
            "Once the Power Gauge is full, press and hold the " .. loadoutStrings.secondaryPowerButton .. " for at least " .. clro("#dreamProjectionThreshold") .. " to perform a " .. i("Dream Projection") .. dot .. br ..
            "Release it prematurely to cancel the interaction, which incurs the full cool-down:" .. 
            list(
            	"Reveals the Aura of the " .. i("Husk") .. " at the target location.",
            	b("Reduces") .. " his Movement speed to " .. clro("#castingDreamProjection") .. dot,
            	"Takes " .. clro("#dreamProjectionDuration") .. " to complete.") ..
            "Upon completion, it inflicts either of the following effects on all Survivors within " .. clro("#dreamProjectionAOE") .. colon ..
            list(
            	bclr("faded jade", "Awake") .. colon .. space .. b("Advances") .. " their " .. i("Microsleep") .. " timer by " .. clro("#dreamProjectionPenalty") .. dot,
            	bclr("faded jade", "Awake or Asleep") .. colon .. space .. "Triggers " .. i("Killer Instinct") .. " for " .. clro("#killerInstinct") .. dot) ..
            i("Dream Projection") .. " has a cool-down of " .. clro("#dreamProjectionCooldown") .. ", which is " .. b("reduced") .. " by a stack-able " .. clro("#dreamProjectionBonus") .. " for each " .. i("Asleep Survivor") .. ", up to a maximum of " .. clro("#dreamProjectionMaxBonus") .. dot
		},
		{
			version = "4.7.0",
			invisibilityFar = "32 metres",
			invisibilityIntermittent = "16 to 32 metres",
			invisibilityNear = "16 metres",
			microsleep = "60 seconds",
			immunityMicrosleep = "30 seconds",
			wakeUp = "3 seconds",
			doubledwakeUp = "6 seconds",
			alarmClockInteraction = "3 seconds",
			dreamSnares = "5",
			castingDreamSnares = "4.0 m/s",
			dreamPallets = "7",
			hindered = "-15 %",
			lingeringHindered = "3 seconds",
			dreamProjectionBonus = "-15 %",
			dreamProjectionMaxBonus = "-60 %",
			dreamProjectionCooldown = "45 seconds",
			desc =
			b("SPECIAL ABILITY: DREAM DEMON") .. br ..
            b("The Nightmare") .. " is cloaked from awake Survivors." .. br .. "While they can hear his " .. i("Terror Radius") .. ", he is not always visible to them:" ..
            list(
            	b("The Nightmare") .. " is invisible to Survivors farther than " .. clror("#invisibilityFar") .. " away.",
            	b("The Nightmare") .. " is intermittently visible to Survivors from " .. clro("#invisibilityIntermittent") .. " away.",
            	b("The Nightmare") .. " is fully visible to Survivors closer than " .. clro("#invisibilityNear") .. dot) .. br ..
            
            b("SPECIAL STATE: MICROSLEEP") .. br ..
            "The mere presence of " .. b("The Nightmare") .. " induces " .. i("Microsleep") .. " in awake Survivors, causing them to passively fall asleep over " .. clro("#microsleep") .. dot .. br ..
            "Survivors who woke up with an " .. b("Alarm Clock") .. " are protected from " .. i("Microsleep") .. " for " .. clro("#immunityMicrosleep") .. dot .. dbr ..
            
            b("SPECIAL STATE: ASLEEP") .. br ..
            "Survivors who fall asleep automatically enter the " .. i("Dream World") .. " and suffer from the following effects while inside it:" ..
            list(
            	"Causes them to be susceptible to " .. b("Dream Traps") .. dot,
            	"Causes them to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. dot,
            	nbullet .. "Causes them to hear a non-directional " .. i("Lullaby") .. " instead.") .. 
            "Hitting Survivors with a " .. i("Basic Attack") .. " immediately pulls them into the " .. i("Dream World") .. ", unless they are still protected from " .. i("Microsleep") .. dot .. dbr ..
            
            b("SPECIAL INTERACTION: WAKING UP") .. br ..
            "Survivors have several ways to leave the " .. i("Dream World") .. " and wake up:" ..
            list(
            	"Fail a " .. i("Skill Check") .. dot,
            	"Awake Survivors perform the " .. i("Wake Up") .. " interaction on an asleep Survivor for " .. clro("#wakeUp") .. dot,
            	nbullet .. "From the second time onwards, this interaction time is doubled to " .. clro("#doubledwakeUp") .. dot,
            	"Interact with their personal " .. b("Alarm Clock") .. " for " .. clro("#alarmClockInteraction") .. dot) .. dbr ..
            
            b("SPECIAL TRAP: DREAM SNARES") .. br ..
            b("The Nightmare") .. " starts the Trial with " .. clro("#dreamSnares") .. space .. b("Dream Snares") .. " in his inventory." .. br ..
            "Placing additional " .. b("Dream Snares") .. " will recycle the oldest one." .. nlp ..
            "Press and hold the " .. loadoutStrings.powerButton .. " to see the outline of a " .. b("Dream Snare") .. " in front of " .. b("The Nightmare") .. ", which also slows his Movement speed to " .. clro("#castingDreamSnares") .. dot .. br ..
            "Release the " .. loadoutStrings.powerButton .. " to place the trap:" ..
            list(
            	"Causes Survivors who enter its " .. i("Area of Effect") .. " to suffer from a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for as long as they remain inside it.",
            	nbullet .. "This effect lingers for " .. clro("#lingeringHindered") .. dot,
            	"Notifies " .. b("The Nightmare") .. " when tripped.") .. br ..
            
            b("SPECIAL TRAP: DREAM PALLETS") .. br ..
            b("The Nightmare") .. " starts the Trial with " .. clro("#dreamPallets") .. space .. b("Dream Pallets") .. " in his inventory, if using one of three specific " .. b("Add-ons") .. dot .. br ..
            "Placing additional " .. b("Dream Pallets") .. " will recycle the oldest one." .. nlp ..
            "Press the " .. loadoutStrings.powerButton .. " when near a valid Spawn point for " .. b("Pallets") .. " to place a " .. b("Dream Pallet") .. " there:" ..
            list(
            	b("Dream Pallets") .. " are unable to stun " .. b("The Nightmare") .. " and break immediately when dropped.",
            	"Notify " .. b("The Nightmare") .. " when dropped.") .. br ..
            
            b("SPECIAL LOCOMOTION: DREAM PROJECTION") .. br ..
            "Press and hold the " .. loadoutStrings.secondaryPowerButton .. ", once the Power Gauge is full, to perform a " .. i("Dream Projection") .. dot .. br ..
            "Release the " .. loadoutStrings.secondaryPowerButton .. " prematurely to cancel the interaction:" .. 
            list(
            	"Grants the ability to teleport to any incomplete " .. b("Generator") .. dot,
            	nbullet .. "Causes blood to spew from the selected " .. b("Generator") .. " during the interaction.",
            	b("Reduces") .. " the Cool-down duration of " .. i("Dream Projection") .. " by a stack-able " .. clro("#dreamProjectionBonus") .. " for each asleep Survivor, up to a maximum of " .. clro("#dreamProjectionMaxBonus") .. dot) ..
            i("Dream Projection") .. " has a cool-down of " .. clro("#dreamProjectionCooldown") .. dot
		},
		{
			version = "3.1.0",
			invisibilityFar = "32 metres",
			invisibilityIntermittent = "16 to 32 metres",
			invisibilityNear = "16 metres",
			microsleep = "60 seconds",
			wakeUp = "3 seconds",
			doubledwakeUp = "6 seconds",
			alarmClockInteraction = "3 seconds",
			dreamSnares = "8",
			dreamPallets = "10",
			hindered = "-15 %",
			lingeringHindered = "3 seconds",
			dreamProjectionBonus = "-15 %",
			dreamProjectionMaxBonus = "-60 %",
			dreamProjectionCooldown = "45 seconds",
			desc =
			b("SPECIAL ABILITY: DREAM DEMON") .. br ..
            b("The Nightmare") .. " is cloaked from awake Survivors." .. br .. "While they can hear his " .. i("Terror Radius") .. ", he is not always visible to them:" ..
            list(
            	b("The Nightmare") .. " is invisible to Survivors farther than " .. clror("#invisibilityFar") .. " away.",
            	b("The Nightmare") .. " is intermittently visible to Survivors from " .. clro("#invisibilityIntermittent") .. " away.",
            	b("The Nightmare") .. " is fully visible to Survivors closer than " .. clro("#invisibilityNear") .. dot) .. br ..
            
            b("SPECIAL STATE: MICROSLEEP") .. br ..
            "The mere presence of " .. b("The Nightmare") .. " induces " .. i("Microsleep") .. " in awake Survivors, causing them to passively fall asleep over " .. clro("#microsleep") .. dot .. dbr ..
            
            b("SPECIAL STATE: ASLEEP") .. br ..
            "Survivors who fall asleep automatically enter the " .. i("Dream World") .. " and suffer from the following effects while inside it:" ..
            list(
            	"Causes them to be susceptible to " .. b("Dream Traps") .. dot,
            	"Causes them to suffer from the " .. b(i("Oblivious") .. space .. "Status Effect") .. dot,
            	nbullet .. "Causes them to hear a non-directional " .. i("Lullaby") .. " instead.") .. 
            "Hitting Survivors with a " .. i("Basic Attack") .. " immediately pulls them into the " .. i("Dream World") .. ", unless they are still protected from " .. i("Microsleep") .. dot .. dbr ..
            
            b("SPECIAL INTERACTION: WAKING UP") .. br ..
            "Survivors have several ways to leave the " .. i("Dream World") .. " and wake up:" ..
            list(
            	"Fail a " .. i("Skill Check") .. dot,
            	"Awake Survivors perform the " .. i("Wake Up") .. " interaction on an asleep Survivor for " .. clro("#wakeUp") .. dot,
            	nbullet .. "From the second time onwards, this interaction time is doubled to " .. clro("#doubledwakeUp") .. dot,
            	"Interact with their personal " .. b("Alarm Clock") .. " for " .. clro("#alarmClockInteraction") .. dot) .. dbr ..
            
            b("SPECIAL TRAP: DREAM SNARES") .. br ..
            b("The Nightmare") .. " starts the Trial with " .. clro("#dreamSnares") .. space .. b("Dream Snares") .. " in his inventory." .. br ..
            "Placing additional " .. b("Dream Snares") .. " will recycle the oldest one." .. nlp ..
            "Press and hold the " .. loadoutStrings.powerButton .. " to see the outline of a " .. b("Dream Snare") .. " in front of " .. b("The Nightmare") .. dot .. br ..
            "Release the " .. loadoutStrings.powerButton .. " to place the trap:" ..
            list(
            	"Causes Survivors who enter its " .. i("Area of Effect") .. " to suffer from a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for as long as they remain inside it.",
            	nbullet .. "This effect lingers for " .. clro("#lingeringHindered") .. dot,
            	"Notifies " .. b("The Nightmare") .. " when tripped.") .. br ..
            
            b("SPECIAL TRAP: DREAM PALLETS") .. br ..
            b("The Nightmare") .. " starts the Trial with " .. clro("#dreamPallets") .. space .. b("Dream Pallets") .. " in his inventory, if using one of three specific " .. b("Add-ons") .. dot .. br ..
            "Placing additional " .. b("Dream Pallets") .. " will recycle the oldest one." .. nlp ..
            "Press the " .. loadoutStrings.powerButton .. " when near a valid Spawn point for " .. b("Pallets") .. " to place a " .. b("Dream Pallet") .. " there:" ..
            list(
            	b("Dream Pallets") .. " are unable to stun " .. b("The Nightmare") .. " and break immediately when dropped.",
            	"Notify " .. b("The Nightmare") .. " when dropped.") .. br ..
            
            b("SPECIAL LOCOMOTION: DREAM PROJECTION") .. br ..
            "Press and hold the " .. loadoutStrings.secondaryPowerButton .. ", once the Power Gauge is full, to perform a " .. i("Dream Projection") .. dot .. br ..
            "Release the " .. loadoutStrings.secondaryPowerButton .. " prematurely to cancel the interaction:" .. 
            list(
            	"Grants the ability to teleport to any incomplete " .. b("Generator") .. dot,
            	nbullet .. "Causes blood to spew from the selected " .. b("Generator") .. " during the interaction.",
            	b("Reduces") .. " the Cool-down duration of " .. i("Dream Projection") .. " by a stack-able " .. clro("#dreamProjectionBonus") .. " for each asleep Survivor, up to a maximum of " .. clro("#dreamProjectionMaxBonus") .. dot) ..
            i("Dream Projection") .. " has a cool-down of " .. clro("#dreamProjectionCooldown") .. dot
		},
		{
			version = "1.8.1",
			lullaby = "24 metres",
			terrorRadius = "24 metres",
			powerRange = "10 metres",
			taggingPenalty = "3 seconds",
			dreamTransition = "7 seconds",
			glimpses = "6 to 24 metres",
			actionSpeedPenalty = "-50 %",
			auraDelay = "10 seconds",
			desc =
			b("SPECIAL ABILITY: DREAM DEMON") .. br ..
			b("The Nightmare") .. " is completely invisible to awake Survivors and they can only hear a non-directional " .. i("Lullaby") .. " within " .. clror("#lullaby") .. dot .. br ..
			b("The Nightmare") .. " cannot interact with or damage awake Survivors in any way, he must first pull them into his " .. i("Dream World") .. dot .. nlp ..
			"Press and hold the " .. loadoutStrings.powerButton .. " to use #name:" ..
			list(
				"Starts the " .. i("Dream Transition") .. " for all awake Survivors passing the centre of your " .. i("Field of View") .. " within " .. clro("#powerRange") .. " from you.",
				"Incurs a Movement Speed penalty for " .. clro("#taggingPenalty") .. dot) .. br ..
			
			b("SPECIAL STATE: DREAM TRANSITION") .. br ..
			"During the " .. i("Dream Transition") .. ", which lasts for " .. clro("#dreamTransition") .. ", Survivors are slowly falling asleep and intermittently catch glimpses of " .. b("The Nightmare") .. ", if he is within " .. clro("#glimpses") .. " of them." .. nlp ..
			"Once the " .. i("Dream Transition") .. " has elapsed, Survivors are fully asleep and pulled into the " .. i("Dream World") .. dot .. dbr ..
			
			b("SPECIAL AFFLICTION: DREAM WORLD") .. br ..
			"While trapped in the " .. i("Dream World") .. ", Survivors can see " .. b("The Nightmare") .. " and hear his " .. i("Terror Radius") .. " within " .. clro("#terrorRadius") .. ", but are also vulnerable to his attacks and suffer from the following afflictions:" ..
			list(
				b("Reduces") .. " all Action speeds by " .. clro("#actionSpeedPenalty") .. dot,
				"Their Auras are revealed to " .. b("The Nightmare") .. " whenever they are outside of his " .. i("Terror Radius") .. " for longer than " .. clro("#auraDelay") .. dot) .. br ..
			
			b("SPECIAL INTERACTION: WAKE UP") .. br ..
			"Survivors can only escape the " .. i("Dream World") .. " through the following means:" .. 
			list(
				"Failing any " .. i("Skill Check") .. dot,
				"Being hooked by " .. b("The Nightmare") .. dot,
				"Finding an awake Survivor who can perform the " .. i("Wake Up") .. " interaction on them.",
				"Being healed from the Dying to the Injured State.")
		},
		{
			version = "1.8.0",
			lullaby = "24 metres",
			terrorRadius = "16 metres",
			powerRange = "10 metres",
			taggingPenalty = "1 second",
			dreamTransition = "7 seconds",
			glimpses = "6 to 24 metres",
			actionSpeedPenalty = "-50 %",
			auraDelay = "1 second",
			desc =
			b("SPECIAL ABILITY: DREAM DEMON") .. br ..
			b("The Nightmare") .. " is completely invisible to awake Survivors and they can only hear a non-directional " .. i("Lullaby") .. " within " .. clror("#lullaby") .. dot .. br ..
			b("The Nightmare") .. " cannot interact with or damage awake Survivors in any way, he must first pull them into his " .. i("Dream World") .. dot .. nlp ..
			"Press and hold the " .. loadoutStrings.powerButton .. " to use #name:" ..
			list(
				"Starts the " .. i("Dream Transition") .. " for all awake Survivors passing the centre of your " .. i("Field of View") .. " within " .. clro("#powerRange") .. " from you.",
				"Incurs a Movement Speed penalty for " .. clro("#taggingPenalty") .. dot) .. br ..
			
			b("SPECIAL STATE: DREAM TRANSITION") .. br ..
			"During the " .. i("Dream Transition") .. ", which lasts for " .. clro("#dreamTransition") .. ", Survivors are slowly falling asleep and intermittently catch glimpses of " .. b("The Nightmare") .. ", if he is within " .. clro("#glimpses") .. " of them." .. nlp ..
			"Once the " .. i("Dream Transition") .. " has elapsed, Survivors are fully asleep and pulled into the " .. i("Dream World") .. dot .. dbr ..
			
			b("SPECIAL AFFLICTION: DREAM WORLD") .. br ..
			"While trapped in the " .. i("Dream World") .. ", Survivors can see " .. b("The Nightmare") .. " and hear his " .. i("Terror Radius") .. " within " .. clro("#terrorRadius") .. ", but are also vulnerable to his attacks and suffer from the following afflictions:" ..
			list(
				b("Reduces") .. " all Action speeds by " .. clro("#actionSpeedPenalty") .. dot,
				"Their Auras are revealed to " .. b("The Nightmare") .. " whenever they are outside of his " .. i("Terror Radius") .. " for longer than " .. clro("#auraDelay") .. dot) .. br ..
			
			b("SPECIAL INTERACTION: WAKE UP") .. br ..
			"Survivors can only escape the " .. i("Dream World") .. " through the following means:" .. 
			list(
				"Failing any " .. i("Skill Check") .. dot,
				"Being hooked by " .. b("The Nightmare") .. dot,
				"Finding an awake Survivor who can perform the " .. i("Wake Up") .. " interaction on them.")
		},
	},
	["Evil Within"] =
	{
		{
			version = "8.4.1",
			tierThreshold = {"0 Stalk points", "3 Stalk points", "5 Stalk points"},
			movementSpeed = {"4.4 m/s", "4.6 m/s", "4.6 m/s"},
			lungeAttack = {"0.2 seconds", "0.5 seconds", "0.6 seconds"},
			vaulting = {"1.7 seconds", "1.48 seconds", "1.275 seconds"},
			terrorRadius = {"32 metres", "16 metres", "32 metres"},
			stalking = {"20 %", "60 %", "2.5–39.85 metres", "60 %"},
			evil = "80.4 Stalk points",
			tierIII = "60 seconds",
			desc =
			b("SPECIAL ABILITY: EVIL WITHIN") .. br ..
            i("Evil Within") .. " is a tiered Power and requires " .. i("Evil") .. " drained from Survivors in order to tier it up." .. nlp ..
            "All Survivors in the Trial start with an equal amount of " .. i("Evil") .. " from a shared pool of " .. clror("#evil") .. dot .. br .. 
            "Once that pool is depleted, " .. i("Evil Within") .. " cannot tier up anymore." .. dbr ..
            
            b("SPECIAL ABILITY: STALKING") .. br ..
            "While in " .. i("Evil Within I or II") .. ", press and hold the " .. loadoutStrings.powerButton .. " to start " .. i("Stalking") .. colon ..
            list(
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(1)") .. " of its default value while " .. i("Active Stalking") .. dot,
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(2)") .. " of its default value while " .. i("Passive Stalking") .. dot,
            	"Highlights the outline of Survivors within a range of " .. clro("#stalking(3)") .. " of " .. b("The Shape") .. dot,
            	nbullet .. "The colour of their highlight indicates the amount of evil left to drain from them, ranging from " .. bclr("white", "white (full)") .. " to " .. bclr("red", "red (drained)") .. dot) ..
            i("Stalking") .. " drains " .. i("Evil") .. " from whichever highlighted Survivor is in closest proximity to " .. b("The Shape") .. " and fills the Power Gauge." .. br ..
            "The closer a Survivor is to " .. b("The Shape") .. " the slower the " .. i("Evil") .. " is drained from them, down to a lower limit of " .. clro("#stalking(4)") .. " of the default rate." .. nlp .. 
            i("Stalking") .. " is disabled while in " .. i("Evil Within III") .. dot .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN I") .. br ..
            b("The Shape") .. " always starts the Trial in this state:" ..
            list(
            	"Permanent " .. b(i("Undetectable") .. space .. "Status Effect") .. dot,
            	"Reduced Movement speed of " .. clro("#movementSpeed(1)") .. dot,
            	"Shortened " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(1)") .. dot,
            	"Default Vaulting time of " .. clro("#vaulting(1)") .. dot) .. 
            b("The Shape") .. " can never return to " .. i("Evil Within I") .. " after leaving it." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN II") .. br ..
            "While in " .. i("Evil Within I") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(2)") .. " progresses the Power to " .. i("Evil Within II") .. colon ..
            list(
            	"Smaller " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(2)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(2)") .. dot,
            	"Default " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(2)") .. dot,
            	"Shorter Vaulting time of " .. clro("#vaulting(2)") .. dot) .. br ..
            
            b("SPECIAL STATE: EVIL WITHIN III") .. br ..
            "While in " .. i("Evil Within II") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(3)") .. " temporarily progresses the Power to " .. i("Evil Within III") .. dot .. br ..
            i("Evil Within III") .. " lasts for " .. clro("#tierIII") .. colon ..
            list(
            	"Larger " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(3)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(3)") .. dot,
            	"Longer " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(3)") .. dot,
            	"Shortest Vaulting time of " .. clro("#vaulting(3)") .. dot,
            	"Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot) ..
            b("The Shape") .. " automatically returns to " .. i("Evil Within II") .. " after " .. i("Evil Within III") .. " elapses."
        },
        {
			version = "8.4.0",
			tierThreshold = {"0 Stalk points", "3 Stalk points", "5 Stalk points"},
			movementSpeed = {"4.4 m/s", "4.6 m/s", "4.6 m/s"},
			lungeAttack = {"0.2 seconds", "0.5 seconds", "0.6 seconds"},
			vaulting = {"1.7 seconds", "1.48 seconds", "1.275 seconds"},
			terrorRadius = {"32 metres", "16 metres", "32 metres"},
			stalking = {"20 %", "60 %", "2.5–39.85 metres", "40 %"},
			evil = "80.4 Stalk points",
			tierIII = "60 seconds",
			desc =
			b("SPECIAL ABILITY: EVIL WITHIN") .. br ..
            i("Evil Within") .. " is a tiered Power and requires " .. i("Evil") .. " drained from Survivors in order to tier it up." .. nlp ..
            "All Survivors in the Trial start with an equal amount of " .. i("Evil") .. " from a shared pool of " .. clror("#evil") .. dot .. br .. 
            "Once that pool is depleted, " .. i("Evil Within") .. " cannot tier up anymore." .. dbr ..
            
            b("SPECIAL ABILITY: STALKING") .. br ..
            "While in " .. i("Evil Within I or II") .. ", press and hold the " .. loadoutStrings.powerButton .. " to start " .. i("Stalking") .. colon ..
            list(
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(1)") .. " of its default value while " .. i("Active Stalking") .. dot,
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(2)") .. " of its default value while " .. i("Passive Stalking") .. dot,
            	"Highlights the outline of Survivors within a range of " .. clro("#stalking(3)") .. " of " .. b("The Shape") .. dot,
            	nbullet .. "The colour of their highlight indicates the amount of evil left to drain from them, ranging from " .. bclr("white", "white (full)") .. " to " .. bclr("red", "red (drained)") .. dot) ..
            i("Stalking") .. " drains " .. i("Evil") .. " from whichever highlighted Survivor is in closest proximity to " .. b("The Shape") .. " and fills the Power Gauge." .. br ..
            "The closer a Survivor is to " .. b("The Shape") .. " the slower the " .. i("Evil") .. " is drained from them, down to a lower limit of " .. clro("#stalking(4)") .. " of the default rate." .. nlp .. 
            i("Stalking") .. " is disabled while in " .. i("Evil Within III") .. dot .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN I") .. br ..
            b("The Shape") .. " always starts the Trial in this state:" ..
            list(
            	"Permanent " .. b(i("Undetectable") .. space .. "Status Effect") .. dot,
            	"Reduced Movement speed of " .. clro("#movementSpeed(1)") .. dot,
            	"Shortened " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(1)") .. dot,
            	"Default Vaulting time of " .. clro("#vaulting(1)") .. dot) .. 
            b("The Shape") .. " can never return to " .. i("Evil Within I") .. " after leaving it." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN II") .. br ..
            "While in " .. i("Evil Within I") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(2)") .. " progresses the Power to " .. i("Evil Within II") .. colon ..
            list(
            	"Smaller " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(2)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(2)") .. dot,
            	"Default " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(2)") .. dot,
            	"Shorter Vaulting time of " .. clro("#vaulting(2)") .. dot) .. br ..
            
            b("SPECIAL STATE: EVIL WITHIN III") .. br ..
            "While in " .. i("Evil Within II") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(3)") .. " temporarily progresses the Power to " .. i("Evil Within III") .. dot .. br ..
            i("Evil Within III") .. " lasts for " .. clro("#tierIII") .. colon ..
            list(
            	"Larger " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(3)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(3)") .. dot,
            	"Longer " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(3)") .. dot,
            	"Shortest Vaulting time of " .. clro("#vaulting(3)") .. dot,
            	"Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot) ..
            b("The Shape") .. " automatically returns to " .. i("Evil Within II") .. " after " .. i("Evil Within III") .. " elapses."
        },
        {
			version = "4.1.2",
			tierThreshold = {"0 Stalk points", "5 Stalk points", "5 Stalk points"},
			movementSpeed = {"4.2 m/s", "4.6 m/s", "4.6 m/s"},
			lungeAttack = {"0.2 seconds", "0.5 seconds", "0.6 seconds"},
			vaulting = {"1.7 seconds", "1.48 seconds", "1.275 seconds"},
			terrorRadius = {"6 metres", "16 metres", "32 metres"},
			stalking = {"20 %", "60 %", "2.5–39.85 metres", "10 %"},
			evil = "40.4 Stalk points",
			tierIII = "60 seconds",
			desc =
			b("SPECIAL ABILITY: EVIL WITHIN") .. br ..
            i("Evil Within") .. " is a tiered Power and requires " .. i("Evil") .. " drained from Survivors in order to tier it up." .. nlp ..
            "All Survivors in the Trial start with an equal amount of " .. i("Evil") .. " from a shared pool of " .. clror("#evil") .. dot .. br .. 
            "Once that pool is depleted, " .. i("Evil Within") .. " cannot tier up anymore." .. dbr ..
            
            b("SPECIAL ABILITY: STALKING") .. br ..
            "While in " .. i("Evil Within I or II") .. ", press and hold the " .. loadoutStrings.powerButton .. " to start " .. i("Stalking") .. colon ..
            list(
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(1)") .. " of its default value while " .. i("Active Stalking") .. dot,
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(2)") .. " of its default value while " .. i("Passive Stalking") .. dot,
            	"Highlights the outline of Survivors within a range of " .. clro("#stalking(3)") .. " of " .. b("The Shape") .. dot,
            	nbullet .. "The colour of their highlight indicates the amount of evil left to drain from them, ranging from " .. bclr("white", "white (full)") .. " to " .. bclr("red", "red (drained)") .. dot) ..
            i("Stalking") .. " drains " .. i("Evil") .. " from whichever highlighted Survivor is in closest proximity to " .. b("The Shape") .. " and fills the Power Gauge." .. br ..
            "The farther a Survivor is from " .. b("The Shape") .. " the slower the " .. i("Evil") .. " is drained from them, down to a lower limit of " .. clro("#stalking(4)") .. " of the default rate." .. nlp .. 
            i("Stalking") .. " is disabled while in " .. i("Evil Within III") .. dot .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN I") .. br ..
            b("The Shape") .. " always starts the Trial in this state:" ..
            list(
            	"Permanent " .. b(i("Undetectable") .. space .. "Status Effect") .. dot,
            	"Reduced Movement speed of " .. clro("#movementSpeed(1)") .. dot,
            	"Shortened " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(1)") .. dot,
            	"Default Vaulting time of " .. clro("#vaulting(1)") .. dot) .. 
            b("The Shape") .. " can never return to " .. i("Evil Within I") .. " after leaving it." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN II") .. br ..
            "While in " .. i("Evil Within I") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(2)") .. " progresses the Power to " .. i("Evil Within II") .. colon ..
            list(
            	"Smaller " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(2)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(2)") .. dot,
            	"Default " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(2)") .. dot,
            	"Shorter Vaulting time of " .. clro("#vaulting(2)") .. dot) .. br ..
            
            b("SPECIAL STATE: EVIL WITHIN III") .. br ..
            "While in " .. i("Evil Within II") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(3)") .. " temporarily progresses the Power to " .. i("Evil Within III") .. dot .. br ..
            i("Evil Within III") .. " lasts for " .. clro("#tierIII") .. colon ..
            list(
            	"Larger " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(3)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(3)") .. dot,
            	"Longer " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(3)") .. dot,
            	"Shortest Vaulting time of " .. clro("#vaulting(3)") .. dot,
            	"Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot) ..
            b("The Shape") .. " automatically returns to " .. i("Evil Within II") .. " after " .. i("Evil Within III") .. " elapses."
        },
        {
			version = "3.3.1",
			tierThreshold = {"0 Stalk points", "5 Stalk points", "5 Stalk points"},
			movementSpeed = {"4.2 m/s", "4.6 m/s", "4.6 m/s"},
			lungeAttack = {"0.2 seconds", "0.5 seconds", "0.6 seconds"},
			vaulting = {"1.7 seconds", "1.48 seconds", "1.275 seconds"},
			terrorRadius = {"6 metres", "16 metres", "32 metres"},
			stalking = {"20 %", "60 %", "2.5–39.85 metres", "10 %"},
			evil = "40.4 Stalk points",
			tierIII = "60 seconds",
			desc =
			b("SPECIAL ABILITY: EVIL WITHIN") .. br ..
            i("Evil Within") .. " is a tiered Power and requires " .. i("Evil") .. " drained from Survivors in order to tier it up." .. nlp ..
            "All Survivors in the Trial start with an equal amount of " .. i("Evil") .. " from a shared pool of " .. clror("#evil") .. dot .. br .. 
            "Once that pool is depleted, " .. i("Evil Within") .. " cannot tier up anymore." .. dbr ..
            
            b("SPECIAL ABILITY: STALKING") .. br ..
            "Press and hold the " .. loadoutStrings.powerButton .. " to start " .. i("Stalking") .. colon ..
            list(
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(1)") .. " of its default value while " .. i("Active Stalking") .. dot,
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(2)") .. " of its default value while " .. i("Passive Stalking") .. dot,
            	"Highlights the outline of Survivors within a range of " .. clro("#stalking(3)") .. " of " .. b("The Shape") .. dot,
            	nbullet .. "The colour of their highlight indicates the amount of evil left to drain from them, ranging from " .. bclr("white", "white (full)") .. " to " .. bclr("red", "red (drained)") .. dot) ..
            i("Stalking") .. " drains " .. i("Evil") .. " from whichever highlighted Survivor is in closest proximity to " .. b("The Shape") .. " and fills the Power Gauge." .. br ..
            "The farther a Survivor is from " .. b("The Shape") .. " the slower the " .. i("Evil") .. " is drained from them, down to a lower limit of " .. clro("#stalking(4)") .. " of the default rate." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN I") .. br ..
            b("The Shape") .. " always starts the Trial in this state:" ..
            list(
            	"Permanent " .. b(i("Undetectable") .. space .. "Status Effect") .. dot,
            	"Reduced Movement speed of " .. clro("#movementSpeed(1)") .. dot,
            	"Shortened " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(1)") .. dot,
            	"Default Vaulting time of " .. clro("#vaulting(1)") .. dot) .. 
            b("The Shape") .. " can never return to " .. i("Evil Within I") .. " after leaving it." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN II") .. br ..
            "While in " .. i("Evil Within I") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(2)") .. " progresses the Power to " .. i("Evil Within II") .. colon ..
            list(
            	"Smaller " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(2)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(2)") .. dot,
            	"Default " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(2)") .. dot,
            	"Shorter Vaulting time of " .. clro("#vaulting(2)") .. dot) .. br ..
            
            b("SPECIAL STATE: EVIL WITHIN III") .. br ..
            "While in " .. i("Evil Within II") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(3)") .. " temporarily progresses the Power to " .. i("Evil Within III") .. dot .. br ..
            i("Evil Within III") .. " lasts for " .. clro("#tierIII") .. colon ..
            list(
            	"Larger " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(3)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(3)") .. dot,
            	"Longer " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(3)") .. dot,
            	"Shortest Vaulting time of " .. clro("#vaulting(3)") .. dot,
            	"Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot) ..
            b("The Shape") .. " automatically returns to " .. i("Evil Within II") .. " after " .. i("Evil Within III") .. " elapses."
        },
        {
			version = "2.1.0",
			tierThreshold = {"0 Stalk points", "5 Stalk points", "5 Stalk points"},
			movementSpeed = {"4.2 m/s", "4.6 m/s", "4.6 m/s"},
			lungeAttack = {"0.2 seconds", "0.5 seconds", "0.6 seconds"},
			vaulting = {"1.7 seconds", "1.48 seconds", "1.275 seconds"},
			terrorRadius = {"6 metres", "16 metres", "32 metres"},
			stalking = {"20 %", "60 %", "2.5–39.85 metres", "10 %"},
			evil = "40.4 Stalk points",
			tierIII = "60 seconds",
			desc =
			b("SPECIAL ABILITY: EVIL WITHIN") .. br ..
            i("Evil Within") .. " is a tiered Power and requires " .. i("Evil") .. " drained from Survivors in order to tier it up." .. nlp ..
            "All Survivors in the Trial start with an equal amount of " .. i("Evil") .. " from a shared pool of " .. clror("#evil") .. dot .. br .. 
            "Once that pool is depleted, " .. i("Evil Within") .. " cannot tier up anymore." .. dbr ..
            
            b("SPECIAL ABILITY: STALKING") .. br ..
            "Press and hold the " .. loadoutStrings.powerButton .. " to start " .. i("Stalking") .. colon ..
            list(
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(1)") .. " of its default value while " .. i("Active Stalking") .. dot,
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(2)") .. " of its default value while " .. i("Passive Stalking") .. dot,
            	"Highlights the outline of Survivors within a range of " .. clro("#stalking(3)") .. " of " .. b("The Shape") .. dot,
            	nbullet .. "The colour of their highlight indicates the amount of evil left to drain from them, ranging from " .. bclr("white", "white (full)") .. " to " .. bclr("red", "red (drained)") .. dot) ..
            i("Stalking") .. " drains " .. i("Evil") .. " from whichever highlighted Survivor is in closest proximity to " .. b("The Shape") .. " and fills the Power Gauge." .. br ..
            "The farther a Survivor is from " .. b("The Shape") .. " the slower the " .. i("Evil") .. " is drained from them, down to a lower limit of " .. clro("#stalking(4)") .. " of the default rate." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN I") .. br ..
            b("The Shape") .. " always starts the Trial in this state:" ..
            list(
            	"Enhanced Stealth abilities:",
            	nbullet .. "Suppressed " .. i("Red Stain") .. dot,
            	nbullet .. "Immunity from Aura-reading abilities.",
            	nbullet .. "Immunity from Detection Perks.",
            	"Smallest " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(1)") .. dot,
            	"Reduced Movement speed of " .. clro("#movementSpeed(1)") .. dot,
            	"Shortened " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(1)") .. dot,
            	"Default Vaulting time of " .. clro("#vaulting(1)") .. dot) .. 
            b("The Shape") .. " can never return to " .. i("Evil Within I") .. " after leaving it." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN II") .. br ..
            "While in " .. i("Evil Within I") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(2)") .. " progresses the Power to " .. i("Evil Within II") .. colon ..
            list(
            	"Smaller " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(2)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(2)") .. dot,
            	"Default " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(2)") .. dot,
            	"Shorter Vaulting time of " .. clro("#vaulting(2)") .. dot) .. br ..
            
            b("SPECIAL STATE: EVIL WITHIN III") .. br ..
            "While in " .. i("Evil Within II") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(3)") .. " temporarily progresses the Power to " .. i("Evil Within III") .. dot .. br ..
            i("Evil Within III") .. " lasts for " .. clro("#tierIII") .. colon ..
            list(
            	"Larger " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(3)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(3)") .. dot,
            	"Longer " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(3)") .. dot,
            	"Shortest Vaulting time of " .. clro("#vaulting(3)") .. dot,
            	"Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot) ..
            b("The Shape") .. " automatically returns to " .. i("Evil Within II") .. " after " .. i("Evil Within III") .. " elapses."
        },
        {
			version = "1.2.1",
			displayVersion = "1.2.1e",
			tierThreshold = {"0 Stalk points", "5 Stalk points", "5 Stalk points"},
			movementSpeed = {"4.14 m/s", "4.6 m/s", "4.6 m/s"},
			lungeAttack = {"0.2 seconds", "0.5 seconds", "0.6 seconds"},
			vaulting = {"1.7 seconds", "1.48 seconds", "1.275 seconds"},
			terrorRadius = {"6 metres", "16 metres", "32 metres"},
			stalking = {"20 %", "60 %", "2.5–39.85 metres", "10 %"},
			evil = "40.4 Stalk points",
			tierIII = "60 seconds",
			desc =
			b("SPECIAL ABILITY: EVIL WITHIN") .. br ..
            i("Evil Within") .. " is a tiered Power and requires " .. i("Evil") .. " drained from Survivors in order to tier it up." .. nlp ..
            "All Survivors in the Trial start with an equal amount of " .. i("Evil") .. " from a shared pool of " .. clror("#evil") .. dot .. br .. 
            "Once that pool is depleted, " .. i("Evil Within") .. " cannot tier up anymore." .. dbr ..
            
            b("SPECIAL ABILITY: STALKING") .. br ..
            "Press and hold the " .. loadoutStrings.powerButton .. " to start " .. i("Stalking") .. colon ..
            list(
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(1)") .. " of its default value while " .. i("Active Stalking") .. dot,
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(2)") .. " of its default value while " .. i("Passive Stalking") .. dot,
            	"Highlights the outline of Survivors within a range of " .. clro("#stalking(3)") .. " of " .. b("The Shape") .. dot,
            	nbullet .. "The colour of their highlight indicates the amount of evil left to drain from them, ranging from " .. bclr("white", "white (full)") .. " to " .. bclr("red", "red (drained)") .. dot) ..
            i("Stalking") .. " drains " .. i("Evil") .. " from whichever highlighted Survivor is in closest proximity to " .. b("The Shape") .. " and fills the Power Gauge." .. br ..
            "The farther a Survivor is from " .. b("The Shape") .. " the slower the " .. i("Evil") .. " is drained from them, down to a lower limit of " .. clro("#stalking(4)") .. " of the default rate." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN I") .. br ..
            b("The Shape") .. " always starts the Trial in this state:" ..
            list(
            	"Enhanced Stealth abilities:",
            	nbullet .. "Suppressed " .. i("Red Stain") .. dot,
            	nbullet .. "Immunity from Aura-reading abilities.",
            	nbullet .. "Immunity from Detection Perks.",
            	"Smallest " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(1)") .. dot,
            	"Reduced Movement speed of " .. clro("#movementSpeed(1)") .. dot,
            	"Shortened " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(1)") .. dot,
            	"Default Vaulting time of " .. clro("#vaulting(1)") .. dot) .. 
            b("The Shape") .. " can never return to " .. i("Evil Within I") .. " after leaving it." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN II") .. br ..
            "While in " .. i("Evil Within I") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(2)") .. " progresses the Power to " .. i("Evil Within II") .. colon ..
            list(
            	"Smaller " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(2)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(2)") .. dot,
            	"Default " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(2)") .. dot,
            	"Shorter Vaulting time of " .. clro("#vaulting(2)") .. dot) .. br ..
            
            b("SPECIAL STATE: EVIL WITHIN III") .. br ..
            "While in " .. i("Evil Within II") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(3)") .. " temporarily progresses the Power to " .. i("Evil Within III") .. dot .. br ..
            i("Evil Within III") .. " lasts for " .. clro("#tierIII") .. colon ..
            list(
            	"Larger " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(3)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(3)") .. dot,
            	"Longer " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(3)") .. dot,
            	"Shortest Vaulting time of " .. clro("#vaulting(3)") .. dot,
            	"Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot) ..
            b("The Shape") .. " automatically returns to " .. i("Evil Within II") .. " after " .. i("Evil Within III") .. " elapses."
        },
        {
			version = "1.2.1",
			tierThreshold = {"0 Stalk points", "5 Stalk points", "5 Stalk points"},
			movementSpeed = {"4.14 m/s", "4.6 m/s", "4.6 m/s"},
			lungeAttack = {"0.2 seconds", "0.5 seconds", "0.6 seconds"},
			vaulting = {"1.7 seconds", "1.48 seconds", "1.275 seconds"},
			terrorRadius = {"6 metres", "16 metres", "32 metres"},
			stalking = {"20 %", "60 %", "2.5–39.85 metres", "10 %"},
			evil = "40.4 Stalk points",
			tierIII = "60 seconds",
			desc =
			b("SPECIAL ABILITY: EVIL WITHIN") .. br ..
            i("Evil Within") .. " is a tiered Power and requires " .. i("Evil") .. " drained from Survivors in order to tier it up." .. nlp ..
            "All Survivors in the Trial start with an equal amount of " .. i("Evil") .. " from a shared pool of " .. clror("#evil") .. dot .. br .. 
            "Once that pool is depleted, " .. i("Evil Within") .. " cannot tier up anymore." .. dbr ..
            
            b("SPECIAL ABILITY: STALKING") .. br ..
            "Press and hold the " .. loadoutStrings.powerButton .. " to start " .. i("Stalking") .. colon ..
            list(
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(1)") .. " of its default value while " .. i("Active Stalking") .. dot,
            	b("Reduces") .. " the Walking speed to " .. clro("#stalking(2)") .. " of its default value while " .. i("Passive Stalking") .. dot,
            	"Highlights the outline of Survivors within a range of " .. clro("#stalking(3)") .. " of " .. b("The Shape") .. dot,
            	nbullet .. "The colour of their highlight indicates the amount of evil left to drain from them, ranging from " .. bclr("white", "white (full)") .. " to " .. bclr("red", "red (drained)") .. dot) ..
            i("Stalking") .. " drains " .. i("Evil") .. " simultaneously from all highlighted Survivors and fills the Power Gauge, with the combined rate depending on their individual proximity to " .. b("The Shape") .. dot .. br ..
            "The farther a Survivor is from " .. b("The Shape") .. " the slower the " .. i("Evil") .. " is drained from them, down to a lower limit of " .. clro("#stalking(4)") .. " of the default rate." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN I") .. br ..
            b("The Shape") .. " always starts the Trial in this state:" ..
            list(
            	"Enhanced Stealth abilities:",
            	nbullet .. "Suppressed " .. i("Red Stain") .. dot,
            	nbullet .. "Immunity from Aura-reading abilities.",
            	nbullet .. "Immunity from Detection Perks.",
            	"Smallest " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(1)") .. dot,
            	"Reduced Movement speed of " .. clro("#movementSpeed(1)") .. dot,
            	"Shortened " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(1)") .. dot,
            	"Default Vaulting time of " .. clro("#vaulting(1)") .. dot) .. 
            b("The Shape") .. " can never return to " .. i("Evil Within I") .. " after leaving it." .. dbr ..
            
            b("SPECIAL STATE: EVIL WITHIN II") .. br ..
            "While in " .. i("Evil Within I") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(2)") .. " progresses the Power to " .. i("Evil Within II") .. colon ..
            list(
            	"Smaller " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(2)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(2)") .. dot,
            	"Default " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(2)") .. dot,
            	"Shorter Vaulting time of " .. clro("#vaulting(2)") .. dot) .. br ..
            
            b("SPECIAL STATE: EVIL WITHIN III") .. br ..
            "While in " .. i("Evil Within II") .. ", draining Survivors from the equivalent of " .. clro("#tierThreshold(3)") .. " temporarily progresses the Power to " .. i("Evil Within III") .. dot .. br ..
            i("Evil Within III") .. " lasts for " .. clro("#tierIII") .. colon ..
            list(
            	"Larger " .. i("Terror Radius") .. " of " .. clro("#terrorRadius(3)") .. dot,
            	"Default Movement speed of " .. clro("#movementSpeed(3)") .. dot,
            	"Longer " .. i("Lunge Attack") .. " range with an open time of " .. clro("#lungeAttack(3)") .. dot,
            	"Shortest Vaulting time of " .. clro("#vaulting(3)") .. dot,
            	"Causes all Survivors to suffer from the " .. b(i("Exposed") .. space .. "Status Effect") .. dot) ..
            b("The Shape") .. " automatically returns to " .. i("Evil Within II") .. " after " .. i("Evil Within III") .. " elapses."
        },
	},
	["Feral Frenzy"] =
	{
		{
			version = "8.6.0",
			frenzyDuration = "11 seconds",
			frenzyRecharge = "15 seconds",
			frenzySpeedDefault = "5.2 m/s",
			frenzySpeedBonus = "+0.24 m/s",
			frenzySpeedMax = "+0.96 m/s",
			terrorRadiusBonus = "+8 metres",
			feralVault = "0.9 seconds",
			fatigueSpeed = "2.3 m/s",
			fatigueDuration = "2.5 seconds", 
			desc =
			b("SPECIAL ABILITY: FERAL FRENZY") .. br ..
            "Press the " .. loadoutStrings.powerButton .. " when the Power Gauge is full to enter " .. i("Feral Frenzy") .. " for up to " .. clror("#frenzyDuration") .. colon ..
            list(
            	b("Increases") .. " their Movement speed to " .. clro("#frenzySpeedDefault") .. dot,
            	b("Increases") .. " their " .. i("Terror Radius") .. " by " .. clro("#terrorRadiusBonus") .. dot,
            	"Unlocks their ability to perform " .. i("Feral Vaults") .. " and " .. i("Feral Slashes") .. dot) ..
            i("Feral Frenzy") .. " takes " .. clro("#frenzyRecharge") .. " to recharge." .. dbr ..
            
            b("SPECIAL ABILITY: FERAL VAULT") .. br ..
            "Press the " .. loadoutStrings.interactionButton .. " during " .. i("Feral Frenzy") .. " while next to a dropped " .. b("Pallet") .. " or a " .. b("Window") .. " to perform a " .. i("Feral Vault") .. colon ..
            list("Grants the ability to swiftly vault over them in " .. clro("#feralVault") .. dot) .. br ..
            
            b("SPECIAL ABILTIY: FERAL SLASH") .. br ..
            "Press the " .. loadoutStrings.attackButton .. " during " .. i("Feral Frenzy") .. " to initiate a " .. i("Feral Slash Attack") .. br .. "Hitting a Survivor with it applies the following effects:" ..
            list(
            	"Injures Survivors and causes them to suffer from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. dot,
            	"Instantly refills the Power Gauge.",
            	"Triggers " .. i("Killer Instinct") .. " on all Survivors inside the " .. i("Terror Radius") .. " not already suffering from " .. i(b("Deep Wound")) .. dot,
            	b("Increases") .. " the Movement speed of " .. b("The Legion") .. " by an additional " .. clro("#frenzySpeedBonus") .. " per hit Survivor, up to a maximum of " .. clro("#frenzySpeedMax") .. " after four successful " .. i("Feral Slashes") .. dot,
            	"Causes the fifth " .. i("Feral Slash") .. " to be lethal and apply double damage.",
            	nbullet .. "This also affects Survivors already suffering from " .. i(b("Deep Wound")) .. dot) ..
            "Hitting a Survivor already suffering from " .. i(b("Deep Wound")) .. " or missing a " .. i("Feral Slash") .. " automatically ends " .. i("Feral Frenzy") .. dot .. dbr ..
            
            b("SPECIAL STATE: FATIGUE") .. br ..
            "After " .. i("Feral Frenzy") .. " either elapses or " .. b("The Legion") .. " cancel it prematurely, they enter a state of " .. i("Fatigue") .. comma .. space .. b("reducing") .. " their Movement speed to " .. clro("#fatigueSpeed") .. " for " .. clro("#fatigueDuration") .. dot
		},
		{
			version = "5.7.0",
			frenzyDuration = "10 seconds",
			frenzyRecharge = "20 seconds",
			frenzySpeedDefault = "5.2 m/s",
			frenzySpeedBonus = "+0.2 m/s",
			frenzySpeedMax = "+0.8 m/s",
			terrorRadiusBonus = "+8 metres",
			feralVault = "0.9 seconds",
			fatigueSpeed = "2.07 m/s",
			fatigueDuration = "3 seconds", 
			desc =
			b("SPECIAL ABILITY: FERAL FRENZY") .. br ..
            "Press the " .. loadoutStrings.powerButton .. " when the Power Gauge is full to enter " .. i("Feral Frenzy") .. " for up to " .. clror("#frenzyDuration") .. colon ..
            list(
            	b("Increases") .. " their Movement speed to " .. clro("#frenzySpeedDefault") .. dot,
            	b("Increases") .. " their " .. i("Terror Radius") .. " by " .. clro("#terrorRadiusBonus") .. dot,
            	"Unlocks their ability to perform " .. i("Feral Vaults") .. " and " .. i("Feral Slashes") .. dot) ..
            i("Feral Frenzy") .. " takes " .. clro("#frenzyRecharge") .. " to recharge." .. dbr ..
            
            b("SPECIAL ABILITY: FERAL VAULT") .. br ..
            "Press the " .. loadoutStrings.interactionButton .. " during " .. i("Feral Frenzy") .. " while next to a dropped " .. b("Pallet") .. " or a " .. b("Window") .. " to perform a " .. i("Feral Vault") .. colon ..
            list("Grants the ability to swiftly vault over them in " .. clro("#feralVault") .. dot) .. br ..
            
            b("SPECIAL ABILTIY: FERAL SLASH") .. br ..
            "Press the " .. loadoutStrings.attackButton .. " during " .. i("Feral Frenzy") .. " to initiate a " .. i("Feral Slash Attack") .. br .. "Hitting a Survivor with it applies the following effects:" ..
            list(
            	"Injures Survivors and causes them to suffer from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. dot,
            	"Instantly refills the Power Gauge.",
            	"Triggers " .. i("Killer Instinct") .. " on all Survivors inside the " .. i("Terror Radius") .. " not already suffering from " .. i(b("Deep Wound")) .. dot,
            	b("Increases") .. " the Movement speed of " .. b("The Legion") .. " by an additional " .. clro("#frenzySpeedBonus") .. " per hit Survivor, up to a maximum of " .. clro("#frenzySpeedMax") .. " after four successful " .. i("Feral Slashes") .. dot,
            	"Causes the fifth " .. i("Feral Slash") .. " to be lethal and apply double damage.",
            	nbullet .. "This also affects Survivors already suffering from " .. i(b("Deep Wound")) .. dot) ..
            "Hitting a Survivor already suffering from " .. i(b("Deep Wound")) .. " or missing a " .. i("Feral Slash") .. " automatically ends " .. i("Feral Frenzy") .. dot .. dbr ..
            
            b("SPECIAL STATE: FATIGUE") .. br ..
            "After " .. i("Feral Frenzy") .. " either elapses or " .. b("The Legion") .. " cancel it prematurely, they enter a state of " .. i("Fatigue") .. comma .. space .. b("reducing") .. " their Movement speed to " .. clro("#fatigueSpeed") .. " for " .. clro("#fatigueDuration") .. dot
		},
		{
			version = "3.4.0",
			frenzyDuration = "10 seconds",
			frenzyRecharge = "20 seconds",
			frenzyPenalty = "-50 %",
			frenzySpeed = "5.2 m/s",
			terrorRadiusBonus = "+8 metres",
			feralVault = "0.9 seconds",
			fatigueSpeed = "2.07 m/s",
			fatigueDuration = "4 seconds", 
			desc =
			b("SPECIAL ABILITY: FERAL FRENZY") .. br ..
            "Press the " .. loadoutStrings.powerButton .. " when the Power Gauge is full to enter " .. i("Feral Frenzy") .. " for up to " .. clror("#frenzyDuration") .. colon ..
            list(
            	b("Increases") .. " their Movement speed to " .. clro("#frenzySpeed") .. dot,
            	b("Increases") .. " their " .. i("Terror Radius") .. " by " .. clro("#terrorRadiusBonus") .. dot,
            	"Unlocks their ability to perform " .. i("Feral Vaults") .. " and " .. i("Feral Slashes") .. dot) ..
            i("Feral Frenzy") .. " takes " .. clro("#frenzyRecharge") .. " to recharge." .. nlp ..
            i("Non-Frenzy Attacks") .. " incur a penalty of " .. clro("#frenzyPenalty") .. " to the Power Gauge ." .. dbr ..
            
            b("SPECIAL ABILITY: FERAL VAULT") .. br ..
            "Press the " .. loadoutStrings.interactionButton .. " during " .. i("Feral Frenzy") .. " while next to a dropped " .. b("Pallet") .. " or a " .. b("Window") .. " to perform a " .. i("Feral Vault") .. colon ..
            list("Grants the ability to swiftly vault over them in " .. clro("#feralVault") .. dot) .. br ..
            
            b("SPECIAL ABILTIY: FERAL SLASH") .. br ..
            "Press the " .. loadoutStrings.attackButton .. " during " .. i("Feral Frenzy") .. " to initiate a " .. i("Feral Slash Attack") .. br .. "Hitting a Survivor with it applies the following effects:" ..
            list(
            	"Injures Survivors and causes them to suffer from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. dot,
            	"Instantly refills the Power Gauge.",
            	"Triggers " .. i("Killer Instinct") .. " on all Survivors inside the " .. i("Terror Radius") .. " not already suffering from " .. i(b("Deep Wound")) .. dot) ..
            "Hitting a Survivor already suffering from " .. i(b("Deep Wound")) .. " or missing a " .. i("Feral Slash") .. " automatically ends " .. i("Feral Frenzy") .. dot .. dbr ..
            
            b("SPECIAL STATE: FATIGUE") .. br ..
            "After " .. i("Feral Frenzy") .. " either elapses or " .. b("The Legion") .. " cancel it prematurely, they enter a state of " .. i("Fatigue") .. comma .. space .. b("reducing") .. " their Movement speed to " .. clro("#fatigueSpeed") .. " for " .. clro("#fatigueDuration") .. dot
		},
		{
			version = "2.7.0",
			frenzyDuration = "10 seconds",
			frenzyRecharge = "20 seconds",
			frenzyPenalty = "-50 %",
			frenzySpeed = "5 m/s",
			terrorRadiusBonus = "+8 metres",
			feralWindowVault = "1.1 seconds",
			feralPalletVault = "1.35 seconds",
			fatigueSpeed = "2.07 m/s",
			fatigueDuration = "4 seconds", 
			desc =
			b("SPECIAL ABILITY: FERAL FRENZY") .. br ..
            "Press the " .. loadoutStrings.powerButton .. " when the Power Gauge is full to enter " .. i("Feral Frenzy") .. " for up to " .. clror("#frenzyDuration") .. colon ..
            list(
            	b("Increases") .. " their Movement speed to " .. clro("#frenzySpeed") .. dot,
            	b("Increases") .. " their " .. i("Terror Radius") .. " by " .. clro("#terrorRadiusBonus") .. dot,
            	"Unlocks their ability to perform " .. i("Feral Vaults") .. " and " .. i("Feral Slashes") .. dot) ..
            i("Feral Frenzy") .. " takes " .. clro("#frenzyRecharge") .. " to recharge." .. nlp ..
            i("Non-Frenzy Attacks") .. " incur a penalty of " .. clro("#frenzyPenalty") .. " to the Power Gauge ." .. dbr ..
            
            b("SPECIAL ABILITY: FERAL VAULT") .. br ..
            "Press the " .. loadoutStrings.interactionButton .. " during " .. i("Feral Frenzy") .. " while next to a dropped " .. b("Pallet") .. " or a " .. b("Window") .. " to perform a " .. i("Feral Vault") .. colon ..
            list("Grants the ability to swiftly vault over them in " .. clro("#feralPalletVault") .. " and " .. clro("#feralWindowVault") .. " respectively.") .. br ..
            
            b("SPECIAL ABILTIY: FERAL SLASH") .. br ..
            "Press the " .. loadoutStrings.attackButton .. " during " .. i("Feral Frenzy") .. " to initiate a " .. i("Feral Slash Attack") .. br .. "Hitting a Survivor with it applies the following effects:" ..
            list(
            	"Injures Survivors and causes them to suffer from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. dot,
            	"Instantly refills the Power Gauge.",
            	"Triggers " .. i("Killer Instinct") .. " on all Survivors inside the " .. i("Terror Radius") .. " not already suffering from " .. i(b("Deep Wound")) .. dot) ..
            "Hitting a Survivor already suffering from " .. i(b("Deep Wound")) .. " or missing a " .. i("Feral Slash") .. " automatically ends " .. i("Feral Frenzy") .. dot .. dbr ..
            
            b("SPECIAL STATE: FATIGUE") .. br ..
            "After " .. i("Feral Frenzy") .. " either elapses or " .. b("The Legion") .. " cancel it prematurely, they enter a state of " .. i("Fatigue") .. comma .. space .. b("reducing") .. " their Movement speed to " .. clro("#fatigueSpeed") .. " for " .. clro("#fatigueDuration") .. dot
		},
		{
			version = "2.4.0",
			frenzyDuration = "6 seconds",
			frenzyRecharge = "15 seconds",
			frenzySpeed = "5.28 m/s",
			terrorRadiusBonus = "+8 metres",
			feralVault = "0.9 seconds",
			fatigueSpeed = "2.07 m/s",
			fatigueDuration = "3 seconds", 
			desc =
			b("SPECIAL ABILITY: FERAL FRENZY") .. br ..
            "Press the " .. loadoutStrings.powerButton .. " at any time to enter " .. i("Feral Frenzy") .. " for up to " .. clror("#frenzyDuration") .. colon ..
            list(
            	b("Increases") .. " their Movement speed to " .. clro("#frenzySpeed") .. dot,
            	b("Increases") .. " their " .. i("Terror Radius") .. " by " .. clro("#terrorRadiusBonus") .. dot,
            	"Unlocks their ability to perform " .. i("Feral Vaults") .. " and " .. i("Feral Slashes") .. dot,
            	nbullet .. "Missed " .. i("Feral Slashes") .. " do not end " .. i("Feral Frenzy") .. dot) ..
            i("Feral Frenzy") .. " takes " .. clro("#frenzyRecharge") .. " to recharge." .. nlp ..
            i("Non-Frenzy Attacks") .. " reset the Power Gauge." .. dbr ..
            
            b("SPECIAL ABILITY: FERAL VAULT") .. br ..
            "Press the " .. loadoutStrings.interactionButton .. " during " .. i("Feral Frenzy") .. " while next to a dropped " .. b("Pallet") .. " or a " .. b("Window") .. " to perform a " .. i("Feral Vault") .. colon ..
            list("Grants the ability to swiftly vault over them in " .. clro("#feralVault") .. dot) .. br ..
            
            b("SPECIAL ABILTIY: FERAL SLASH") .. br ..
            "Press the " .. loadoutStrings.attackButton .. " during " .. i("Feral Frenzy") .. " to initiate a " .. i("Feral Slash Attack") .. br .. "Hitting a Survivor with it applies the following effects:" ..
            list(
            	"Injures Survivors and causes them to suffer from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. dot,
            	"Instantly refills the Power Gauge.",
            	"Triggers " .. i("Killer Instinct") .. " on all Survivors inside the " .. i("Terror Radius") .. " not already suffering from " .. i(b("Deep Wound")) .. dot) ..
            "Hitting a Survivor already suffering from " .. i(b("Deep Wound")) .. " or missing a " .. i("Feral Slash") .. " automatically ends " .. i("Feral Frenzy") .. dot .. dbr ..
            
            b("SPECIAL STATE: FATIGUE") .. br ..
            "After " .. i("Feral Frenzy") .. " either elapses or " .. b("The Legion") .. " cancel it prematurely, they enter a state of " .. i("Fatigue") .. comma .. space .. b("reducing") .. " their Movement speed to " .. clro("#fatigueSpeed") .. " for " .. clro("#fatigueDuration") .. dot
		},
	},
	["Scent of Blood"] =
	{
		{
			version = "8.4.2",
			cooldown = "3 seconds",
			hindered = "-10 %",
			durationHindered = "5 seconds",
			grabDurationDefault = "8 seconds",
			grabDurationEndurance = "2 seconds",
			gateBlockerLinger = "5 seconds",
			palletAuras = "16 metres",
			dogStun = "3 seconds",
			killerInstinctDuration = "5 seconds",
			killerInstinctLinger = "2 seconds",
			beacon = "5 to 40 metres",
			lullaby = "32 metres",
			slipstreamSpeed = "6 m/s",
			desc = 
			b("SPECIAL COMPANION: THE DOG") .. br ..
    		b("The Houndmaster") .. " sees the Aura of " .. b("The Dog") .. " at all times." .. dbr ..
    		
    		b("SPECIAL INTERACTION: PET DOG") .. br ..
    		"Press the " .. loadoutStrings.interactionButton .. " while standing near " .. b("The Dog") .. " to pet it." .. dbr ..
    		
    		b("SPECIAL INTERACTION: SWITCH COMMAND") .. br ..
    		"Press the " .. loadoutStrings.secondaryPowerButton .. " to switch between the " .. i("Chase Command") .. " and the " .. i("Search Command") .. dot .. dbr ..
    		
    		b("SPECIAL ABILITY: CHASE") .. br ..
    		"Press and hold the " .. loadoutStrings.powerButton .. " to initiate the " .. i("Chase Command") .. ", charting the " .. i("Chase Path") .. " in front of you that " .. b("The Dog") .. " will follow:" .. br ..
    		"Press the " .. loadoutStrings.attackButton .. " to send " .. b("The Dog") .. " out at high speed or release the " .. loadoutStrings.powerButton .. " to cancel the ability." .. nlp ..
    		"The " .. i("Chase Command") .. " has a cool-down of " .. clror("#cooldown") .. dot .. dbr ..
    		
    		b("SPECIAL ABILITY: REDIRECT CHASE") .. br ..
    		"Press the " .. loadoutStrings.powerButton .. " after sending out " .. b("The Dog") .. " to temporarily take possession of it:" .. br ..
    		"Press the " .. loadoutStrings.attackButton .. " to redirect the " .. i("Chase Path") .. " or press the " .. loadoutStrings.secondaryPowerButton .. " to cancel the redirect altogether." .. dbr ..
    		
    		b("SPECIAL INTERACTION: DOG GRAB") .. br ..
    		"When " .. b("The Dog") .. " comes across a Survivor in its path, it pounces and grabs onto them:" ..
    		list(
    			"Causes the " .. i("Grabbed Survivor") .. " to suffer from a " .. clro("#hindered") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " and the " .. b(i("Incapacitated") .. space .. "Status Effect") .. dot,
    			"Causes the " .. i("Grabbed Survivor") .. " to slowly be pulled towards " .. b("The Houndmaster") .. " for a maximum of " .. clro("#grabDurationDefault") .. ", after which they are released again.",
    			nbullet .. "This duration is " .. b("reduced") .. " to " .. clro("#grabDurationEndurance") .. ", if the " .. i("Grabbed Survivor") .. " is protected by the " .. b(i("Endurance") .. space .. "Status Effect") .. dot,
    			"Causes the " .. b("Exit Gates") .. " to be blocked for the " .. i("Grabbed Survivor") .. dot,
    			nbullet .. "This effect lingers for " .. clro("#gateBlockerLinger") .. " after being released.",
    			"The Aura of the " .. i("Grabbed Survivor") .. " is revealed to " .. b("The Houndmaster") .. " in " .. bclr("bright red", "bright red") .. dot) ..
    		"The " .. i("Grabbed Survivor") .. " can fight against the pull by moving in opposite directions and potentially steer " .. b("The Dog") .. " towards nearby " .. b("Pallets") .. dot .. nlp ..
    		"The " .. i("Grabbed Survivor") .. " can free themselves sooner by stunning " .. b("The Dog") .. " or being rescued by another Survivor interacting with it:" ..
    		list(
    			"The Auras of upright " .. b("Pallets") .. " within " .. clro("#palletAuras") .. " of the " .. i("Grabbed Survivor") .. " are revealed to them in " .. bclr("yellow", "yellow") .. dot,
    			"Dropping a " .. b("Pallet") .. " onto " .. b("The Dog") .. " stuns it for " .. clro("#dogStun") .. " and triggers " .. i("Killer Instinct") .. " for " .. clro("#killerInstinctDuration") .. dot) ..
    		"If the " .. i("Grabbed Survivor") .. " is released without injury by any means, they continue to suffer from the " .. b(i("Hindered") .. space .. "Status Effect") .. " for another " .. clro("#durationHindered") .. dot .. dbr ..
    		
    		b("SPECIAL ABILITY: SEARCH") .. br ..
    		"Press and hold the " .. loadoutStrings.powerButton .. " to initiate the " .. i("Search Command") .. colon ..
    		list(
    			"Causes her cane to be sent out as a beacon, marking the " .. i("Target Location") .. " of " .. b("The Dog") .. dot,
    			nbullet .. "The beacon can moved to any location within " .. clro("#beacon") .. " of " .. b("The Houndmaster") .. dot,
    			"Aiming at the Aura of a Prop transforms the beacon into a marker that also acts as the " .. i("Target Location") .. dot,
    			nbullet .. "The marker can target the Aura of any Prop in the environment and has an unlimited range.",
    			"Grants the ability to also see the Auras of completed " .. b("Generators") .. ", which are highlighted in " .. bclr("orange", "light orange") .. dot,
    			nbullet .. "This allows the marker to target them as well.") ..
    		"Press the " .. loadoutStrings.attackButton .. " to send " .. b("The Dog") .. " out along a " .. i("Search Path") .. " towards the " .. i("Target Location") .. " or release the " .. loadoutStrings.powerButton .. " to cancel the ability." .. nlp ..
    		"While searching, " .. b("The Dog") .. " has its own " .. i("Lullaby") .. " of " .. clro("#lullaby") .. " and uses its " .. i("Houndsense") .. " to locate nearby Survivors:" ..
    		list(
    			b("Increases") .. " the radius of the " .. i("Houndsense") .. " based on the distance " .. b("The Dog") .. " travels along the " .. i("Search Path") .. dot,
    			"Causes Survivors entering its radius to become affected by " .. i("Houndsense") .. " and trigger " .. i("Killer Instinct") .. dot,
    			nbullet .. "This effect lingers for " .. clro("#killerInstinctLinger") .. " after leaving the radius.",
    			b("Increases") .. " the Movement speed of " .. b("The Houndmaster") .. " to " .. clro("#slipstreamSpeed") .. " after travelling along the " .. i("Search Path") .. " for a certain distance.",
    			nbullet .. "This effect lasts for as long as she remains on or close to the " .. i("Search Path") .. " and ends once " .. b("The Dog") .. " returns to her side.") .. br ..
    		
    		b("SPECIAL EFFECT: HOUNDSENSE") .. br ..
    		"Survivors affected by " .. i("Houndsense") .. " are highlighted to " .. b("The Houndmaster") .. " in " .. bclr("bright red", "bright red") .. " and experience either of the following effects:" ..
    		list(
    			"Healthy Survivors after entering the " .. i("Injured State") .. colon,
    			nbullet .. "Suffer from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. " upon becoming injured.",
    			"Injured Survivors after entering the " .. i("Dying State") .. colon,
    			nbullet .. b("Increases") .. " the volume of their " .. i("Grunts of Pain") .. dot,
    			nbullet .. b("Increases") .. " the duration of their " .. i("Pools of Blood") .. dot)
		},
		{
			version = "8.4.1",
			cooldown = "4 seconds",
			hinderedGrabbed = "-3 %",
			hinderedReleased = "-10 %",
			durationHindered = "5 seconds",
			grabDurationDefault = "8 seconds",
			grabDurationEndurance = "2 seconds",
			gateBlockerLinger = "5 seconds",
			palletAuras = "16 metres",
			dogStun = "3 seconds",
			killerInstinctDuration = "5 seconds",
			killerInstinctLinger = "2 seconds",
			beacon = "5 to 40 metres",
			lullaby = "32 metres",
			slipstreamSpeed = "6 m/s",
			desc = 
			b("SPECIAL COMPANION: THE DOG") .. br ..
    		b("The Houndmaster") .. " sees the Aura of " .. b("The Dog") .. " at all times." .. dbr ..
    		
    		b("SPECIAL INTERACTION: PET DOG") .. br ..
    		"Press the " .. loadoutStrings.interactionButton .. " while standing near " .. b("The Dog") .. " to pet it." .. dbr ..
    		
    		b("SPECIAL INTERACTION: SWITCH COMMAND") .. br ..
    		"Press the " .. loadoutStrings.secondaryPowerButton .. " to switch between the " .. i("Chase Command") .. " and the " .. i("Search Command") .. dot .. dbr ..
    		
    		b("SPECIAL ABILITY: CHASE") .. br ..
    		"Press and hold the " .. loadoutStrings.powerButton .. " to initiate the " .. i("Chase Command") .. ", charting the " .. i("Chase Path") .. " in front of you that " .. b("The Dog") .. " will follow:" .. br ..
    		"Press the " .. loadoutStrings.attackButton .. " to send " .. b("The Dog") .. " out at high speed or release the " .. loadoutStrings.powerButton .. " to cancel the ability." .. nlp ..
    		"The " .. i("Chase Command") .. " has a cool-down of " .. clror("#cooldown") .. dot .. dbr ..
    		
    		b("SPECIAL ABILITY: REDIRECT CHASE") .. br ..
    		"Press the " .. loadoutStrings.powerButton .. " after sending out " .. b("The Dog") .. " to temporarily take possession of it:" .. br ..
    		"Press the " .. loadoutStrings.attackButton .. " to redirect the " .. i("Chase Path") .. " or press the " .. loadoutStrings.secondaryPowerButton .. " to cancel the redirect altogether." .. dbr ..
    		
    		b("SPECIAL INTERACTION: DOG GRAB") .. br ..
    		"When " .. b("The Dog") .. " comes across a Survivor in its path, it pounces and grabs onto them:" ..
    		list(
    			"Causes the " .. i("Grabbed Survivor") .. " to suffer from a " .. clro("#hinderedGrabbed") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " and the " .. b(i("Incapacitated") .. space .. "Status Effect") .. dot,
    			"Causes the " .. i("Grabbed Survivor") .. " to slowly be pulled towards " .. b("The Houndmaster") .. " for a maximum of " .. clro("#grabDurationDefault") .. ", after which they are released again.",
    			nbullet .. "This duration is " .. b("reduced") .. " to " .. clro("#grabDurationEndurance") .. ", if the " .. i("Grabbed Survivor") .. " is protected by the " .. b(i("Endurance") .. space .. "Status Effect") .. dot,
    			"Causes the " .. b("Exit Gates") .. " to be blocked for the " .. i("Grabbed Survivor") .. dot,
    			nbullet .. "This effect lingers for " .. clro("#gateBlockerLinger") .. " after being released.",
    			"The Aura of the " .. i("Grabbed Survivor") .. " is revealed to " .. b("The Houndmaster") .. " in " .. bclr("bright red", "red") .. dot) ..
    		"The " .. i("Grabbed Survivor") .. " can fight against the pull by moving in opposite directions and potentially steer " .. b("The Dog") .. " towards nearby " .. b("Pallets") .. dot .. nlp ..
    		"The " .. i("Grabbed Survivor") .. " can free themselves sooner by stunning " .. b("The Dog") .. " or being rescued by another Survivor interacting with it:" ..
    		list(
    			"The Auras of upright " .. b("Pallets") .. " within " .. clro("#palletAuras") .. " of the " .. i("Grabbed Survivor") .. " are revealed to them in " .. bclr("yellow", "yellow") .. dot,
    			"Dropping a " .. b("Pallet") .. " onto " .. b("The Dog") .. " stuns it for " .. clro("#dogStun") .. " and triggers " .. i("Killer Instinct") .. " for " .. clro("#killerInstinctDuration") .. dot) ..
    		"If the " .. i("Grabbed Survivor") .. " is released without injury by any means, they suffer from a " .. clro("#hinderedReleased") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot .. dbr ..
    		
    		b("SPECIAL ABILITY: SEARCH") .. br ..
    		"Press and hold the " .. loadoutStrings.powerButton .. " to initiate the " .. i("Search Command") .. colon ..
    		list(
    			"Causes her cane to be sent out as a beacon, marking the " .. i("Target Location") .. " of " .. b("The Dog") .. dot,
    			nbullet .. "The beacon can moved to any location within " .. clro("#beacon") .. " of " .. b("The Houndmaster") .. dot,
    			"Aiming at the Aura of a Prop transforms the beacon into a marker that also acts as the " .. i("Target Location") .. dot,
    			nbullet .. "The marker can target the Aura of any Prop in the environment and has an unlimited range.",
    			"Grants the ability to also see the Auras of completed " .. b("Generators") .. ", which are highlighted in " .. bclr("orange", "light orange") .. dot,
    			nbullet .. "This allows the marker to target them as well.") ..
    		"Press the " .. loadoutStrings.attackButton .. " to send " .. b("The Dog") .. " out along a " .. i("Search Path") .. " towards the " .. i("Target Location") .. " or release the " .. loadoutStrings.powerButton .. " to cancel the ability." .. nlp ..
    		"While searching, " .. b("The Dog") .. " has its own " .. i("Lullaby") .. " of " .. clro("#lullaby") .. " and uses its " .. i("Houndsense") .. " to locate nearby Survivors:" ..
    		list(
    			b("Increases") .. " the radius of the " .. i("Houndsense") .. " based on the distance " .. b("The Dog") .. " travels along the " .. i("Search Path") .. dot,
    			"Causes Survivors entering its radius to become affected by " .. i("Houndsense") .. " and trigger " .. i("Killer Instinct") .. dot,
    			nbullet .. "This effect lingers for " .. clro("#killerInstinctLinger") .. " after leaving the radius.",
    			b("Increases") .. " the Movement speed of " .. b("The Houndmaster") .. " to " .. clro("#slipstreamSpeed") .. " after travelling along the " .. i("Search Path") .. " for a certain distance.",
    			nbullet .. "This effect lasts for as long as she remains on or close to the " .. i("Search Path") .. " and ends once " .. b("The Dog") .. " returns to her side.") .. br ..
    		
    		b("SPECIAL EFFECT: HOUNDSENSE") .. br ..
    		"Survivors affected by " .. i("Houndsense") .. " are highlighted to " .. b("The Houndmaster") .. " in " .. bclr("bright red", "bright red") .. " and experience either of the following effects:" ..
    		list(
    			"Healthy Survivors after entering the " .. i("Injured State") .. colon,
    			nbullet .. "Suffer from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. " upon becoming injured.",
    			"Injured Survivors after entering the " .. i("Dying State") .. colon,
    			nbullet .. b("Increases") .. " the volume of their " .. i("Grunts of Pain") .. dot,
    			nbullet .. b("Increases") .. " the duration of their " .. i("Pools of Blood") .. dot)
		},
		{
			version = "8.4.0",
			cooldown = "5 seconds",
			hinderedGrabbed = "-3 %",
			hinderedReleased = "-10 %",
			durationHindered = "5 seconds",
			grabDurationDefault = "8 seconds",
			grabDurationEndurance = "2 seconds",
			gateBlockerLinger = "5 seconds",
			palletAuras = "16 metres",
			dogStun = "3 seconds",
			killerInstinctDuration = "5 seconds",
			killerInstinctLinger = "2 seconds",
			beacon = "5 to 40 metres",
			lullaby = "32 metres",
			slipstreamSpeed = "6 m/s",
			desc = 
			b("SPECIAL COMPANION: THE DOG") .. br ..
    		b("The Houndmaster") .. " sees the Aura of " .. b("The Dog") .. " at all times." .. dbr ..
    		
    		b("SPECIAL INTERACTION: PET DOG") .. br ..
    		"Press the " .. loadoutStrings.interactionButton .. " while standing near " .. b("The Dog") .. " to pet it." .. dbr ..
    		
    		b("SPECIAL INTERACTION: SWITCH COMMAND") .. br ..
    		"Press the " .. loadoutStrings.secondaryPowerButton .. " to switch between the " .. i("Chase Command") .. " and the " .. i("Search Command") .. dot .. dbr ..
    		
    		b("SPECIAL ABILITY: CHASE") .. br ..
    		"Press and hold the " .. loadoutStrings.powerButton .. " to initiate the " .. i("Chase Command") .. ", charting the " .. i("Chase Path") .. " in front of you that " .. b("The Dog") .. " will follow:" .. br ..
    		"Press the " .. loadoutStrings.attackButton .. " to send " .. b("The Dog") .. " out at high speed or release the " .. loadoutStrings.powerButton .. " to cancel the ability." .. nlp ..
    		"The " .. i("Chase Command") .. " has a cool-down of " .. clror("#cooldown") .. dot .. dbr ..
    		
    		b("SPECIAL ABILITY: REDIRECT CHASE") .. br ..
    		"Press the " .. loadoutStrings.powerButton .. " after sending out " .. b("The Dog") .. " to temporarily take possession of it:" .. br ..
    		"Press the " .. loadoutStrings.attackButton .. " to redirect the " .. i("Chase Path") .. " or press the " .. loadoutStrings.secondaryPowerButton .. " to cancel the redirect altogether." .. dbr ..
    		
    		b("SPECIAL INTERACTION: DOG GRAB") .. br ..
    		"When " .. b("The Dog") .. " comes across a Survivor in its path, it pounces and grabs onto them:" ..
    		list(
    			"Causes the " .. i("Grabbed Survivor") .. " to suffer from a " .. clro("#hinderedGrabbed") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " and the " .. b(i("Incapacitated") .. space .. "Status Effect") .. dot,
    			"Causes the " .. i("Grabbed Survivor") .. " to slowly be pulled towards " .. b("The Houndmaster") .. " for a maximum of " .. clro("#grabDurationDefault") .. ", after which they are released again.",
    			nbullet .. "This duration is " .. b("reduced") .. " to " .. clro("#grabDurationEndurance") .. ", if the " .. i("Grabbed Survivor") .. " is protected by the " .. b(i("Endurance") .. space .. "Status Effect") .. dot,
    			"Causes the " .. b("Exit Gates") .. " to be blocked for the " .. i("Grabbed Survivor") .. dot,
    			nbullet .. "This effect lingers for " .. clro("#gateBlockerLinger") .. " after being released.",
    			"The Aura of the " .. i("Grabbed Survivor") .. " is revealed to " .. b("The Houndmaster") .. " in " .. bclr("bright red", "red") .. dot) ..
    		"The " .. i("Grabbed Survivor") .. " can fight against the pull by moving in opposite directions and potentially steer " .. b("The Dog") .. " towards nearby " .. b("Pallets") .. dot .. nlp ..
    		"The " .. i("Grabbed Survivor") .. " can free themselves sooner by stunning " .. b("The Dog") .. " or being rescued by another Survivor interacting with it:" ..
    		list(
    			"The Auras of upright " .. b("Pallets") .. " within " .. clro("#palletAuras") .. " of the " .. i("Grabbed Survivor") .. " are revealed to them in " .. bclr("yellow", "yellow") .. dot,
    			"Dropping a " .. b("Pallet") .. " onto " .. b("The Dog") .. " stuns it for " .. clro("#dogStun") .. " and triggers " .. i("Killer Instinct") .. " for " .. clro("#killerInstinctDuration") .. dot) ..
    		"If the " .. i("Grabbed Survivor") .. " is released without injury by any means, they suffer from a " .. clro("#hinderedReleased") .. space .. b(i("Hindered") .. space .. "Status Effect") .. " for " .. clro("#durationHindered") .. dot .. dbr ..
    		
    		b("SPECIAL ABILITY: SEARCH") .. br ..
    		"Press and hold the " .. loadoutStrings.powerButton .. " to initiate the " .. i("Search Command") .. colon ..
    		list(
    			"Causes her cane to be sent out as a beacon, marking the " .. i("Target Location") .. " of " .. b("The Dog") .. dot,
    			nbullet .. "The beacon can moved to any location within " .. clro("#beacon") .. " of " .. b("The Houndmaster") .. dot,
    			"Aiming at the Aura of a Prop transforms the beacon into a marker that also acts as the " .. i("Target Location") .. dot,
    			nbullet .. "The marker can target the Aura of any Prop in the environment and has an unlimited range.",
    			"Grants the ability to also see the Auras of completed " .. b("Generators") .. ", which are highlighted in " .. bclr("orange", "light orange") .. dot,
    			nbullet .. "This allows the marker to target them as well.") ..
    		"Press the " .. loadoutStrings.attackButton .. " to send " .. b("The Dog") .. " out along a " .. i("Search Path") .. " towards the " .. i("Target Location") .. " or release the " .. loadoutStrings.powerButton .. " to cancel the ability." .. nlp ..
    		"While searching, " .. b("The Dog") .. " has its own " .. i("Lullaby") .. " of " .. clro("#lullaby") .. " and uses its " .. i("Houndsense") .. " to locate nearby Survivors:" ..
    		list(
    			b("Increases") .. " the radius of the " .. i("Houndsense") .. " based on the distance " .. b("The Dog") .. " travels along the " .. i("Search Path") .. dot,
    			"Causes Survivors entering its radius to become affected by " .. i("Houndsense") .. " and trigger " .. i("Killer Instinct") .. dot,
    			nbullet .. "This effect lingers for " .. clro("#killerInstinctLinger") .. " after leaving the radius.",
    			b("Increases") .. " the Movement speed of " .. b("The Houndmaster") .. " to " .. clro("#slipstreamSpeed") .. " after travelling along the " .. i("Search Path") .. " for a certain distance.",
    			nbullet .. "This effect lasts for as long as she remains on or close to the " .. i("Search Path") .. " and ends once " .. b("The Dog") .. " returns to her side.") .. br ..
    		
    		b("SPECIAL EFFECT: HOUNDSENSE") .. br ..
    		"Survivors affected by " .. i("Houndsense") .. " are highlighted to " .. b("The Houndmaster") .. " in " .. bclr("bright red", "bright red") .. " and experience either of the following effects:" ..
    		list(
    			"Healthy Survivors after entering the " .. i("Injured State") .. colon,
    			nbullet .. "Suffer from the " .. b(i("Deep Wound") .. space .. "Status Effect") .. " upon becoming injured.",
    			"Injured Survivors after entering the " .. i("Dying State") .. colon,
    			nbullet .. b("Increases") .. " the volume of their " .. i("Grunts of Pain") .. dot,
    			nbullet .. b("Increases") .. " the duration of their " .. i("Pools of Blood") .. dot)
		},
	},
	["Vampiric Shift"] =
	{
		{
			version = "9.2.0",
			forms = 3,
			movementSpeeds = {"4.6 m/s", "4.8 m/s", "6.5 m/s"},
			shapeshift = "3.5 seconds",
			hellfire = {"0.9 seconds", 8, "10 metres", "9.5 seconds"},
			pounce = {"0.9 seconds", "2 times", "0.5 seconds", "20 seconds"},
			scentOrbs = {"1 every 6 seconds", "10 seconds", 5, "12 metres", "-20 %"},
			haste = "+4.35 %",
			durationHaste = "2.5 seconds",
			killerInstinct = "2 seconds",
			lullaby = "48 metres",
			teleport = {"2 to 32 metres", "12 m/s", "15 seconds"},
			footstepSFX = "+50 %",
			desc = 
			b("SPECIAL ABILITY: SHAPESHIFT") .. br ..
            b("The Dark Lord") .. " has access to " .. clror("#forms") .. space .. i("Forms") .. " and can freely change between them." .. br ..
            "Each " .. i("Form") .. " has unique abilities and strengths." .. nlp ..
            "Press and hold the " .. loadoutStrings.secondaryActionButton .. " in any " .. i("Form")  .. " to initialise a " .. i("Shapeshift") .. colon ..
            list(
            	"Confirm a " .. i("Shapeshift") .. " by pressing either the " .. loadoutStrings.attackButton .. " or the " .. loadoutStrings.powerButton .. dot,
            	"Cancel a " .. i("Shapeshift") .. " by releasing the " .. loadoutStrings.secondaryPowerButton .. dot,
            	"Has a cool-down of " .. clro("#shapeshift") .. dot) ..
            "Regardless of his current " .. i("Form") .. comma .. b("The Dark Lord") .. " is always able to interact with Props, temporarily shifting into a ghostly husk of his " .. i("Vampire Form") .. " during the interaction, if necessary." .. dbr ..
            
            b("SPECIAL SHAPE: VAMPIRE FORM") .. br ..
            "The default " .. i("Form") .. " of " .. b("The Dark Lord") .. dot ..
            list(
            	"Default Movement speed of " .. clro("#movementSpeeds(1)") .. dot,
            	"Grants the ability to cast the " .. i("Hellfire Spell") .. dot) .. br ..
            
            b("SPECIAL SHAPE: WOLF FORM") .. br ..
            "This " .. i("Form") .. " provides " .. b("The Dark Lord") .. " with access to several abilities that allow for more effective tracking:" ..
            list(
            	"Default Movement speed of " .. clro("#movementSpeeds(1)") .. dot,
            	b("Increases") .. " the visibility of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. dot,
            	"Causes Survivors to spawn " .. bclr("white", "Scent Orbs") .. colon,
            	nbullet .. "Spawn at a rate of " .. clro("#scentOrbs(1)") .. dot,
            	nbullet .. "Have a Life time of " .. clro("#scentOrbs(2)") .. dot,
            	nbullet .. "Have a limit of " .. clro("#scentOrbs(3)") .. " existing at the same time.",
            	nbullet .. "Their Auras are revealed to you within " .. clro("#scentOrbs(4)") .. dot,
            	"Collecting a " .. bclr("white", "Scent Orb") .. " has the following effects:",
            	nbullet .. "Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. ", temporarily " .. b("increasing") .. " his Movement speed to " .. clro("#movementSpeeds(2)") .. dot,
            	nbullet .. b("Reduces") .. " the Cool-down duration of the " .. i("Pounce Attack") .. " by " .. clro("#scentOrbs(5)") .. dot,
            	"Triggers " .. i("Killer Instinct") .. " for " .. clro("#killerInstinct") .. " on Survivors causing a " .. i("Loud Noise Notification") .. dot,
            	"Grants access to the " .. i("Pounce Attack") .. dot) .. br ..
            
            b("SPECIAL SHAPE: BAT FORM") .. br ..
            "This " .. i("Form") .. " provides " .. b("The Dark Lord") .. " with access to several abilities that allow for greater stealth and mobility:" ..
            list(
            	"Faster Movement speed of " .. clro("#movementSpeeds(3)") .. dot,
            	"Removes the ability to attack or interact with Survivors.",
            	"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. colon,
            	nbullet .. "Survivors hear a " .. i("Lullaby") .. " within " .. clro("#lullaby") .. dot, 
            	"Grants the ability to fly over any dropped " .. b("Pallet") .. " or any " .. b("Window") .. " and also to teleport to them within a certain range.",
            	"Survivors are invisible while in this " .. i("Form") .. ", but still leave " .. i("Scratch Marks") .. colon,
            	b("Increases") .. " the volume of their Footsteps by " .. clro("#footstepSFX") .. dot) .. br ..
            
            b("SPECIAL ATTACK: HELLFIRE SPELL") .. br ..
            "While in " .. i("Vampire Form") .. ", press and hold the " .. loadoutStrings.powerButton .. " for " .. clro("#hellfire(1)") .. " to charge the " .. i("Hellfire Spell") .. dot .. br ..
            "Releasing the " .. loadoutStrings.powerButton .. " will cancel it." .. br ..
            "Press the " .. loadoutStrings.attackButton .. " when fully charged to release " .. clro("#hellfire(2)") .. space .. i("Pillars of Flame") .. " that travel in a straight line from the " .. b("The Dark Lord") .. " with a range of " .. clro("#hellfire(3)") .. dot .. br ..
            "The " .. i("Pillars of Flame") .. " can pass over low obstacles." .. nlp .. 
            "The " .. i("Hellfire Spell") .. " has a cool-down of " .. clro("#hellfire(4)") .. dot .. dbr ..
            
           b("SPECIAL ATTACK: POUNCE") .. br ..
            "While in " .. i("Wolf Form") ..", press and hold the " .. loadoutStrings.powerButton .. " for " .. clro("#pounce(1)") .. " to charge a " .. i("Pounce") .. " attack that is automatically executed once fully charged:" ..
            list(
            	"Causes " .. b("The Dark Lord") .. " to pounce up to " .. clro("#pounce(2)") .. dot,
            	nbullet .. "A consecutive  " .. i("Pounce") .. " is cancelled if the previous one hit a Survivor or breakable object.",
            	"Has a window of opportunity of " .. clro("#pounce(3)") .. " between " .. i("Pounces") .. " to adjust his aim.",
            	"Hitting a " .. b("Breakable Wall") .. " or a dropped " .. b("Pallet") .. " during a " .. i("Pounce") .. " destroys them.") ..
            "The " .. i("Pounce") .. " attack has a cool-down of " .. clro("#pounce(4)") .. dot .. dbr .. 
            
            b("SPECIAL LOCOMOTION: TELEPORT") .. br ..
            "While in "  .. i("Bat Form") .. ", press and hold the " .. loadoutStrings.powerButton .. " to ready a " .. i("Teleport") .. dot .. br ..
            "Press the "  .. loadoutStrings.attackButton .. " while aiming at any dropped " .. b("Pallet") .. " or any " .. b("Window") .. " within " .. clro("#teleport(1)") .. " to teleport to it, travelling at " .. clro("#teleport(2)") .. dot .. nlp ..
            "The " .. i("Teleport") .. " ability has a cool-down of " .. clro("#teleport(3)") .. dot
		},
		{
			version = "8.4.0",
			forms = 3,
			shapeshiftCooldown = "3.5 seconds",
			vampireSpeed = "4.6 m/s",
			wolfSpeed = "4.6 m/s",
			wolfBonusSpeed = "4.8 m/s",
			batSpeed = "6.5 m/s",
			scentOrbRate = "1 every 5 seconds",
			scentOrbAura = "12 metres",
			scentOrbCooldownReduction = "-20 %",
			haste = "+4.35 %",
			durationHaste = "2.5 seconds",
			killerInstinct = "2 seconds",
			lullaby = "48 metres",
			teleportRange = "2 to 32 metres",
			teleportSpeed = "12 m/s",
			footstepSFX = "+50 %",
			hellfireRange = "8 metres",
			hellfireCooldown = "10 seconds",
			pounceCooldown = "20 seconds",
			pounceCharge = "0.85 seconds",
			desc = 
			b("SPECIAL ABILITY: SHAPESHIFT") .. br ..
            b("The Dark Lord") .. " has access to " .. clror("#forms") .. space .. i("Forms") .. " and can freely change between them." .. br ..
            "Each " .. i("Form") .. " has unique abilities and strengths." .. nlp ..
            "Press and hold the " .. loadoutStrings.secondaryActionButton .. " in any " .. i("Form")  .. " to initialise a " .. i("Shapeshift") .. colon ..
            list(
            	"Confirm a " .. i("Shapeshift") .. " by pressing either the " .. loadoutStrings.attackButton .. " or the " .. loadoutStrings.powerButton .. dot,
            	"Cancel a " .. i("Shapeshift") .. " by releasing the " .. loadoutStrings.secondaryPowerButton .. dot,
            	"Has a cool-down of " .. clro("#shapeshiftCooldown") .. dot) ..
            "Regardless of his current " .. i("Form") .. comma .. b("The Dark Lord") .. " is always able to interact with Props, temporarily shifting into a ghostly husk of his " .. i("Vampire Form") .. " during the interaction, if necessary." .. dbr ..
            
            b("SPECIAL SHAPE: VAMPIRE FORM") .. br ..
            "The default " .. i("Form") .. " of " .. b("The Dark Lord") .. dot ..
            list(
            	"Provides the default Movement speed of " .. clro("#vampireSpeed") .. dot,
            	"Grants the ability to cast the " .. i("Hellfire Spell") .. dot) .. br ..
            
            b("SPECIAL SHAPE: WOLF FORM") .. br ..
            "This " .. i("Form") .. " provides " .. b("The Dark Lord") .. " with access to several abilities that allow for more effective tracking:" ..
            list(
            	"Provides the default Movement speed of " .. clro("#wolfSpeed") .. dot,
            	b("Increases") .. " the visibility of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. dot,
            	"Grants the ability to see and collect " .. bclr("white", "Scent Orbs") .. " left by Survivors:",
            	nbullet .. bclr("white", "Scent Orbs") .. " spawn at a rate of " .. clro("#scentOrbRate") .. dot,
            	nbullet .. "The Auras of " .. bclr("white", "Scent Orbs") .. " are revealed to you within " .. clro("#scentOrbAura") .. dot,
            	nbullet .. "Collecting them grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("2.5 seconds") .. ", temporarily " .. b("increasing") .. " the Movement speed to " .. clro("#wolfBonusSpeed") .. ", and " .. b("reduces") .. " the Cool-down duration of the " .. i("Pounce Attack") .. " by " .. clro("#scentOrbCooldownReduction") .. " each.",
            	"Triggers " .. i("Killer Instinct") .. " for " .. clro("#killerInstinct") .. " on Survivors that perform a " .. i("Rushed") .. " Action.",
            	"Grants access to the " .. i("Pounce Attack") .. dot,
            	nbullet .. "Has a cool-down of " .. clro("#pounceCooldown") .. dot) .. br ..
            
            b("SPECIAL SHAPE: BAT FORM") .. br ..
            "This " .. i("Form") .. " provides " .. b("The Dark Lord") .. " with access to several abilities that allow for greater stealth and mobility:" ..
            list(
            	b("Increases") .. " his Movement speed to " .. clro("#batSpeed") .. dot,
            	"Removes the ability to attack or interact with Survivors.",
            	"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. colon,
            	nbullet .. "Survivors hear a " .. i("Lullaby") .. " within " .. clro("#lullaby") .. dot, 
            	"Grants the ability to fly over any dropped " .. b("Pallet") .. " or any " .. b("Window") .. " and also to teleport to them within a certain range.",
            	"Survivors are invisible while in this " .. i("Form") .. ", but still leave " .. i("Scratch Marks") .. colon,
            	b("Increases") .. " the volume of their Footsteps by " .. clro("#footstepSFX") .. dot) .. br ..
            
            b("SPECIAL ATTACK: HELLFIRE SPELL") .. br ..
            "While in " .. i("Vampire Form") .. ", press and hold the " .. loadoutStrings.powerButton .. " to charge the " .. i("Hellfire Spell") .. dot .. br ..
            "Releasing the " .. loadoutStrings.powerButton .. " will cancel it." .. br ..
            "Press the " .. loadoutStrings.attackButton .. " when fully charged to release " .. clro(7) .. space .. i("Pillars of Flame") .. " that travel in a straight line from the " .. b("The Dark Lord") .. " with a range of " .. clro("#hellfireRange") .. dot .. br ..
            "The " .. i("Pillars of Flame") .. " can pass over low obstacles." .. nlp .. 
            "The " .. i("Hellfire Spell") .. " has a cool-down of " .. clro("#hellfireCooldown") .. dot .. dbr ..
            
           b("SPECIAL ATTACK: POUNCE") .. br ..
            "While in " .. i("Wolf Form") ..", press and hold the " .. loadoutStrings.powerButton .. " to charge a " .. i("Pounce") .. " for " .. clro("#pounceCharge") .. " to charge a " .. i("Pounce") .. " that is automatically executed once fully charged:" ..
            list(b("The Dark Lord") .. " always pounces " .. clro("twice") .. ", unless the first collides with a Survivor.") .. 
            "Pouncing against a " .. b("Breakable Wall") .. " or a dropped " .. b("Pallet") .. " destroys them." .. dbr .. 
            
            b("SPECIAL LOCOMOTION: TELEPORT") .. br ..
            "While in "  .. i("Bat Form") .. ", press and hold the " .. loadoutStrings.powerButton .. " to ready a " .. i("Teleport") .. dot .. br ..
            "Press the "  .. loadoutStrings.attackButton .. " while aiming at any dropped " .. b("Pallet") .. " or any " .. b("Window") .. " within " .. clro("#teleportRange") .. " to teleport to it, travelling at " .. clro("#teleportSpeed") .. dot
		},
		{
			version = "8.2.2",
			forms = 3,
			shapeshiftCooldown = "2.5 seconds",
			vampireSpeed = "4.6 m/s",
			wolfSpeed = "4.6 m/s",
			wolfBonusSpeed = "4.8 m/s",
			batSpeed = "6.5 m/s",
			scentOrbRate = "1 every 6 seconds",
			scentOrbAura = "12 metres",
			scentOrbCooldownReduction = "-20 %",
			haste = "+4.35 %",
			durationHaste = "2.5 seconds",
			killerInstinct = "2 seconds",
			lullaby = "48 metres",
			teleportRange = "2 to 32 metres",
			teleportSpeed = "12 m/s",
			footstepSFX = "+50 %",
			hellfireRange = "8 metres",
			hellfireCooldown = "7 seconds",
			pounceCooldown = "20 seconds",
			pounceCharge = "1 second",
			desc = 
			b("SPECIAL ABILITY: SHAPESHIFT") .. br ..
            b("The Dark Lord") .. " has access to " .. clror("#forms") .. space .. i("Forms") .. " and can freely change between them." .. br ..
            "Each " .. i("Form") .. " has unique abilities and strengths." .. nlp ..
            "Press and hold the " .. loadoutStrings.secondaryActionButton .. " in any " .. i("Form")  .. " to initialise a " .. i("Shapeshift") .. colon ..
            list(
            	"Confirm a " .. i("Shapeshift") .. " by pressing either the " .. loadoutStrings.attackButton .. " or the " .. loadoutStrings.powerButton .. dot,
            	"Cancel a " .. i("Shapeshift") .. " by releasing the " .. loadoutStrings.secondaryPowerButton .. dot,
            	"Has a cool-down of " .. clro("#shapeshiftCooldown") .. dot) ..
            "Regardless of his current " .. i("Form") .. comma .. b("The Dark Lord") .. " is always able to interact with Props, temporarily shifting into a ghostly husk of his " .. i("Vampire Form") .. " during the interaction, if necessary." .. dbr ..
            
            b("SPECIAL SHAPE: VAMPIRE FORM") .. br ..
            "The default " .. i("Form") .. " of " .. b("The Dark Lord") .. dot ..
            list(
            	"Provides the default Movement speed of " .. clro("#vampireSpeed") .. dot,
            	"Grants the ability to cast the " .. i("Hellfire Spell") .. dot) .. br ..
            
            b("SPECIAL SHAPE: WOLF FORM") .. br ..
            "This " .. i("Form") .. " provides " .. b("The Dark Lord") .. " with access to several abilities that allow for more effective tracking:" ..
            list(
            	"Provides the default Movement speed of " .. clro("#wolfSpeed") .. dot,
            	b("Increases") .. " the visibility of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. dot,
            	"Grants the ability to see and collect " .. bclr("white", "Scent Orbs") .. " left by Survivors:",
            	nbullet .. bclr("white", "Scent Orbs") .. " spawn at a rate of " .. clro("#scentOrbRate") .. dot,
            	nbullet .. "The Auras of " .. bclr("white", "Scent Orbs") .. " are revealed to you within " .. clro("#scentOrbAura") .. dot,
            	nbullet .. "Collecting them grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("2.5 seconds") .. ", temporarily " .. b("increasing") .. " the Movement speed to " .. clro("#wolfBonusSpeed") .. ", and " .. b("reduces") .. " the Cool-down duration of the " .. i("Pounce Attack") .. " by " .. clro("#scentOrbCooldownReduction") .. " each.",
            	"Triggers " .. i("Killer Instinct") .. " for " .. clro("#killerInstinct") .. " on Survivors that perform a " .. i("Rushed") .. " Action.",
            	"Grants access to the " .. i("Pounce Attack") .. dot,
            	nbullet .. "Has a cool-down of " .. clro("#pounceCooldown") .. dot) .. br ..
            
            b("SPECIAL SHAPE: BAT FORM") .. br ..
            "This " .. i("Form") .. " provides " .. b("The Dark Lord") .. " with access to several abilities that allow for greater stealth and mobility:" ..
            list(
            	b("Increases") .. " his Movement speed to " .. clro("#batSpeed") .. dot,
            	"Removes the ability to attack or interact with Survivors.",
            	"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. colon,
            	nbullet .. "Survivors hear a " .. i("Lullaby") .. " within " .. clro("#lullaby") .. dot, 
            	"Grants the ability to fly over any dropped " .. b("Pallet") .. " or any " .. b("Window") .. " and also to teleport to them within a certain range.",
            	"Survivors are invisible while in this " .. i("Form") .. ", but still leave " .. i("Scratch Marks") .. colon,
            	b("Increases") .. " the volume of their Footsteps by " .. clro("#footstepSFX") .. dot) .. br ..
            
            b("SPECIAL ATTACK: HELLFIRE SPELL") .. br ..
            "While in " .. i("Vampire Form") .. ", press and hold the " .. loadoutStrings.powerButton .. " to charge the " .. i("Hellfire Spell") .. dot .. br ..
            "Releasing the " .. loadoutStrings.powerButton .. " will cancel it." .. br ..
            "Press the " .. loadoutStrings.attackButton .. " when fully charged to release " .. clro(7) .. space .. i("Pillars of Flame") .. " that travel in a straight line from the " .. b("The Dark Lord") .. " with a range of " .. clro("#hellfireRange") .. dot .. br ..
            "The " .. i("Pillars of Flame") .. " can pass over low obstacles." .. nlp .. 
            "The " .. i("Hellfire Spell") .. " has a cool-down of " .. clro("#hellfireCooldown") .. dot .. dbr ..
            
           b("SPECIAL ATTACK: POUNCE") .. br ..
            "While in " .. i("Wolf Form") ..", press and hold the " .. loadoutStrings.powerButton .. " to charge a " .. i("Pounce") .. " for " .. clro("#pounceCharge") .. " to charge a " .. i("Pounce") .. " that is automatically executed once fully charged:" ..
            list(b("The Dark Lord") .. " always pounces " .. clro("twice") .. ", unless the first collides with a Survivor.") .. 
            "Pouncing against a " .. b("Breakable Wall") .. " or a dropped " .. b("Pallet") .. " destroys them." .. dbr .. 
            
            b("SPECIAL LOCOMOTION: TELEPORT") .. br ..
            "While in "  .. i("Bat Form") .. ", press and hold the " .. loadoutStrings.powerButton .. " to ready a " .. i("Teleport") .. dot .. br ..
            "Press the "  .. loadoutStrings.attackButton .. " while aiming at any dropped " .. b("Pallet") .. " or any " .. b("Window") .. " within " .. clro("#teleportRange") .. " to teleport to it, travelling at " .. clro("#teleportSpeed") .. dot
		},
		{
			version = "8.2.0",
			forms = 3,
			shapeshiftCooldown = "5 seconds",
			vampireSpeed = "4.6 m/s",
			wolfSpeed = "4.6 m/s",
			wolfBonusSpeed = "4.8 m/s",
			batSpeed = "6 m/s",
			scentOrbRate = "1 every 6 seconds",
			scentOrbAura = "12 metres",
			scentOrbCooldownReduction = "-20 %",
			haste = "+4.35 %",
			durationHaste = "2.5 seconds",
			killerInstinct = "2 seconds",
			lullaby = "48 metres",
			teleportRange = "2 to 32 metres",
			teleportSpeed = "10 m/s",
			footstepSFX = "+50 %",
			hellfireRange = "8 metres",
			hellfireCooldown = "7 seconds",
			pounceCooldown = "20 seconds",
			pounceCharge = "1 second",
			desc = 
			b("SPECIAL ABILITY: SHAPESHIFT") .. br ..
            b("The Dark Lord") .. " has access to " .. clror("#forms") .. space .. i("Forms") .. " and can freely change between them." .. br ..
            "Each " .. i("Form") .. " has unique abilities and strengths." .. nlp ..
            "Press and hold the " .. loadoutStrings.secondaryActionButton .. " in any " .. i("Form")  .. " to initialise a " .. i("Shapeshift") .. colon ..
            list(
            	"Confirm a " .. i("Shapeshift") .. " by pressing either the " .. loadoutStrings.attackButton .. " or the " .. loadoutStrings.powerButton .. dot,
            	"Cancel a " .. i("Shapeshift") .. " by releasing the " .. loadoutStrings.secondaryPowerButton .. dot,
            	"Has a cool-down of " .. clro("#shapeshiftCooldown") .. dot) ..
            "Regardless of his current " .. i("Form") .. comma .. b("The Dark Lord") .. " is always able to interact with Props, temporarily shifting into a ghostly husk of his " .. i("Vampire Form") .. " during the interaction, if necessary." .. dbr ..
            
            b("SPECIAL SHAPE: VAMPIRE FORM") .. br ..
            "The default " .. i("Form") .. " of " .. b("The Dark Lord") .. dot ..
            list(
            	"Provides the default Movement speed of " .. clro("#vampireSpeed") .. dot,
            	"Grants the ability to cast the " .. i("Hellfire Spell") .. dot) .. br ..
            
            b("SPECIAL SHAPE: WOLF FORM") .. br ..
            "This " .. i("Form") .. " provides " .. b("The Dark Lord") .. " with access to several abilities that allow for more effective tracking:" ..
            list(
            	"Provides the default Movement speed of " .. clro("#wolfSpeed") .. dot,
            	b("Increases") .. " the visibility of " .. i("Pools of Blood") .. " and " .. i("Scratch Marks") .. dot,
            	"Grants the ability to see and collect " .. bclr("white", "Scent Orbs") .. " left by Survivors:",
            	nbullet .. bclr("white", "Scent Orbs") .. " spawn at a rate of " .. clro("#scentOrbRate") .. dot,
            	nbullet .. "The Auras of " .. bclr("white", "Scent Orbs") .. " are revealed to you within " .. clro("#scentOrbAura") .. dot,
            	nbullet .. "Collecting them grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("2.5 seconds") .. ", temporarily " .. b("increasing") .. " the Movement speed to " .. clro("#wolfBonusSpeed") .. ", and " .. b("reduces") .. " the Cool-down duration of the " .. i("Pounce Attack") .. " by " .. clro("#scentOrbCooldownReduction") .. " each.",
            	"Triggers " .. i("Killer Instinct") .. " for " .. clro("#killerInstinct") .. " on Survivors that perform a " .. i("Rushed") .. " Action.",
            	"Grants access to the " .. i("Pounce Attack") .. dot,
            	nbullet .. "Has a cool-down of " .. clro("#pounceCooldown") .. dot) .. br ..
            
            b("SPECIAL SHAPE: BAT FORM") .. br ..
            "This " .. i("Form") .. " provides " .. b("The Dark Lord") .. " with access to several abilities that allow for greater stealth and mobility:" ..
            list(
            	b("Increases") .. " his Movement speed to " .. clro("#batSpeed") .. dot,
            	"Removes the ability to attack or interact with Survivors.",
            	"Grants the " .. b(i("Undetectable") .. space .. "Status Effect") .. colon,
            	nbullet .. "Survivors hear a " .. i("Lullaby") .. " within " .. clro("#lullaby") .. dot, 
            	"Grants the ability to fly over any dropped " .. b("Pallet") .. " or any " .. b("Window") .. " and also to teleport to them within a certain range.",
            	"Survivors are invisible while in this " .. i("Form") .. ", but still leave " .. i("Scratch Marks") .. colon,
            	b("Increases") .. " the volume of their Footsteps by " .. clro("#footstepSFX") .. dot) .. br ..
            
            b("SPECIAL ATTACK: HELLFIRE SPELL") .. br ..
            "While in " .. i("Vampire Form") .. ", press and hold the " .. loadoutStrings.powerButton .. " to charge the " .. i("Hellfire Spell") .. dot .. br ..
            "Releasing the " .. loadoutStrings.powerButton .. " will cancel it." .. br ..
            "Press the " .. loadoutStrings.attackButton .. " when fully charged to release " .. clro(7) .. space .. i("Pillars of Flame") .. " that travel in a straight line from the " .. b("The Dark Lord") .. " with a range of " .. clro("#hellfireRange") .. dot .. br ..
            "The " .. i("Pillars of Flame") .. " can pass over low obstacles." .. nlp .. 
            "The " .. i("Hellfire Spell") .. " has a cool-down of " .. clro("#hellfireCooldown") .. dot .. dbr ..
            
           b("SPECIAL ATTACK: POUNCE") .. br ..
            "While in " .. i("Wolf Form") ..", press and hold the " .. loadoutStrings.powerButton .. " to charge a " .. i("Pounce") .. " for " .. clro("#pounceCharge") .. " to charge a " .. i("Pounce") .. " that is automatically executed once fully charged:" ..
            list(b("The Dark Lord") .. " always pounces " .. clro("twice") .. ", unless the first collides with a Survivor.") .. 
            "Pouncing against a " .. b("Breakable Wall") .. " or a dropped " .. b("Pallet") .. " destroys them." .. dbr .. 
            
            b("SPECIAL LOCOMOTION: TELEPORT") .. br ..
            "While in "  .. i("Bat Form") .. ", press and hold the " .. loadoutStrings.powerButton .. " to ready a " .. i("Teleport") .. dot .. br ..
            "Press the "  .. loadoutStrings.attackButton .. " while aiming at any dropped " .. b("Pallet") .. " or any " .. b("Window") .. " within " .. clro("#teleportRange") .. " to teleport to it, travelling at " .. clro("#teleportSpeed") .. dot
		},
	},
	["Vile Darkness"] =
	{
		{
			version = "9.0.0",
			haste = "+7 %",
			durationHaste = "4 seconds",
			hookStageCount = 2,
			treasureChestCount = 6,
			fly_duration = "5 seconds",
			fly_cooldown = "2.75 seconds",
			FOTD_entities = 5,
			FOTD_killerInstinct = "5 seconds",
			dispellingSphere_killerInstinct = "5 seconds",
			dispellingSphere_magicItemCooldown = "45 seconds",
			dispellingSphereSpeeds = {"9.75 m/s", "6.5 m/s"},
			dispellingSphereSpeedTransition = "3 seconds",
			mageHand_palletLift = "0.5 seconds", mageHand_palletHold = "4 seconds",
			spellCooldowns = {"20 seconds", "30 seconds", "30 seconds", "35 seconds"},
			magicItem_auraReveal = "2 seconds",
			magicItem_skyguardLinger = "0.25 seconds",
			desc = 
			b("SPECIAL ABILITY: VILE DARKNESS") .. br ..
            "Press and hold the " .. loadoutStrings.secondaryPowerButton .. " to open the " .. i("Spell Selection") .. dot .. br .. "Move the cursor towards one of four available " .. i("Spells") .. " in order to select it:" ..
            list(
            	i("Fly") .. colon .. " Grants the ability to fly across the environment for up to " .. clror("#fly_duration") .. " and allows " .. b("The Lich") .. " to ignore dropped " .. b("Pallets") .. " and " .. b("Windows") .. dot,
            	nbullet .. "After ending " .. i("Fly") .. comma .. b("The Lich") .. " cannot attack Survivors for " .. clro("#fly_cooldown") .. dot,
            	i("Flight of the Damned") .. colon .. " Grants the ability to conjure " .. clro("#FOTD_entities") .. space .. i("Flying Entities") .. " that can pass through obstacles and damage Survivors in their path.",
            	nbullet .. "Triggers " .. i("Killer Instinct") .. " on Survivors downed by this " .. i("Spell") .. " for " .. clro("#FOTD_killerInstinct") .. dot,
            	nbullet .. "Cannot hit crouched Survivors on level terrain.",
            	i("Dispelling Sphere") .. colon .. " Grants the ability to cast a moving " .. i("Sphere") .. " invisible to Survivor.",
            	nbullet .. "The " .. i("Sphere") .. " initially moves at a faster " .. clro("#dispellingSphereSpeeds(1)") .. " and slows down to " .. clro("#dispellingSphereSpeeds(2)") .. " over " .. clro("#dispellingSphereSpeedTransition") .. dot,
            	nbullet .. "Triggers " .. i("Killer Instinct") .. " for " .. clro("#dispellingSphere_killerInstinct") .. " on Survivors coming into contact with it and disables their equipped " .. b("Magic Items") .. " for " .. clro("#dispellingSphere_magicItemCooldown") .. dot,
            	ndbullet .. "While disabled, " .. b("The Lich") .. " can see the specific type of any equipped " .. b("Magic Item") .. " on the Survivor HUD.",
            	ndbullet .. "The Cool-down duration of " .. b("Magic Items") .. " is indicated to all Players with a timer on the Survivor HUD.",
            	i("Mage Hand") .. colon .. " Grants the ability to conjure a " .. i("Magical Hand") .. " on any nearby " .. b("Pallet") .. dot,
            	nbullet .. "Lifts a dropped " .. b("Pallet") .. " back upright in " .. clro("#mageHand_palletLift") .. dot,
            	nbullet .. "Holds an upright " .. b("Pallet") .. " and blocks interactions with it for " .. clro("#mageHand_palletHold") .. dot) ..
            "After casting, each " .. i("Spell") .. " has its own, independent cool-down:" ..
            list(
            	i("Fly") .. colon .. space .. clro("#spellCooldowns(1)"),
            	i("Flight of the Damned") .. colon .. space .. clro("#spellCooldowns(2)"),
            	i("Dispelling Sphere") .. colon .. space .. clro("#spellCooldowns(3)"),
            	i("Mage Hand") .. colon .. space .. clro("#spellCooldowns(4)")) .. br ..
            
            b("SPECIAL TREASURE CHESTS: MAGIC ITEMS") .. br ..
            clro("#treasureChestCount") .. space .. b("Treasure Chests") .. " containing special " .. b("Magic Items") .. " for Survivors to equip spawn in the environment." .. br .. "These include " .. b("Boots") .. " or " .. b("Gauntlets") .. " of:" ..
            list(
            	"All " .. b("Magic Items") .. " reveal the Aura of " .. b("The Lich") .. " for " .. clro("#magicItem_auraReveal") .. ", when he casts their associated " .. i("Spell") .. dot,
            	b("The ") .. bclr("indigo", "Skyguard") .. colon .. " The Aura of " .. b("The Lich") .. " is revealed during flight.",
            	nbullet .. "This effect lingers for " .. clro("#magicItem_skyguardLinger") .. dot,
            	b("The ") .. bclr("lavender", "Nightwatch") .. colon .. " The Auras of the " .. i("Flying Entities") .. " are revealed once cast.",
            	b("The ") .. bclr("light blue", "Archivist") .. colon .. " The " .. i("Dispelling Sphere") .. " itself is visible while it traverses the environment.",
            	b("The ") .. bclr("violet", "Interloper") .. colon .. " The Auras of " .. b("Pallets") .. " affected by " .. i("Mage Hand") .. " are revealed once cast.",
            	nbullet .. "This also grants the Survivor a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#durationHaste") .. dot) .. 
            "Beware of " .. b(i("Mimics")) .. " though, they may bite." .. nlp ..
            "Survivors can have both a Boot and a Gauntlet equipped at the same time." .. br ..
            "Unlucky Survivors may only find a regular " .. b("Item") .. " inside a " .. b("Treasure Chest") .. " that is either depleted or half-depleted." .. dbr ..
            
            b("SPECIAL ITEMS: HAND & EYE OF VECNA") .. br ..
            "Rarely, " .. b("Treasure Chests") .. " contain either the " .. b("Hand of Vecna") .. " or the " .. b("Eye of Vecna") .. dot .. nlp ..
            "Healthy Survivors can use these " .. bclr("gold", "Vecna Items") .. " to gain a special ability at the cost of a Health State and triggering " .. i("Killer Instinct") .. " after use." .. dbr ..
            
            b("SPECIAL INTERACTION: RECOVER ARTEFACT") .. br ..
            "Survivors attuned to the " .. i("Eye of Vecna") .. " or the " .. i("Hand of Vecna") .. " with an accumulated " .. clro("#hookStageCount") .. space .. i("Hook Stages") .. " are vulnerable to " .. b("The Lich") .. " recovering his Artefact from them." .. br ..
            "Press the " .. loadoutStrings.attackButton .. " while standing over the downed Survivor to execute them on the spot, performing a " .. i("Mini-Mori") .. dot
		},
	},
}

return p