Moduł:Datatable/Loadout/History
Przejdź do nawigacji
Przejdź do wyszukiwania
Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Datatable/Loadout/History/opis
----------------------- -- 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.", 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")), 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.", limitedFooterMagic = ibclr(25, "Magic Limited 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 -- -- B Add-ons -- ["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 = "This intricate mechanical part feels oddly out of place." .. br .. "It is clean and shiny as if straight out of the factory." .. nlp .. "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 = "This intricate mechanical part feels oddly out of place." .. br .. "It is clean and shiny as if straight out of the factory." .. nlp .. "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 = "This intricate mechanical part feels oddly out of place." .. br .. "It is clean and shiny as if straight out of the factory." .. nlp .. "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", charges = "-50 %", rarity = 5, desc = "This intricate mechanical part feels oddly out of place." .. br .. "It is clean and shiny as if straight out of the factory." .. nlp .. list(b("Reduces") .. " the available Charges of its " .. b("Toolbox") .. " by " .. clror("#charges") .. dot) .. "While using the " .. b("Toolbox") .. " to repair a " .. b("Generator") .. ", and while it still has some Charges left, press the " .. loadoutStrings.secondaryActionButton .. " to install the #name:" .. list(b("Instantly completes") .. " the " .. b("Generator") .. dot) .. "Both the #name and its " .. b("Toolbox") .. " are consumed on use." }, }, -- 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) }, }, ["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) }, }, -- 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) }, }, -- E Add-ons -- ["Emergency Helmet"] = { { 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) }, }, -- G Add-ons -- -- H Add-ons -- ["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) }, }, ["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) }, }, -- I Add-ons -- -- J Add-ons -- -- K Add-ons -- ["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) }, }, -- L Add-ons -- ["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) }, }, ["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 -- ["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) }, }, ["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) }, }, -- N Add-ons -- -- 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) }, }, -- P Add-ons -- -- 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) }, }, -- S Add-ons -- ["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) }, }, -- T Add-ons -- ["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) }, }, ["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) }, }, -- X Add-ons -- -- Y Add-ons -- -- 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 -- ["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 = 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(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).") }, }, ["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)." }, }, ["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 = "You stand up for yourself, using whatever's on hand to gain an advantage." .. nlp .. "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 = "You stand up for yourself, using whatever's on hand to gain an advantage." .. nlp .. "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 = "You stand up for yourself, using whatever's on hand to gain an advantage." .. nlp .. "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 = "You stand up for yourself, using whatever's on hand to gain an advantage." .. nlp .. "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 }, }, -- B Perks -- ["Babysitter"] = { { version = "8.1.0", units = {1}, values = {20, 25, 30}, duration = "8 seconds", haste = "+10 %", rarity = 2, desc = "While you have a reputation for being self-centred, you risk it all to help those in need." .. nlp .. "Whenever you unhook a Survivor, the Aura of the Killer is revealed to you for " .. clror("#duration") .. ", while the unhooked Survivor benefits from the following effects for #pl(1) instead:" .. list( b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. dot, b("Increases") .. " the strength of their " .. i(b("Haste")) .. space .. b("Status Effect") .. " by " .. clro("#haste") .. dot) }, { version = "7.3.3", units = {1}, values = {4, 6, 8}, duration = "8 seconds", haste = "+7 %", rarity = 2, desc = "While you have a reputation for being self-centred, you risk it all to help those in need." .. nlp .. "Whenever you unhook a Survivor, the Aura of the Killer is revealed to you for " .. clror("#duration") .. ", while the unhooked Survivor benefits from the following effects for #pl(1) instead:" .. list( b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. dot, b("Increases") .. " the strength of their " .. i(b("Haste")) .. space .. b("Status Effect") .. " by " .. clro("#haste") .. dot) }, { version = "5.3.0", units = {1}, values = {4, 6, 8}, duration = "8 seconds", haste = "+7 %", rarity = 2, icon = "Guardian", desc = "You risk it all to help those in need" .. nlp .. "Whenever you unhook a Survivor, the Aura of the Killer is revealed to you for " .. clror("#duration") .. ", while the unhooked Survivor benefits from the following effects for #pl(1) instead:" .. list( b("Suppresses") .. " the creation of their " .. i("Scratch Marks") .. " and " .. i("Pools of Blood") .. dot, b("Increases") .. " the strength of their " .. i(b("Haste")) .. space .. b("Status Effect") .. " by " .. clro("#haste") .. dot) }, { version = "3.2.0", units = {1}, values = {4, 6, 8}, duration = "4 seconds", rarity = 2, desc = "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 and the Killer see each other's Auras for " .. clror("#duration") .. ", while the unhooked Survivor benefits from the following effects for #pl(1) instead:" .. 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}, 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("10 seconds") .. dot .. br .. "Starting to run while it is active causes the following effect:" .. list("Grants a " .. clro("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#duration") .. 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 = "7.3.0", units = {1}, values = {60, 50, 40}, 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("10 seconds") .. dot .. br .. "Starting to run while it is active causes the following effect:" .. list("Grants a " .. clro("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#duration") .. 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 = "6.6.0", units = {1}, values = {60, 50, 40}, 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("10 seconds") .. dot .. br .. "Starting to run while it is active causes the following effect:" .. list("Grants a " .. clro("#haste") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " for " .. clro("#duration") .. dot) .. "#pn causes the " .. i(b("Exhausted")) .. space .. b("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 associated with falling.", "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 }, }, ["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).") }, }, ["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." }, }, ["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 }, }, ["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 = "7.1.0", units = {4}, values = {5, 6, 7}, rarity = 2, desc = "You kick into high gear when someone is in trouble, inspiring them to overcome any obstacle." .. nlp .. "The following effects apply while you are within " .. clror("5 metres") .. " of the Killer carrying another Survivor:" .. list( "Grants you a #pl(1) " .. i(b("Haste")) .. space .. b("Status Effect") .. dot, b("Increases") .. " the carried Survivor's Wiggling speed by " .. clro("+25 %") .. dot) .. loadoutStrings.singleInstancePerk }, { version = "3.4.0", units = {4}, values = {5, 6, 7}, rarity = 2, desc = "You kick into high gear when someone is in trouble, inspiring them to overcome any obstacle." .. nlp .. "The following effects apply while you are within " .. clror("6 metres") .. " of the Killer carrying another Survivor:" .. list( "Grants you a #pl(1) " .. i(b("Haste")) .. space .. b("Status Effect") .. dot, b("Increases") .. " the carried Survivor's Wiggling speed by " .. clro("+20 %") .. 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 = "Your great strength allows you to shred through your prey's defences." .. list(b("Increases") .. " the Action speeds for breaking " .. b("Breakable Walls") .. " and dropped " .. b("Pallets") .. ", and damaging " .. b("Generators") .. " by #pl(1).") }, { version = "2.1.0", units = {4}, values = {10, 15, 20}, rarity = 2, desc = "Your great strength allows you to shred through your prey's defences." .. list(b("Increases") .. " the Action speeds for breaking dropped " .. b("Pallets") .. " and damaging " .. b("Generators") .. " by #pl(1).") }, { version = "1.7.0", units = {4}, values = {10, 15, 20}, rarity = 2, desc = "Your great strength allows you to shred through your prey's defences." .. list(b("Increases") .. " the Action speeds for breaking dropped " .. b("Pallets") .. " by #pl(1).") }, { version = "1.0.5", units = {4}, values = {20, 30, 40}, rarity = 2, desc = "Your great strength allows you to shred through your prey's defences." .. list(b("Increases") .. " the Action speeds for breaking dropped " .. b("Pallets") .. " by #pl(1).") }, { version = "1.0.0", units = {4}, values = {10, 20, 30}, rarity = 2, desc = "Your great strength allows you to shred through your prey's defences." .. list(b("Increases") .. " the Action speeds for breaking dropped " .. b("Pallets") .. " 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}, rarity = 2, desc = "The glow of the Flashlight looks a little different, feels a little warmer." .. nlp .. "Shining a " .. b("Flashlight") .. " applies the following effect:" .. list("Grants a " .. clror("+50 %") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. dot) .. "Blinding the Killer by any means applies the following effect:" .. list( "Causes them to suffer from a " .. clro("-20 %") .. space .. i(b("Hindered")) .. space .. b("Status Effect") .. " for " .. clro("6 seconds") .. dot, nbullet .. "This effect does not stack.") .. "#pn has a cool-down of #pl(1) after blinding the Killer." }, { version = "7.5.1", units = {1}, values = {80, 70, 60}, rarity = 2, desc = "The glow of the Flashlight looks a little different, feels a little warmer." .. nlp .. "Whenever you are holding a " .. b("Flashlight") .. ", #pn activates:" .. list( "Grants a " .. clror("+50 %") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " while shining the " .. b("Flashlight") .. dot, "Causes the Killer to suffer from a " .. clro("-20 %") .. space .. i(b("Hindered")) .. space .. b("Status Effect") .. " for " .. clro("6 seconds") .. " when blinded by any means.", nbullet .. "This effect does not stack.") .. "#pn has a cool-down of #pl(1) after blinding the Killer." }, { version = "7.5.0", units = {1}, values = {80, 70, 60}, rarity = 2, desc = "The glow of the Flashlight looks a little different, feels a little warmer." .. nlp .. "Whenever you are holding a " .. b("Flashlight") .. ", #pn activates:" .. list( "Grants a " .. clror("+50 %") .. space .. i(b("Haste")) .. space .. b("Status Effect") .. " while shining the " .. b("Flashlight") .. dot, "Causes the Killer to suffer from a " .. clro("-20 %") .. space .. i(b("Hindered")) .. space .. b("Status Effect") .. " for " .. clro("6 seconds") .. " when blinded with the " .. b("Flashlight") .. dot, nbullet .. "This effect does not stack.") .. "#pn has 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}, maxTokens = "5 Tokens", duration = "6 seconds", rarity = 2, desc = "You quickly analyse problems and correct others' work when they make a mistake." .. nlp .. "You start the Trial with #pl(1)." .. br .. "Whenever you succeed a " .. i("Great Skill Check") .. ", #pn gains " .. clror("+1 Token") .. ", up to a maximum of " .. clro("#maxTokens") .. colon .. list( "Converts any " .. i("Failed Skill Check") .. " of another Survivor into a " .. i("Good Skill Check") .. " instead and consumes " .. clro("-1 Token") .. dot, "The Aura of that Survivor is revealed to you for " .. clro("#duration") .. dot) .. "#pn does not apply to any special " .. i("Skill Checks") .. dot }, { version = "5.4.0", units = {6}, values = {1, 2, 3}, rarity = 2, icon = "Corrective Action (Original Icon)", desc = "You quickly analyse problems and correct others' work when they make a mistake." .. nlp .. "You start the Trial with #pl(1) on #pn and gain " .. clror("+1 Token") .. " each time you succeed at a " .. i("Great Skill Check") .. ", up to a maximum of " .. clro("5 Tokens") .. dot .. list("Whenever another Survivor cooperating with you fails a " .. i("Skill Check") .. ", #pn consumes " .. clro("-1 Token") .. " and transforms their " .. i("Failed Skill Check") .. " into a " .. i("Good Skill Check") .. " instead.") .. "#pn does not apply to any special " .. i("Skill Checks") .. dot }, }, -- D Perks -- ["Dance With Me"] = { { version = "8.2.0", units = {1}, values = {30, 25, 20}, 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 " .. i("Scratch Marks") .. " for " .. clror("3 seconds") .. dot) .. "#pn has a cool-down of #pl(1)." }, { version = "2.0.0", units = {1}, values = {60, 50, 40}, 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 " .. i("Scratch Marks") .. " for " .. clror("3 seconds") .. 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.3.0", units = {3}, values = {16, 12, 8}, rarity = 2, desc = "Those whose lives are intertwined in darkness are destined to suffer together." .. nlp .. "Whenever a Survivor finishes healing another Survivor for the equivalent of " .. clror(1) .. " 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}, radius = "32 metres", duration = "60 seconds", rarity = 2, desc = "Those whose lives are intertwined in darkness are destined to suffer together." .. nlp .. "Whenever a Survivor finishes healing another Survivor for the equivalent of " .. clror(1) .. " 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) }, }, ["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." } }, ["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." }, }, ["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("Increases") .. " the " .. 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("Increases") .. " the " .. i("Terror Radius") .. " by #pl(1).", "Grants " .. clror("#bonus") .. " bonus Bloodpoints for all actions in the " .. iconLink(ils.deviousness) .. " Category.") .. 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("Increases") .. " the " .. i("Terror Radius") .. " by #pl(1).", "Grants #pl(2) bonus Bloodpoints for all actions in the " .. iconLink(ils.deviousness) .. " Category.") .. 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("Increases") .. " the " .. i("Terror Radius") .. " by #pl(1).", "Grants #pl(2) bonus Bloodpoints for all actions in the " .. iconLink(ils.deviousness) .. " Category.") .. loadoutStrings.bonusBPDuringTrial }, }, ["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) }, }, ["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 = "Your presence psychically projects itself to those in danger." .. list( "Whenever another Survivor is injured, they can see your Aura 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 = "Your presence psychically projects itself to those in danger." .. list( "Whenever another Survivor is injured, they can see your Aura 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 -- ["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 }, }, -- G Perks -- ["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: 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: No One Escapes Death"] = { { version = "6.1.0", units = {4}, values = {2, 3, 4}, 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 permanent #pl(1) " .. i(b("Haste")) .. space .. b("Status Effect") .. dot, "Causes all Survivors to suffer permanently from the " .. i(b("Exposed")) .. space .. b("Status Effect") .. dot) .. nlp .. "#pn remains inactive if no " .. b("Dull Totems") .. " are available." .. nlp .. "Once the " .. b("Status Effect") .. " is revealed to Survivors, #pn reveals the Aura of its " .. b("Hex Totem") .. " to all Survivors within " .. clror("4 metres") .. " and gradually expands that range to " .. clro("24 metres") .. " over the course of " .. clro("30 seconds") .. dot .. 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 permanent #pl(1) " .. i(b("Haste")) .. space .. b("Status Effect") .. dot, "Causes all Survivors to suffer permanently from the " .. i(b("Exposed")) .. space .. b("Status Effect") .. dot) .. nlp .. "#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 permanent #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(i("Basic Attacks") .. " 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(i("Basic Attacks") .. " 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(i("Basic Attacks") .. " 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(i("Basic Attacks") .. " inflict double damage.") }, }, ["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.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.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 }, }, -- I Perks -- ["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) }, }, -- 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 %", duration = "3 seconds", rarity = 2, desc = "Performing a " .. i("Rushed Vault") .. " triggers #pn:" .. list("Grants a " .. clror("#haste") .. space .. states(ils.haste) .. " for " .. clro("#duration") .. 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 %", duration = "3 seconds", rarity = 2, desc = "Performing a " .. i("Rushed Vault") .. " while being chased triggers #pn:" .. list("Grants a " .. clror("#haste") .. space .. states(ils.haste) .. " for " .. clro("#duration") .. 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 Star"] = { { version = "8.3.0", units = {1}, values = {40, 35, 30}, duration = "30 seconds", rarity = 2, desc = "You know how to stay calm in the face of incomprehensible danger." .. nlp.. "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 = "You know how to stay calm in the face of incomprehensible danger." .. nlp.. "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." }, }, -- N Perks -- ["No Mither"] = { { version = "5.3.0", units = {4, 4}, values = {25, 50, 75, 15, 20, 25}, rarity = 2, desc = "Go on out, kid, it is just a scratch." .. br .. "Your thick blood coagulates practically instantly." .. nlp .. "The following effects apply " .. bclr(2, "permanently") .. " during the Trial:" .. list( "Suffer from 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") .. " while either in the Injured or the Dying State by #pl(1).", b("Increases") .. " your Recovery speed by #pl(2).", "Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the Dying State.") }, { version = "2.2.0", units = {4}, values = {0, 25, 50}, rarity = 2, desc = "Go on out, kid, it is just a scratch." .. br .. "Your thick blood coagulates practically instantly." .. nlp .. "The following effects apply " .. bclr(2, "permanently") .. " during the Trial:" .. list( "Suffer from 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") .. " while either in the Injured or the Dying State by #pl(1).", "Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the Dying State.") }, { version = "1.6.0", units = {4}, values = {0, 25, 50}, rarity = 2, desc = "Go on out, kid, it is just a scratch." .. br .. "Your thick blood coagulates practically instantly." .. nlp .. "The following effects apply " .. bclr(2, "permanently") .. " during the Trial:" .. list( "Start the Trial in the Injured State", nbullet .. "You cannot heal or be healed past the Injured State by any means.", b("Suppresses") .. " the creation of " .. i("Pools of Blood") .. dot, b("Reduces") .. " the volume of " .. i("Grunts of Pain") .. " while either in the Injured or the Dying State by #pl(1).", "Unlocks the " .. i("Self-Recovery") .. " ability, allowing you to fully recover from the Dying State.") }, }, ["No One Left Behind"] = { { version = "8.4.0", units = {4}, values = {50, 75, 100}, haste = "+10 %", bonus = "+5 seconds", rarity = 2, desc = "It is inconceivable to leave someone behind." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates and applies the following effects:" .. list( b("Increases") .. " the Action speeds for Healing and Unhooking by #pl(1).", b("Increases") .. " the strength and duration of the " .. i(b("Haste")) .. space .. b("Status Effect") .. " of Survivors unhooked by you by " .. clror("#haste") .. " and " .. clro("#bonus") .. " respectively.", "The Auras of all other Survivors are revealed to you.") }, { version = "6.2.0", units = {4, 4}, values = {30, 40, 50, 50, 75, 100}, haste = "+7 %", rarity = 2, desc = "It is inconceivable to leave someone behind." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates and applies the following effects:" .. list( b("Increases") .. " the Action speeds for Healing and Unhooking by #pl(1).", b("Increases") .. " the strength of the " .. i(b("Haste")) .. space .. b("Status Effect") .. " of Survivors unhooked by you by " .. clror("#haste") .. dot, "Grants #pl(2) bonus Bloodpoints for actions in the " .. i("Altruism") .. " Category.", "The Auras of all other Survivors are revealed to you.") }, { version = "6.1.0", units = {4, 4}, values = {30, 40, 50, 50, 75, 100}, haste = "+7 %", bonus = "+5 seconds", rarity = 2, desc = "It is inconceivable to leave someone behind." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates and applies the following effects:" .. list( b("Increases") .. " the Action speeds for Healing and Unhooking by #pl(1).", b("Increases") .. " the strength and duration of the " .. i(b("Haste")) .. space .. b("Status Effect") .. " of Survivors unhooked by you by " .. clror("#haste") .. " and " .. clro("#bonus") .. " respectively.", "Grants #pl(2) bonus Bloodpoints for actions in the " .. i("Altruism") .. " Category.", "The Auras of all other Survivors are revealed to you.") }, { version = "3.4.0", units = {4, 4}, values = {30, 40, 50, 50, 75, 100}, rarity = 2, desc = "It is inconceivable to leave someone behind." .. nlp .. "Once an " .. b("Exit Gate") .. " has been opened, #pn activates and applies the following effects:" .. list( b("Increases") .. " the Action speeds for Healing and Unhooking by #pl(1).", "Grants #pl(2) bonus Bloodpoints for actions in the " .. i("Altruism") .. " Category.", "The Auras of all other Survivors are revealed to you.") }, { version = "1.0.2", units = {4, 4}, values = {4, 8, 12, 50, 75, 100}, rarity = 2, desc = "It is inconceivable to leave someone behind." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates and applies the following effects:" .. list( b("Increases") .. " the 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 = "It is inconceivable to leave someone behind." .. nlp .. "Once the " .. b("Exit Gates") .. " are powered, #pn activates and applies the following effects:" .. list( b("Increases") .. " the Action speeds for Healing and Unhooking by #pl(1).", "Grants #pl(2) bonus Bloodpoints for actions in the " .. i("Altruism") .. " Category.") }, }, ["No Quarter"] = { { version = "8.4.0 (PTB)", units = {1}, values = {20, 25, 30}, threshold = "75 %", rarity = 2, desc = "Whenever a Survivor healing themselves by any means reaches " .. clror("#threshold") .. " Healing Progress, #pn triggers its effect:" .. list( "The Survivor is faced with a continuous stream of " .. i("Skill Checks") .. " until the " .. i("Self-Heal") .. " is completed.", "If they fail a " .. i("Skill Check") .. " or interrupt the action by any means, they suffer from the " .. 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 and improves your luck when finding Items in Chests:" .. 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.", b("Increases") .. " the chances of finding " .. b("Items") .. " of higher Rarities in " .. b("Chests") .. " 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 and improves your luck when finding Items in Chests:" .. 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.", b("Increases") .. " the chances of finding " .. b("Items") .. " of higher Rarities in " .. b("Chests") .. " 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 and improves your luck when finding Items in Chests:" .. list( "The Auras of closed or opened " .. b("Chests") .. " are revealed to you within #pl(1).", b("Increases") .. " the chances of finding " .. b("Items") .. " of higher Rarities in " .. b("Chests") .. " 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 = "Your acute tracking ability allows you to find lost prey more easily." .. list("When a Survivor loses you in a chase, 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, desc = "Your acute tracking ability allows you to find lost prey more easily." .. list("When a Survivor loses you in a chase, 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, desc = "Your acute tracking ability allows you to follow disturbances left by running prey." .. list("Causes " .. i("Scratch Marks") .. " to spawn #pl(1) closer together.") }, { version = "1.0.0", units = {2}, values = {1, 2, 3}, rarity = 1, desc = "Your acute tracking ability allows you to follow disturbances left by passing prey over a longer period of time." .. list(b("Extends") .. " the lifetime of " .. i("Scratch Marks") .. " by #pl(1).") }, }, ["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 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 = "5.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 -- -- 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).") }, }, ["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).") }, }, ["Shoulder the Burden"] = { { 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 State") .. " 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).") }, }, ["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) }, }, ["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).") }, }, -- 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 }, }, ["THWACK!"] = { { version = "8.3.0", units = {1}, values = {3, 4, 5}, tokens = "3 Tokens", radius = "24 metres", rarity = 2, desc = "Your prey is terrified by your relentless pursuit." .. nlp .. "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 location 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 = "Your prey is terrified by your relentless pursuit." .. nlp .. "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 -- -- V Perks -- ["Vigil"] = { { version = "7.6.0", units = {4}, values = {20, 25, 30}, 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("8 metres") .. " of your location and lingers for " .. clro("15 seconds") .. dot }, { version = "5.3.0", units = {4}, values = {20, 25, 30}, 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("8 metres") .. " of your location and lingers for " .. clro("15 seconds") .. dot }, { version = "4.5.0", units = {4}, values = {10, 15, 20}, 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("8 metres") .. " of your location and lingers for " .. clro("15 seconds") .. dot }, { version = "2.3.0", units = {4}, values = {10, 15, 20}, 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("8 metres") .. " of your location and lingers for " .. clro("15 seconds") .. dot }, { version = "1.8.0", units = {4}, values = {10, 15, 20}, 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("8 metres") .. " of your location." }, }, -- W Perks -- ["Weave Attunement"] = { { 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 }, }, ["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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 during the tier-up and then intermittently every few seconds, revealing their location to " .. b("The Doctor") .. dot, 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 during the tier-up and then intermittently every few seconds, revealing their location to " .. b("The Doctor") .. dot, 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 during the tier-up and then intermittently every few seconds, revealing their location to " .. b("The Doctor") .. dot, 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 during the tier-up and then intermittently every few seconds, revealing their location to " .. b("The Doctor") .. dot, 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 during the tier-up and then intermittently every few seconds, revealing their location to " .. b("The Doctor") .. dot, 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. dot, 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 during the tier-up and then intermittently every few seconds, revealing their location to " .. b("The Doctor") .. dot, 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. 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 during the tier-up and then intermittently every few seconds, revealing their location to " .. b("The Doctor") .. 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) .. 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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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 once during the tier-up, revealing their location to " .. b("The Doctor") .. 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 during the tier-up and then intermittently every few seconds, revealing their location to " .. b("The Doctor") .. dot, "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") .. ", causing them to scream and reveal their location, if it coincides with a tier-up.", b("Interrupts") .. " any on-going interaction 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 = "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.") }, }, } return p