Module:Datatable/Loadout/History
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 testing a possible Rework and never made it to the live build." .. br .. "It was only available during its " .. b("Public Test Build") .. dot, 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 Dull or Hex Totem to bless it and create a " .. i(b("Boon Totem")) .. dot .. br .. "Soft chimes ring out in a radius of " .. clror("24 metres") .. dot .. nlp .. "All Survivors benefit from the following effects when inside the " .. i("Boon Totem's") .. " radius:", conspicuousActions = i(b("Endurance")) .. " is cancelled prematurely when performing a " .. i("Conspicuous Action") .. dot, conspicuousActionsPerk = "#name is deactivated prematurely when performing a " .. i("Conspicuous Action") .. " and remains disabled for the remainder of the Trial.", hexPerk = i("All effects of the " .. b("Hex Perk") .. " persist until its " .. b("Hex Totem") .. " is cleansed or blessed."), 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 = ibclr(25, "Limited Item"), limitedHeaderCraftable = i("Craftable " .. bclr(25, "Limited Item")), limitedHeaderVecna = ibclr(25, "Limited") .. space .. ibclr(14, "Vecna Item"), limitedFooter = ibclr(25, "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 = ibclr(25, "Limited") .. space .. ibclr(14, "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 " .. i(b("Obsession")) .. " by increasing the default value by " .. b("+100 %") .. dot, obsessionChanceMinus = b("Reduces") .. " your chance of becoming the initial " .. i(b("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 random Hooks") .. " are changed into " .. b("Scourge Hooks") .. colon .. nl .. nbullet .. space .. "The Auras of " .. b("Scourge Hooks") .. " are revealed to you in " .. bclr(16, "white") .. dot, scourgeHookUnhooked = "Each time a Survivor is unhooked from a " .. b("Scourge Hook") .. ", the following effects apply:", scourgeHookHooked = "Each time a Survivor is hooked on a " .. b("Scourge Hook") .. ", the following effects apply:", singleInstancePerk = "Survivors can only be affected by one instance of #pn at a time.", 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(2, "yellow") .. dot, } local loadoutStrings = p.loadoutStrings ---------------------------------------------------- █████╗ ██████╗ ██████╗ ██████╗ ███╗ ██╗███████╗ ---------------------------------------------------- ---------------------------------------------------- ██╔══██╗██╔══██╗██╔══██╗ ██╔═══██╗████╗ ██║██╔════╝ ---------------------------------------------------- ---------------------------------------------------- ███████║██║ ██║██║ ██║█████╗██║ ██║██╔██╗ ██║███████╗ ---------------------------------------------------- ---------------------------------------------------- ██╔══██║██║ ██║██║ ██║╚════╝██║ ██║██║╚██╗██║╚════██║ ---------------------------------------------------- ---------------------------------------------------- ██║ ██║██████╔╝██████╔╝ ╚██████╔╝██║ ╚████║███████║ ---------------------------------------------------- ---------------------------------------------------- ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝ ---------------------------------------------------- p.addonDescriptionsHistory = { -- A Add-ons -- ['"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") .. " reveal 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) }, }, ["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 " .. i(b("Undetectable")) .. space .. b("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 -- ["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 " .. i(b("Obsession")) .. " mechanic.", "Causes the " .. i(b("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 " .. i(b("Obsession")) .. " mechanic.", "Causes the " .. i(b("Obsession")) .. " to start the Trial trapped in the " .. b("Dream World") .. 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 flavour text header.", 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 flavour text header.", 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 }, }, ["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 = "8.3.0", effect = "+15 %", rarity = 1, desc = "The photo was found at an abandoned campsite." .. br .. "The campers were never seen again." .. list("After " .. i("Teleporting") .. ", your full Movement speed is recovered faster by " .. clror("#effect") .. dot) }, { version = "7.6.0", effect = "+50 %", rarity = 1, desc = "The photo was found at an abandoned campsite." .. br .. "The campers were never seen again." .. list("After " .. i("Teleporting") .. ", your full Movement speed is recovered faster 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(2, "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(2, "Locks") .. " on " .. b("Lockers") .. " to break once the " .. b("Exit Gates") .. " are powered by any means.") }, }, ["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(13, "Good Repair Skill Checks") .. colon .. space .. "Grant " .. clro("#goodSkillChecks") .. " bonus Progression each.", nbullet .. bclr(13, "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(b("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." }, }, ["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) }, }, -- C Add-ons -- ["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 " .. i(b("Haemorrhage")) .. space .. b("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) }, }, ["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 }, }, ["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) }, }, ["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) }, }, ["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) }, }, ["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 }, }, -- 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) }, }, ["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 " .. i(b("Haste")) .. space .. b("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 -- ["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) }, }, ["Fragrant Tuft of Hair"] = { { 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) }, }, ["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) }, }, -- 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) }, }, ["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) }, }, ["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.") }, }, ["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 " .. i(b("Oblivious")) .. space .. b("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) }, }, -- 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 = "An innocent way to hide his true nature from the world." .. nlp .. "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.") }, }, -- J Add-ons -- ["Judith's Tombstone"] = { { 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 .. i(b("Hindered")) .. space .. b("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 " .. i(b("Hindered")) .. space .. b("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) }, }, ["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 " .. i(b("Exposed")) .. space .. b("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(link("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(link("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(link("Basic Attacks")) .. " on Survivors caught in the grasp of " .. b("The Dog") .. " by " .. clror("#effect") .. dot) }, }, -- L Add-ons -- ["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) }, }, ["Licker Tongue"] = { { version = "8.2.2", effect = "+1 second", rarity = 3, desc = "A sticky prehensile tongue that easily wraps around anything it touches." .. list(b("Increases") .. " the Duration of the " .. i(b("Hindered")) .. space .. b("Status Effect") .. " when becoming " .. i(b("Contaminated")) .. " by " .. clror("#effect") .. dot) }, { version = "8.2.0", effect = "+3 seconds", rarity = 3, desc = "A sticky prehensile tongue that easily wraps around anything it touches." .. list(b("Increases") .. " the Duration of the " .. i(b("Hindered")) .. space .. b("Status Effect") .. " when becoming " .. i(b("Contaminated")) .. " by " .. clror("#effect") .. dot) }, { version = "5.3.0", effect = "+0.2 seconds", rarity = 3, desc = "A sticky prehensile tongue that easily wraps around anything it touches." .. list(b("Increases") .. " the Duration of the " .. i(b("Hindered")) .. space .. b("Status Effect") .. " when becoming " .. i(b("Contaminated")) .. " by " .. clror("#effect") .. dot) }, { version = "5.0.0", effect = "+0.15 seconds", rarity = 3, desc = "A sticky prehensile tongue that easily wraps around anything it touches." .. list(b("Increases") .. " the Duration of the " .. i(b("Hindered")) .. space .. b("Status Effect") .. " when becoming " .. i(b("Contaminated")) .. " by " .. clror("#effect") .. dot) }, }, ["Lifeguard Whistle"] = { { version = "8.4.0", effect = "2", rarity = 4, desc = "A rusty, metal whistle that once ruled the Hawkins public pool." .. list(b("Increases") .. " the number of available " .. b("Portals") .. " by " .. clror("#effect") .. dot) }, { version = "5.0.0", effect = "-1 metre", rarity = 4, desc = "A rusty, metal whistle that once ruled the Hawkins public pool." .. list( "Survivors entering the " .. i("Area of Effect") .. " of an active " .. b("Portal") .. " automatically trigger " .. i("Killer Instinct") .. dot, b("Reduces") .. " the " .. i("Area of Effect") .. " of active " .. b("Portals") .. " by " .. clror("#effect") .. dot) }, { version = "4.7.0", rarity = 4, desc = "A rusty, metal whistle that once ruled the Hawkins public pool." .. list("Survivors entering the " .. i("Area of Effect") .. " of an active " .. b("Portal") .. " automatically trigger " .. i("Killer Instinct") .. dot) }, { version = "3.2.0", duration = "5 seconds", rarity = 4, desc = "A rusty, metal whistle that once ruled the Hawkins public pool." .. list( "Survivors suffer from the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " while inside the " .. i("Area of Effect") .. " surrounding an " .. bclr(2, "Active Portal") .. dot, nbullet .. "This effect lingers for " .. clror("#duration") .. 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 = "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) }, }, ["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 " .. i(b("Deep Wound")) .. space .. b("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.") }, }, -- M Add-ons -- ["Mado's Glove"] = { { version = "8.6.0 (PTB)", rarity = 3, exhausted = "15 seconds", desc = "A glove worn by a ghoul investigator." .. nlp .. "Survivors affected by the " .. i("Kagune Mark") .. " experience the following effect after it is removed:" .. list("Causes them to suffer from the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for " .. clror("#exhausted") .. dot) }, }, ["Magical Ticket"] = { { version = "8.2.2", effect = "+10 %", rarity = 2, desc = "A strange artifact once used to transport across Dracula's castle." .. list(b("Increases") .. " the Teleportation speed by " .. clror("#effect") .. dot) }, { version = "8.2.0", effect = "+25 %", rarity = 2, desc = "A strange artifact once used to transport across Dracula's castle." .. list(b("Increases") .. " the 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) }, }, ["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 = "8.4.1", rarity = 4, range = "12 metres", hindered = "-8 %", durationHindered = "3 seconds", desc = "A snakelike memento from one of Dracula's most ancient and fearsome minions." .. list("Causes all Survivors within " .. clror("#range") .. " of your Teleport destination to suffer from a " .. clro("#hindered") .. space .. i(b("Hindered")) .. space .. b("Status Effect") .. " for " .. clro("#durationHindered") .. dot) }, { version = "8.2.0", rarity = 4, range = "12 metres", hindered = "-15 %", durationHindered = "5 seconds", desc = "A snakelike memento from one of Dracula's most ancient and fearsome minions." .. list("Causes all Survivors within " .. clror("#range") .. " of your Teleport destination to suffer from a " .. clro("#hindered") .. space .. i(b("Hindered")) .. space .. b("Status Effect") .. " for " .. clro("#durationHindered") .. 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) }, }, ["Moulted Skin"] = { { version = "8.6.0", exhausted = "30 seconds", rarity = 3, desc = "After deploying a " .. b("Remote Flame Turret") .. ", Survivors suffer from the " .. i(b("Exhausted")) .. space .. b("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 }, }, ["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) }, }, -- 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 treasure 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 treasure 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 treasure 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 -- ["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) }, }, ["Pearl of Power"] = { { version = "8.4.0", rarity = 3, effect = "-3 seconds", desc = "Its shimmering face energises mages who hold it, allowing them to cast more spells." .. nlp .. "Successfully hitting a Survivor with a " .. i("Basic Attack") .. " triggers the following effect:" .. list(b("Reduces") .. " the Recharge time of all " .. i("Spells") .. " currently on cool-down by " .. clror("#effect") .. dot) }, { version = "8.0.0", rarity = 3, effect = "-5 seconds", desc = "Its shimmering face energises mages who hold it, allowing them to cast more spells." .. nlp .. "Successfully hitting a Survivor with a " .. i("Basic Attack") .. " triggers the following effect:" .. list(b("Reduces") .. " the 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(b("Instantly recharges") .. space .. i("Night Shroud") .. " whenever a " .. b("Generator") .. " is completed.") }, }, ["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) }, }, -- Q Add-ons -- -- R Add-ons -- ["Rat Liver"] = { { version = "4.7.0", effect = "+3.5 %", rarity = 1, desc = "A soggy pile of salty, soft liver." .. list(b("Increases") .. " your Movement speed while holding " .. i("Of the Abyss") .. " by " .. clror("#effect") .. dot) }, { version = "3.2.0", effect = "+9 %", rarity = 1, desc = "A soggy pile of salty, soft liver." .. list(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 = "The secret ingredient in a killer chilli." .. nlp .. "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 = "The secret ingredient in a killer chilli." .. nlp .. "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) }, }, ["Red Spider Lily"] = { { version = "8.6.0", rarity = 3, haemorrhage = "60 seconds", desc = "The white flowers turned red as blood." .. nlp .. "Survivors hit with a " .. i("Basic Attack") .. " while in " .. i("Enraged Mode") .. " inflicts the following effect:" .. list("Causes them to suffer from the " .. i(b("Haemorrhage")) .. space .. b("Status Effect") .. " for " .. clror("#haemorrhage") .. dot) }, { version = "8.6.0 (PTB)", rarity = 4, haemorrhage = "60 seconds", desc = "The white flowers turned red as blood." .. nlp .. "Survivors hit with a " .. i("Basic Attack") .. " while in " .. i("Enraged Mode") .. " inflicts the following effect:" .. list("Causes them to suffer from the " .. i(b("Haemorrhage")) .. space .. b("Status Effect") .. " for " .. clror("#haemorrhage") .. dot) }, }, ["Red-Headed Centipede"] = { { version = "8.6.0 (PTB)", rarity = 4, effect = "10 seconds", desc = "The thing caused him immeasurable torment." .. nlp .. "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) }, }, ["Ring of Spell Storing"] = { { version = "8.4.0", rarity = 2, effect = "-2 seconds", desc = "A magical ring that rewards those who are well-prepared." .. 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 = "A magical ring that rewards those who are well-prepared." .. list(b("Reduces") .. " the default Recharge time of all " .. i("Spells") .. " by " .. clror("#effect") .. dot) }, }, ["Rize's Glasses"] = { { version = "8.6.0 (PTB)", rarity = 3, effect = "8 seconds", desc = "They made her look innocent enough, which was exactly what she wanted." .. nlp .. "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) }, }, -- S Add-ons -- ["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 = "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) }, }, ["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) }, }, ["Socket Swivels"] = { { version = "3.6.0", effect = "+30 %", rarity = 2, desc = b("Increases") .. " the Action speed for " .. i("Toolbox Repair") .. " by " .. clror("#effect") .. dot }, { version = "1.1.2", effect = "+15 %", rarity = 2, desc = b("Increases") .. " the Action speed for " .. i("Toolbox Repair") .. " by " .. clror("#effect") .. 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) }, }, -- T Add-ons -- ["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.") }, }, ["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 = "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 .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clror("#durationHaste") .. 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) }, }, ["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 " .. i(b("Undetectable")) .. space .. b("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.") }, }, -- V Add-ons -- ["Vanishing Box"] = { { version = "8.3.0", effect = "+80 %", rarity = 3, desc = "The magician was popular at children's parties, and quickly became the top suspect." .. list( "Survivors completing a " .. b("Generator") .. " become " .. ibclr(15, "Weakened") .. dot, b("Increases") .. " the Spawn timer of " .. i(b("Hallucinations")) .. " by " .. clror("#effect") .. dot) }, { version = "7.6.0", rarity = 3, desc = "The magician was popular at children's parties, and quickly became the top suspect." .. list("Survivors completing a " .. b("Generator") .. " become " .. ibclr(15, "Weakened") .. 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 " .. i(b("Hindered")) .. space .. b("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 " .. i(b("Hindered")) .. space .. b("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(2, "Lock On") .. " 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 " .. i(b("Broken")) .. space .. b("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 " .. i(b("Broken")) .. space .. b("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(2, "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(2, "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(28, "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) }, }, ['"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 flavour text header.", 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 flavour text header.", 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) }, }, -- 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 = { ["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.") }, }, } --------------------------------------------- ██████╗ ███████╗███████╗███████╗██████╗ ██╗███╗ ██╗ ██████╗ ███████╗ --------------------------------------------- --------------------------------------------- ██╔═══██╗██╔════╝██╔════╝██╔════╝██╔══██╗██║████╗ ██║██╔════╝ ██╔════╝ --------------------------------------------- --------------------------------------------- ██║ ██║█████╗ █████╗ █████╗ ██████╔╝██║██╔██╗ ██║██║ ███╗███████╗ --------------------------------------------- --------------------------------------------- ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██╔══██╗██║██║╚██╗██║██║ ██║╚════██║ --------------------------------------------- --------------------------------------------- ╚██████╔╝██║ ██║ ███████╗██║ ██║██║██║ ╚████║╚██████╔╝███████║ --------------------------------------------- --------------------------------------------- ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝ --------------------------------------------- p.offeringDescriptionsHistory = { -- A Offerings -- ["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) }, }, -- B Offerings -- ["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 -- ["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) }, }, -- D Offerings -- ["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, desc = "Calls upon The Entity for the following effect:" .. list("Grants the ability to kill " .. clror("all Survivors") .. " with " .. clro(2) .. space .. i("Hook Stages") .. " once they are in the Dying State.") }, { version = "1.5.3", rarity = 5, desc = "Calls upon The Entity for the following effect:" .. list("Grants the ability to kill " .. clror("all Survivors") .. " with " .. clro(1) .. space .. i("Hook Stage") .. " once they are in the Dying State.") }, { version = "1.0.0", rarity = 5, desc = "Calls upon The Entity for the following effect:" .. list("Grants the ability to kill " .. clror("all Survivors") .. " once they are in the Dying State.") }, }, -- 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) }, }, -- G Offerings -- -- H Offerings -- -- I Offerings -- ["Ivory Memento Mori"] = { { version = "4.4.1", rarity = 3, desc = "Calls upon The Entity for the following effect:" .. list("Grants the ability to kill " .. clror("one Survivor") .. " with " .. clro(2) .. space .. i("Hook Stages") .. " once they are in the Dying State.") }, { version = "1.5.3", rarity = 3, desc = "Calls upon The Entity for the following effect:" .. list("Grants the ability to kill " .. clror("one Survivor") .. " with " .. clro(1) .. space .. i("Hook Stage") .. " once they are in the Dying State.") }, { version = "1.0.0", rarity = 3, desc = "Calls upon The Entity for the following effect:" .. list("Grants the ability to kill " .. clror("one Survivor") .. " once they are in the Dying State.") }, }, -- J Offerings -- -- K Offerings -- -- L Offerings -- -- M Offerings -- -- N Offerings -- -- O Offerings -- -- P Offerings -- ["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) }, }, ["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) }, }, -- 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." }, }, ["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) }, }, ["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) }, }, ["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) }, }, -- U Offerings -- -- V Offerings -- -- W Offerings -- -- X Offerings -- -- Y Offerings -- -- Z Offerings -- } -------------------------------------------------------- ██████╗ ███████╗██████╗ ██╗ ██╗███████╗ ----------------------------------------------------------------- -------------------------------------------------------- ██╔══██╗██╔════╝██╔══██╗██║ ██╔╝██╔════╝ ----------------------------------------------------------------- -------------------------------------------------------- ██████╔╝█████╗ ██████╔╝█████╔╝ ███████╗ ----------------------------------------------------------------- -------------------------------------------------------- ██╔═══╝ ██╔══╝ ██╔══██╗██╔═██╗ ╚════██║ ----------------------------------------------------------------- -------------------------------------------------------- ██║ ███████╗██║ ██║██║ ██╗███████║ ----------------------------------------------------------------- -------------------------------------------------------- ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ----------------------------------------------------------------- p.perkDescriptionsHistory = { -- A Perks -- ["A Nurse's Calling"] = { { version = "2.4.0", units = {3}, values = {20, 24, 28}, rarity = 3, desc = "Unlocks potential in your Aura-reading ability." .. list("The Auras of Survivors who are healing or being healed 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 Survivors who are healing or being healed are revealed to you within #pl(1).") }, }, ["Ace in the Hole"] = { { version = "8.4.0", units = {4}, values = {50, 75, 100}, chance = "100 %", rarity = 2, desc = "Lady Luck always seems to be throwing something good your way." .. nlp .. "When retrieving an " .. b("Item") .. " from a " .. b("Chest") .. ", there is a chance an " .. i(b("Add-on")) .. " will be attached to it:" .. list( clror("#chance") .. " chance for an Add-on of " .. bclr(5, "Ultra Rare") .. " Rarity or lower.", "#pl(1) chance for a second Add-on of " .. bclr(2, "Uncommon") .. " Rarity or lower.") .. "#pn allows you to keep any Add-ons your " .. b("Item") .. " has attached to it upon escaping." }, { version = "3.6.0", units = {4}, values = {10, 25, 50}, chance = "100 %", rarity = 3, desc = "Lady Luck always seems to be throwing something good your way." .. nlp .. "When retrieving an " .. b("Item") .. " from a " .. b("Chest") .. ", there is a chance an " .. i(b("Add-on")) .. " will be attached to it:" .. list( clror("#chance") .. " chance for an Add-on of " .. bclr(4, "Very Rare") .. " Rarity or lower.", "#pl(1) chance for a second Add-on of " .. bclr(2, "Uncommon") .. " Rarity or lower.") .. "#pn allows you to keep any Add-ons your " .. b("Item") .. " has attached to it upon escaping." }, { version = "2.1.0", units = {4}, values = {10, 25, 50}, chance = "100 %", rarity = 3, desc = "Lady Luck always seems to be throwing something good your way." .. nlp .. "When retrieving an " .. b("Item") .. " from a " .. b("Chest") .. ", there is a chance an " .. i(b("Add-on")) .. " will be attached to it:" .. list( clror("#chance") .. " chance for an Add-on of " .. bclr(4, "Very Rare") .. " Rarity or lower.", "#pl(1) chance for a second Add-on of " .. bclr(2, "Uncommon") .. " Rarity or lower.") }, { version = "1.3.1", units = {7}, values = {"Uncommon", "Rare", "Very Rare"}, chance = "50 %", rarity = 3, desc = "Lady Luck always seems to be throwing something good your way." .. nlp .. "When retrieving an " .. b("Item") .. " from a " .. b("Chest") .. ", there is a chance an " .. i(b("Add-on")) .. " will be attached to it:" .. list(clror("#chance") .. " chance for an " .. i(b("Add-on")) .. " of #pl(1) Rarity.") }, }, ["Adrenaline"] = { { version = "7.7.0", units = {1}, values = {60, 50, 40}, haste = "+50 %", duration = "3 seconds", rarity = 2, desc = "You are fuelled by unexpecting energy when on the verge of escape." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates:" .. list( b("Instantly") .. " heal the equivalent of " .. clror(1) .. " Health State.", "Grants a " .. clro("#haste") .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#duration") .. dot) .. "#pn ignores an existing " .. i(b("Exhausted")) .. space .. b("Status Effect") .. ", but causes it for #pl(1)." }, { version = "1.8.1", units = {1}, values = {60, 50, 40}, haste = "+50 %", duration = "5 seconds", rarity = 3, desc = "You are fuelled by unexpecting energy when on the verge of escape." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates:" .. list( b("Instantly") .. " heal the equivalent of " .. clror(1) .. " Health State.", "Grants a " .. clro("#haste") .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#duration") .. dot) .. "#pn is paused if you are hooked or being carried at the moment of its activation and will instead activate once freed." .. nlp .. "#pn wakes you from the " .. i("Dream World") .. dot .. nlp .. "#pn ignores an existing " .. i(b("Exhausted")) .. space .. b("Status Effect") .. ", but causes it for #pl(1)." }, { 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 = "You are fuelled by unexpecting energy when on the verge of escape." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates:" .. list( b("Instantly") .. " heal from the #pl(1).", "Grants a " .. clror("#haste") .. i(b("Haste")) .. space .. b("Status Effect") .. " for #pl(2).") .. "#pn is paused if you are hooked or being carried at the moment of its activation and will instead activate once freed." .. nlp .. "#pn ignores an existing " .. i(b("Exhausted")) .. space .. b("Status Effect") .. ", but causes it for #pl(3)." }, { version = "1.0.0", units = {7, 1}, values = {"Injured State", "Injured State", "Injured or Dying State", 3, 5, 5}, rarity = 3, desc = "You are fuelled by unexpecting energy when on the verge of escape." .. nlp .. "Once either of the two " .. b("Exit Gates") .. " is opened, #pn activates:" .. list( b("Instantly") .. " heal from the #pl(1).", b("Increases") .. " your Movement speed to " .. clror("150 %") .. " of its default value for #pl(2).") }, }, ["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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("Status Effect") .. " for #pl(1).") }, }, ["All-Shaking Thunder"] = { { 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 " .. clro("#lunge") .. dot) .. "#pn has a cool-down of " .. clro("#cooldown") .. dot }, }, ["Any Means Necessary"] = { { version = "6.6.0", units = {1}, values = {6, 5, 4}, rarity = 2, desc = "Press and hold the " .. loadoutStrings.activeAbilityButton .. " for #pl(1) while standing beside a dropped " .. b("Pallet") .. " to reset it to its upright position." .. list( "Grants the ability to see the Auras of all dropped but not yet destroyed " .. b("Pallets") .. " in the environment.") }, { version = "5.3.0", units = {1}, values = {100, 80, 60}, duration = "4 seconds", rarity = 2, desc = "Press and hold the " .. loadoutStrings.activeAbilityButton .. " for " .. clror("#duration") .. " while standing beside a dropped " .. b("Pallet") .. " to reset it to its upright position." .. list( "Grants the ability to see the Auras of all dropped but not yet destroyed " .. b("Pallets") .. " in the environment.") .. "#pn has a cool-down of #pl(1)." }, { version = "4.3.0", units = {1}, values = {100, 80, 60}, duration = "4 seconds", rarity = 2, desc = "Press and hold the " .. loadoutStrings.activeAbilityButton .. " for " .. clror("#duration") .. " while standing beside a dropped " .. b("Pallet") .. " to reset it to its upright position." .. nlp .. "#pn has a cool-down of #pl(1)." }, { version = "3.4.0", units = {1}, values = {140, 130, 120}, duration = "4 seconds", rarity = 2, desc = "Press and hold the " .. loadoutStrings.activeAbilityButton .. " for " .. clror("#duration") .. " while standing beside a dropped " .. b("Pallet") .. " to reset it to its upright position." .. nlp .. "#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(13, "0 Tokens") .. colon .. space .. clro("-15 %") .. dot, nbullet .. bclr(13, "1 Token") .. colon .. space .. clro("+0 %") .. dot, nbullet .. bclr(13, "2 Tokens") .. colon .. space .. clro("+15 %") .. dot, nbullet .. bclr(13, "3 Tokens") .. colon .. space .. clro("+30 %") .. space .. "(limit of " .. bclr(2, "Tier I") .. ").", nbullet .. bclr(13, "4 Tokens") .. colon .. space .. clro("+45 %") .. space .. "(limit of " .. bclr(3, "Tier II") .. ").", nbullet .. bclr(13, "5 Tokens") .. colon .. space .. clro("+60 %") .. space .. "(limit of " .. bclr(4, "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(13, "0 Tokens") .. colon .. space .. clro("-25 %") .. dot, nbullet .. bclr(13, "1 Token") .. colon .. space .. clro("-10 %") .. dot, nbullet .. bclr(13, "2 Tokens") .. colon .. space .. clro("+5 %") .. dot, nbullet .. bclr(13, "3 Tokens") .. colon .. space .. clro("+20 %") .. space .. "(limit of " .. bclr(2, "Tier I") .. ").", nbullet .. bclr(13, "4 Tokens") .. colon .. space .. clro("+35 %") .. space .. "(limit of " .. bclr(3, "Tier II") .. ").", nbullet .. bclr(13, "5 Tokens") .. colon .. space .. clro("+50 %") .. space .. "(limit of " .. bclr(4, "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 = "8.7.0", units = {1}, values = {20, 25, 30}, aura = "8 seconds", haste = "+15 %", rarity = 2, desc = "Whenever you unhook a 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 a 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 flavour text header.", desc = i("While you have a reputation for being self-centred, you risk it all to help those in need.") .. nlp .. "Whenever you unhook a 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 flavour text header.", desc = i("You risk it all to help those in need") .. nlp .. "Whenever you unhook a 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 a 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 seonds", haste = "+50 %", duration = "5 seconds", rarity = 2, desc = "You are not usually the centre of attention and in some cases, this can be a good thing." .. nlp .. "Whenever another Survivor is picked up, #pn activates for " .. clror("#activation") .. dot .. br .. "Starting to run while it is active causes the following effect:" .. list("Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#duration") .. dot) .. "#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used when " .. i(b("Exhausted")) .. dot }, { version = "7.3.0", units = {1}, values = {60, 50, 40}, activation = "10 seonds", haste = "+100 %", duration = "5 seconds", rarity = 2, desc = "You are not usually the centre of attention and in some cases, this can be a good thing." .. nlp .. "Whenever another Survivor is picked up, #pn activates for " .. clror("#activation") .. dot .. br .. "Starting to run while it is active causes the following effect:" .. list("Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#duration") .. dot) .. "#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used when " .. i(b("Exhausted")) .. dot }, { version = "6.6.0", units = {1}, values = {60, 50, 40}, activation = "10 seonds", haste = "+50 %", duration = "4 seconds", rarity = 2, desc = "You are not usually the centre of attention and in some cases, this can be a good thing." .. nlp .. "Whenever another Survivor is picked up, #pn activates for " .. clror("#activation") .. dot .. br .. "Starting to run while it is active causes the following effect:" .. list("Grants a " .. clro("#haste") .. space .. b(i("Haste") .. space .. "Status Effect") .. " for " .. clro("#duration") .. dot) .. "#pn causes the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used when " .. i(b("Exhausted")) .. dot }, }, ["Balanced Landing"] = { { version = "3.4.0", units = {1}, values = {60, 50, 40}, stagger = "-75 %", haste = "+50 %", duration = "3 seconds", rarity = 1, desc = "Your agility and cat-like relexes are incomparable." .. nlp .. "After falling from a height, you benefit from the following effects:" .. list( b("Reduces") .. " the duration of the " .. i("Stagger") .. " upon landing by " .. clror("#stagger") .. dot, b("Suppresses") .. " all noises related to falling from height.", "Grants a " .. clro("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#duration") .. " upon landing.") .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used when " .. i(b("Exhausted")) .. dot }, { version = "2.0.0", units = {1}, values = {60, 50, 40}, stagger = "-75 %", haste = "+50 %", duration = "3 seconds", rarity = 1, desc = "Your agility and cat-like relexes are incomparable." .. nlp .. "After falling from a height, you benefit from the following effects:" .. list( b("Reduces") .. " the duration of the " .. i("Stagger") .. " upon landing by " .. clror("#stagger") .. " at all times.", "Grants a " .. clro("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#duration") .. " upon landing if you are not already afflicted by " .. i(b("Exhaustion")) .. dot) .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1)." }, { version = "1.5.0", units = {4}, values = {50, 75, 75}, haste = "+50 %", duration = "3 seconds", exhausted = "40 seconds", rarity = 1, desc = "Your agility and cat-like relexes are incomparable." .. nlp .. "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("Grants a " .. clror("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#duration") .. " upon landing if not already suffering from " .. i(b("Exhaustion")) .. dot) .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for " .. clro("#exhausted") .. dot }, { version = "1.3.0", units = {4}, values = {50, 75, 75}, speed = "150 %", duration = "3 seconds", cooldown = "40 seconds", rarity = 1, desc = "Your agility and cat-like relexes are incomparable." .. nlp .. "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 }, { version = "1.1.0", units = {4}, values = {50, 75, 75}, speed = "150 %", duration = "2 seconds", cooldown = "60 seconds", rarity = 1, desc = "Your agility and cat-like relexes are incomparable." .. nlp .. "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("150 %") .. " of its default value for " .. clro("2 seconds") .. " upon landing.") .. "#pn has a cool-down of " .. clro("60 seconds") .. dot }, }, ["Batteries Included"] = { { 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 The Entity is momentarily lost, making you totally unpredictable." .. list("Grants the " .. i(b("Undetectable")) .. space .. b("Status Effect") .. " for #pl(1) upon triggering the " .. i(b("Bloodlust")) .. space .. b("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 The Entity is momentarily lost, making you totally unpredictable." .. list( "Grants the " .. i(b("Undetectable")) .. space .. b("Status Effect") .. " for as long as the " .. i(b("Bloodlust")) .. space .. b("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 The Entity is momentarily lost, making you totally unpredictable." .. list( b("Suppresses") .. " the " .. i("Red Stain") .. " for as long as the " .. i(b("Bloodlust")) .. space .. b("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 The Entity is momentarily lost, making you totally unpredictable." .. list(b("Suppresses") .. " the " .. i("Red Stain") .. " for #pl(1) upon triggering the " .. i(b("Bloodlust")) .. space .. b("Status Effect") .. dot) .. "#pn has a cool-down of " .. clror("#cooldown") .. dot }, }, ["Better Together"] = { { version = "7.3.3", units = {1}, values = {8, 9, 10}, radius = "32 metres", rarity = 1, desc = "You seek justice and uncover the truth no matter what obstacle stands in your way." .. list( "While repairing a " .. b("Generator") .. ", its Aura is highlighted in " .. bclr(2, "yellow") .. " to all other Survivors within " .. clror("#radius") .. dot, "Whenever the Killer downs a Survivor while you are repairing a " .. b("Generator") .. ", the Auras of all other Survivors are revealed to you for #pl(1).") }, { version = "5.3.0", units = {1}, values = {8, 9, 10}, radius = "32 metres", rarity = 1, icon = "Situational Awareness", desc = "You are aware of your surroundings and share the information with others." .. list( "While repairing a " .. b("Generator") .. ", its Aura is highlighted in " .. bclr(2, "yellow") .. " to all other Survivors within " .. clror("#radius") .. dot, "Whenever the Killer downs a Survivor while you are repairing a " .. b("Generator") .. ", the Auras of all other Survivors are revealed to you for #pl(1).") }, { version = "3.2.3", units = {1}, values = {8, 9, 10}, radius = "32 metres", rarity = 1, desc = "You seek justice and uncover the truth no matter what obstacle stands in your way." .. list( "While repairing a " .. b("Generator") .. ", its Aura is highlighted in " .. bclr(2, "yellow") .. " to all other Survivors within " .. clror("#radius") .. dot, "Whenever the Killer downs a Survivor while you are repairing a " .. b("Generator") .. ", the Auras of all other 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:" .. nlp .. "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:" .. nlp .. "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:" .. nlp .. "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}, duration = "45 seconds", rarity = 2, desc = "The agony of one is inflicted onto others." .. list("Whenever you hook a Survivor, all other injured Survivors suffer from the " .. i(b("Exhausted")) .. " and " .. i(b("Haemorrhage")) .. space .. b("Status Effects") .. " for #pl(1).") }, { version = "3.4.0", units = {1}, values = {80, 70, 60}, duration = "45 seconds", rarity = 2, desc = "The agony of one is inflicted onto others." .. list("Whenever you hook a Survivor, all other injured Survivors suffer from the " .. i(b("Exhausted")) .. " and " .. i(b("Haemorrhage")) .. space .. b("Status Effects") .. " for " .. clror("#duration") .. dot) .. "#pn has a cool-down of #pl(1)." }, }, ["Blood Pact"] = { { version = "4.3.0", units = {4}, values = {5, 6, 7}, rarity = 2, desc = "It is as if a latent part of yourself has awakened." .. br .. "You feel like you can reach out beyond yourself for assistance." .. nlp .. "When either you or the " .. i(b("Obsession")) .. " become injured by any means, #pn activates:" .. list( "Your Auras are constantly revealed to one another.", "Completing a " .. i("Healing Action") .. " on the " .. i(b("Obsession")) .. " or having them complete one on yourself, grants both of you a #pl(1) " .. i(b("Haste")) .. space .. b("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 " .. i(b("Obsession")) .. dot .. nlp .. loadoutStrings.obsessionChanceMinus .. br .. loadoutStrings.obsessionPerkSurvivor }, { version = "4.0.0", units = {1}, values = {6, 8, 10}, rarity = 2, desc = "It is as if a latent part of yourself has awakened." .. br .. "You feel like you can reach out beyond yourself for assistance." .. nlp .. "When either you or the " .. i(b("Obsession")) .. " become injured by any means, #pn activates:" .. list( "Your Auras are constantly revealed to one another.", "Completing a " .. i("Healing Action") .. " on the " .. i(b("Obsession")) .. " or having them complete one on yourself, grants both of you a " .. clror("+7 %") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " for #pl(1).") .. "#pn is temporarily disabled if you yourself are the " .. i(b("Obsession")) .. dot .. nlp .. loadoutStrings.obsessionChanceMinus .. br .. loadoutStrings.obsessionPerkSurvivor }, }, ["Blood Rush"] = { { version = "8.3.0", units = {1}, values = {40, 50, 60}, rarity = 2, desc = "Your mind and body are honed for great feats, allowing you to push through with extra effort when necessary." .. nlp .. "After unhooking yourself or being unhooked, #pn activates for #pl(1)." .. br .. "Press the " .. loadoutStrings.activeAbilityButton .. " for the following effect:" .. list(b("Instantly") .. " recover from the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. dot) .. "#pn is deactivated after use or performing a " .. i("Conspicuous Action") .. dot .. br .. "#pn 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}, rarity = 2, desc = "Your mind and body are honed for great feats, allowing you to push through with extra effort when necessary." .. nlp .. "After accruing " .. clror(2) .. space .. i("Hook Stages") .. ", #pn activates." .. br .. "While healthy and running, press the " .. loadoutStrings.activeAbilityButton .. " for the following effects:" .. list( b("Instantly") .. " recover from the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. dot, "Causes you to temporarily lose " .. clro(1) .. " Health State and suffer from the " .. i(b("Broken")) .. space .. b("Status Effect") .. " for #pl(1) while you are automatically healing back to full health.", nbullet .. "Taking damage cancels 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(19, "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 .. i(b("Haste")) .. space .. b("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 .. i(b("Haste")) .. space .. b("Status Effect") .. dot, nbullet .. "This effect lingers for #pl(1) after leaving the " .. i("Boon Totem's") .. " range.") .. loadoutStrings.boonPerkBottom }, }, ["Borrowed Time"] = { { version = "6.1.0", units = {1}, values = {6, 8, 10}, rarity = 2, desc = "You are fuelled with an unexpected energy when saving an ally from a Hook." .. nlp .. "The Survivors you unhook benefit from the following effects:" .. list( b("Extends") .. " the duration of their " .. i(b("Endurance")) .. space .. b("Status Effect") .. " by #pl(1).", b("Extends") .. " the duration of their " .. i(b("Haste")) .. space .. b("Status Effect") .. " by " .. clror("10 seconds") .. dot) }, { version = "4.7.0", units = {1}, values = {8, 10, 12}, rarity = 2, desc = "You are fuelled with an unexpected energy when saving an ally from a Hook." .. nlp .. "The Survivors you unhook benefit from the following effects:" .. list("Grants the " .. i(b("Endurance")) .. space .. b("Status Effect") .. " for #pl(1).") }, { version = "4.5.0", units = {1}, values = {10, 15, 20}, rarity = 2, desc = "You are fuelled with an unexpected energy when saving an ally from a Hook." .. nlp .. "The Survivors you unhook within the Killer's " .. i("Terror Radius") .. " benefit from the following effects:" .. list("Grants the " .. i(b("Endurance")) .. space .. b("Status Effect") .. " for #pl(1).") }, { version = "2.4.0", units = {1}, values = {10, 15, 20}, rarity = 2, desc = "You are fuelled with an unexpected energy when saving an ally from a Hook." .. nlp .. "The Survivors you unhook within the Killer's " .. i("Terror Radius") .. " benefit from the following effects:" .. list( "Grants the " .. i(b("Endurance")) .. space .. b("Status Effect") .. " for " .. clror("15 seconds") .. dot, nbullet .. "Sets the Bleed-out timer to #pl(1) upon taking damage while protected.") }, { version = "1.9.2", units = {1}, values = {15, 20, 25}, rarity = 2, desc = "You are fuelled with an unexpected energy when saving an ally from a Hook." .. nlp .. "The Survivors you unhook within the Killer's " .. i("Terror Radius") .. " benefit from the following effects for " .. clror("20 seconds") .. colon .. list( "Any damage taken that would put you or them into the Dying State instead triggers a Bleed-out timer of #pl(1).", "Automatically enter the Dying State after the Bleed-out timer elapses or taking additional damage.") }, { version = "1.7.0", units = {1}, values = {15, 20, 25}, rarity = 2, desc = "You are fuelled with an unexpected energy when saving an ally from a Hook." .. nlp .. "Once per Trial, both you and the Survivor you unhook within the Killer's " .. i("Terror Radius") .. " benefit from the following effects for " .. clror("20 seconds") .. colon .. list( "Any damage taken that would put you or them into the Dying State instead triggers a Bleed-out timer of #pl(1).", "Automatically enter the Dying State after the Bleed-out timer elapses or taking additional damage.") }, { version = "1.4.2", units = {1}, values = {30, 35, 40}, rarity = 2, desc = "You are fuelled with an unexpected energy when saving an ally from a Hook." .. nlp .. "Once per Trial, both you and the Survivor you unhook within the Killer's " .. i("Terror Radius") .. " benefit from the following effects for " .. clror("20 seconds") .. colon .. list( "Any damage taken that would put you or them into the Dying State instead triggers a Bleed-out timer of #pl(1).", "Automatically enter the Dying State after the Bleed-out timer elapses or taking additional damage.") }, }, ["Botany Knowledge"] = { { version = "6.1.0", units = {4}, values = {30, 40, 50}, rarity = 2, desc = "You transform plants found around the campfire into tinctures that slow down bleeding." .. list( b("Increases") .. " your Healing speed by #pl(1).", b("Reduces") .. " the Healing efficiency of " .. b("Med-Kits") .. " by " .. clror("-20 %") .. dot) }, { version = "2.3.0", units = {4}, values = {11, 22, 33}, rarity = 2, desc = "You transform plants found around the campfire into tinctures that slow down bleeding." .. 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 transform plants found around the campfire into tinctures that slow down bleeding." .. 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 transform plants found around the campfire into tinctures that slow down bleeding." .. list( b("Increases") .. " your Healing speed by #pl(1).", b("Increases") .. " the Healing efficiency of " .. b("Med-Kits") .. " by #pl(1).") }, }, ["Breakdown"] = { { version = "3.6.0", units = {1}, values = {4, 5, 6}, rarity = 1, desc = "Whenever you are unhooked by another Survivor or unhook yourself, the following effects apply:" .. list( "The Aura of the Killer is revealed to you for #pl(1).", "Causes the " .. b("Hook") .. " to break instantly.") .. b("Hooks") .. " broken by #pn take " .. clror("180 seconds") .. " to respawn." }, { version = "2.4.0", units = {1}, values = {4, 5, 6}, rarity = 1, desc = "Whenever you are unhooked by another Survivor or unhook yourself, the following effects apply:" .. list( "The Aura of the Killer is revealed to you for #pl(1).", "Causes the " .. b("Hook") .. " to break instantly.") }, }, ["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) " .. i(b("Haste")) .. space .. b("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) " .. i(b("Haste")) .. space .. b("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) " .. i(b("Haste")) .. space .. b("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, desc = "Unlocks potential in your Aura-reading ability." .. nlp .. "When healing a Survivor in the Dying State, #pn activates:" .. list( "The Aura of the Killer is revealed to the both of you.", "Completing a " .. i("Healing Action") .. " on the dying Survivor suppresses their " .. i("Scratch Marks") .. " and grants them a " .. clror("+50 %") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " for #pl(1)" .. dot) .. "#pn does not cause the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. dot }, { version = "7.1.0", units = {1}, values = {6, 8, 10}, rarity = 2, desc = "Unlocks potential in your Aura-reading ability." .. nlp .. "When healing a Survivor in the Dying State, #pn activates:" .. list( "The Aura of the Killer is revealed to the both of you.", "Completing a " .. i("Healing Action") .. " on the dying Survivor grants both of you the " .. i(b("Endurance")) .. space .. b("Status Effect") .. " for #pl(1)" .. dot) }, { version = "6.5.0", units = {1}, values = {6, 8, 10}, rarity = 2, desc = "Unlocks potential in your Aura-reading ability." .. nlp .. "When healing a Survivor in the Dying State, #pn activates:" .. list( "The Aura of the Killer is revealed to the both of you.", "Completing a " .. i("Healing Action") .. " on the dying Survivor grants them a " .. clror("+10 %") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " for #pl(1)" .. dot) }, { version = "5.5.0", units = {1}, values = {6, 8, 10}, rarity = 2, desc = "Unlocks potential in your Aura-reading ability." .. nlp .. list( "Grants you the ability to gauge the Recovery progress from the intensity of a dying Survivor's Aura at a distance of up to " .. clror("48 metres") .. " away.", "Completing a " .. i("Healing Action") .. " on the dying Survivors reveals the Killer's Aura to the both of you for #pl(1).") }, { version = "2.4.0", units = {1}, values = {4, 5, 6}, rarity = 2, desc = "Unlocks potential in your Aura-reading ability." .. nlp .. list( "Grants you the ability to gauge the Recovery progress from the intensity of a dying Survivor's Aura at a distance of up to " .. clror("48 metres") .. " away.", "Completing a " .. i("Healing Action") .. " on the dying Survivors reveals the Killer's Aura to the both of you for #pl(1).") }, }, ["Built to Last"] = { { version = "5.3.0", units = {1}, values = {14, 13, 12}, rarity = 2, desc = "You know how to get the most out of your tools." .. nlp .. "Hiding inside a " .. b("Locker") .. " for #pl(1) while carrying a depleted " .. b("Item") .. " has the following effect:" .. list( bclr(13, "First use") .. colon .. space .. "Recharges the " .. b("Item") .. " to " .. clror("99 %") .. dot, bclr(13, "Second use") .. colon .. space .. "Recharges the " .. b("Item") .. " to " .. clro("66 %") .. dot, bclr(13, "Third use") .. colon .. space .. "Recharges the " .. b("Item") .. " to " .. clro("33 %") .. dot) .. "#pn is disabled for the remainder of the Trial after the " .. clro("third use") .. dot }, { version = "4.2.0", units = {4}, values = {30, 40, 50}, rarity = 3, desc = "You know how to get the most out of your tools." .. nlp .. "Once per Trial after " .. clror("10 seconds") .. " of depleting an " .. b("Item") .. ", #pn activates:" .. list("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 -- ["Calm Spirit"] = { { version = "6.1.0", units = {4}, values = {40, 35, 30}, rarity = 2, desc = "Animals seem to trust you as they often stay calm in your presence." .. list( b("Prevents") .. space .. i("Crows") .. " from being alerted by your proximity and flying off, unless they are being stepped on.", b("Suppresses") .. " the urge to scream from any cause at all times.", b("Suppresses") .. " all noises related to unlocking " .. b("Chests") .. ", and cleansing or blessing " .. b("Totems") .. dot, b("Reduces") .. " the Interaction speeds with " .. b("Chests") .. " and " .. b("Totems") .. " by #pl(1).") }, { version = "2.7.0", units = {4}, values = {80, 90, 100}, rarity = 2, desc = "Animals seem to trust you as they often stay calm in your presence." .. list( b("Reduces") .. " the chances of " .. i("Crows") .. " being alerted by your proximity and flying off by #pl(1), unless they are being stepped on.", 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 = "Animals seem to trust you as they often stay calm in your presence." .. list( b("Reduces") .. " the chances of " .. i("Crows") .. " being alerted by your proximity and flying off by #pl(1), unless they are being stepped on.", b("Suppresses") .. " the urge to scream from Killer Powers or getting hit at all times.") }, { version = "1.3.0", units = {4}, values = {80, 90, 100}, rarity = 2, desc = "Animals seem to trust you as they often stay calm in your presence." .. list( b("Reduces") .. " the chances of " .. i("Crows") .. " being alerted by your proximity and flying off by #pl(1), unless they are being stepped on.") }, { version = "1.0.0", units = {4}, values = {70, 80, 95}, rarity = 2, desc = "Animals seem to trust you as they often stay calm in your presence." .. list( b("Reduces") .. " the chances of " .. i("Crows") .. " being alerted by your proximity and flying off 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 = "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 .. i(b("Haste")) .. space .. b("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 .. i(b("Hindered")) .. space .. b("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 .. i(b("Haste")) .. space .. b("Status Effect") .. dot, "Blinding the Killer by any means causes them to suffer from a " .. clro("#hindered") .. space .. i(b("Hindered")) .. space .. b("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 .. i(b("Haste")) .. space .. b("Status Effect") .. dot, "Blinding the Killer with the " .. i("Flashlight") .. " causes them to suffer from a " .. clro("#hindered") .. space .. i(b("Hindered")) .. space .. b("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 .. i(b("Hindered")) .. space .. b("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(2, "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 .. i(b("Hindered")) .. space .. b("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(2, "yellow") .. dot }, }, ["Clairvoyance"] = { { version = "7.1.0", units = {1}, values = {8, 9, 10}, rarity = 2, desc = "There is an intrinsic energy in you that sees beyond your vision." .. nlp .. "After cleansing or blessing a " .. b("Totem") .. ", #pn activates:" .. list( "While empty-handed, press and hold the " .. loadoutStrings.useItemButton .. " to unlock your full Aura-reading potential for up to #pl(1), allowing you to see the Auras of the following environmental objects within " .. clror("64 metres") .. colon, 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}, rarity = 2, desc = "There is an intrinsic energy in you that sees beyond your vision." .. nlp .. "After cleansing a " .. b("Totem") .. ", #pn activates:" .. list( "While empty-handed, press and hold the " .. loadoutStrings.useItemButton .. " to unlock your full Aura-reading potential for up to #pl(1), allowing you to see the Auras of the following environmental objects within " .. clror("64 metres") .. colon, 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}, 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 " .. i(b("Broken")) .. space .. b("Status Effect") .. dot, "You are automatically healed " .. clror(1) .. 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 the " .. i(b("Broken")) .. space .. b("Status Effect") .. dot .. br .. "#pn deactivates after healing you." }, }, ["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 }, }, -- 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 Sense"] = { { version = "6.1.0", units = {1}, values = {5, 7, 10}, rarity = 2, desc = "Unlocks potential in your Aura-reading ability:" .. nlp .. "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("24 metres") .. " of your location.") .. "#pn deactivates after use." }, { version = "3.2.0", units = {1}, values = {5, 7, 10}, rarity = 3, desc = "Unlocks potential in your Aura-reading ability:" .. nlp .. "Whenever a " .. b("Generator") .. " is completed, #pn activates and reveals the Aura of the Killer to you for the following durations:" .. list( bclr(13, "Not the last Generator") .. colon .. space .. clror("5 seconds"), bclr(13, "The last Generator") .. colon .. space .. "#pl(1)") .. "#pn deactivates after use." }, { version = "2.1.0", units = {1}, values = {5, 7, 10}, rarity = 3, desc = "Unlocks potential in your Aura-reading ability:" .. nlp .. "Whenever you complete a " .. b("Generator") .. ", #pn activates and reveals the Aura of the Killer to you for the following durations:" .. list( bclr(13, "Not the last Generator") .. colon .. space .. clror("5 seconds"), bclr(13, "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:" .. nlp .. "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 = "You can take a beating." .. nlp .. "After being unhooked or unhooking yourself, #pn activates whenever you are injured and running, and allows you to tap into your adrenaline bank to avoid taking further damage:" .. list("Press the " .. loadoutStrings.activeAbilityButton .. " to trigger the " .. i(b("Endurance")) .. space .. b("Status Effect") .. " for " .. clror("#endurance") .. dot) .. "#pn deactivates after use." .. nlp .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used when " .. i(b("Exhausted")) .. dot }, { version = "6.1.0", units = {1}, values = {60, 50, 40}, endurance = "0.5 seconds", rarity = 2, desc = "You can take a beating." .. nlp .. "Whenever you are injured and running, #pn activates and allows you to tap into your adrenaline bank to quickly dash forwards and avoid taking further damage:" .. list("Press the " .. loadoutStrings.activeAbilityButton .. " to perform a " .. i("Dash") .. " and trigger the " .. i(b("Endurance")) .. space .. b("Status Effect") .. " for " .. clror("#endurance") .. dot) .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used when " .. i(b("Exhausted")) .. dot }, { version = "1.6.0", units = {1}, values = {60, 50, 40}, dash = "0.5 seconds", rarity = 2, desc = "You can take a beating." .. nlp .. "Whenever you are injured and running, #pn activates and allows you to tap into your adrenaline bank to quickly dash forwards and avoid taking further damage:" .. list( "Press the " .. loadoutStrings.activeAbilityButton .. " to perform a " .. i("Dash") .. " for " .. clror("#dash") .. dot, nbullet .. "Grants the ability to ignore any damage taken during the " .. i("Dash") .. dot) .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used when " .. i(b("Exhausted")) .. dot }, }, ["Dead Man's Switch"] = { { version = "8.3.0", units = {1}, values = {40, 45, 50}, rarity = 2, desc = "After hooking a Survivor, #pn activates:" .. list( b("Blocks") .. " the first " .. b("Generator") .. " any Survivor stops repairing for #pl(1).", "The " .. i("Blocked Generator") .. " is highlighted to you in " .. bclr(16, "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.", i("Blocked Generators") .. " are highlighted to you in " .. bclr(16, "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(16, "white") .. dot) }, { version = "3.6.0", units = {1}, values = {35, 40, 45}, rarity = 2, desc = "After hooking your " .. i(b("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(16, "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 " .. i(b("Oblivious")) .. space .. b("Status Effect") .. " whenever they are farther than #pl(1) from the other Survivor.") .. "#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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("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 " .. i(b("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 " .. i(b("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 " .. i(b("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 " .. i(b("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 " .. i(b("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 " .. i(b("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 " .. i(b("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 " .. i(b("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 = "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.") }, }, ["Déjà Vu"] = { { version = "7.0.0", units = {4}, values = {4, 5, 6}, rarity = 2, desc = "Paranoia paired with your horror of failure helps prepare you from repeating the same mistakes." .. br .. "Unlocks potential in your Aura-reading ability:" .. list( "The Auras of the " .. clror(3) .. 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).") .. "Held " .. b("Maps") .. " automatically track Auras revealed by #pn." }, { version = "6.1.0", units = {1, 4}, values = {30, 45, 60, 3, 4, 5}, rarity = 2, desc = "Paranoia paired with your horror of failure helps prepare you from repeating the same mistakes." .. br .. "Unlocks potential in your Aura-reading ability:" .. list( "The Auras of the " .. clror(3) .. 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).") .. "Held " .. b("Maps") .. " automatically track Auras revealed by #pn." }, { version = "2.1.0", units = {1}, values = {30, 45, 60}, rarity = 2, desc = "Paranoia paired with your horror of failure helps prepare you from repeating the same mistakes." .. br .. "Unlocks potential in your Aura-reading ability:" .. list("The Auras of the " .. clror(3) .. 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.") .. "Held " .. b("Maps") .. " automatically track Auras revealed by #pn." }, { version = "1.0.0", units = {7, 1}, values = {1, 1, 2, 4, 8, 8}, rarity = 2, desc = "Paranoia paired with your horror of failure helps prepare you from repeating the same mistakes." .. br .. "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.") .. "Held " .. b("Maps") .. " automatically track Auras revealed by #pn." }, }, ["Detective's Hunch"] = { { version = "3.3.1", 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")) .. "When carrying a " .. b("Map") .. ", any objects revealed by #pn are automatically added to it." }, { version = "1.9.0", units = {3}, values = {32, 48, 64}, duration = "5 seconds", rarity = 2, desc = "Unlocks potential in your Aura-reading ability:" .. br .. "Each time 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")) .. "When carrying a " .. b("Map") .. ", any objects revealed by #pn are automatically added to it." }, }, ["Distortion"] = { { version = "8.3.2", units = {1}, values = {8, 10, 12}, tokens = "1 Token", limit = "2 Tokens", recharge = "15 seconds", rarity = 2, desc = "Start the Trial with " .. clror("#tokens") .. dot .. nlp .. "Whenever the Killer attempts to read your Aura, #pn activates and consumes " .. clro("-1 Token") .. ", applying the following effects for #pl(1):" .. list( b("Blocks") .. " your Aura from being read.", b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) .. "For every " .. clro("#recharge") .. " spent in a Chase, #pn recharges " .. clro("+1 Token") .. ", up to a maximum of " .. clro("#limit") .. dot .. nlp .. "#pn does not activate when you are in the Dying State." }, { version = "8.3.0", units = {1}, values = {8, 10, 12}, tokens = "1 Token", limit = "2 Tokens", recharge = "30 seconds", rarity = 2, desc = "Start the Trial with " .. clror("#tokens") .. dot .. nlp .. "Whenever the Killer attempts to read your Aura, #pn activates and consumes " .. clro("-1 Token") .. ", applying the following effects for #pl(1):" .. list( b("Blocks") .. " your Aura from being read.", b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) .. "For every " .. clro("#recharge") .. " spent in a Chase, #pn recharges " .. clro("+1 Token") .. ", up to a maximum of " .. clro("#limit") .. dot .. nlp .. "#pn does not activate when you are in the Dying State." }, { version = "6.1.0", units = {1}, values = {6, 8, 10}, tokens = "3 Tokens", recharge = "30 seconds", rarity = 2, desc = "Start the Trial with " .. clror("#tokens") .. dot .. nlp .. "Whenever the Killer attempts to read your Aura, #pn activates and consumes " .. clro("-1 Token") .. ", applying the following effects for #pl(1):" .. list( b("Blocks") .. " your Aura from being read.", b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) .. "For every " .. clro("#recharge") .. " spent in the Killer's " .. i("Terror Radius") .. ", #pn recharges " .. clro("+1 Token") .. ", up to the starting count." .. nlp .. "#pn does not activate when you are in the Dying State." }, { version = "5.5.0", units = {1}, values = {6, 8, 10}, tokens = "4 Tokens", rarity = 2, desc = "Start the Trial with " .. clror("#tokens") .. dot .. nlp .. "Whenever the Killer attempts to read your Aura, #pn activates and consumes " .. clro("-1 Token") .. ", applying 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 activate when you are in the Dying State or caught in a " .. b("Killer Trap") .. dot }, { version = "2.4.0", units = {1}, values = {6, 8, 10}, tokens = "3 Tokens", rarity = 2, desc = "Start the Trial with " .. clror("#tokens") .. dot .. nlp .. "Whenever the Killer attempts to read your Aura, #pn activates and consumes " .. clro("-1 Token") .. ", applying 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 activate when you are in the Dying State or caught in a " .. b("Killer Trap") .. dot }, }, ["Distressing"] = { { version = "8.4.0", units = {4}, values = {20, 25, 30}, rarity = 2, desc = "Your horrifying emanation strikes at a supernaturally long distance." .. list(b("Permanently increases") .. " your " .. i("Terror Radius") .. " by #pl(1).") }, { version = "2.6.0", units = {4}, values = {22, 24, 26}, bonus = "+100 %", rarity = 2, desc = "Your horrifying emanation strikes at a supernaturally long distance." .. list( b("Permanently 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 = "Your horrifying emanation strikes at a supernaturally long distance." .. list( b("Permanently 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 = "Your horrifying emanation strikes at a supernaturally long distance." .. list( b("Permanently 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(16, "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(16, "white") .. dot) }, }, ["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 " .. i(b("Obsession")) .. ", you gain " .. clror("+1 Token") .. colon .. list( "For as long as the " .. i(b("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 " .. i(b("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 " .. i(b("Obsession")) .. ", all other Survivors suffer from a permanent #pl(1) Action Speed penalty to Repairing, Healing, and Sabotaging." .. nlp .. "While alive, the " .. i(b("Obsession")) .. " benefits from a permanent #pl(2) Action Speed bonus to Unhooking and Healing other Survivors." .. nlp .. loadoutStrings.obsessionPerkKiller }, }, -- E Perks -- ["Empathic Connection"] = { { version = "8.1.0", units = {3}, values = {32, 64, 96}, healing = "+30 %", rarity = 2, desc = "While other Survivors are in the " .. i("Injured State") .. ", they benefit from the following effects:" .. list( "Your Aura is revealed them within #pl(1) of your location.", b("Increases") .. " your Altruistic Healing speed by " .. clror("#healing") .. dot) }, { version = "5.6.0", units = {3}, values = {32, 64, 96}, healing = "+10 %", rarity = 2, desc = "While other Survivors are in the " .. i("Injured State") .. ", they benefit from the following effects:" .. list( "Your Aura is revealed to them within #pl(1) of your location.", b("Increases") .. " your Altruistic Healing speed by " .. clror("#healing") .. dot) }, }, ["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 are resilient to pain." .. list(b("Reduces") .. " the duration of " .. i("Pallet Stuns") .. " by #pl(1).") .. "#pn has no effect while carrying a Survivor." }, { version = "3.0.0", units = {4}, values = {40, 45, 50}, rarity = 1, desc = "You are resilient to pain." .. 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 are resilient to pain." .. list(b("Increases") .. " the Recovery rate from all " .. i("Stuns") .. " by #pl(1).") }, { version = "1.7.0", units = {4, 4}, values = {50, 60, 75, 20, 28, 35}, rarity = 1, desc = "You are resilient to pain." .. list( b("Increases") .. " the Recovery rate from " .. i("Pallet Stuns") .. " by #pl(1).", b("Increases") .. " the Recovery rate from " .. i("Perk Stuns") .. " by #pl(2).") }, { version = "1.2.1d", units = {4}, values = {25, 50, 75}, rarity = 1, desc = "You are resilient to pain." .. list( b("Increases") .. " the Recovery rate from " .. i("Pallet Stuns") .. " by #pl(1).", b("Reduces") .. " the Recovery time from " .. i("Perk Stuns") .. " by " .. clror("-35 %") .. dot) }, { version = "1.2.1", units = {4}, values = {25, 50, 75}, rarity = 1, desc = "You are resilient to pain." .. list( b("Increases") .. " the Recovery rate from " .. i("Pallet Stuns") .. " by #pl(1).", b("Reduces") .. " the Recovery time from " .. i("Perk Stuns") .. " by " .. clror("-20 %") .. dot) }, { version = "1.0.0", units = {4}, values = {25, 50, 75}, rarity = 1, desc = "You are resilient to pain." .. list(b("Increases") .. " the Recovery rate from " .. i("Pallet Stuns") .. " by #pl(1).") }, }, ["Exultation"] = { { version = "8.2.1", units = {1}, values = {40, 35, 30}, rarity = 2, desc = "Fortune favours the bold, even in the darkest corners of existence." .. nlp .. "Stunning the Killer with a " .. b("Pallet") .. " upgrades the Rarity of your held " .. b("Item") .. " to the next tier." .. list("Recharges the " .. b("Item") .. " by " .. clror("+25 %") .. dot) .. "#pn has a cool-down of #pl(1)." }, { version = "8.2.0", units = {1}, values = {40, 35, 30}, rarity = 2, desc = "Fortune favours the bold, even in the darkest corners of existence." .. nlp .. "Stunning the Killer with a " .. b("Pallet") .. " upgrades the Rarity of your held " .. b("Item") .. " to the next tier." .. list("Recharges the " .. b("Item") .. " by " .. clror("+25 %") .. dot) .. "The upgraded Rarity is not kept at the end of the Trial." .. nlp .. "#pn has a cool-down of #pl(1)." }, }, -- 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(13, "2 Tokens") .. colon .. " #pl(1)", nbullet .. bclr(13, "3 Tokens") .. colon .. " #pl(2)", nbullet .. bclr(13, "4 Tokens") .. colon .. " #pl(3)") }, }, ["Fixated"] = { { version = "7.3.3", units = {4}, values = {10, 15, 20}, notice = "Identical to the previous version, except that the Lore text was reinstated to the original version.", rarity = 2, desc = "When you have a goal in mind, there's no turning back; better to ask forgiveness than permission." .. 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 = "Identical to the previous version, except that the Lore text was adjusted for licensing reasons.", desc = "You know your weaknesses and refuse to hide from them." .. 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 = "When you have a goal in mind, there's no turning back; better to ask forgiveness than permission." .. 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 = "When you have a goal in mind, there's no turning back; better to ask forgiveness than permission." .. list( b("Increases") .. " your Walking speed by #pl(1) while healthy.", "Grants the ability to see your own " .. i("Scratch Marks") .. dot) }, }, ["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 .. b("Instantly") .. " heals them to the Injured State, if they were dying or suffering from the " .. i(b("Deep Wound")) .. space .. b("Status Effect") .. dot, nbullet .. b("Instantly") .. " heals them to full health, if they were injured.", "You yourself become injured and suffer from the " .. i(b("Broken")) .. space .. b("Status Effect") .. " for the next #pl(1).", "You become the Killer's " .. i(b("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 .. b("Instantly") .. " heals them to the Injured State, if they were dying or suffering from the " .. i(b("Deep Wound")) .. space .. b("Status Effect") .. dot, nbullet .. b("Instantly") .. " heals them to full health, if they were injured.", "You yourself become injured and suffer from the " .. i(b("Broken")) .. space .. b("Status Effect") .. " for the next #pl(1).", "You become the Killer's " .. i(b("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).") }, }, ["Furtive Chase"] = { { version = "8.7.0", units = {1}, values = {6, 8, 10}, haste = "+10 %", rarity = 2, desc = "After hooking the " .. i(b("Obsession")) .. ", #pn triggers its primary 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) .. "After the " .. i(b("Obsession")) .. " is rescued from the " .. b("Hook") .. ", #pn triggers its secondary effect:" .. list("Causes the " .. i(b("Obsession")) .. " status to transfer to the Rescuer.") .. loadoutStrings.obsessionPerkKiller }, { version = "7.3.0", units = {1}, values = {6, 8, 10}, haste = "+5 %", rarity = 2, desc = "After hooking the " .. i(b("Obsession")) .. ", #pn triggers its primary 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) .. "After the " .. i(b("Obsession")) .. " is rescued from the " .. b("Hook") .. ", #pn triggers its secondary effect:" .. list("Causes the " .. i(b("Obsession")) .. " status to transfer to the Rescuer.") .. loadoutStrings.obsessionPerkKiller }, { version = "5.5.0", units = {5, 3}, values = {2, 3, 4, 8, 12, 16}, tokenGain = "+1 Token", stack = "-4 metres", rarity = 2, desc = "Whenever you hook " .. i(b("Obsession")) .. ", #pn gains " .. clror("#tokenGain") .. ", up to a maximum of #pl(1)." .. br .. "While chasing a Survivor, #pn applies its primary effect:" .. list(b("Reduces") .. " your " .. i("Terror Radius") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).") .. "After the " .. i(b("Obsession")) .. " is rescued from the " .. b("Hook") .. ", #pn triggers its secondary effect:" .. list("Causes the " .. i(b("Obsession")) .. " status to transfer to the Rescuer.") .. loadoutStrings.obsessionPerkKiller }, { version = "3.0.0", units = {5, 3}, values = {2, 3, 4, 8, 12, 16}, tokenGain = "+1 Token", stack = "-4 metres", rarity = 2, desc = "Whenever you hook " .. i(b("Obsession")) .. ", #pn gains " .. clror("#tokenGain") .. ", up to a maximum of #pl(1)." .. br .. "While chasing a Survivor, #pn applies its primary effect:" .. list(b("Reduces") .. " your " .. i("Terror Radius") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).") .. "After the " .. i(b("Obsession")) .. " is rescued from the " .. b("Hook") .. ", #pn triggers its secondary effect:" .. list("Causes the " .. i(b("Obsession")) .. " status to transfer to the Rescuer.") .. "#pn loses all accumulated Tokens once the current " .. i(b("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 " .. i(b("Obsession")) .. " 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 " .. i(b("Obsession")) .. " 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 " .. i(b("Exhausted")) .. space .. b("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 " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1).") }, }, -- H Perks -- ["Head On"] = { { version = "3.1.0", units = {1}, values = {60, 50, 40}, charge = "3 seconds", stun = "3 seconds", rarity = 2, desc = "When your mind is set, there better be no one standing in your way." .. nlp .. "After hiding in a " .. b("Locker") .. " for " .. clror("#charge") .. ", #pn activates:" .. list("Performing a " .. i("Rush Exit") .. " out of the " .. b("Locker") .. " stuns a nearby Killer for " .. clro("#stun") .. dot) .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used while " .. i(b("Exhausted")) .. " or when having accrued " .. i("Idle Crows") .. dot }, { version = "2.6.0", units = {1}, values = {60, 50, 40}, charge = "3 seconds", stun = "3 seconds", rarity = 2, desc = "When your mind is set, there better be no one standing in your way." .. nlp .. "After hiding in a " .. b("Locker") .. " for " .. clror("#charge") .. ", #pn activates:" .. list("Performing a " .. i("Rush Exit") .. " out of the " .. b("Locker") .. " stuns a nearby Killer for " .. clro("#stun") .. dot) .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used while " .. i(b("Exhausted")) .. dot }, }, ["Hex: Blood Favour"] = { { version = "5.3.0", units = {3}, values = {24, 28, 32}, duration = "15 seconds", rarity = 2, desc = "A Hex that gains the favour of The Entity when blood is spilt." .. nlp .. "Whenever a Survivor loses a Health State by any means, #pn triggers its effect:" .. list( b("Blocks") .. " all upright " .. b("Pallets") .. " within #pl(1) of that Survivor's location at the time for " .. clror("#duration") .. dot, nbullet .. "Blocked " .. b("Pallets") .. " cannot be dropped.") .. loadoutStrings.hexPerk }, { version = "4.2.0", units = {1}, values = {60, 50, 40}, range = "16 metres", duration = "15 seconds", rarity = 2, desc = "A Hex that gains the favour of The Entity when blood is spilt." .. nlp .. "Whenever you hit a Survivor with a " .. i("Basic Attack") .. ", #pn triggers its effect:" .. list( b("Blocks") .. " all upright " .. b("Pallets") .. " within " .. clror("#range") .. " of the Killer's location at the time for " .. clro("#duration") .. dot, nbullet .. "Blocked " .. b("Pallets") .. " cannot be dropped.") .. "#pn has a cool-down of #pl(1)." .. nlp .. loadoutStrings.hexPerk }, }, ["Hex: Crowd Control"] = { { version = "8.3.0", units = {7}, values = {3, 4, 5}, rarity = 2, desc = "A Hex that ensures those lesser than you are properly herded." .. nlp .. "Whenever any Survivor performs a " .. i("Rushed") .. " Action to vault a " .. b("Window") .. ", #pn triggers its effect:" .. list(b("Permanently blocks") .. " the last #pl(1) " .. b("Windows") .. " to all Survivors.") .. "Any successive trigger unblocks the oldest " .. i("Blocked Window") .. dot .. nlp .. loadoutStrings.hexPerk }, { version = "7.1.0", units = {1}, values = {40, 50, 60}, rarity = 2, desc = "A Hex that ensures those lesser than you are properly herded." .. nlp .. "Whenever any Survivor performs a " .. i("Rushed") .. " Action to vault a " .. b("Window") .. ", #pn triggers its effect:" .. list(b("Blocks") .. " the vaulted " .. b("Window") .. " to all Survivors for #pl(1).") .. loadoutStrings.hexPerk }, { version = "5.1.0", units = {1}, values = {14, 17, 20}, rarity = 2, desc = "A Hex that ensures those lesser than you are properly herded." .. nlp .. "Whenever any Survivor performs a " .. i("Rushed") .. " Action to vault a " .. b("Window") .. ", #pn triggers its effect:" .. list(b("Blocks") .. " the vaulted " .. b("Window") .. " to all Survivors for #pl(1).") .. loadoutStrings.hexPerk }, { version = "4.6.0", units = {1}, values = {10, 12, 14}, rarity = 2, desc = "A Hex that ensures those lesser than you are properly herded." .. nlp .. "Whenever any Survivor performs a " .. i("Rushed") .. " Action to vault a " .. b("Window") .. ", #pn triggers its effect:" .. list(b("Blocks") .. " the vaulted " .. b("Window") .. " to all Survivors for #pl(1).") .. loadoutStrings.hexPerk }, }, ["Hex: Devour Hope"] = { { version = "2.6.0", units = {4}, values = {3, 4, 5}, rarity = 3, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors ignites your hunger." .. nlp .. "Whenever a Survivor is rescued from a " .. b("Hook") .. " while you are at least " .. clror("24 metres") .. " away, #pn is granted " .. clro("+1 Token") .. ", up to a maximum of " .. clro("5 Tokens") .. colon .. list( bclr(13, "2 Tokens") .. colon .. space .. "Grants a #pl(1) " .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("10 seconds") .. " after " .. clro("10 seconds") .. " of having hooked a Survivor.", bclr(13, "3 Tokens") .. colon .. " Causes all Survivors to suffer from a permanent " .. i(b("Exposed")) .. space .. b("Status Effect") .. dot, bclr(13, "5 Tokens") .. colon .. " Grants the ability to kill all Survivors by your own hand.") .. loadoutStrings.hexPerk }, { version = "1.5.0", units = {7, 7, 7}, values = {"No effect", "No Effect", "Grants a +5 % % 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."}, rarity = 3, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors ignites your hunger." .. nlp .. "Whenever a Survivor is rescued from a " .. b("Hook") .. " while you are at least " .. clror("24 metres") .. " away, #pn is granted " .. clro("+1 Token") .. ", up to a maximum of " .. clro("5 Tokens") .. colon .. list( bclr(13, "2 Tokens") .. colon .. space .. "#pl(1)", bclr(13, "3 Tokens") .. colon .. space .. "#pl(2)", bclr(13, "5 Tokens") .. colon .. space .. "#pl(3)") .. loadoutStrings.hexPerk }, { version = "1.3.1", units = {7, 7, 7}, values = {"No effect", "No Effect", "Causes all Survivors to suffer from a -5 % 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."}, rarity = 3, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors ignites your hunger." .. nlp .. "Whenever a Survivor is rescued from a " .. b("Hook") .. " while you are at least " .. clror("24 metres") .. " away, #pn is granted " .. clro("+1 Token") .. ", up to a maximum of " .. clro("5 Tokens") .. colon .. list( bclr(13, "1 Token") .. colon .. space .. "#pl(1)", bclr(13, "3 Tokens") .. colon .. space .. "#pl(2)", bclr(13, "5 Tokens") .. colon .. space .. "#pl(3)") .. loadoutStrings.hexPerk }, }, ["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 = "A Hex rooting its power in despair." .. br .. "Your hunt is an irresistible song of dread which muddles your prey's attention." .. list( b("Increases") .. " the default Progression penalty incurred by " .. i("Failed Skill Checks") .. " by #pl(1).", nbullet .. "This only affects " .. i("Healing and Repairing") .. " actions.") .. "Whenever a Survivor is hooked, #pn grows in power and gains " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenMax") .. colon .. list( b("Increasingly shortens") .. " the time between an affected incoming " .. i("Skill Check") .. " appearing and triggering its audio cue beforehand:", nbullet .. bclr(13, "1 Token") .. colon .. space .. clro("#penalties(1)"), nbullet .. bclr(13, "2 Tokens") .. colon .. space .. clro("#penalties(2)"), nbullet .. bclr(13, "3 Tokens") .. colon .. space .. clro("#penalties(3)"), nbullet .. bclr(13, "4 Tokens") .. colon .. space .. clro("#penalties(4)"), nbullet .. bclr(13, "5 Tokens") .. colon .. space .. b("Suppresses") .. " the audio cue altogether.") .. loadoutStrings.hexPerk }, { version = "1.6.0", units = {4}, values = {2, 4, 6}, tokenGain = "+1 Token", tokenMax = "5 Tokens", penalties = {"-14 %", "-28 %", "-42 %", "-56 %"}, rarity = 2, desc = "A Hex rooting its power in despair." .. br .. "Your hunt is an irresistible song of dread which muddles your prey's attention." .. list(b("Increases") .. " the default Progression penalty incurred by " .. i("Failed Skill Checks") .. " by #pl(1).") .. "Whenever a Survivor is hooked, #pn grows in power and gains " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenMax") .. colon .. list( b("Increasingly shortens") .. " the time between an incoming " .. i("Skill Check") .. " appearing and triggering its audio cue beforehand:", nbullet .. bclr(13, "1 Token") .. colon .. space .. clro("#penalties(1)"), nbullet .. bclr(13, "2 Tokens") .. colon .. space .. clro("#penalties(2)"), nbullet .. bclr(13, "3 Tokens") .. colon .. space .. clro("#penalties(3)"), nbullet .. bclr(13, "4 Tokens") .. colon .. space .. clro("#penalties(4)"), nbullet .. bclr(13, "5 Tokens") .. colon .. space .. b("Suppresses") .. " the audio cue altogether.") .. loadoutStrings.hexPerk }, }, ["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 = "A Hex rooting its power on hope." .. br .. "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) " .. i(b("Haste")) .. space .. b("Status Effect") .. dot, "Causes all Survivors to suffer from the " .. i(b("Exposed")) .. space .. b("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.hexPerk }, { version = "2.3.0", units = {4}, values = {2, 3, 4}, rarity = 3, desc = "A Hex rooting its power on hope." .. br .. "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) " .. i(b("Haste")) .. space .. b("Status Effect") .. dot, "Causes all Survivors to suffer from the " .. i(b("Exposed")) .. space .. b("Status Effect") .. dot) .. "#pn remains inactive if no " .. b("Dull Totems") .. " are available." .. nlp .. loadoutStrings.hexPerk }, { version = "1.5.0", units = {4, 4}, values = {3, 4, 4, 4, 8, 8}, rarity = 3, desc = "A Hex rooting its power on hope." .. br .. "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) " .. i(b("Haste")) .. space .. b("Status Effect") .. dot, b("Reduces") .. " the Cool-down time of successful and missed " .. i("Basic Attacks") .. " by #pl(2).") .. bclr(5, "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.hexPerk }, { version = "1.0.5", units = {4, 4}, values = {3, 4, 4, 4, 8, 8}, rarity = 3, desc = "You are animated by an unseen force when the Survivors are on the verge of escaping." .. nlp .. "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(5, "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 = "You are animated by an unseen force when the Survivors are on the verge of escaping." .. nlp .. "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(5, "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 = "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(5, "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 .. i(b("Hindered")) .. space .. b("Status Effect") .. " for #pl(1).") .. loadoutStrings.hexPerk }, }, ["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(16, "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(13, "1 Token") .. colon .. space .. b("Reduces") .. " the Action speeds for Healing and Repairing by " .. clro("#penalty") .. dot, bclr(13, "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.hexPerk }, { 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(16, "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(13, "1 Token") .. colon .. space .. "Repairing", nbullet .. bclr(13, "2 Tokens") .. colon .. space .. "+ Healing", nbullet .. bclr(13, "3 Tokens") .. colon .. space .. "+ Recovery", nbullet .. bclr(13, "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.hexPerk }, }, ["Hex: Retribution"] = { { version = "5.3.0", units = {1}, values = {35, 40, 45}, duration = "15 seconds", rarity = 2, desc = "A Hex that lashes out upon its destruction." .. br .. "Those who cross you will be punished." .. nlp .. "Whenever a Survivor blesses or cleanses a " .. b("Totem") .. ", the following effects apply:" .. list( "Causes that Survivor to suffer from the " .. i(b("Oblivious")) .. space .. b("Status Effect") .. " for #pl(1).", "The Auras of all Survivors are revealed to you for " .. clror("#duration") .. " after completing the interaction.") .. loadoutStrings.hexPerk }, { version = "3.6.0", units = {1}, values = {35, 40, 45}, duration = "10 seconds", rarity = 2, desc = "A Hex that lashes out upon its destruction." .. br .. "Those who cross you will be punished." .. nlp .. "Whenever a Survivor cleanses a " .. b("Totem") .. ", depending on its type, either of the following effects applies:" .. list( bclr(13, "Dull Totem") .. colon .. " Causes that Survivor to suffer from the " .. i(b("Oblivious")) .. space .. b("Status Effect") .. " for #pl(1).", bclr(13, "Hex Totem") .. colon .. " The Auras of all Survivors are revealed to you for " .. clror("#duration") .. " after completing the interaction.") .. loadoutStrings.hexPerk }, }, ["Hex: Ruin"] = { { version = "7.5.0", units = {4}, values = {50, 75, 100}, rarity = 2, desc = "A Hex that affects the Generator Repair progress of all Survivors." .. list("Whenever a " .. b("Generator") .. " is not being repaired by a Survivor, it will immediately and automatically regress its Repair progress at #pl(1) of the normal Regression speed.") .. loadoutStrings.hexPerk }, { version = "6.1.0", units = {4}, values = {50, 75, 100}, rarity = 2, desc = "A Hex that affects the Generator Repair progress of all Survivors." .. list("Whenever a " .. b("Generator") .. " is not being repaired by a Survivor, it will immediately and automatically regress its Repair progress at #pl(1) of the normal Regression speed.") .. "#pn is disabled for the remainder of the Trial after the first Survivor is killed by any means." .. nlp .. loadoutStrings.hexPerk }, { version = "3.5.0", units = {4}, values = {100, 150, 200}, rarity = 3, desc = "A Hex that affects the Generator Repair progress of all Survivors." .. list("Whenever a " .. b("Generator") .. " is not being repaired by a Survivor, it will immediately and automatically regress its Repair progress at #pl(1) of the normal Regression speed.") .. loadoutStrings.hexPerk }, { version = "2.6.0", units = {4}, values = {3, 4, 5}, rarity = 3, desc = "A Hex that affects the Survivors' skills at repairing Generators." .. list( "Causes " .. i("Great Repair Skill Checks") .. " to no longer grant any bonus Progression.", "Causes " .. i("Good Repair Skill Checks") .. " to regress the " .. b("Generator") .. " by #pl(1) of its total Progression.") .. loadoutStrings.hexPerk }, { version = "1.3.1", units = {7}, values = {2, 3, 4}, rarity = 3, desc = "A Hex that affects the Survivors' skills at repairing Generators." .. nlp .. "A total of #pl(1) Survivors are affected by #pn:" .. list( "Causes " .. i("Great Repair Skill Checks") .. " to no longer grant any bonus Progression.", "Causes " .. i("Good Repair Skill Checks") .. " to regress the " .. b("Generator") .. " by " .. clror("-5 %") .. " of its total Progression.") .. loadoutStrings.hexPerk }, }, ["Hex: Thrill of the Hunt"] = { { version = "8.4.2", units = {4, 4}, values = {8, 10, 12, 40, 50, 60}, rarity = 2, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors fills you with excitement and strengthens your Totems." .. nlp .. "Start the Trial with " .. clror("5 Tokens") .. ", one per " .. b("Totem") .. colon .. 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("-1 Token") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp .. loadoutStrings.hexPerk }, { version = "8.4.0", units = {4, 4}, values = {10, 12, 14, 50, 60, 70}, rarity = 2, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors fills you with excitement and strengthens your Totems." .. nlp .. "Start the Trial with " .. clror("5 Tokens") .. ", one per " .. b("Totem") .. colon .. 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("-1 Token") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp .. loadoutStrings.hexPerk }, { version = "5.3.0", units = {4, 4}, values = {8, 9, 10, 40, 45, 50}, tokenBonus = "+10 %", maxBonus = "+50 %", rarity = 2, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors fills you with excitement and strengthens your Totems." .. nlp .. "Start the Trial with " .. clror("5 Tokens") .. ", one per " .. b("Totem") .. colon .. 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("-1 Token") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp .. loadoutStrings.bonusBPDuringTrial .. br .. loadoutStrings.hexPerk }, { version = "2.6.0", units = {4, 4}, values = {4, 5, 6, 20, 25, 30}, tokenBonus = "+10 %", maxBonus = "+50 %", rarity = 1, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors fills you with excitement and strengthens your Totems." .. nlp .. "Start the Trial with " .. clror("5 Tokens") .. ", one per " .. b("Totem") .. colon .. 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("-1 Token") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp .. loadoutStrings.bonusBPDuringTrial .. br .. loadoutStrings.hexPerk }, { version = "1.5.2", units = {4, 4, 4, 4}, values = {4, 5, 6, 20, 25, 30, 6, 8, 10, 30, 40, 50}, rarity = 1, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors fills you with excitement and strengthens your Totems." .. nlp .. "Start the Trial with " .. clror("5 Tokens") .. ", one per " .. b("Totem") .. colon .. 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("-1 Token") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp .. loadoutStrings.bonusBPDuringTrial .. br .. loadoutStrings.hexPerk }, { version = "1.5.0", units = {4, 4, 4, 4}, values = {4, 7, 10, 20, 35, 50, 4, 6, 8, 20, 30, 40}, rarity = 1, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors fills you with excitement and strengthens your Totems." .. nlp .. "Start the Trial with " .. clror("5 Tokens") .. ", one per " .. b("Totem") .. colon .. 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("-1 Token") .. " whenever a " .. b("Totem") .. " is cleansed." .. nlp .. loadoutStrings.bonusBPDuringTrial .. br .. loadoutStrings.hexPerk }, { version = "1.3.1", units = {4, 4}, values = {4, 7, 10, 4, 6, 8}, distance = "24 metres", rarity = 1, desc = "A Hex rooting its power on hope." .. br .. "The false hope of Survivors fills you with excitement and strengthens your Totems." .. nlp .. "Whenever a Survivor is unhooked while you are at least " .. clror("#distance") .. " away, #pn is granted " .. clro("+1 Token") .. 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.hexPerk }, }, ["Hope"] = { { version = "6.1.0", units = {4}, values = {5, 6, 7}, rarity = 2, desc = "The growing odds of a successful escape fill you with hope and give you wings." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates:" .. list("Grants a permanent #pl(1) " .. i(b("Haste")) .. space .. b("Status Effect") .. dot) }, { version = "1.3.0", units = {4}, values = {5, 6, 7}, timer = "120 seconds", rarity = 2, desc = "The growing odds of a successful escape fill you with hope and give you wings." .. nlp .. "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 = "The growing odds of a successful escape fill you with hope and give you wings." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates:" .. list(b("Permanently increases") .. " your Movement speed by #pl(1).") }, }, ["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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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).") }, }, ["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 " .. i(b("Broken")) .. space .. b("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 " .. i(b("Broken")) .. space .. b("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 " .. i(b("Broken")) .. space .. b("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 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 = "You are able to concentrate and enter a meditative-like state to numb some pain." .. list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " while in the Injured State by #pl(1).") .. "#pn cannot be used when suffering from " .. i(b("Exhaustion")) .. ", but does not cause the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. dot }, { version = "8.1.0", units = {4}, values = {80, 90, 100}, rarity = 2, desc = "You are able to concentrate and enter a meditative-like state to numb some pain." .. list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " while in the Injured State by #pl(1).") .. "#pn cannot be used when suffering from " .. i(b("Exhaustion")) .. ", but does not cause the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. dot }, { version = "6.1.0", units = {4}, values = {25, 50, 75}, rarity = 2, desc = "You are able to concentrate and enter a meditative-like state to numb some pain." .. list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " while in the Injured State by #pl(1).") .. "#pn cannot be used when suffering from " .. i(b("Exhaustion")) .. ", but does not cause the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. dot }, { 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 = "You are able to concentrate and enter a meditative-like state to numb some pain." .. list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " while in the Injured State by #pl(1).") }, { version = "2.3.0", units = {4}, values = {50, 75, 100}, rarity = 1, desc = "You are able to concentrate and enter a meditative-like state to numb some pain." .. list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " while in the Injured State by #pl(1).") }, { version = "1.0.0", units = {7, 4}, values = {"and while standing still", "and while standing still", "at all times", 50, 100, 100}, rarity = 1, desc = "You are able to concentrate and enter a meditative-like state to numb some pain." .. list(b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " while in the Injured State #pl(1) 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 .. i(b("Hindered")) .. space .. b("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 " .. i(b("Exhausted")) .. space .. b("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 " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1).") .. "#pn has a cool-down of " .. clro("#cooldown") .. dot }, }, ["Leader"] = { { version = "2.5.0", units = {4}, values = {15, 20, 25}, radius = "8 metres", linger = "15 seconds", rarity = 3, desc = "You are able to organise a team to cooperate more efficiently." .. nlp .. "Other Survivors within " .. clror("#radius") .. " of your location benefit from the following effect:" .. list( b("Increases") .. " the Action speeds for Cleansing, Gate-Opening, Healing, Sabotaging, Searching, and Unhooking by #pl(1).", nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving the " .. 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 = "You are able to organise a team to cooperate more efficiently." .. nlp .. "Other Survivors within " .. clror("#radius") .. " of your location benefit from the following effect:" .. list( b("Increases") .. " the Action speeds for Cleansing, Gate-Opening, Healing, Repairing, Sabotaging, Searching, and Unhooking by #pl(1).", nbullet .. "This effect lingers for " .. clro("#linger") .. " after leaving the " .. i("Area of Effect") .. dot) }, { version = "1.0.0", units = {4}, values = {3, 6, 9}, radius = "8 metres", rarity = 3, desc = "You are able to organise a team to cooperate more efficiently." .. nlp .. "Other Survivors within " .. clror("#radius") .. " of your location benefit from the following effect:" .. list(b("Increases") .. " the Action speeds for Cleansing, Gate-Opening, Healing, Repairing, Sabotaging, Searching, and Unhooking by #pl(1).") }, }, ["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(2, "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(2, "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(13, "1 Generator") .. colon .. space .. "#pl(1)", nbullet .. bclr(13, "2 Generators") .. colon .. space .. "#pl(2)", nbullet .. bclr(13, "3 Generators") .. colon .. space .. "#pl(3)", nbullet .. bclr(13, "4 Generators") .. colon .. space .. "#pl(4)", nbullet .. bclr(13, "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(2, "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(13, "1 Generator") .. colon .. space .. "#pl(1)", nbullet .. bclr(13, "2 Generators") .. colon .. space .. "#pl(2)", nbullet .. bclr(13, "3 Generators") .. colon .. space .. "#pl(3)", nbullet .. bclr(13, "4 Generators") .. colon .. space .. "#pl(4)", nbullet .. bclr(13, "5 Generators") .. colon .. space .. "#pl(5)") }, }, ["Leverage"] = { { version = "8.3.0", units = {4}, values = {30, 40, 50}, duration = "30 seconds", rarity = 2, desc = "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 speed 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", rarity = 2, desc = "Like in business, you profit most when those around you suffer most." .. nlp .. "Whenever you hook a Survivor, #pn is granted " .. clror("+1 Token") .. ", up to a maximum of " .. clro("10 Tokens") .. ", and applies the following effect for " .. clro("#duration") .. colon .. list(b("Reduces") .. " the Healing speed 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.") }, }, ["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 .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#durationHaste") .. dot) .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used when " .. i(b("Exhausted")) .. dot }, { 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 .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#durationHaste") .. dot) .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("Status Effect") .. " for #pl(1)." .. br .. "#pn cannot be used when " .. i(b("Exhausted")) .. dot }, }, ["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(2, "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 = "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 the other Survivors are revealed to you.", "The Aura of the closest Generator is revealed to you in " .. bclr(2, "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 the other Survivors are revealed to you.", "The Aura of the closest Generator is revealed to you in " .. bclr(2, "yellow") .. dot) .. "#pn has a cool-down of #pl(1)." }, }, -- M Perks -- ["Machine Learning"] = { { version = "8.3.2", units = {1}, values = {35, 40, 45}, haste = "+10 %", rarity = 2, desc = "Free from your shackles, you are born anew and prepared to eliminate your creators." .. nlp .. "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(2, "yellow") .. " until it is completed.") .. "Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effects for #pl(1):" .. list( i(b("Undetectable")) .. space .. b("Status Effect"), clror("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect")) .. "#pn deactivates after use." }, { version = "8.3.0", units = {1}, values = {40, 50, 60}, haste = "+10 %", rarity = 2, desc = "Free from your shackles, you are born anew and prepared to eliminate your creators." .. nlp .. "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(2, "yellow") .. " until it is completed.") .. "Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effects for #pl(1):" .. list( i(b("Undetectable")) .. space .. b("Status Effect"), clror("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect")) .. "#pn deactivates after use." }, { version = "8.1.0", units = {1}, values = {40, 50, 60}, haste = "+10 %", rarity = 2, desc = "Free from your shackles, you are born anew and prepared to eliminate your creators." .. nlp .. "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(2, "yellow") .. " until it is completed.") .. "Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effects for #pl(1):" .. list( i(b("Undetectable")) .. space .. b("Status Effect"), clror("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect")) .. "#pn deactivates after use." }, { version = "7.0.0", units = {1}, values = {20, 25, 30}, haste = "+10 %", rarity = 2, desc = "Free from your shackles, you are born anew and prepared to eliminate your creators." .. nlp .. "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(2, "yellow") .. " until it is completed.") .. "Once the " .. i("Compromised Generator") .. " is completed, you benefit from the following effects for #pl(1):" .. list( i(b("Undetectable")) .. space .. b("Status Effect"), clror("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect")) .. "#pn deactivates after use." }, }, ["Mettle of Man"] = { { version = "6.2.0", units = {3}, values = {12, 14, 16}, counter = "third", rarity = 2, desc = "Evil has a way of always finding you." .. nlp .. "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 = "Evil has a way of always finding you." .. nlp .. "After triggering a " .. clror("#counter") .. space .. i("Protection Hit") .. " by any means, #pn activates:" .. list( "Grants the " .. i(b("Endurance")) .. space .. b("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 = "Evil has a way of always finding you." .. nlp .. "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 " .. i(b("Endurance")) .. space .. b("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 = "Evil has a way of always finding you." .. nlp .. "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 " .. i(b("Endurance")) .. space .. b("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 = "Evil has a way of always finding you." .. nlp .. "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 " .. i(b("Endurance")) .. space .. b("Status Effect") .. " overlay, but uses its own mechanic to shield its user." .. nlp .. loadoutStrings.obsessionChancePlus .. br .. loadoutStrings.obsessionPerkSurvivor }, }, -- 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 " .. i(b("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 " .. i(b("Obsession")) .. dot) .. "Whenever your " .. i(b("Obsession")) .. " switches to a different Survivor by any means, #pn triggers its secondary effects:" .. list( "Causes that Survivor to suffer from the " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("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 " .. i(b("Obsession")) .. dot) .. "Whenever your " .. i(b("Obsession")) .. " switches to a different Survivor by any means, #pn triggers its secondary effects:" .. list( "Causes that Survivor to suffer from the " .. i(b("Oblivious")) .. space .. b("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(16, "white") .. dot) }, { version = "5.2.0", units = {1}, values = {20, 25, 30}, 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(16, "white") .. dot) }, }, ["No Mither"] = { { version = "5.3.0", units = {4, 4}, values = {25, 50, 75, 15, 20, 25}, rarity = 2, desc = "Causes the following permanent effects in the Trial:" .. list( "Inflicts the " .. i(b("Broken")) .. space .. b("Status Effect") .. dot, b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. dot, b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by #pl(1) while in the " .. i("Injured State") .. " or 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 = "Causes the following permanent effects in the Trial:" .. list( "Inflicts the " .. i(b("Broken")) .. space .. b("Status Effect") .. dot, b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. dot, b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by #pl(1) while in the " .. i("Injured State") .. " or 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 = "Causes the following permanent effects in the Trial:" .. list( "You start the Trial in the " .. i("Injured State") .. " and cannot be healed past it.", b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. dot, b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " by #pl(1) while in the " .. i("Injured State") .. " or 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.") }, }, ["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).") }, }, ["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 " .. i(b("Broken")) .. space .. b("Status Effect") .. " for #pl(1).") }, }, -- O Perks -- ["Object of Obsession"] = { { version = "4.7.0", units = {4}, values = {2, 4, 6}, interval = "30 seconds", duration = "3 seconds", rarity = 2, desc = "A supernatural bond links you to the Killer." .. nlp .. "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 " .. i(b("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 = "A supernatural bond links you to the Killer." .. nlp .. "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 " .. i(b("Obsession")) .. ", the link has an " .. b("increased") .. " maximum range of #pl(1).", nbullet .. "If you are not the Killer's current " .. i(b("Obsession")) .. ", the link has a " .. b("reduced") .. " maximum range of #pl(2).") .. loadoutStrings.obsessionChancePlus .. br .. loadoutStrings.obsessionPerkSurvivor .. nlp }, }, -- P Perks -- ["Pharmacy"] = { { version = "8.4.0", units = {4}, values = {70, 85, 100}, noiseRange = "-20 metres", rarity = 2, desc = "You have a knack for finding medicine." .. list( b("Increases") .. " the Unlocking speed of " .. b("Chests") .. " by #pl(1).", b("Reduces") .. " the audible range of all noises related to the " .. i("Unlocking") .. " interaction by " .. clror("#noiseRange") .. dot) .. "#pn guarantees an " .. b("Emergency Med-Kit") .. " from all " .. b("Chests") .. dot }, { version = "6.1.0", units = {4}, values = {40, 60, 80}, noiseRange = "-8 metres", rarity = 2, desc = "You have a knack for finding medicine." .. nlp .. "Whenever you are in the " .. i("Injured State") .. ", #pn activates and applies the following effects:" .. list( b("Increases") .. " the Unlocking speed of " .. b("Chests") .. " by #pl(1).", b("Reduces") .. " the audible range of all noises related to the " .. i("Unlocking") .. " interaction by " .. clror("#noiseRange") .. dot) .. "#pn guarantees an " .. b("Emergency Med-Kit") .. " from all " .. b("Chests") .. ", while active." }, { version = "2.6.0", units = {4}, values = {40, 60, 80}, noiseRange = "-8 metres", rarity = 2, desc = "You have a knack for finding medicine." .. list( b("Increases") .. " the Unlocking speed of " .. b("Chests") .. " by #pl(1).", b("Reduces") .. " the audible range of all noises related to the " .. i("Unlocking") .. " interaction by " .. clror("#noiseRange") .. dot) .. "#pn guarantees an " .. b("Emergency Med-Kit") .. " from the first " .. b("Chest") .. dot }, { version = "1.8.0", units = {4, 3}, values = {40, 60, 80, 0, 4, 8}, rarity = 2, desc = "You have a knack for finding medicine." .. list( b("Increases") .. " the Unlocking speed of " .. b("Chests") .. " by #pl(1).", b("Reduces") .. " the audible range of all noises related to the " .. i("Unlocking") .. " interaction by #pl(2).") .. "#pn guarantees an " .. b("Emergency Med-Kit") .. " from the first " .. b("Chest") .. 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 = "8.3.0", units = {1}, values = {10, 12, 14}, duration = "6 seconds", rarity = 2, desc = "Achieving goals boosts your confidence." .. nlp .. "Whenever a " .. b("Generator") .. " is completed, you benefit from the following effect for #pl(1):" .. list(b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) .. "First starting to repair a given " .. b("Generator") .. " reveals the Aura of the Killer to you for " .. clror("#duration") .. dot }, { version = "2.6.0", units = {1}, values = {6, 8, 10}, rarity = 2, desc = "Achieving goals boosts your confidence." .. nlp .. "Whenever a " .. b("Generator") .. " is completed, you benefit from the following effect for #pl(1):" .. list(b("Suppresses") .. " the creation of your " .. i("Scratch Marks") .. dot) }, }, ["Pop Goes the Weasel"] = { { version = "8.0.0", units = {1}, values = {35, 40, 45}, penalty = "-20 %", rarity = 2, desc = "A deep bond with The Entity unlocks great strength." .. nlp .. "After hooking a Survivor, #pn activates for #pl(1)." .. br .. "Perform the " .. i("Damage Generator") .. " action while #pn is active to benefit from the following effect:" .. list(b("Instantly regresses") .. " the damaged " .. b("Generator") .. " by " .. clror("#penalty") .. " of its current Progression.") .. "#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." }, { version = "7.0.0", units = {1}, values = {35, 40, 45}, penalty = "-30 %", rarity = 2, desc = "A deep bond with The Entity unlocks great strength." .. nlp .. "After hooking a Survivor, #pn activates for #pl(1)." .. br .. "Perform the " .. i("Damage Generator") .. " action while #pn is active to benefit from the following effect:" .. list(b("Instantly regresses") .. " the damaged " .. b("Generator") .. " by " .. clror("#penalty") .. " of its current Progression.") .. "#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." }, { version = "6.1.0", units = {1}, values = {35, 40, 45}, penalty = "-20 %", rarity = 2, desc = "A deep bond with The Entity unlocks great strength." .. nlp .. "After hooking a Survivor, #pn activates for #pl(1)." .. br .. "Perform the " .. i("Damage Generator") .. " action while #pn is active to benefit from the following effect:" .. list(b("Instantly regresses") .. " the damaged " .. b("Generator") .. " by " .. clror("#penalty") .. " of its current Progression.") .. "#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." }, { version = "4.3.0", units = {1}, values = {35, 40, 45}, penalty = "-25 %", rarity = 2, desc = "A deep bond with The Entity unlocks great strength." .. nlp .. "After hooking a Survivor, #pn activates for #pl(1)." .. br .. "Perform the " .. i("Damage Generator") .. " action while #pn is active to benefit from the following effect:" .. list(b("Instantly regresses") .. " the damaged " .. b("Generator") .. " by " .. clror("#penalty") .. " of its total Progression.") .. "#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." }, { version = "3.0.0", units = {1}, values = {40, 50, 60}, penalty = "-25 %", rarity = 3, desc = "A deep bond with The Entity unlocks great strength." .. nlp .. "After hooking a Survivor, #pn activates for #pl(1)." .. br .. "Perform the " .. i("Damage Generator") .. " action while #pn is active to benefit from the following effect:" .. list(b("Instantly regresses") .. " the damaged " .. b("Generator") .. " by " .. clror("#penalty") .. " of its total Progression.") .. "#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." }, { version = "2.0.0", units = {4}, values = {15, 20, 25}, timer = "30 seconds", rarity = 3, desc = "A deep bond with The Entity unlocks great strength." .. nlp .. "After hooking a Survivor, #pn activates for " .. clror("#timer") .. br .. "Perform the " .. i("Damage Generator") .. " action while #pn is active to benefit from the following effect:" .. list(b("Instantly regresses") .. " the damaged " .. b("Generator") .. " by #pl(1) of its total Progression.") .. "#pn deactivates after the " .. b("Generator") .. " is damaged or once the timer runs out." }, }, ["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 flavour text header.", 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 flavour text header.", 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 = "You have the undeniable capability to sense danger." .. list("Receive an auditory warning when looking in the direction of the Killer within a " .. clror("#cone") .. " cone and at a maximum range of " .. clro("#range") .. dot) .. "#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 = "You have the undeniable capability to sense danger." .. list("Receive an auditory warning when looking in the direction of the Killer within a " .. clror("#cone") .. " cone and at a maximum range of #pl(1).") .. "#pn has a cool-down of #pl(2)." }, }, ["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(13, "1 other Survivor") .. colon .. space .. "#pl(1)", bclr(13, "2 other Survivors") .. colon .. space .. "#pl(2)", bclr(13, "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 = "8.3.0", units = {4}, values = {3, 4, 5}, cooldown = "60 seconds", rarity = 2, desc = "When you have the Killer's attention, you know how to keep it; others can be confident they will not be interrupted any time soon." .. nlp .. "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 = "When you have the Killer's attention, you know how to keep it; others can be confident they will not be interrupted any time soon." .. nlp .. "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 = "When you have the Killer's attention, you know how to keep it; others can be confident they will not be interrupted any time soon." .. nlp .. "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 -- ["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 primary effect:" .. list("The Aura of the Killer is revealed to you for " .. clror("#aura") .. dot) .. "After performing a " .. i("Rushed") .. " action to exit a " .. b("Locker") .. ", #pn triggers its secondary effect:" .. list( "Causes you to suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for #pl(1).", nbullet .. "This effect does not trigger while already suffering from the " .. b("Status Effect") .. dot) }, { 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 primary effect:" .. list("The Aura of the Killer is revealed to you for #pl(1).") .. "After performing a " .. i("Rushed") .. " action to exit a " .. b("Locker") .. ", #pn triggers its secondary effect:" .. list( "Causes you to suffer from the " .. b(i("Exhausted") .. space .. "Status Effect") .. " for " .. clror("#exhausted") .. dot, nbullet .. "This effect does not trigger while already suffering from the " .. b("Status Effect") .. 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(2, "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(2, "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}, values = {3, 4, 5, 18, 24, 30}, stack = "+6 seconds", rarity = 2, desc = "Whenever the " .. i(b("Obsession")) .. " loses a Health State by any means, #pn gains " .. clror("+1 Token") .. ", up to a maximum of #pl(1):" .. list( b("Increases") .. " the Opening time of the " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).", nbullet .. "The " .. i(b("Obsession")) .. " is exempt from this penalty.") .. loadoutStrings.obsessionPerkKiller }, { version = "7.1.0", units = {5, 1}, values = {2, 3, 4, 12, 18, 24}, stack = "+6 seconds", rarity = 2, desc = "Whenever the " .. i(b("Obsession")) .. " loses a Health State by any means, #pn gains " .. clror("+1 Token") .. ", up to a maximum of #pl(1):" .. list( b("Increases") .. " the Opening time of the " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).", nbullet .. "The " .. i(b("Obsession")) .. " is exempt from this penalty.") .. loadoutStrings.obsessionPerkKiller }, { version = "5.5.0", units = {5, 1}, values = {2, 3, 4, 8, 12, 16}, stack = "+4 seconds", rarity = 2, desc = "Whenever the " .. i(b("Obsession")) .. " loses a Health State by any means, #pn gains " .. clror("+1 Token") .. ", up to a maximum of #pl(1):" .. list( b("Increases") .. " the Opening time of the " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).", nbullet .. "The " .. i(b("Obsession")) .. " is exempt from this penalty.") .. loadoutStrings.obsessionPerkKiller }, { version = "2.7.0", units = {5, 1}, values = {2, 3, 4, 8, 12, 16}, stack = "+4 seconds", rarity = 2, desc = "Whenever you hit the " .. i(b("Obsession")) .. " with a " .. i("Basic Attack") .. ", #pn gains " .. clror("+1 Token") .. ", up to a maximum of #pl(1):" .. list( b("Increases") .. " the Opening time of the " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).", nbullet .. "The " .. i(b("Obsession")) .. " is exempt from this penalty.") .. loadoutStrings.obsessionPerkKiller }, { version = "1.8.0", units = {5, 1}, values = {4, 5, 6, 20, 25, 30}, stack = "+5 seconds", rarity = 2, desc = "Whenever you hit the " .. i(b("Obsession")) .. " with a " .. i("Basic Attack") .. ", #pn gains " .. clror("+1 Token") .. ", up to a maximum of #pl(1):" .. list( b("Increases") .. " the Opening time of the " .. b("Exit Gates") .. " by a stack-able " .. clro("#stack") .. " per Token, up to a maximum of #pl(2).", nbullet .. "The " .. i(b("Obsession")) .. " is exempt from this penalty.") .. loadoutStrings.obsessionPerkKiller }, }, -- 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(16, "white") .. dot, nbullet .. "The Auras of " .. b("Scourge Hooks") .. " are " .. bclr(2, "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(16, "white") .. dot, nbullet .. "The Auras of " .. b("Scourge Hooks") .. " are " .. bclr(2, "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(16, "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 " .. i(b("Obsession")) .. " with a " .. i("Basic Attack") .. " causes #pn to gain " .. clror("#tokenGain") .. ", up to a maximum of #pl(1)." .. br .. "Damaging the " .. i(b("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 " .. i(b("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 " .. i(b("Obsession")) .. " with a " .. i("Basic Attack") .. " causes #pn to gain " .. clror("#tokenGain") .. ", up to a maximum of " .. clro("#tokenLimit") .. dot .. br .. "Damaging the " .. i(b("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 " .. i(b("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 " .. i(b("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 " .. i(b("Obsession")) .. " is sacrificed or killed." .. br .. loadoutStrings.obsessionPerkKiller }, }, ["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 " .. b("Scourge Hook") .. dot) .. "Whenever you hook a Survivor onto a " .. b("Scourge Hook") .. ", the following effect applies:" .. list("The Aura of the " .. b("Generator") .. " with the most progression is highlighted in " .. bclr(2, "yellow") .. " for #pl(1).") }, }, ["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(2, "Scourge Hooks") .. colon .. list("The Auras of " .. bclr(2, "Scourge Hooks") .. " are highlighted to you in " .. bclr(16, "white") .. dot) .. "Whenever you are farther than " .. clro("#distance") .. " from a Survivor hooked onto a " .. bclr(2, "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 .. b("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 .. b("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 .. b("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 .. b("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 .. b("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", 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}, 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}, 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).") }, }, ["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).") }, }, ["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) " .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clror("#durationHaste") .. dot) }, { version = "1.8.3", units = {7}, values = {9, 12, 15}, rarity = 3, notice = "This Patch also updated the flavour text header.", 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 " .. i(b("Exposed")) .. space .. b("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 " .. i(b("Exposed")) .. space .. b("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).") }, }, ["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 = "Saboteur (Original Icon)", 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 = "Saboteur (Original Icon)", 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 = "Saboteur (Original Icon)", desc = "Unlocks potential in your Aura-reading ability:" .. list("The Auras of " .. b("Bear Traps") .. " are revealed to you within #pl(1).") }, }, ["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) }, }, ["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." }, }, ["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 = "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.", b("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.", b("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.", b("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(16, "White Aura") .. colon .. space .. "The " .. b("Generator") .. " is currently regressing.", bclr(2, "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(16, "White Aura") .. colon .. space .. "The " .. b("Generator") .. " is currently regressing.", bclr(2, "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(16, "White Aura") .. colon .. space .. "The " .. b("Generator") .. " is currently regressing.", bclr(2, "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(16, "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 .. i(b("Haste")) .. space .. b("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 .. i(b("Haste")) .. space .. b("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 }, }, ["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 = "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 and crawl at the same time.", 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 and crawl at the same time.", b("Increases") .. " the Crawling Movement speed by #pl(1).") }, }, ["Terminus"] = { { 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).") }, }, ["THWACK!"] = { { 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 = "7.7.1", units = {1}, values = {80, 70, 60}, range = "32 metres", blindness = "30 seconds", rarity = 2, desc = "Opening a " .. b("Locker") .. " causes all Survivors within " .. clror("#range") .. " to suffer from the following effects:" .. list( "Causes them to scream and reveal their location to you.", "Inflicts the " .. i(b("Blindness")) .. space .. b("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 opening a " .. b("Locker") .. " suffers from the following effects:" .. list( "Their Aura is revealed to you for " .. clro("#aura") .. dot, "Inflicts the " .. i(b("Blindness")) .. space .. b("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 opening a " .. b("Locker") .. " suffers from the following effects:" .. list( "Causes them to scream and reveal their location to you.", "Inflicts the " .. i(b("Blindness")) .. space .. b("Status Effect") .. " for " .. clro("#blindness") .. dot) .. "#pn has a cool-down of #pl(1)." }, }, ["Unbound"] = { { 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( b("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).") }, }, -- V Perks -- ["Vigil"] = { { version = "8.5.0", units = {4}, values = {43, 55, 66}, range = "16 metres", linger = "15 seconds", rarity = 2, desc = "You look over your friends even in dire situations." .. list( b("Increases") .. " the Recovery rate from the following " .. b("Status Effects") .. " by #pl(1):", nbullet .. "The " .. i(b("Blindness, Broken, Exhausted, Exposed, Haemorrhage, Hindered, Mangled")) .. " and " .. i(b("Oblivious")) .. space .. b("Status Effects") .. dot) .. "#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. dot }, { version = "7.6.0", units = {4}, values = {20, 25, 30}, range = "8 metres", linger = "15 seconds", rarity = 2, desc = "You look over your friends even in dire situations." .. list( b("Increases") .. " the Recovery rate from the following " .. b("Status Effects") .. " by #pl(1):", nbullet .. "The " .. i(b("Blindness, Broken, Exhausted, Exposed, Haemorrhage, Hindered, Mangled")) .. " and " .. i(b("Oblivious")) .. space .. b("Status Effects") .. dot) .. "#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. dot }, { version = "5.3.0", units = {4}, values = {20, 25, 30}, range = "8 metres", linger = "15 seconds", rarity = 2, desc = "You look over your friends even in dire situations." .. list( b("Increases") .. " the Recovery rate from the following " .. b("Status Effects") .. " by #pl(1):", nbullet .. "The " .. i(b("Blindness, Broken, Exhausted, Exposed, Haemorrhage, Hindered")) .. " and " .. i(b("Oblivious")) .. space .. b("Status Effects") .. dot) .. "#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. dot }, { version = "4.5.0", units = {4}, values = {10, 15, 20}, range = "8 metres", linger = "15 seconds", rarity = 2, desc = "You look over your friends even in dire situations." .. list( b("Increases") .. " the Recovery rate from the following " .. b("Status Effects") .. " by #pl(1):", nbullet .. "The " .. i(b("Blindness, Exhausted, Haemorrhage")) .. " and " .. i(b("Hindered")) .. space .. b("Status Effects") .. dot) .. "#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. dot }, { version = "2.3.0", units = {4}, values = {10, 15, 20}, range = "8 metres", linger = "15 seconds", rarity = 2, desc = "You look over your friends even in dire situations." .. list( b("Increases") .. " the Recovery rate from the following " .. b("Status Effects") .. " by #pl(1):", nbullet .. "The " .. i(b("Blindness, Exhausted, Haemorrhage, Hindered")) .. " and " .. i(b("Mangled")) .. space .. b("Status Effects") .. dot) .. "#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location and lingers for " .. clro("#linger") .. dot }, { version = "1.8.0", units = {4}, values = {10, 15, 20}, range = "8 metres", rarity = 2, desc = "You look over your friends even in dire situations." .. list( b("Increases") .. " the Recovery rate from the following " .. b("Status Effects") .. " by #pl(1):", nbullet .. "The " .. i(b("Blindness, Exhausted, Haemorrhage, Hindered")) .. " and " .. i(b("Mangled")) .. space .. b("Status Effects") .. dot) .. "#pn extends its effect to all Survivors within " .. clror("#range") .. " of your location." }, }, -- 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:" .. nlp .. "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:" .. nlp .. "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:" .. nlp .. "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:" .. nlp .. "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).") }, }, ["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}, rarity = 2, desc = "Helping others heightens your morale." .. nlp .. "After unhooking another Survivor, #pn activates:" .. list(b("Increases") .. " your Altruistic Healing speed by " .. clror("+100 %") .. " for #pl(1).") }, { version = "2.6.0", units = {1}, values = {30, 60, 90}, rarity = 2, desc = "Helping others heightens your morale." .. nlp .. "After unhooking another Survivor, #pn activates:" .. list(b("Increases") .. " your Altruistic Healing speed by " .. clror("+100 %") .. " for #pl(1).") .. "Cumulative Healing Speed boni cannot exceed " .. clro("100 %") .. dot }, { version = "1.0.2", units = {4, 1}, values = {25, 50, 100, 30, 60, 90}, rarity = 2, desc = "Helping others heightens your morale." .. nlp .. "After unhooking another Survivor, #pn activates:" .. list(b("Increases") .. " your Altruistic Healing speed by a stack-able #pl(1) per unhooked Survivor, up to a maximum of " .. clror("+100 %") .. " for #pl(2).") }, { version = "1.0.0", units = {4, 4, 1}, values = {25, 50, 100, 100, 200, 300, 60, 90, 120}, rarity = 2, desc = "Helping others heightens your morale." .. nlp .. "After unhooking another Survivor, #pn activates:" .. list(b("Increases") .. " your Altruistic and Personal Healing speed by a stack-able #pl(1) per unhooked Survivor, up to a maximum of #pl(2) for #pl(3).") }, }, ["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 " .. i(b("Endurance")) .. space .. b("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 " .. i(b("Endurance")) .. space .. b("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 " .. i(b("Endurance")) .. space .. b("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 = "7.6.0", units = {1}, values = {16, 18, 20}, chance = "100 %", rarity = 2, desc = "After you are unhooked by any means, #pn triggers its primary effect:" .. list("The Aura of the Killer is revealed to you for #pl(1).") .. "While hooked inside the " .. i("Basement") .. ", #pn potentially triggers its secondary effect:" .. list( bclr(13, "First Hook Stage") .. colon .. clror("#chance") .. " to succeed an attempted " .. i("Self-Unhook") .. dot, bclr(13, "Second Hook Stage") .. colon .. space .. " does not trigger the effect.", bclr(2, "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:" .. nlp .. "You are mentally alert and aware of key points on the battlefield and nearby enemies in retreat." .. list( "The Auras of " .. b("Pallets") .. " and " .. b("Windows") .. " are revealed to you within " .. clror ("#radius") .. dot, "Whenever a Survivor drops a " .. b("Pallet") .. ", their Aura is revealed to you for #pl(1).") }, { version = "8.3.0", units = {1}, values = {6, 7, 8}, radius = "32 metres", rarity = 2, desc = "Unlocks potential in your Aura-reading ability:" .. nlp .. "You are mentally alert and aware of key points on the battlefield and nearby enemies in retreat." .. list( "The Auras of " .. b("Pallets") .. " and " .. b("Windows") .. " are revealed to you within " .. clror ("#radius") .. dot, "Whenever a Survivor drops a " .. b("Pallet") .. ", 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:" .. nlp .. "You are mentally alert and aware of key points on the battlefield." .. 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 = "Unlocks potential in your Aura-reading ability:" .. nlp .. "You are mentally alert and aware of key points on the battlefield." .. 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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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(13, "Awake") .. colon .. space .. b("Advances") .. " their " .. i("Microsleep") .. " timer by " .. clro("#dreamSnarePenalty") .. dot, bclr(13, "Asleep") .. colon .. space .. "Causes them to suffer from a " .. clro("#hindered") .. space .. i(b("Hindered")) .. space .. b("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(13, "Awake") .. colon .. space .. b("Advances") .. " their " .. i("Microsleep") .. " timer by " .. clro("#dreamPalletPenalty") .. dot, bclr(13, "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(13, "Awake") .. colon .. space .. b("Advances") .. " their " .. i("Microsleep") .. " timer by " .. clro("#dreamProjectionPenalty") .. dot, bclr(13, "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 " .. i(b("Oblivious")) .. space .. b("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 .. i(b("Hindered")) .. space .. b("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 " .. i(b("Oblivious")) .. space .. b("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 .. i(b("Hindered")) .. space .. b("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.") }, }, ["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 " .. i(b("Deep Wound")) .. space .. b("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 " .. i(b("Deep Wound")) .. space .. b("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 " .. i(b("Deep Wound")) .. space .. b("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 " .. i(b("Deep Wound")) .. space .. b("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 " .. i(b("Deep Wound")) .. space .. b("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 .. i(b("Hindered")) .. space .. b("Status Effect") .. " and the " .. i(b("Incapacitated")) .. space .. b("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 " .. i(b("Endurance")) .. space .. b("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(19, "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(2, "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 " .. i(b("Hindered")) .. space .. b("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(6, "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(19, "bright red") .. " and experience either of the following effects:" .. list( "Healthy Survivors after entering the " .. i("Injured State") .. colon, nbullet .. "Suffer from the " .. i(b("Deep Wound")) .. space .. b("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 .. i(b("Hindered")) .. space .. b("Status Effect") .. " and the " .. i(b("Incapacitated")) .. space .. b("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 " .. i(b("Endurance")) .. space .. b("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(19, "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(2, "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 .. i(b("Hindered")) .. space .. b("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(6, "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(19, "bright red") .. " and experience either of the following effects:" .. list( "Healthy Survivors after entering the " .. i("Injured State") .. colon, nbullet .. "Suffer from the " .. i(b("Deep Wound")) .. space .. b("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 .. i(b("Hindered")) .. space .. b("Status Effect") .. " and the " .. i(b("Incapacitated")) .. space .. b("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 " .. i(b("Endurance")) .. space .. b("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(19, "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(2, "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 .. i(b("Hindered")) .. space .. b("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(6, "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(19, "bright red") .. " and experience either of the following effects:" .. list( "Healthy Survivors after entering the " .. i("Injured State") .. colon, nbullet .. "Suffer from the " .. i(b("Deep Wound")) .. space .. b("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 = "8.4.0", 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 = "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(3) .. 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(16, "Scent Orbs") .. " left by Survivors:", nbullet .. bclr(16, "Scent Orbs") .. " spawn at a rate of " .. clro("#scentOrbRate") .. dot, nbullet .. "The Auras of " .. bclr(16, "Scent Orbs") .. " are revealed to you within " .. clro("#scentOrbAura") .. dot, nbullet .. "Collecting them grants a " .. clro("#haste") .. space .. i(b("Haste")) .. space .. b("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, b("Removes") .. " the ability to attack or interact with Survivors.", "Grants the " .. i(b("Undetectable")) .. space .. b("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", 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 = "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(3) .. 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(16, "Scent Orbs") .. " left by Survivors:", nbullet .. bclr(16, "Scent Orbs") .. " spawn at a rate of " .. clro("#scentOrbRate") .. dot, nbullet .. "The Auras of " .. bclr(16, "Scent Orbs") .. " are revealed to you within " .. clro("#scentOrbAura") .. dot, nbullet .. "Collecting them grants a " .. clro("#haste") .. space .. i(b("Haste")) .. space .. b("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, b("Removes") .. " the ability to attack or interact with Survivors.", "Grants the " .. i(b("Undetectable")) .. space .. b("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", 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 = "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(3) .. 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(16, "Scent Orbs") .. " left by Survivors:", nbullet .. bclr(16, "Scent Orbs") .. " spawn at a rate of " .. clro("#scentOrbRate") .. dot, nbullet .. "The Auras of " .. bclr(16, "Scent Orbs") .. " are revealed to you within " .. clro("#scentOrbAura") .. dot, nbullet .. "Collecting them grants a " .. clro("#haste") .. space .. i(b("Haste")) .. space .. b("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, b("Removes") .. " the ability to attack or interact with Survivors.", "Grants the " .. i(b("Undetectable")) .. space .. b("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 }, }, } return p