Last active
January 1, 2021 03:43
-
-
Save Ephellon/1f795c3663773496a99a1b25648c4c02 to your computer and use it in GitHub Desktop.
Salty Tears (Dead by Daylight) - Add-on Calculator
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var CONVERT_TEXT; | |
if(CONVERT_TEXT) | |
clearInterval(CONVERT_TEXT); | |
CONVERT_TEXT = setInterval(() => { | |
let $ = (selector, parent = document) => [...parent.querySelectorAll(selector)], | |
_ = ['common', 'uncommon', 'rare', 'veryrare', 'ultrarare']; | |
let container; | |
for(let rarity of _) | |
container = (container && container.length)? container: $(`.tooltip[aria-hidden="false"i] [id^="${rarity}"i]`); | |
if(!(container && container.length)) | |
return; | |
container = container[0]; | |
let simplify = string => string.toLowerCase().replace(/\s+/g, '_').replace(/(?:^the_|^\d+|\W+)/g, '').replace(/_{2,}/g, '_'); | |
let [rarity, owner, type] = $('.tts', container)[0].textContent.split(/(?:((?:ultra |very )?rare|(?:un)?common)\s+)?(?:(.+?)?\s+)?(add-?on|item|offering|perk|power)/i).filter(v => v).map(simplify), | |
name = simplify($('[class^="ttt"i]', container)[0].innerText), | |
description = $('.ttd', container)[0]; | |
let flashlight = 'flashlight', | |
key = 'key', | |
map = 'map', | |
medkit = 'medkit', | |
toolbox = 'toolbox'; | |
let POWERS = { | |
bear_trap: 'trapper', | |
wailing_bell: 'wraith', | |
chainsaw: 'hillbilly', | |
spencers_last_breath: 'nurse', | |
hunting_hatchets: 'huntress', | |
evil_within: 'shape', | |
blackened_catalyst: 'hag', | |
bubbas_chainsaw: 'cannibal', | |
carters_spark: 'doctor', | |
dream_demon: 'nightmare', | |
jigsaws_baptism: 'pig', | |
afterpiece_tonic: 'clown', | |
yamaokas_haunting: 'spirit', | |
feral_frenzy: 'legion', | |
vile_purge: 'plague', | |
night_shroud: 'ghost_face', | |
of_the_abyss: 'demogorgon', | |
yamaokas_wrath: 'oni', | |
redeemer: 'deathslinger', | |
rites_of_judgment: 'executioner', | |
blighted_corruption: 'blight', | |
blood_bond: 'twins', | |
}; | |
let ITEMS = { | |
flashlight, | |
sport_flashlight: flashlight, | |
utility_flashlight: flashlight, | |
key, | |
broken_key: key, | |
dull_key: key, | |
skeleton_key: key, | |
map, | |
rainbow_map: map, | |
medkit, | |
camping_aid_kit: medkit, | |
emergency_medkit: medkit, | |
first_aid_kit: medkit, | |
ranger_medkit: medkit, | |
toolbox, | |
alexs_toolbox: toolbox, | |
commodious_toolbox: toolbox, | |
engineers_toolbox: toolbox, | |
mechanics_toolbox: toolbox, | |
wornout_tools: toolbox, | |
}; | |
if(type === undefined) | |
type = owner; | |
if(!/^(addon|item|offering)$/i.test(type)) | |
return; | |
let ADD_ONS = { | |
/* Survivors */ | |
flashlight: { | |
_: { | |
sport_flashlight: ["12%", "20%"], | |
utility_flashlight: ["20%", "30%", "15%"] | |
}, | |
focus_lens: ["25%", "15%", "20%", "10%"], | |
highend_sapphire_lens: ["25%", "25%", "30%", "15%"], | |
intense_halogen: ["40%", "20%"], | |
leather_grip: ["20%"], | |
low_amp_filament: ["24%"], | |
odd_bulb: ["50%", "25%", "12%"], | |
power_bulb: ["15%", "20%", "10%"], | |
rubber_grip: ["40%"], | |
tir_optic: ["30%", "15%"], | |
wide_lens: ["25%", "25%"] | |
}, | |
key: { | |
scratched_pearl: ["12m"] | |
}, | |
map: { | |
odd_stamp: ["12m"], | |
retardant_jelly: ["24%"], | |
unusual_stamp: ["8m"] | |
}, | |
medkit: { | |
_: { | |
camping_aid_kit: ["25%"], | |
emergency_medkit: ["50%", "50%"], | |
first_aid_kit: ["35%"], | |
ranger_medkit: ["50%", "14%", "15%"] | |
}, | |
abdominal_dressing: ["25%"], | |
butterfly_tape: ["5%"], | |
medical_scissors: ["15%"], | |
needle_thread: ["10%", "15%"], | |
rubber_gloves: ["3%"], | |
self_adherent_wrap: ["5%"], | |
sponge: ["5%"], | |
surgical_suture: ["15%", "15%"] | |
}, | |
toolbox: { | |
_: { | |
alexs_toolbox: ["10%", "50%"], | |
commodious_toolbox: ["50%"], | |
engineers_toolbox: ["100%", "25%"], | |
mechanics_toolbox: ["75%", "10%"], | |
toolbox: ["50%", "10%"], | |
wornout_tools: ["50%", "10%"] | |
}, | |
clean_rag: ["20%"], | |
cutting_wire: ["15%"], | |
hacksaw: ["20%"], | |
socket_swivels: ["30%"] | |
}, | |
/* Killers */ | |
/* [Otzdarva's Killer Add-on Explanations]( https://youtu.be/nbCn3Tj_M74 ) */ | |
/* [Dead by Daylight Add-ons]( https://github.com/jesterret/DBDPakTrack/blob/master/DeadByDaylight/Content/Blueprints/ItemAddons/ ) */ | |
trapper: { | |
bloody_coil: ["N/A", "0.9s"], | |
fastening_tools: ["0.5s", "0.4s", "0.3s"], | |
coil_spring_kit: ["N/A", "1.3s"], | |
logwood_dye: ["25%"], | |
oily_coil: ["N/A", "1.9s"], | |
rusted_jaws: ["2min"], | |
secondary_coil: ["N/A", "1.5s"], | |
setting_tools: ["0.4s", "0.25s"], | |
strong_coil_spring: ["N/A", "0.9s"], | |
tar_bottle: ["50%"], | |
trap_setters: ["0.35s"], | |
trapper_gloves: ["0.3s"], | |
wax_brick: ["5%"] | |
}, | |
wraith: { | |
blink_mud: ["0.4s"], | |
blink_white: ["1s"], | |
shadow_dance_blood: ["50%"], | |
shadow_dance_white: ["25%"], | |
swift_hunt_blood: ["25%"], | |
swift_hunt_mud: ["15%"], | |
swift_hunt_white: ["20%"], | |
the_hound_soot: ["100%"], | |
windstorm_blood: ["25%", "5%"], | |
windstorm_mud: ["15%", "5%"], | |
windstorm_white: ["20%", "5%"] | |
}, | |
hillbilly: { | |
black_grease: ["5%"], | |
dads_boots: ["28%"], | |
death_engravings: ["15%", "15%"], | |
doom_engravings: ["20%", "15%"], | |
junkyard_air_filter: ["20%"], | |
low_kickback_chains: ["28%"], | |
mothers_helpers: ["15%"], | |
offbrand_motor_oil: ["30%"], | |
pighouse_gloves: ["20%"], | |
punctured_muffler: ["15%"], | |
spiked_boots: ["44%", "28%"], | |
steel_toe_boots: ["12%"], | |
tuned_carburetor: ["20%"], | |
}, | |
nurse: { | |
ataxic_respiration: ["0.25s"], | |
catatonic_boys_treasure: ["completely removes"], | |
dark_cincture: ["0.6s"], | |
dull_bracelet: ["4m"], | |
fragile_wheeze: ["0.9s"], | |
heavy_panting: ["4m", "0.4s"], | |
kavanaghs_last_breath: ["6m", "0.6s"], | |
metal_spoon: ["25%"], | |
pocket_watch: ["0.2s"], | |
white_nit_comb: ["0.15s (1m)"], | |
wooden_horse: ["completely removes"] | |
}, | |
huntress: { | |
bandaged_haft: ["0.2s"], | |
begrimed_head: ["2min", "5%"], | |
deerskin_gloves: ["0.8s"], | |
flower_babushka: ["12%"], | |
manna_grass_braid: ["8%"], | |
oak_haft: ["0.4s"], | |
rusty_head: ["2min"], | |
shiny_pin: ["4%"] | |
}, | |
shape: { | |
blond_hair: ["10s", "2.5s"], | |
boyfriends_memo: ["0.1m"], | |
dead_rabbit: ["25%", "25%"], | |
fragrant_tuft_of_hair: ["10s"], | |
hair_bow: ["30s", "2.5s"], | |
hair_brush: ["20s", "2.5s"], | |
j_myers_memorial: ["25%"], | |
jewelry: ["20%"], | |
jewelry_box: ["30%"], | |
judiths_journal: ["40%"], | |
judiths_tombstone: ["10s", "9%"], | |
lock_of_hair: ["40s", "5s"], | |
memorial_flower: ["11%"], | |
tacky_earrings: ["10%"], | |
tombstone_piece: ["10s", "7.5s"], | |
vanity_mirror: ["7%"] | |
}, | |
hag: { | |
bloodied_mud: ["0.9m"], | |
bloodied_water: ["0.6m"], | |
bog_water: ["0.3m"], | |
cracked_turtle_egg: ["1.75s"], | |
cypress_necklet: ["0.3s"], | |
dead_fly_mud: ["8m"], | |
dragonfly_wings: ["10m"], | |
dried_cicada: ["12m"], | |
half_eggshell: ["1.5s"], | |
powdered_eggshell: ["1.25s"], | |
rope_necklet: ["0.25s"], | |
swamp_orchid_necklet: ["0.35s"], | |
waterlogged_shoe: ["2.5%"] | |
}, | |
cannibal: { | |
awardwinning_chili: ["50%", "1.4s"], | |
carburetor_tuning_guide: ["50%", "2.77%"], | |
chainsaw_file: ["50%"], | |
chili: ["25%"], | |
depth_gauge_rake: ["18%", "4.34%"], | |
grease: ["200%"], | |
homemade_muffler: ["100%"], | |
knife_scratches: ["2%", "0.1s"], | |
long_guide_bar: ["100%"], | |
primer_bulb: ["100%"], | |
spark_plug: ["50%"], | |
vegetable_oil: ["28%"], | |
}, | |
doctor: { | |
calm_carters_notes: ["8m", "8m"], | |
calm_class_i: ["4m", "4m"], | |
calm_class_ii: ["6m", "6m"], | |
discipline_carters_notes: ["0.3s"], | |
discipline_class_ii: ["0.1s"], | |
discipline_class_iii: ["0.2s"], | |
high_stimulus_electrode: ["2m"], | |
iridescent_king: ["5s"], | |
moldy_electrode: ["3m"], | |
order_carters_notes: ["6s"], | |
order_class_i: ["2s"], | |
order_class_ii: ["4s"], | |
polished_electrode: ["4m"], | |
restraint_carters_notes: ["3s"], | |
restraint_class_ii: ["2s"], | |
restraint_class_iii: ["1s"] | |
}, | |
nightmare: { | |
blue_dress: ["4%"], | |
green_dress: ["4%"], | |
jump_rope: ["4%"], | |
kids_drawing: ["5%"], | |
nancys_masterpiece: ["3%"], | |
nancys_sketch: ["2%"], | |
outdoor_rope: ["2%"], | |
swing_chains: ["2%"], | |
wool_shirt: ["4%"] | |
}, | |
pig: { | |
bag_of_gears: ["1.6s", "0.1s"], | |
combat_straps: ["0.3s"], | |
crate_of_gears: ["3.5s", "0.2s"], | |
interlocking_razor: ["50%"], | |
jigsaws_annotated_plan: ["20s"], | |
johns_medical_file: ["0.37s"], | |
razor_wires: ["2%"], | |
shattered_syringe: ["0.4s"], | |
tampered_timer: ["30s"], | |
video_tape: ["0.37s", "0.4s"], | |
workshop_grease: ["1%"] | |
}, | |
clown: { | |
bottle_of_chloroform: ["20%"], | |
cigar_box: ["10%", "0.5s"], | |
ether_10_vol: ["0.66s"], | |
ether_15_vol: ["1s"], | |
ether_5_vol: ["0.33s"], | |
fingerless_parade_gloves: ["1s"], | |
flask_of_bleach: ["5%"], | |
garish_makeup_kit: ["20%", "0.66s"], | |
robin_feather: ["0.3s"], | |
smelly_inner_soles: ["14%"], | |
starling_feather: ["0.5s"], | |
sulfuric_acid_vial: ["2min"], | |
thick_cork_stopper: ["2s"], | |
vhs_porn: ["27%"] | |
}, | |
spirit: { | |
bloody_hair_brooch: ["0.45s"], | |
dirty_uwabaki: ["26%"], | |
dried_cherry_blossom: ["0.25s", "1s"], | |
gifted_bamboo_comb: ["0.23s"], | |
juniper_bonsai: ["1s"], | |
kaiun_talisman: ["1s"], | |
katana_tsuba: ["0.2s", "9%"], | |
katsumori_talisman: ["1.5s"], | |
motherdaughter_ring: ["70%"], | |
muddy_sports_day_cap: ["18%"], | |
origami_crane: ["8%"], | |
rins_broken_watch: ["12%"], | |
rusty_flute: ["20%"], | |
shiawase_amulet: ["0.5s"], | |
wakizashi_saya: ["0.3s", "18%"], | |
white_hair_ribbon: ["0.3s"], | |
yakuyoke_amulet: ["3.5s", "26%"], | |
zri: ["9%"] | |
}, | |
legion: { | |
cold_dirt: ["0.6s"], | |
etched_ruler: ["4s"], | |
filthy_blade: ["2.5s"], | |
franks_mix_tape: ["7.5s"], | |
friendship_bracelet: ["4m"], | |
joeys_mix_tape: ["0.4s"], | |
julies_mix_tape: ["0.2s"], | |
mischief_list: ["1s"], | |
mural_sketch: ["1.5s"], | |
nasty_blade: ["1.5s"], | |
neversleep_pills: ["8m"], | |
scratched_ruler: ["2s"], | |
stab_wounds_study: ["5s"], | |
stolen_sketch_book: ["2.5s"], | |
susies_mix_tape: ["16m"] | |
}, | |
plague: { | |
ashen_apple: ["5s"], | |
devotees_amulet: ["8s"], | |
emetic_potion: ["20%"], | |
exorcism_amulet: ["6s"], | |
healing_salve: ["0.25s"], | |
hematite_seal: ["10s"], | |
incensed_ointment: ["7.5%", "0.4s"], | |
infected_emetic: ["40%"], | |
iridescent_seal: ["7.5%", "20s"], | |
limestone_seal: ["5s"], | |
olibanum_incense: ["7.5%"], | |
potent_tincture: ["0.4s"], | |
prayer_tablet_fragment: ["0.33s", "2.5%"], | |
prophylactic_amulet: ["4s"], | |
rubbing_oil: ["0.75s"], | |
severed_toe: ["50%"], | |
vile_emetic: ["60%"], | |
worship_tablet: ["0.5s", "7.5%"] | |
}, | |
ghost_face: { | |
cheap_cologne: ["5s"], | |
chewed_pen: ["8s"], | |
cinch_straps: ["2.5%"], | |
drivers_license: ["8m"], | |
dropleg_knife_sheath: ["7.5%"], | |
ghost_face_caught_on_tape: ["0.75s", "1s"], | |
headlines_cutouts: ["10%"], | |
knife_belt_clip: ["0.5s"], | |
lasting_perfume: ["10s"], | |
leather_knife_sheath: ["5%"], | |
marked_map: ["1s"], | |
night_vision_monocular: ["0.75s"], | |
olsens_address_book: ["6s"], | |
olsens_journal: ["20%"], | |
olsens_wallet: ["30%"], | |
philly: ["0.25s"], | |
telephoto_lens: ["0.25s", "5s"], | |
victims_detailed_routine: ["1s", "4m"], | |
walleyes_matchbook: ["4s"] | |
}, | |
demogorgon: { | |
barbs_glasses: ["1.5s"], | |
black_heart: ["0.25s"], | |
deer_lung: ["0.4s"], | |
elevens_soda: ["2s"], | |
mews_guts: ["0.25s"], | |
rat_liver: ["9%"], | |
rat_tail: ["0.5s"], | |
red_moss: ["8s", "10s"], | |
rotten_green_tripe: ["0.25s"], | |
sticky_lining: ["1.5m"], | |
thorny_vines: ["1.68s", "1.5m"], | |
unknown_egg: ["2.5s"], | |
upside_down_resin: ["3.36s"], | |
vermillion_webcap: ["1s"], | |
violet_waxcap: ["0.5s"], | |
viscous_webbing: ["1.68s"] | |
}, | |
oni: { | |
akitos_crutch: ["25%"], | |
blackened_toenail: ["7.5%"], | |
bloody_sash: ["15%"], | |
childs_wooden_sword: ["3m"], | |
chipped_saihai: ["6s"], | |
cracked_sakazuki: ["0.5s", "0.5s"], | |
ink_lion: ["0.5s", "0.5s", "2s"], | |
kanaianzen_talisman: ["14%"], | |
lion_fang: ["10s"], | |
polished_maedate: ["0.1%"], | |
rotting_rope: ["2m"], | |
scalped_topknot: ["1s"], | |
shattered_wakizashi: ["0.2%"], | |
splintered_hull: ["100% for 1s"], | |
tear_soaked_tenugui: ["4s"], | |
wooden_oni_mask: ["0.5s"], | |
yakuyoke_talisman: ["100%"], | |
yamaoka_sashimono: ["8s"] | |
}, | |
deathslinger: { | |
barbed_wire: ["3.5s"], | |
bayshores_cigar: ["1s"], | |
bayshores_gold_tooth: ["5%"], | |
chewing_tobacco: ["0.5s"], | |
gold_creek_whiskey: ["8m", "10%"], | |
jaw_smasher: ["5%"], | |
marshals_badge: ["4m", "5%"], | |
modified_ammo_belt: ["0.25s"], | |
poison_oak_leaves: ["1.5s"], | |
prison_chain: ["10%"], | |
snake_oil: ["2.5%"], | |
spit_polish_rag: ["0.25s"], | |
tin_oil_can: ["0.5s"], | |
wanted_poster: ["10%"], | |
wardens_keys: ["0.5s"] | |
}, | |
executioner: { | |
black_strap: ["50%"], | |
burning_man_painting: ["150%"], | |
cinderella_music_box: ["15s"], | |
copper_ring: ["1s"], | |
dead_butterfly: ["2s"], | |
forgotten_videotape: ["3s"], | |
lead_ring: ["10s"], | |
leopardprint_fabric: ["0.5s"], | |
mannequin_foot: ["20s"], | |
misty_day_remains_of_judgment: ["1s"], | |
spearhead: ["1.5s"], | |
tablet_of_the_oppressor: ["2s"], | |
valtiel_sect_photograph: ["4s"], | |
wax_doll: ["100%"] | |
}, | |
blight: { | |
adrenaline_vial: ["75%"], | |
alchemists_ring: ["50%"], | |
blighted_crow: ["30%"], | |
blighted_rat: ["8%"], | |
canker_thorn: ["10%"], | |
compound_seven: ["5%"], | |
compound_twentyone: ["4%"], | |
compound_thirtythree: ["6%"], | |
foxglove: ["12%"], | |
placebo_tablet: ["25%"], | |
pustula_dust: ["25%"], | |
rose_tonic: ["50%"], | |
shredded_notes: ["50%"], | |
umbra_salts: ["15%"], | |
}, | |
twins: { | |
toy_sword: ["25%"], | |
tiny_fingernail: ["50%"], | |
soured_milk: ["20%"], | |
madelines_glove: ["40%"], | |
ceremonial_candelabrum: ["15%"], | |
bloody_black_hood: ["50%"], | |
stale_biscuit: ["50%"], | |
sewer_sludge: ["20%"], | |
madelines_scarf: ["40%"], | |
spinning_top: ["30%"], | |
forest_stew: ["60%"], | |
}, | |
}, | |
OFFERINGS = { | |
/* Neutral */ | |
// Maps (Non-Collectible) | |
azarovs_key: ["99.9%"], | |
charred_wedding_photograph: ["99.9%"], | |
damaged_photo: ["99.9%"], | |
dusty_noose: ["99.9%"], | |
granmas_cookbook: ["99.9%"], | |
hawkins_national_laboratory_i_d_: ["99.9%"], | |
heart_locket: ["99.9%"], | |
jigsaw_piece: ["99.9%"], | |
last_mask: ["99.9%"], | |
macmillans_phalanx_bone: ["99.9%"], | |
marys_letter: ["99.9%"], | |
pied_piper: ["99.9%"], | |
shattered_glasses: ["99.9%"], | |
strode_realty_key: ["99.9%"], | |
yamaoka_family_crest: ["99.9%"], | |
// Maps (Collectible) | |
cattle_tag_28: ["20%"], | |
coldwind_cattle_tag_81: ["50%"], | |
fuming_cordage: ["20%"], | |
fuming_welcome_sign: ["50%"], | |
lunacy_ticket: ["20%"], | |
macmillan_ledger_page: ["20%"], | |
p_elliot_lunacy_ticket: ["50%"], | |
shredded_plate: ["20%"], | |
signed_ledger_page: ["50%"], | |
virginia_plate: ["50%"], | |
// Reagents | |
clear_reagent: ["50%"], | |
faint_reagent: ["25%"], | |
hazy_reagent: ["50%"], | |
murky_reagent: ["75%"], | |
// Blueprints/Wards | |
annotated_blueprint: ["100%"], | |
bloodied_blueprint: ["20%"], | |
torn_blueprint: ["20%"], | |
vigos_blueprint: ["100%"], | |
/* Survivor */ | |
black_salt_statuette: ["2%"], | |
chalk_pouch: ["1%"], | |
cream_chalk_pouch: ["2%"], | |
ivory_chalk_pouch: ["3%"], | |
moldy_oak: ["9.375%"], | |
petrified_oak: ["6.25%"], | |
salt_pouch: ["1%"], | |
vigos_jar_of_salty_lips: ["3%"], | |
/* Killer */ | |
rotten_oak: ["15.625%"], | |
putrid_oak: ["21.875%"], | |
}; | |
// console.log({ rarity, owner, type, name }) | |
let newText, | |
index = 0, | |
regExp = /((?:slight|considerab|great|moderate|tremendous)ly)(\s+[\w\-]+)/i; | |
replacing: | |
for(let element of $('.ttbold', description)) { | |
switch(type) { | |
case 'addon': | |
let addon = ADD_ONS[(POWERS[owner] ?? ITEMS[owner])], | |
killer = owner in POWERS; | |
if(killer) | |
addon = addon[name]; | |
else | |
addon = addon[name] ?? addon._[name]; | |
newText = addon; | |
break; | |
case 'item': | |
let item = ADD_ONS[ITEMS[name]]._[name]; | |
newText = item; | |
break; | |
case 'offering': | |
let offering = OFFERINGS[name]; | |
newText = offering; | |
break; | |
default: continue replacing; | |
} | |
element.innerText = element.innerText.replace(regExp, ($0, $1, $2, $$, $_) => `${$2} (${newText instanceof Array? newText[index++]: newText})`); | |
element.setAttribute('style', 'text-transform:capitalize'); | |
} | |
}, 100); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment