Merge branch 'atree' of https://github.com/hppeng-wynn/hppeng-wynn.github.io into atree
This commit is contained in:
commit
88d3e87277
10 changed files with 264 additions and 357 deletions
File diff suppressed because one or more lines are too long
|
@ -961,260 +961,174 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="col mb-1">
|
||||
<div class="row row-cols-1 row-cols-1 text-center scaled-font dark-5 rounded dark-shadow">
|
||||
<div class="row row-cols-1 text-center scaled-font dark-5 rounded dark-shadow justify-content-center">
|
||||
<div class="col fw-bold dark-4 rounded-top">
|
||||
Active boosts
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<div class="row row-cols-2 row-cols-xl-0 text-nowrap justify-content-center">
|
||||
<div class="col-auto p-1">
|
||||
<button class="button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id="vanish-boost" onclick="update_boosts('vanish-boost')">
|
||||
Vanish (+80%)
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class="button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id="warscream-boost" onclick="update_boosts('warscream-boost')">
|
||||
War Scream
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class="button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id="ragnarokkr-boost" onclick="update_boosts('ragnarokkr-boost')">
|
||||
Ragnarokkr (+30%)
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class="button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id="yourtotem-boost" onclick="update_boosts('yourtotem-boost')">
|
||||
Your Totem (+35%)
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class="button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id="allytotem-boost" onclick="update_boosts('allytotem-boost')">
|
||||
Ally Totem (+15%)
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class="button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id="fortitude-boost" onclick="update_boosts('fortitude-boost')">
|
||||
Fortitude (+60%)
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<button class="button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id="vanish-boost" onclick="update_boosts('vanish-boost')">
|
||||
Vanish (+80%)
|
||||
</button>
|
||||
<button class="button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id="warscream-boost" onclick="update_boosts('warscream-boost')">
|
||||
War Scream
|
||||
</button>
|
||||
<button class="button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id="ragnarokkr-boost" onclick="update_boosts('ragnarokkr-boost')">
|
||||
Ragnarokkr (+30%)
|
||||
</button>
|
||||
<button class="button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id="yourtotem-boost" onclick="update_boosts('yourtotem-boost')">
|
||||
Your Totem (+35%)
|
||||
</button>
|
||||
<button class="button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id="allytotem-boost" onclick="update_boosts('allytotem-boost')">
|
||||
Ally Totem (+15%)
|
||||
</button>
|
||||
<button class="button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id="fortitude-boost" onclick="update_boosts('fortitude-boost')">
|
||||
Fortitude (+60%)
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col mb-1">
|
||||
<div class="row row-cols-1 rounded text-center dark-5 scaled-font">
|
||||
<div class="col">
|
||||
<div class="row text-nowrap">
|
||||
<div id = "str-boost-tab" class="col eDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('str')">
|
||||
Earth
|
||||
</div>
|
||||
<div id = "dex-boost-tab" class="col tDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('dex')">
|
||||
Thunder
|
||||
</div>
|
||||
<div id = "int-boost-tab" class="col wDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('int')">
|
||||
Water
|
||||
</div>
|
||||
<div id = "def-boost-tab" class="col fDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('def')">
|
||||
Fire
|
||||
</div>
|
||||
<div id = "agi-boost-tab" class="col aDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('agi')">
|
||||
Air
|
||||
</div>
|
||||
<div class="row p-0 m-0 text-nowrap">
|
||||
<div id = "str-boost-tab" class="col eDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('str')">
|
||||
Earth
|
||||
</div>
|
||||
<div id = "dex-boost-tab" class="col tDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('dex')">
|
||||
Thunder
|
||||
</div>
|
||||
<div id = "int-boost-tab" class="col wDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('int')">
|
||||
Water
|
||||
</div>
|
||||
<div id = "def-boost-tab" class="col fDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('def')">
|
||||
Fire
|
||||
</div>
|
||||
<div id = "agi-boost-tab" class="col aDam dark-4u fake-button elem-boost" onclick="toggle_boost_tab('agi')">
|
||||
Air
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" id="str-boost" style="display: none;">
|
||||
<div class="row row-cols-1">
|
||||
<div class="col eDam dark-5">
|
||||
Quake (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<div class="row row-cols-2 row-cols-xl-0 text-nowrap justify-content-center">
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-1" onclick = "updatePowderSpecials('Quake-1')">
|
||||
Lv.4 [e4e4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-2" onclick = "updatePowderSpecials('Quake-2')">
|
||||
Lv.4.5 [e5e4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-3" onclick = "updatePowderSpecials('Quake-3')">
|
||||
Lv.5 [e5e5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-4" onclick = "updatePowderSpecials('Quake-4')">
|
||||
Lv.5.5 [e6e5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-5" onclick = "updatePowderSpecials('Quake-5')">
|
||||
Lv.6 [e6e6]
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col eDam">
|
||||
Rage (Passive)
|
||||
</div>
|
||||
<div class="row row-cols-1 p-0 m-0" id="str-boost" style="display: none;">
|
||||
<div class="col eDam dark-5">
|
||||
Quake (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1" >
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-1" onclick = "updatePowderSpecials('Quake-1')">
|
||||
Lv.4 [e4e4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-2" onclick = "updatePowderSpecials('Quake-2')">
|
||||
Lv.4.5 [e5e4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-3" onclick = "updatePowderSpecials('Quake-3')">
|
||||
Lv.5 [e5e5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-4" onclick = "updatePowderSpecials('Quake-4')">
|
||||
Lv.5.5 [e6e5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Quake-5" onclick = "updatePowderSpecials('Quake-5')">
|
||||
Lv.6 [e6e6]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col eDam">
|
||||
Rage (Passive)
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" id="dex-boost" style="display: none;">
|
||||
<div class="row row-cols-1">
|
||||
<div class="col tDam dark-5">
|
||||
Chain Lightning (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<div class="row row-cols-2 row-cols-xl-0 text-nowrap justify-content-center">
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-1" onclick = "updatePowderSpecials('Chain_Lightning-1')">
|
||||
Lv.4 [t4t4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-2" onclick = "updatePowderSpecials('Chain_Lightning-2')">
|
||||
Lv.4.5 [t5t4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-3" onclick = "updatePowderSpecials('Chain_Lightning-3')">
|
||||
Lv.5 [t5t5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-4" onclick = "updatePowderSpecials('Chain_Lightning-4')">
|
||||
Lv.5.5 [t6t5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-5" onclick = "updatePowderSpecials('Chain_Lightning-5')">
|
||||
Lv.6 [t6t6]
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col tDam">
|
||||
Kill Streak (Passive)
|
||||
</div>
|
||||
<div class="row row-cols-1 p-0 m-0" id="dex-boost" style="display: none;">
|
||||
<div class="col tDam dark-5">
|
||||
Chain Lightning (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-1" onclick = "updatePowderSpecials('Chain_Lightning-1')">
|
||||
Lv.4 [t4t4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-2" onclick = "updatePowderSpecials('Chain_Lightning-2')">
|
||||
Lv.4.5 [t5t4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-3" onclick = "updatePowderSpecials('Chain_Lightning-3')">
|
||||
Lv.5 [t5t5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-4" onclick = "updatePowderSpecials('Chain_Lightning-4')">
|
||||
Lv.5.5 [t6t5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Chain_Lightning-5" onclick = "updatePowderSpecials('Chain_Lightning-5')">
|
||||
Lv.6 [t6t6]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col tDam">
|
||||
Kill Streak (Passive)
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" id="int-boost">
|
||||
<div class="row row-cols-1">
|
||||
<div class="col wDam dark-5">
|
||||
Curse (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<div class="row row-cols-2 row-cols-xl-0 text-nowrap justify-content-center">
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-1" onclick = "updatePowderSpecials('Curse-1')">
|
||||
Lv.4 [w4w4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-2" onclick = "updatePowderSpecials('Curse-2')">
|
||||
Lv.4.5 [w5w4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-3" onclick = "updatePowderSpecials('Curse-3')">
|
||||
Lv.5 [w5w5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-4" onclick = "updatePowderSpecials('Curse-4')">
|
||||
Lv.5.5 [w6w5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-5" onclick = "updatePowderSpecials('Curse-5')">
|
||||
Lv.6 [w6w6]
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col wDam">
|
||||
Concentration (Passive)
|
||||
</div>
|
||||
<div class="row row-cols-1 p-0 m-0" id="int-boost">
|
||||
<div class="col wDam dark-5">
|
||||
Curse (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-1" onclick = "updatePowderSpecials('Curse-1')">
|
||||
Lv.4 [w4w4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-2" onclick = "updatePowderSpecials('Curse-2')">
|
||||
Lv.4.5 [w5w4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-3" onclick = "updatePowderSpecials('Curse-3')">
|
||||
Lv.5 [w5w5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-4" onclick = "updatePowderSpecials('Curse-4')">
|
||||
Lv.5.5 [w6w5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Curse-5" onclick = "updatePowderSpecials('Curse-5')">
|
||||
Lv.6 [w6w6]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col wDam">
|
||||
Concentration (Passive)
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" id="def-boost" style="display: none;">
|
||||
<div class="row row-cols-1">
|
||||
<div class="col fDam dark-5">
|
||||
Courage (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<div class="row row-cols-2 row-cols-xl-0 text-nowrap justify-content-center">
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-1" onclick = "updatePowderSpecials('Courage-1')">
|
||||
Lv.4 [f4f4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-2" onclick = "updatePowderSpecials('Courage-2')">
|
||||
Lv.4.5 [f5f4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-3" onclick = "updatePowderSpecials('Courage-3')">
|
||||
Lv.5 [f5f5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-4" onclick = "updatePowderSpecials('Courage-4')">
|
||||
Lv.5.5 [f6f5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-5" onclick = "updatePowderSpecials('Courage-5')">
|
||||
Lv.6 [f6f6]
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col fDam">
|
||||
Endurance (Passive)
|
||||
</div>
|
||||
<div class="row row-cols-1 p-0 m-0" id="def-boost" style="display: none;">
|
||||
<div class="col fDam dark-5">
|
||||
Courage (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-1" onclick = "updatePowderSpecials('Courage-1')">
|
||||
Lv.4 [f4f4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-2" onclick = "updatePowderSpecials('Courage-2')">
|
||||
Lv.4.5 [f5f4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-3" onclick = "updatePowderSpecials('Courage-3')">
|
||||
Lv.5 [f5f5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-4" onclick = "updatePowderSpecials('Courage-4')">
|
||||
Lv.5.5 [f6f5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Courage-5" onclick = "updatePowderSpecials('Courage-5')">
|
||||
Lv.6 [f6f6]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col fDam">
|
||||
Endurance (Passive)
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" id="agi-boost" style="display: none;">
|
||||
<div class="row row-cols-1">
|
||||
<div class="col aDam dark-5">
|
||||
Wind Prison (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<div class="row row-cols-2 row-cols-xl-0 text-nowrap justify-content-center">
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-1" onclick = "updatePowderSpecials('Wind_Prison-1')">
|
||||
Lv.4 [a4a4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-2" onclick = "updatePowderSpecials('Wind_Prison-2')">
|
||||
Lv.4.5 [a5a4]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-3" onclick = "updatePowderSpecials('Wind_Prison-3')">
|
||||
Lv.5 [a5a5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-4" onclick = "updatePowderSpecials('Wind_Prison-4')">
|
||||
Lv.5.5 [a6a5]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto p-1">
|
||||
<button class = "button-boost w-100 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-5" onclick = "updatePowderSpecials('Wind_Prison-5')">
|
||||
Lv.6 [a6a6]
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col aDam">
|
||||
Dodge (Passive)
|
||||
</div>
|
||||
<div class="row row-cols-1 p-0 m-0" id="agi-boost" style="display: none;">
|
||||
<div class="col aDam dark-5">
|
||||
Wind Prison (Active)
|
||||
</div>
|
||||
<div class="col skp-tooltip dark-6 rounded-bottom my-3 my-xl-1">
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-1" onclick = "updatePowderSpecials('Wind_Prison-1')">
|
||||
Lv.4 [a4a4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-2" onclick = "updatePowderSpecials('Wind_Prison-2')">
|
||||
Lv.4.5 [a5a4]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-3" onclick = "updatePowderSpecials('Wind_Prison-3')">
|
||||
Lv.5 [a5a5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-4" onclick = "updatePowderSpecials('Wind_Prison-4')">
|
||||
Lv.5.5 [a6a5]
|
||||
</button>
|
||||
<button class = "button-boost m-1 border-0 text-white dark-8u dark-shadow-sm" id = "Wind_Prison-5" onclick = "updatePowderSpecials('Wind_Prison-5')">
|
||||
Lv.6 [a6a6]
|
||||
</button>
|
||||
</div>
|
||||
<div class="col aDam">
|
||||
Dodge (Passive)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
40
js/atree.js
40
js/atree.js
|
@ -76,6 +76,7 @@ stat_scaling: {
|
|||
"slider": bool,
|
||||
"slider_name": Optional[str],
|
||||
"slider_step": Optional[float],
|
||||
round: Optional[bool] // Control floor behavior. True for stats and false for slider by default
|
||||
slider_behavior: Optional[str] // One of: "merge", "modify". default: merge
|
||||
// merge: add if exist, make new part if not exist
|
||||
// modify: change existing part. do nothing if not exist
|
||||
|
@ -667,6 +668,7 @@ const atree_make_interactives = new (class extends ComputeNode {
|
|||
*/
|
||||
// Map<str, slider_info>
|
||||
const slider_map = new Map();
|
||||
const button_map = new Map();
|
||||
|
||||
// first, pull out all the sliders.
|
||||
for (const [abil_id, ability] of merged_abils.entries()) {
|
||||
|
@ -690,6 +692,12 @@ const atree_make_interactives = new (class extends ComputeNode {
|
|||
});
|
||||
}
|
||||
}
|
||||
if (effect['type'] === "raw_stat" && effect['toggle']) {
|
||||
const { toggle: toggle_name } = effect;
|
||||
button_map.set(toggle_name, {
|
||||
abil: ability
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
// next, render the sliders onto the abilities.
|
||||
|
@ -699,7 +707,23 @@ const atree_make_interactives = new (class extends ComputeNode {
|
|||
slider_info.slider = document.getElementById(slider_info.id);
|
||||
slider_info.slider.addEventListener("change", (e) => atree_stats.mark_dirty().update());
|
||||
}
|
||||
return slider_map;
|
||||
for (const [button_name, button_info] of button_map.entries()) {
|
||||
let button = make_elem('button', ["button-boost", "border-0", "text-white", "dark-8u", "dark-shadow-sm"], {
|
||||
id: button_info.abil.id,
|
||||
textContent: button_name
|
||||
});
|
||||
button.addEventListener("click", (e) => {
|
||||
if (button.classList.contains("toggleOn")) {
|
||||
button.classList.remove("toggleOn");
|
||||
} else {
|
||||
button.classList.add("toggleOn");
|
||||
}
|
||||
atree_stats.mark_dirty().update()
|
||||
});
|
||||
button_info.button = button;
|
||||
atree_html.get(button_info.abil.id).appendChild(button);
|
||||
}
|
||||
return [slider_map, button_map];
|
||||
}
|
||||
})().link_to(atree_node, 'atree-order').link_to(atree_merge, 'atree-merged').link_to(atree_render_active, 'atree-elements');
|
||||
|
||||
|
@ -716,7 +740,7 @@ const atree_stats = new (class extends ComputeNode {
|
|||
compute_func(input_map) {
|
||||
const atree_merged = input_map.get('atree-merged');
|
||||
const item_stats = input_map.get('build').statMap;
|
||||
const interactive_map = input_map.get('atree-interactive');
|
||||
const [slider_map, button_map] = input_map.get('atree-interactive');
|
||||
|
||||
let ret_effects = new Map();
|
||||
for (const [abil_id, abil] of atree_merged.entries()) {
|
||||
|
@ -727,8 +751,10 @@ const atree_stats = new (class extends ComputeNode {
|
|||
case 'stat_scaling':
|
||||
if (effect.slider) {
|
||||
if ('output' in effect) { // sometimes nodes will modify slider without having effect.
|
||||
const slider_val = interactive_map.get(effect.slider_name).slider.value;
|
||||
let total = Math.floor(round_near(parseInt(slider_val) * effect.scaling[0]));
|
||||
const slider_val = slider_map.get(effect.slider_name).slider.value;
|
||||
const {round = true} = effect;
|
||||
let total = parseInt(slider_val) * effect.scaling[0];
|
||||
if (round) { total = Math.floor(round_near(total)); }
|
||||
if ('max' in effect && total > effect.max) { total = effect.max; }
|
||||
if (Array.isArray(effect.output)) {
|
||||
for (const output of effect.output) {
|
||||
|
@ -747,9 +773,11 @@ const atree_stats = new (class extends ComputeNode {
|
|||
else {
|
||||
// TODO: type: prop?
|
||||
let total = 0;
|
||||
const {round = true} = effect;
|
||||
for (const [scaling, input] of zip2(effect.scaling, effect.inputs)) {
|
||||
total += scaling * item_stats.get(input.name);
|
||||
}
|
||||
if (round) { total = Math.floor(round_near(total)); }
|
||||
if (total < 0) { total = 0; } // Normal stat scaling will not go negative.
|
||||
if ('max' in effect && total > effect.max) { total = effect.max; }
|
||||
// TODO: output (list...)
|
||||
|
@ -769,6 +797,10 @@ const atree_stats = new (class extends ComputeNode {
|
|||
continue;
|
||||
case 'raw_stat':
|
||||
// TODO: toggles...
|
||||
if (effect.toggle) {
|
||||
const button = button_map.get(effect.toggle).button;
|
||||
if (!button.classList.contains("toggleOn")) { continue; }
|
||||
}
|
||||
for (const bonus of effect.bonuses) {
|
||||
const { type, name, abil = "", value } = bonus;
|
||||
// TODO: prop
|
||||
|
|
|
@ -322,17 +322,7 @@ const atrees = {
|
|||
"aoe": 8,
|
||||
"duration": 120
|
||||
},
|
||||
"effects": [{
|
||||
"type": "stat_bonus",
|
||||
"toggle": "Windy Feet",
|
||||
"bonuses": [
|
||||
{
|
||||
"type": "stat",
|
||||
"name": "spd",
|
||||
"value": 20
|
||||
}
|
||||
]
|
||||
}]
|
||||
"effects": []
|
||||
},
|
||||
{
|
||||
"display_name": "Basaltic Trap",
|
||||
|
@ -1225,17 +1215,7 @@ const atrees = {
|
|||
"properties": {
|
||||
"duration": 60
|
||||
},
|
||||
"effects": [{
|
||||
"type": "stat_bonus",
|
||||
"toggle": "Windy Feet",
|
||||
"bonuses": [
|
||||
{
|
||||
"type": "stat",
|
||||
"name": "spdPct",
|
||||
"value": 20
|
||||
}
|
||||
]
|
||||
}]
|
||||
"effects": []
|
||||
},
|
||||
{
|
||||
"display_name": "Refined Gunpowder",
|
||||
|
@ -2775,7 +2755,7 @@ const atrees = {
|
|||
"effects": [
|
||||
{
|
||||
"type": "raw_stat",
|
||||
"toggle": true,
|
||||
"toggle": "Activate Mantle",
|
||||
"bonuses": [{ "type": "stat", "name": "defMult.Mantle", "value": 70}]
|
||||
}
|
||||
]
|
||||
|
@ -3457,7 +3437,7 @@ const atrees = {
|
|||
"effects": [
|
||||
{
|
||||
"type": "raw_stat",
|
||||
"toggle": true,
|
||||
"toggle": "Activate Armor Breaker",
|
||||
"bonuses": [ {"type": "stat", "name": "damMult.ArmorBreaker", "value": 30} ]
|
||||
}
|
||||
]
|
||||
|
@ -3914,7 +3894,7 @@ const atrees = {
|
|||
"effects": [
|
||||
{
|
||||
"type": "raw_stat",
|
||||
"toggle": true,
|
||||
"toggle": "Activate Brink",
|
||||
"bonuses": [{ "type": "stat", "name": "defMult.Brink", "value": 40}]
|
||||
}
|
||||
]
|
||||
|
@ -4835,7 +4815,7 @@ const atrees = {
|
|||
"display_name": "Cheaper Ice Snake",
|
||||
"desc": "Reduce the Mana cost of Ice Snake.",
|
||||
"base_abil": "Ice Snake",
|
||||
"parents": ["Eye Piercer"],
|
||||
"parents": ["Eye Piercer", "Fortitude"],
|
||||
"dependencies": [],
|
||||
"blockers": [],
|
||||
"cost": 1,
|
||||
|
@ -4851,7 +4831,8 @@ const atrees = {
|
|||
"display_name": "Cheaper Teleport II",
|
||||
"desc": "Reduce the Mana cost of Teleport.",
|
||||
"base_abil": "Teleport",
|
||||
"parents": ["Purification", "Fortitude"],
|
||||
"parents": ["Purification"],
|
||||
"_parents": ["Purification", "Fortitude"],
|
||||
"dependencies": [],
|
||||
"blockers": [],
|
||||
"cost": 1,
|
||||
|
@ -4955,7 +4936,6 @@ const atrees = {
|
|||
"effects": [
|
||||
{
|
||||
"type": "raw_stat",
|
||||
"toggle": true,
|
||||
"bonuses": [{
|
||||
"type": "prop",
|
||||
"abil": "Teleport",
|
||||
|
@ -5027,10 +5007,11 @@ const atrees = {
|
|||
"effects": [{
|
||||
"type": "stat_scaling",
|
||||
"slider": false,
|
||||
"round": false,
|
||||
"inputs": [
|
||||
{
|
||||
"type": "stat",
|
||||
"name": "wDam"
|
||||
"name": "wDamPct"
|
||||
}
|
||||
],
|
||||
"output": {
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -129,6 +129,7 @@ class Build{
|
|||
}
|
||||
statMap.set("poisonPct", 100);
|
||||
statMap.set("critDamPct", 100);
|
||||
statMap.set("healPct", 100);
|
||||
|
||||
// The stuff relevant for damage calculation!!! @ferricles
|
||||
statMap.set("atkSpd", this.weapon.statMap.get("atkSpd"));
|
||||
|
|
|
@ -576,7 +576,7 @@ class SpellDamageCalcNode extends ComputeNode {
|
|||
}
|
||||
} else if ('power' in part) {
|
||||
// TODO: wynn2 formula
|
||||
let _heal_amount = (part.power * getDefenseStats(stats)[0] * Math.max(0.5,Math.min(1.75, 1 + 0.5 * stats.get("wDamPct")/100)));
|
||||
let _heal_amount = (part.power * getDefenseStats(stats)[0] * (stats.get('healPct')/100));
|
||||
spell_result = {
|
||||
type: "heal",
|
||||
heal_amount: _heal_amount
|
||||
|
@ -1048,9 +1048,6 @@ function builder_graph_init() {
|
|||
|
||||
// Phase 2/3: Set up editable IDs, skill points; use decodeBuild() skill points, calculate damage
|
||||
|
||||
let build_disp_node = new BuildDisplayNode()
|
||||
build_disp_node.link_to(build_node, 'build');
|
||||
|
||||
// Create one node that will be the "aggregator node" (listen to all the editable id nodes, as well as the build_node (for non editable stats) and collect them into one statmap)
|
||||
stat_agg_node = new AggregateStatsNode();
|
||||
edit_agg_node = new AggregateEditableIDNode();
|
||||
|
@ -1077,7 +1074,6 @@ function builder_graph_init() {
|
|||
skp_inputs.push(node);
|
||||
}
|
||||
stat_agg_node.link_to(edit_agg_node);
|
||||
build_disp_node.link_to(stat_agg_node, 'stats');
|
||||
|
||||
// Phase 3/3: Set up atree stuff.
|
||||
|
||||
|
@ -1127,10 +1123,14 @@ function builder_graph_init() {
|
|||
|
||||
// Also do something similar for skill points
|
||||
|
||||
let build_disp_node = new BuildDisplayNode()
|
||||
build_disp_node.link_to(build_node, 'build');
|
||||
build_disp_node.link_to(stat_agg_node, 'stats');
|
||||
|
||||
for (const node of edit_input_nodes) {
|
||||
node.update();
|
||||
}
|
||||
|
||||
|
||||
let skp_output = new SkillPointSetterNode(edit_input_nodes);
|
||||
skp_output.link_to(build_node);
|
||||
|
||||
|
@ -1146,5 +1146,6 @@ function builder_graph_init() {
|
|||
// this will propagate the update to the `stat_agg_node`, and then to damage calc
|
||||
|
||||
console.log("Set up graph");
|
||||
graph_live_update = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
let all_nodes = [];
|
||||
let node_debug_stack = [];
|
||||
class ComputeNode {
|
||||
/**
|
||||
* Make a generic compute node.
|
||||
|
@ -33,6 +34,7 @@ class ComputeNode {
|
|||
if (this.dirty === 0) {
|
||||
return;
|
||||
}
|
||||
node_debug_stack.push(this.name);
|
||||
if (this.dirty == 2) {
|
||||
let calc_inputs = new Map();
|
||||
for (const input of this.inputs) {
|
||||
|
@ -44,6 +46,7 @@ class ComputeNode {
|
|||
for (const child of this.children) {
|
||||
child.mark_input_clean(this.name, this.value);
|
||||
}
|
||||
node_debug_stack.pop();
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -174,17 +177,20 @@ class ValueCheckComputeNode extends ComputeNode {
|
|||
|
||||
}
|
||||
|
||||
let graph_live_update = false;
|
||||
/**
|
||||
* Schedule a ComputeNode to be updated.
|
||||
*
|
||||
* @param node : ComputeNode to schedule an update for.
|
||||
*/
|
||||
function calcSchedule(node, timeout) {
|
||||
if (!graph_live_update) return;
|
||||
if (node.update_task !== null) {
|
||||
clearTimeout(node.update_task);
|
||||
}
|
||||
node.mark_dirty();
|
||||
node.update_task = setTimeout(function() {
|
||||
node_debug_stack = [];
|
||||
node.update();
|
||||
node.update_task = null;
|
||||
}, timeout);
|
||||
|
|
129
js/display.js
129
js/display.js
|
@ -124,7 +124,7 @@ function displayBuildStats(parent_id,build,command_group,stats){
|
|||
let prefix_elem = make_elem('b', [], {textContent: "\u279C Effective LS: "});
|
||||
|
||||
let defStats = getDefenseStats(stats);
|
||||
let number_elem = ('b', [style], {
|
||||
let number_elem = make_elem('b', [style], {
|
||||
textContent: Math.round(defStats[1][0]*id_val/defStats[0]) + "/3s"
|
||||
});
|
||||
value_elem.append(prefix_elem);
|
||||
|
@ -181,8 +181,7 @@ function displayExpandedItem(item, parent_id){
|
|||
elemental_format = !elemental_format;
|
||||
}
|
||||
else if (command === "!spacer") {
|
||||
let spacer = document.createElement('div');
|
||||
spacer.classList.add("row", "my-2");
|
||||
let spacer = make_elem('div', ["row", "my-2"], {});
|
||||
parent_div.appendChild(spacer);
|
||||
continue;
|
||||
}
|
||||
|
@ -191,49 +190,41 @@ function displayExpandedItem(item, parent_id){
|
|||
let id = command;
|
||||
if(nonRolledIDs.includes(id)){//nonRolledID & non-0/non-null/non-und ID
|
||||
if (!item.get(id)) {
|
||||
if (! (item.get("crafted") && skp_order.includes(id) &&
|
||||
if (!(item.get("crafted") && skp_order.includes(id) &&
|
||||
(item.get("maxRolls").get(id) || item.get("minRolls").get(id)))) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (id === "slots") {
|
||||
let p_elem = document.createElement("div");
|
||||
p_elem.classList.add("col");
|
||||
|
||||
let p_elem = make_elem("div", ["col"]);
|
||||
|
||||
// PROPER POWDER DISPLAYING
|
||||
let numerals = new Map([[1, "I"], [2, "II"], [3, "III"], [4, "IV"], [5, "V"], [6, "VI"]]);
|
||||
|
||||
let powderPrefix = document.createElement("b");
|
||||
powderPrefix.textContent = "Powder Slots: " + item.get(id) + " [";
|
||||
p_elem.appendChild(powderPrefix);
|
||||
p_elem.appendChild(make_elem("b", [], {
|
||||
textContent: "Powder Slots: " + item.get(id) + " ["
|
||||
}));
|
||||
|
||||
let powders = item.get("powders");
|
||||
for (let i = 0; i < powders.length; i++) {
|
||||
let powder = document.createElement("b");
|
||||
powder.textContent = numerals.get((powders[i]%6)+1)+" ";
|
||||
powder.classList.add(damageClasses[Math.floor(powders[i]/6)+1]+"_powder");
|
||||
p_elem.appendChild(powder);
|
||||
p_elem.appendChild(make_elem("b", [damageClasses[Math.floor(powders[i]/6)+1]+"_powder"], {
|
||||
textContent: numerals.get((powders[i]%6)+1)+" "
|
||||
}));
|
||||
}
|
||||
|
||||
let powderSuffix = document.createElement("b");
|
||||
powderSuffix.textContent = "]";
|
||||
p_elem.appendChild(powderSuffix);
|
||||
p_elem.appendChild(make_elem("b", [], { textContent: "]" }));
|
||||
parent_div.appendChild(p_elem);
|
||||
} else if (id === "set") {
|
||||
if (item.get("hideSet")) { continue; }
|
||||
|
||||
let p_elem = document.createElement("div");
|
||||
p_elem.classList.add("col");
|
||||
p_elem.textContent = "Set: " + item.get(id).toString();
|
||||
parent_div.appendChild(p_elem);
|
||||
parent_div.appendChild(make_elem("div", ["col"], { textContent: "Set: " + item.get(id).toString() }));
|
||||
} else if (id === "majorIds") {
|
||||
//console.log(item.get(id));
|
||||
for (let majorID of item.get(id)) {
|
||||
let p_elem = document.createElement("div");
|
||||
p_elem.classList.add("col");
|
||||
let p_elem = make_elem("div", ['col']);
|
||||
|
||||
let title_elem = document.createElement("b");
|
||||
let b_elem = document.createElement("b");
|
||||
let title_elem = make_elem("b");
|
||||
let b_elem = make_elem("b");
|
||||
if (majorID.includes(":")) {
|
||||
let name = majorID.substring(0, majorID.indexOf(":")+1);
|
||||
let mid = majorID.substring(majorID.indexOf(":")+1);
|
||||
|
@ -254,20 +245,30 @@ function displayExpandedItem(item, parent_id){
|
|||
parent_div.appendChild(p_elem);
|
||||
}
|
||||
} else if (id === "lvl" && item.get("tier") === "Crafted") {
|
||||
let p_elem = document.createElement("div");
|
||||
p_elem.classList.add("col");
|
||||
p_elem.textContent = "Combat Level Min: " + item.get("lvlLow") + "-" + item.get(id);
|
||||
parent_div.appendChild(p_elem);
|
||||
parent_div.appendChild(make_elem("div", ["col"], {
|
||||
textContent: "Combat Level Min: " + item.get("lvlLow") + "-" + item.get(id)
|
||||
}));
|
||||
} else if (id === "displayName") {
|
||||
let row = document.createElement("div");
|
||||
let row = make_elem("div", ["row", "justify-content-center"]);
|
||||
|
||||
let a_elem = document.createElement("a");
|
||||
row.classList.add("row", "justify-content-center");
|
||||
a_elem.classList.add("col-auto", "text-center", "item-title", "p-0");
|
||||
a_elem.classList.add(item.has("tier") ? item.get("tier").replace(" ","") : "Normal");
|
||||
// a_elem.style.textGrow = 1;
|
||||
|
||||
row.appendChild(a_elem);
|
||||
let nolink_row = make_elem("div", ["row", "justify-content-center"]);
|
||||
nolink_row.style.display = "none";
|
||||
|
||||
const tier_class = item.has("tier") ? item.get("tier").replace(" ","") : "Normal";
|
||||
let item_link;
|
||||
if (item.get("custom")) {
|
||||
item_link = "../custom/#" + item.get("hash");
|
||||
} else if (item.get("crafted")) {
|
||||
a_item_link = "../crafter/#" + item.get("hash");
|
||||
} else {
|
||||
item_link = "../item/#" + item.get("displayName");
|
||||
}
|
||||
const item_name_elem = make_elem("a", ["col-auto", "text-center", "item-title", "p-0", tier_class], {
|
||||
textContent: item.get('displayName')
|
||||
});
|
||||
nolink_row.appendChild(item_name_elem.cloneNode(true));
|
||||
item_name_elem.href = item_link;
|
||||
row.appendChild(item_name_elem);
|
||||
|
||||
/*
|
||||
FUNCTIONALITY FOR THIS FEATURE HAS SINCE BEEN REMOVED (WITH SQ2).
|
||||
|
@ -281,50 +282,23 @@ function displayExpandedItem(item, parent_id){
|
|||
//plusminus.style.flexGrow = 0;
|
||||
//plusminus.textContent = "\u2795";
|
||||
//row.appendChild(plusminus);
|
||||
|
||||
if (item.get("custom")) {
|
||||
a_elem.href = "../custom/#" + item.get("hash");
|
||||
a_elem.textContent = item.get("displayName");
|
||||
} else if (item.get("crafted")) {
|
||||
a_elem.href = "../crafter/#" + item.get("hash");
|
||||
a_elem.textContent = item.get(id);
|
||||
} else {
|
||||
a_elem.href = "../item/#" + item.get("displayName");
|
||||
a_elem.textContent = item.get("displayName");
|
||||
}
|
||||
parent_div.appendChild(row);
|
||||
|
||||
let nolink_row = document.createElement("div");
|
||||
let p_elem = document.createElement("p");
|
||||
nolink_row.classList.add("row", "justify-content-center");
|
||||
nolink_row.style.display = "none";
|
||||
p_elem.classList.add("col-auto", "text-center", "item-title", "p-0");
|
||||
p_elem.classList.add(item.has("tier") ? item.get("tier").replace(" ","") : "Normal");
|
||||
if (item.get("custom")) {
|
||||
p_elem.textContent = item.get("displayName");
|
||||
} else if (item.get("crafted")) {
|
||||
p_elem.textContent = item.get(id);
|
||||
} else {
|
||||
p_elem.textContent = item.get("displayName");
|
||||
}
|
||||
|
||||
nolink_row.appendChild(p_elem);
|
||||
parent_div.appendChild(nolink_row);
|
||||
|
||||
let img = document.createElement("img");
|
||||
if (item && item.has("type")) {
|
||||
img.src = "../media/items/" + (newIcons ? "new/":"old/") + "generic-" + item.get("type") + ".png";
|
||||
img.alt = item.get("type");
|
||||
img.style = " z=index: 1; position: relative;";
|
||||
let container = document.createElement("div");
|
||||
if (item.has("type")) {
|
||||
let img = make_elem("img", [], {
|
||||
src: "../media/items/" + (newIcons ? "new/":"old/") + "generic-" + item.get("type") + ".png",
|
||||
alt: item.get("type"),
|
||||
style: " z=index: 1; position: relative;"
|
||||
});
|
||||
let container = make_elem("div");
|
||||
|
||||
let bckgrd = document.createElement("div");
|
||||
bckgrd.classList.add("col", "px-0", "d-flex", "align-items-center", "justify-content-center");// , "no-collapse");
|
||||
bckgrd.style = "border-radius: 50%;background-image: radial-gradient(closest-side, " + colorMap.get(item.get("tier")) + " 20%," + "hsl(0, 0%, 16%) 80%); margin-left: auto; margin-right: auto;"
|
||||
bckgrd.classList.add("scaled-bckgrd");
|
||||
parent_div.appendChild(container);
|
||||
container.appendChild(bckgrd);
|
||||
let bckgrd = make_elem("div", ["col", "px-0", "d-flex", "align-items-center", "justify-content-center", 'scaled-bckgrd'], { // , "no-collapse"
|
||||
style: "border-radius: 50%;background-image: radial-gradient(closest-side, " + colorMap.get(item.get("tier")) + " 20%," + "hsl(0, 0%, 16%) 80%); margin-left: auto; margin-right: auto;"
|
||||
});
|
||||
bckgrd.appendChild(img);
|
||||
container.appendChild(bckgrd);
|
||||
parent_div.appendChild(container);
|
||||
}
|
||||
} else {
|
||||
if (id.endsWith('Dam_')) {
|
||||
|
@ -351,8 +325,7 @@ function displayExpandedItem(item, parent_id){
|
|||
p_elem.style = "font-style: italic";
|
||||
} else if (skp_order.includes(id)) { //id = str, dex, int, def, or agi
|
||||
if ( item.get("tier") !== "Crafted") {
|
||||
row = document.createElement("div");
|
||||
row.classList.add("col");
|
||||
row = make_elem("div", ["col"]);
|
||||
|
||||
let title = document.createElement("b");
|
||||
title.textContent = idPrefixes[id] + " ";
|
||||
|
|
|
@ -788,10 +788,9 @@ function deepcopy(obj, refs=undefined) {
|
|||
*/
|
||||
function gen_slider_labeled({label_name, label_classlist = [], min = 0, max = 100, step = 1, default_val = min, id = undefined, color = "#FFFFFF", classlist = []}) {
|
||||
let slider_container = document.createElement("div");
|
||||
slider_container.classList.add("row");
|
||||
|
||||
let buf_col = document.createElement("div");
|
||||
buf_col.classList.add("col", "mx-1");
|
||||
buf_col.classList.add("col");
|
||||
|
||||
let label = document.createElement("div");
|
||||
label.classList.add("col");
|
||||
|
|
Loading…
Add table
Reference in a new issue