Skip to content

Instantly share code, notes, and snippets.

@Ephellon
Last active January 1, 2021 03:43
Show Gist options
  • Save Ephellon/1f795c3663773496a99a1b25648c4c02 to your computer and use it in GitHub Desktop.
Save Ephellon/1f795c3663773496a99a1b25648c4c02 to your computer and use it in GitHub Desktop.
Salty Tears (Dead by Daylight) - Add-on Calculator
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