Talent calculator: Difference between revisions
Jump to navigation
Jump to search
Created page with "{{TalentCalculator}}" |
No edit summary Tag: Manual revert |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{TalentCalculator}} | {{Template:TalentCalculator}} |
Latest revision as of 13:25, 16 May 2025
<style> /* General styling */ .talent-calculator-wrapper { font-family: Arial, sans-serif; max-width: 1200px; margin: 0 auto; background-color: #f5f5f5; border: 1px solid #ddd; border-radius: 5px; padding: 15px; } .talent-calculator-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 2px solid #ccc; } .talent-calculator-header h2 { margin: 0; font-size: 1.8em; } .points-counter { font-size: 1.3em; font-weight: bold; } /* Tree styling */ .talent-calculator-trees { display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; margin-bottom: 20px; } .talent-tree { flex: 1; min-width: 300px; background-color: #fff; border: 1px solid #ddd; border-radius: 3px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .tree-header { color: white; padding: 10px; border-top-left-radius: 3px; border-top-right-radius: 3px; display: flex; justify-content: space-between; align-items: center; } .tree-header h3 { margin: 0; font-size: 1.3em; } .tree-points { font-weight: bold; } .reset-tree-btn { margin-left: 10px; padding: 2px 6px; background-color: rgba(255, 255, 255, 0.2); border: 1px solid rgba(255, 255, 255, 0.4); color: white; cursor: pointer; border-radius: 3px; } /* Tier styling */ .talent-tier { padding: 10px; border-bottom: 1px solid #eee; } .talent-tier.locked { opacity: 0.6; pointer-events: none; } .tier-header { display: flex; justify-content: space-between; margin-bottom: 8px; font-size: 0.9em; color: #666; } /* Talent styling */ .tier-talents { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-around; } .talent { display: flex; width: 100%; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 3px; padding: 8px; margin-bottom: 8px; } .talent-icon { width: 40px; height: 40px; background-color: #ddd; border-radius: 3px; position: relative; margin-right: 10px; } .talent-rank { position: absolute; bottom: -5px; right: -5px; background-color: #333; color: white; padding: 2px 4px; border-radius: 10px; font-size: 0.8em; font-weight: bold; } .talent-info { flex: 1; } .talent-info h4 { margin: 0 0 5px 0; font-size: 1.1em; } .talent-cost { font-size: 0.8em; color: #666; margin-bottom: 5px; } .talent-description { font-size: 0.9em; margin-bottom: 8px; } .talent-controls { display: flex; gap: 5px; } .talent-controls button { width: 30px; height: 25px; font-weight: bold; cursor: pointer; background-color: #eee; border: 1px solid #ccc; border-radius: 3px; } .talent-controls button:hover { background-color: #ddd; } .talent-controls button:disabled { opacity: 0.5; cursor: not-allowed; } /* Import/Export styling */ .talent-calculator-controls { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; } .import-export { display: flex; gap: 10px; } #build-string { flex: 1; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-family: monospace; } button { padding: 8px 15px; background-color: #4a4a4a; color: white; border: none; border-radius: 3px; cursor: pointer; } button:hover { background-color: #333; } .calculator-actions { text-align: right; } /* Responsiveness */ @media (max-width: 1000px) { .talent-calculator-trees { flex-direction: column; } .talent-tree { margin-bottom: 20px; } } </style>
Talent Calculator
0/51 Points Spent
PvM Talents
0 Points
<button class="reset-tree-btn" onclick="resetTree('pvm')">Reset</button>
Tier 1 Required Points: 0
PvM 1.1
Cost: 1 point(s) each
This is a dummy PvM 1.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t1_1')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t1_1')">+</button>
PvM 1.2
Cost: 1 point(s) each
This is a dummy PvM 1.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t1_2')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t1_2')">+</button>
PvM 1.3
Cost: 1 point(s) each
This is a dummy PvM 1.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t1_3')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t1_3')">+</button>
PvM 1.4
Cost: 1 point(s) each
This is a dummy PvM 1.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t1_4')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t1_4')">+</button>
PvM 1.5
Cost: 1 point(s) each
This is a dummy PvM 1.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t1_5')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t1_5')">+</button>
Tier 2 Required Points: 5
PvM 2.1
Cost: 2 point(s) each
This is a dummy PvM 2.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t2_1')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t2_1')">+</button>
PvM 2.2
Cost: 2 point(s) each
This is a dummy PvM 2.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t2_2')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t2_2')">+</button>
PvM 2.3
Cost: 2 point(s) each
This is a dummy PvM 2.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t2_3')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t2_3')">+</button>
PvM 2.4
Cost: 2 point(s) each
This is a dummy PvM 2.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t2_4')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t2_4')">+</button>
PvM 2.5
Cost: 2 point(s) each
This is a dummy PvM 2.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t2_5')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t2_5')">+</button>
Tier 3 Required Points: 10
PvM 3.1
Cost: 3 point(s) each
This is a dummy PvM 3.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t3_1')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t3_1')">+</button>
PvM 3.2
Cost: 3 point(s) each
This is a dummy PvM 3.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t3_2')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t3_2')">+</button>
PvM 3.3
Cost: 3 point(s) each
This is a dummy PvM 3.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t3_3')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t3_3')">+</button>
PvM 3.4
Cost: 3 point(s) each
This is a dummy PvM 3.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t3_4')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t3_4')">+</button>
PvM 3.5
Cost: 3 point(s) each
This is a dummy PvM 3.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t3_5')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t3_5')">+</button>
Tier 4 Required Points: 15
PvM 4.1
Cost: 4 point(s) each
This is a dummy PvM 4.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t4_1')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t4_1')">+</button>
PvM 4.2
Cost: 4 point(s) each
This is a dummy PvM 4.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t4_2')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t4_2')">+</button>
PvM 4.3
Cost: 4 point(s) each
This is a dummy PvM 4.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t4_3')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t4_3')">+</button>
PvM 4.4
Cost: 4 point(s) each
This is a dummy PvM 4.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t4_4')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t4_4')">+</button>
PvM 4.5
Cost: 4 point(s) each
This is a dummy PvM 4.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t4_5')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t4_5')">+</button>
Tier 5 Required Points: 20
PvM 5.1
Cost: 5 point(s) each
This is a dummy PvM 5.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t5_1')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t5_1')">+</button>
PvM 5.2
Cost: 5 point(s) each
This is a dummy PvM 5.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t5_2')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t5_2')">+</button>
PvM 5.3
Cost: 5 point(s) each
This is a dummy PvM 5.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t5_3')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t5_3')">+</button>
PvM 5.4
Cost: 5 point(s) each
This is a dummy PvM 5.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t5_4')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t5_4')">+</button>
PvM 5.5
Cost: 5 point(s) each
This is a dummy PvM 5.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('pvm_t5_5')">-</button> <button class="talent-plus" onclick="incrementTalent('pvm_t5_5')">+</button>
Skilling Talents
0 Points
<button class="reset-tree-btn" onclick="resetTree('skilling')">Reset</button>
Tier 1 Required Points: 0
Skilling 1.1
Cost: 1 point(s) each
This is a dummy Skilling 1.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t1_1')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t1_1')">+</button>
Skilling 1.2
Cost: 1 point(s) each
This is a dummy Skilling 1.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t1_2')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t1_2')">+</button>
Skilling 1.3
Cost: 1 point(s) each
This is a dummy Skilling 1.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t1_3')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t1_3')">+</button>
Skilling 1.4
Cost: 1 point(s) each
This is a dummy Skilling 1.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t1_4')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t1_4')">+</button>
Skilling 1.5
Cost: 1 point(s) each
This is a dummy Skilling 1.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t1_5')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t1_5')">+</button>
Tier 2 Required Points: 5
Skilling 2.1
Cost: 2 point(s) each
This is a dummy Skilling 2.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t2_1')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t2_1')">+</button>
Skilling 2.2
Cost: 2 point(s) each
This is a dummy Skilling 2.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t2_2')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t2_2')">+</button>
Skilling 2.3
Cost: 2 point(s) each
This is a dummy Skilling 2.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t2_3')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t2_3')">+</button>
Skilling 2.4
Cost: 2 point(s) each
This is a dummy Skilling 2.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t2_4')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t2_4')">+</button>
Skilling 2.5
Cost: 2 point(s) each
This is a dummy Skilling 2.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t2_5')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t2_5')">+</button>
Tier 3 Required Points: 10
Skilling 3.1
Cost: 3 point(s) each
This is a dummy Skilling 3.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t3_1')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t3_1')">+</button>
Skilling 3.2
Cost: 3 point(s) each
This is a dummy Skilling 3.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t3_2')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t3_2')">+</button>
Skilling 3.3
Cost: 3 point(s) each
This is a dummy Skilling 3.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t3_3')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t3_3')">+</button>
Skilling 3.4
Cost: 3 point(s) each
This is a dummy Skilling 3.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t3_4')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t3_4')">+</button>
Skilling 3.5
Cost: 3 point(s) each
This is a dummy Skilling 3.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t3_5')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t3_5')">+</button>
Tier 4 Required Points: 15
Skilling 4.1
Cost: 4 point(s) each
This is a dummy Skilling 4.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t4_1')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t4_1')">+</button>
Skilling 4.2
Cost: 4 point(s) each
This is a dummy Skilling 4.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t4_2')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t4_2')">+</button>
Skilling 4.3
Cost: 4 point(s) each
This is a dummy Skilling 4.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t4_3')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t4_3')">+</button>
Skilling 4.4
Cost: 4 point(s) each
This is a dummy Skilling 4.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t4_4')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t4_4')">+</button>
Skilling 4.5
Cost: 4 point(s) each
This is a dummy Skilling 4.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t4_5')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t4_5')">+</button>
Tier 5 Required Points: 20
Skilling 5.1
Cost: 5 point(s) each
This is a dummy Skilling 5.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t5_1')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t5_1')">+</button>
Skilling 5.2
Cost: 5 point(s) each
This is a dummy Skilling 5.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t5_2')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t5_2')">+</button>
Skilling 5.3
Cost: 5 point(s) each
This is a dummy Skilling 5.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t5_3')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t5_3')">+</button>
Skilling 5.4
Cost: 5 point(s) each
This is a dummy Skilling 5.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t5_4')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t5_4')">+</button>
Skilling 5.5
Cost: 5 point(s) each
This is a dummy Skilling 5.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('skilling_t5_5')">-</button> <button class="talent-plus" onclick="incrementTalent('skilling_t5_5')">+</button>
Utility Talents
0 Points
<button class="reset-tree-btn" onclick="resetTree('utility')">Reset</button>
Tier 1 Required Points: 0
Utility 1.1
Cost: 1 point(s) each
This is a dummy Utility 1.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t1_1')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t1_1')">+</button>
Utility 1.2
Cost: 1 point(s) each
This is a dummy Utility 1.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t1_2')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t1_2')">+</button>
Utility 1.3
Cost: 1 point(s) each
This is a dummy Utility 1.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t1_3')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t1_3')">+</button>
Utility 1.4
Cost: 1 point(s) each
This is a dummy Utility 1.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t1_4')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t1_4')">+</button>
Utility 1.5
Cost: 1 point(s) each
This is a dummy Utility 1.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t1_5')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t1_5')">+</button>
Tier 2 Required Points: 5
Utility 2.1
Cost: 2 point(s) each
This is a dummy Utility 2.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t2_1')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t2_1')">+</button>
Utility 2.2
Cost: 2 point(s) each
This is a dummy Utility 2.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t2_2')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t2_2')">+</button>
Utility 2.3
Cost: 2 point(s) each
This is a dummy Utility 2.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t2_3')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t2_3')">+</button>
Utility 2.4
Cost: 2 point(s) each
This is a dummy Utility 2.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t2_4')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t2_4')">+</button>
Utility 2.5
Cost: 2 point(s) each
This is a dummy Utility 2.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t2_5')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t2_5')">+</button>
Tier 3 Required Points: 10
Utility 3.1
Cost: 3 point(s) each
This is a dummy Utility 3.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t3_1')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t3_1')">+</button>
Utility 3.2
Cost: 3 point(s) each
This is a dummy Utility 3.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t3_2')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t3_2')">+</button>
Utility 3.3
Cost: 3 point(s) each
This is a dummy Utility 3.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t3_3')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t3_3')">+</button>
Utility 3.4
Cost: 3 point(s) each
This is a dummy Utility 3.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t3_4')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t3_4')">+</button>
Utility 3.5
Cost: 3 point(s) each
This is a dummy Utility 3.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t3_5')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t3_5')">+</button>
Tier 4 Required Points: 15
Utility 4.1
Cost: 4 point(s) each
This is a dummy Utility 4.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t4_1')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t4_1')">+</button>
Utility 4.2
Cost: 4 point(s) each
This is a dummy Utility 4.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t4_2')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t4_2')">+</button>
Utility 4.3
Cost: 4 point(s) each
This is a dummy Utility 4.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t4_3')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t4_3')">+</button>
Utility 4.4
Cost: 4 point(s) each
This is a dummy Utility 4.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t4_4')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t4_4')">+</button>
Utility 4.5
Cost: 4 point(s) each
This is a dummy Utility 4.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t4_5')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t4_5')">+</button>
Tier 5 Required Points: 20
Utility 5.1
Cost: 5 point(s) each
This is a dummy Utility 5.1 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t5_1')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t5_1')">+</button>
Utility 5.2
Cost: 5 point(s) each
This is a dummy Utility 5.2 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t5_2')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t5_2')">+</button>
Utility 5.3
Cost: 5 point(s) each
This is a dummy Utility 5.3 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t5_3')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t5_3')">+</button>
Utility 5.4
Cost: 5 point(s) each
This is a dummy Utility 5.4 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t5_4')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t5_4')">+</button>
Utility 5.5
Cost: 5 point(s) each
This is a dummy Utility 5.5 talent. Each point increases effectiveness by 5%.
<button class="talent-minus" onclick="decrementTalent('utility_t5_5')">-</button> <button class="talent-plus" onclick="incrementTalent('utility_t5_5')">+</button>
<input type="text" id="build-string" placeholder="Paste build string here..." value=""> <button id="import-build" onclick="importBuild()">Import</button> <button id="export-build" onclick="exportBuild()">Export</button>
<button id="reset-all" onclick="resetAllTalents()">Reset All</button>
<script type="text/javascript"> // Global variables const MAX_POINTS = 51; const talentConfig = {"talents":[{"description":"This is a dummy PvM 1.1 talent. Each point increases effectiveness by 5%.","name":"PvM 1.1","tier":1,"id":"pvm_t1_1","tree":"pvm","maxRank":2,"cost":1},{"description":"This is a dummy PvM 1.2 talent. Each point increases effectiveness by 5%.","name":"PvM 1.2","tier":1,"id":"pvm_t1_2","tree":"pvm","maxRank":2,"cost":1},{"description":"This is a dummy PvM 1.3 talent. Each point increases effectiveness by 5%.","name":"PvM 1.3","tier":1,"id":"pvm_t1_3","tree":"pvm","maxRank":2,"cost":1},{"description":"This is a dummy PvM 1.4 talent. Each point increases effectiveness by 5%.","name":"PvM 1.4","tier":1,"id":"pvm_t1_4","tree":"pvm","maxRank":2,"cost":1},{"description":"This is a dummy PvM 1.5 talent. Each point increases effectiveness by 5%.","name":"PvM 1.5","tier":1,"id":"pvm_t1_5","tree":"pvm","maxRank":2,"cost":1},{"description":"This is a dummy PvM 2.1 talent. Each point increases effectiveness by 5%.","name":"PvM 2.1","tier":2,"id":"pvm_t2_1","tree":"pvm","maxRank":4,"cost":2},{"description":"This is a dummy PvM 2.2 talent. Each point increases effectiveness by 5%.","name":"PvM 2.2","tier":2,"id":"pvm_t2_2","tree":"pvm","maxRank":4,"cost":2},{"description":"This is a dummy PvM 2.3 talent. Each point increases effectiveness by 5%.","name":"PvM 2.3","tier":2,"id":"pvm_t2_3","tree":"pvm","maxRank":4,"cost":2},{"description":"This is a dummy PvM 2.4 talent. Each point increases effectiveness by 5%.","name":"PvM 2.4","tier":2,"id":"pvm_t2_4","tree":"pvm","maxRank":4,"cost":2},{"description":"This is a dummy PvM 2.5 talent. Each point increases effectiveness by 5%.","name":"PvM 2.5","tier":2,"id":"pvm_t2_5","tree":"pvm","maxRank":4,"cost":2},{"description":"This is a dummy PvM 3.1 talent. Each point increases effectiveness by 5%.","name":"PvM 3.1","tier":3,"id":"pvm_t3_1","tree":"pvm","maxRank":6,"cost":3},{"description":"This is a dummy PvM 3.2 talent. Each point increases effectiveness by 5%.","name":"PvM 3.2","tier":3,"id":"pvm_t3_2","tree":"pvm","maxRank":6,"cost":3},{"description":"This is a dummy PvM 3.3 talent. Each point increases effectiveness by 5%.","name":"PvM 3.3","tier":3,"id":"pvm_t3_3","tree":"pvm","maxRank":6,"cost":3},{"description":"This is a dummy PvM 3.4 talent. Each point increases effectiveness by 5%.","name":"PvM 3.4","tier":3,"id":"pvm_t3_4","tree":"pvm","maxRank":6,"cost":3},{"description":"This is a dummy PvM 3.5 talent. Each point increases effectiveness by 5%.","name":"PvM 3.5","tier":3,"id":"pvm_t3_5","tree":"pvm","maxRank":6,"cost":3},{"description":"This is a dummy PvM 4.1 talent. Each point increases effectiveness by 5%.","name":"PvM 4.1","tier":4,"id":"pvm_t4_1","tree":"pvm","maxRank":8,"cost":4},{"description":"This is a dummy PvM 4.2 talent. Each point increases effectiveness by 5%.","name":"PvM 4.2","tier":4,"id":"pvm_t4_2","tree":"pvm","maxRank":8,"cost":4},{"description":"This is a dummy PvM 4.3 talent. Each point increases effectiveness by 5%.","name":"PvM 4.3","tier":4,"id":"pvm_t4_3","tree":"pvm","maxRank":8,"cost":4},{"description":"This is a dummy PvM 4.4 talent. Each point increases effectiveness by 5%.","name":"PvM 4.4","tier":4,"id":"pvm_t4_4","tree":"pvm","maxRank":8,"cost":4},{"description":"This is a dummy PvM 4.5 talent. Each point increases effectiveness by 5%.","name":"PvM 4.5","tier":4,"id":"pvm_t4_5","tree":"pvm","maxRank":8,"cost":4},{"description":"This is a dummy PvM 5.1 talent. Each point increases effectiveness by 5%.","name":"PvM 5.1","tier":5,"id":"pvm_t5_1","tree":"pvm","maxRank":10,"cost":5},{"description":"This is a dummy PvM 5.2 talent. Each point increases effectiveness by 5%.","name":"PvM 5.2","tier":5,"id":"pvm_t5_2","tree":"pvm","maxRank":10,"cost":5},{"description":"This is a dummy PvM 5.3 talent. Each point increases effectiveness by 5%.","name":"PvM 5.3","tier":5,"id":"pvm_t5_3","tree":"pvm","maxRank":10,"cost":5},{"description":"This is a dummy PvM 5.4 talent. Each point increases effectiveness by 5%.","name":"PvM 5.4","tier":5,"id":"pvm_t5_4","tree":"pvm","maxRank":10,"cost":5},{"description":"This is a dummy PvM 5.5 talent. Each point increases effectiveness by 5%.","name":"PvM 5.5","tier":5,"id":"pvm_t5_5","tree":"pvm","maxRank":10,"cost":5},{"description":"This is a dummy Skilling 1.1 talent. Each point increases effectiveness by 5%.","name":"Skilling 1.1","tier":1,"id":"skilling_t1_1","tree":"skilling","maxRank":2,"cost":1},{"description":"This is a dummy Skilling 1.2 talent. Each point increases effectiveness by 5%.","name":"Skilling 1.2","tier":1,"id":"skilling_t1_2","tree":"skilling","maxRank":2,"cost":1},{"description":"This is a dummy Skilling 1.3 talent. Each point increases effectiveness by 5%.","name":"Skilling 1.3","tier":1,"id":"skilling_t1_3","tree":"skilling","maxRank":2,"cost":1},{"description":"This is a dummy Skilling 1.4 talent. Each point increases effectiveness by 5%.","name":"Skilling 1.4","tier":1,"id":"skilling_t1_4","tree":"skilling","maxRank":2,"cost":1},{"description":"This is a dummy Skilling 1.5 talent. Each point increases effectiveness by 5%.","name":"Skilling 1.5","tier":1,"id":"skilling_t1_5","tree":"skilling","maxRank":2,"cost":1},{"description":"This is a dummy Skilling 2.1 talent. Each point increases effectiveness by 5%.","name":"Skilling 2.1","tier":2,"id":"skilling_t2_1","tree":"skilling","maxRank":4,"cost":2},{"description":"This is a dummy Skilling 2.2 talent. Each point increases effectiveness by 5%.","name":"Skilling 2.2","tier":2,"id":"skilling_t2_2","tree":"skilling","maxRank":4,"cost":2},{"description":"This is a dummy Skilling 2.3 talent. Each point increases effectiveness by 5%.","name":"Skilling 2.3","tier":2,"id":"skilling_t2_3","tree":"skilling","maxRank":4,"cost":2},{"description":"This is a dummy Skilling 2.4 talent. Each point increases effectiveness by 5%.","name":"Skilling 2.4","tier":2,"id":"skilling_t2_4","tree":"skilling","maxRank":4,"cost":2},{"description":"This is a dummy Skilling 2.5 talent. Each point increases effectiveness by 5%.","name":"Skilling 2.5","tier":2,"id":"skilling_t2_5","tree":"skilling","maxRank":4,"cost":2},{"description":"This is a dummy Skilling 3.1 talent. Each point increases effectiveness by 5%.","name":"Skilling 3.1","tier":3,"id":"skilling_t3_1","tree":"skilling","maxRank":6,"cost":3},{"description":"This is a dummy Skilling 3.2 talent. Each point increases effectiveness by 5%.","name":"Skilling 3.2","tier":3,"id":"skilling_t3_2","tree":"skilling","maxRank":6,"cost":3},{"description":"This is a dummy Skilling 3.3 talent. Each point increases effectiveness by 5%.","name":"Skilling 3.3","tier":3,"id":"skilling_t3_3","tree":"skilling","maxRank":6,"cost":3},{"description":"This is a dummy Skilling 3.4 talent. Each point increases effectiveness by 5%.","name":"Skilling 3.4","tier":3,"id":"skilling_t3_4","tree":"skilling","maxRank":6,"cost":3},{"description":"This is a dummy Skilling 3.5 talent. Each point increases effectiveness by 5%.","name":"Skilling 3.5","tier":3,"id":"skilling_t3_5","tree":"skilling","maxRank":6,"cost":3},{"description":"This is a dummy Skilling 4.1 talent. Each point increases effectiveness by 5%.","name":"Skilling 4.1","tier":4,"id":"skilling_t4_1","tree":"skilling","maxRank":8,"cost":4},{"description":"This is a dummy Skilling 4.2 talent. Each point increases effectiveness by 5%.","name":"Skilling 4.2","tier":4,"id":"skilling_t4_2","tree":"skilling","maxRank":8,"cost":4},{"description":"This is a dummy Skilling 4.3 talent. Each point increases effectiveness by 5%.","name":"Skilling 4.3","tier":4,"id":"skilling_t4_3","tree":"skilling","maxRank":8,"cost":4},{"description":"This is a dummy Skilling 4.4 talent. Each point increases effectiveness by 5%.","name":"Skilling 4.4","tier":4,"id":"skilling_t4_4","tree":"skilling","maxRank":8,"cost":4},{"description":"This is a dummy Skilling 4.5 talent. Each point increases effectiveness by 5%.","name":"Skilling 4.5","tier":4,"id":"skilling_t4_5","tree":"skilling","maxRank":8,"cost":4},{"description":"This is a dummy Skilling 5.1 talent. Each point increases effectiveness by 5%.","name":"Skilling 5.1","tier":5,"id":"skilling_t5_1","tree":"skilling","maxRank":10,"cost":5},{"description":"This is a dummy Skilling 5.2 talent. Each point increases effectiveness by 5%.","name":"Skilling 5.2","tier":5,"id":"skilling_t5_2","tree":"skilling","maxRank":10,"cost":5},{"description":"This is a dummy Skilling 5.3 talent. Each point increases effectiveness by 5%.","name":"Skilling 5.3","tier":5,"id":"skilling_t5_3","tree":"skilling","maxRank":10,"cost":5},{"description":"This is a dummy Skilling 5.4 talent. Each point increases effectiveness by 5%.","name":"Skilling 5.4","tier":5,"id":"skilling_t5_4","tree":"skilling","maxRank":10,"cost":5},{"description":"This is a dummy Skilling 5.5 talent. Each point increases effectiveness by 5%.","name":"Skilling 5.5","tier":5,"id":"skilling_t5_5","tree":"skilling","maxRank":10,"cost":5},{"description":"This is a dummy Utility 1.1 talent. Each point increases effectiveness by 5%.","name":"Utility 1.1","tier":1,"id":"utility_t1_1","tree":"utility","maxRank":2,"cost":1},{"description":"This is a dummy Utility 1.2 talent. Each point increases effectiveness by 5%.","name":"Utility 1.2","tier":1,"id":"utility_t1_2","tree":"utility","maxRank":2,"cost":1},{"description":"This is a dummy Utility 1.3 talent. Each point increases effectiveness by 5%.","name":"Utility 1.3","tier":1,"id":"utility_t1_3","tree":"utility","maxRank":2,"cost":1},{"description":"This is a dummy Utility 1.4 talent. Each point increases effectiveness by 5%.","name":"Utility 1.4","tier":1,"id":"utility_t1_4","tree":"utility","maxRank":2,"cost":1},{"description":"This is a dummy Utility 1.5 talent. Each point increases effectiveness by 5%.","name":"Utility 1.5","tier":1,"id":"utility_t1_5","tree":"utility","maxRank":2,"cost":1},{"description":"This is a dummy Utility 2.1 talent. Each point increases effectiveness by 5%.","name":"Utility 2.1","tier":2,"id":"utility_t2_1","tree":"utility","maxRank":4,"cost":2},{"description":"This is a dummy Utility 2.2 talent. Each point increases effectiveness by 5%.","name":"Utility 2.2","tier":2,"id":"utility_t2_2","tree":"utility","maxRank":4,"cost":2},{"description":"This is a dummy Utility 2.3 talent. Each point increases effectiveness by 5%.","name":"Utility 2.3","tier":2,"id":"utility_t2_3","tree":"utility","maxRank":4,"cost":2},{"description":"This is a dummy Utility 2.4 talent. Each point increases effectiveness by 5%.","name":"Utility 2.4","tier":2,"id":"utility_t2_4","tree":"utility","maxRank":4,"cost":2},{"description":"This is a dummy Utility 2.5 talent. Each point increases effectiveness by 5%.","name":"Utility 2.5","tier":2,"id":"utility_t2_5","tree":"utility","maxRank":4,"cost":2},{"description":"This is a dummy Utility 3.1 talent. Each point increases effectiveness by 5%.","name":"Utility 3.1","tier":3,"id":"utility_t3_1","tree":"utility","maxRank":6,"cost":3},{"description":"This is a dummy Utility 3.2 talent. Each point increases effectiveness by 5%.","name":"Utility 3.2","tier":3,"id":"utility_t3_2","tree":"utility","maxRank":6,"cost":3},{"description":"This is a dummy Utility 3.3 talent. Each point increases effectiveness by 5%.","name":"Utility 3.3","tier":3,"id":"utility_t3_3","tree":"utility","maxRank":6,"cost":3},{"description":"This is a dummy Utility 3.4 talent. Each point increases effectiveness by 5%.","name":"Utility 3.4","tier":3,"id":"utility_t3_4","tree":"utility","maxRank":6,"cost":3},{"description":"This is a dummy Utility 3.5 talent. Each point increases effectiveness by 5%.","name":"Utility 3.5","tier":3,"id":"utility_t3_5","tree":"utility","maxRank":6,"cost":3},{"description":"This is a dummy Utility 4.1 talent. Each point increases effectiveness by 5%.","name":"Utility 4.1","tier":4,"id":"utility_t4_1","tree":"utility","maxRank":8,"cost":4},{"description":"This is a dummy Utility 4.2 talent. Each point increases effectiveness by 5%.","name":"Utility 4.2","tier":4,"id":"utility_t4_2","tree":"utility","maxRank":8,"cost":4},{"description":"This is a dummy Utility 4.3 talent. Each point increases effectiveness by 5%.","name":"Utility 4.3","tier":4,"id":"utility_t4_3","tree":"utility","maxRank":8,"cost":4},{"description":"This is a dummy Utility 4.4 talent. Each point increases effectiveness by 5%.","name":"Utility 4.4","tier":4,"id":"utility_t4_4","tree":"utility","maxRank":8,"cost":4},{"description":"This is a dummy Utility 4.5 talent. Each point increases effectiveness by 5%.","name":"Utility 4.5","tier":4,"id":"utility_t4_5","tree":"utility","maxRank":8,"cost":4},{"description":"This is a dummy Utility 5.1 talent. Each point increases effectiveness by 5%.","name":"Utility 5.1","tier":5,"id":"utility_t5_1","tree":"utility","maxRank":10,"cost":5},{"description":"This is a dummy Utility 5.2 talent. Each point increases effectiveness by 5%.","name":"Utility 5.2","tier":5,"id":"utility_t5_2","tree":"utility","maxRank":10,"cost":5},{"description":"This is a dummy Utility 5.3 talent. Each point increases effectiveness by 5%.","name":"Utility 5.3","tier":5,"id":"utility_t5_3","tree":"utility","maxRank":10,"cost":5},{"description":"This is a dummy Utility 5.4 talent. Each point increases effectiveness by 5%.","name":"Utility 5.4","tier":5,"id":"utility_t5_4","tree":"utility","maxRank":10,"cost":5},{"description":"This is a dummy Utility 5.5 talent. Each point increases effectiveness by 5%.","name":"Utility 5.5","tier":5,"id":"utility_t5_5","tree":"utility","maxRank":10,"cost":5}],"trees":[{"id":"pvm","tiers":5,"name":"PvM Talents","color":"#CF4040"},{"id":"skilling","tiers":5,"name":"Skilling Talents","color":"#40CF40"},{"id":"utility","tiers":5,"name":"Utility Talents","color":"#4040CF"}]}; // State management let state = { pointsSpent: 0, trees: {}, talents: {} }; // Initialize state function initializeState() { // Initialize tree state talentConfig.trees.forEach(tree => { state.trees[tree.id] = { points: 0, unlockedTiers: 1 }; }); // Initialize talent state talentConfig.talents.forEach(talent => { state.talents[talent.id] = { currentRank: 0, maxRank: talent.maxRank, cost: talent.cost, tree: talent.tree, tier: talent.tier }; }); updateUI(); } // Talent manipulation functions function incrementTalent(talentId) { const talent = state.talents[talentId]; const tree = state.trees[talent.tree]; if (talent.currentRank >= talent.maxRank || state.pointsSpent >= MAX_POINTS) { return; } talent.currentRank++; state.pointsSpent += talent.cost; tree.points += talent.cost; // Check if this unlocks the next tier const pointsNeededForNextTier = talent.tier * 5; if (tree.points >= pointsNeededForNextTier && tree.unlockedTiers <= talent.tier) { tree.unlockedTiers = talent.tier + 1; } updateUI(); } function decrementTalent(talentId) { const talent = state.talents[talentId]; if (talent.currentRank <= 0) { return; } // Check if this would break tier requirements for higher talents const tree = state.trees[talent.tree]; const pointsInTreeAfterDecrement = tree.points - talent.cost; // Check if any higher-tier talents have points that would be invalidated let canDecrement = true; Object.values(state.talents).forEach(t => { if (t.tree === talent.tree && t.tier > talent.tier && t.currentRank > 0) { const requiredPoints = (t.tier - 1) * 5; if (pointsInTreeAfterDecrement < requiredPoints) { canDecrement = false; } } }); if (!canDecrement) { alert("Cannot remove point - higher tier talents depend on this."); return; } talent.currentRank--; state.pointsSpent -= talent.cost; tree.points -= talent.cost; // Update unlocked tiers if (tree.unlockedTiers > 1) { for (let tier = tree.unlockedTiers; tier > 1; tier--) { const pointsNeededForThisTier = (tier - 1) * 5; if (tree.points < pointsNeededForThisTier) { tree.unlockedTiers = tier - 1; } else { break; } } } updateUI(); } // Tree reset function function resetTree(treeId) { if (!confirm('Are you sure you want to reset all ' + treeId + ' talents?')) { return; } const tree = state.trees[treeId]; // Reset all talents in this tree Object.entries(state.talents).forEach(([talentId, talent]) => { if (talent.tree === treeId && talent.currentRank > 0) { state.pointsSpent -= (talent.currentRank * talent.cost); talent.currentRank = 0; } }); // Reset tree state tree.points = 0; tree.unlockedTiers = 1; updateUI(); } // Reset all talents function resetAllTalents() { if (!confirm('Are you sure you want to reset ALL talents?')) { return; } state.pointsSpent = 0; // Reset all trees Object.values(state.trees).forEach(tree => { tree.points = 0; tree.unlockedTiers = 1; }); // Reset all talents Object.values(state.talents).forEach(talent => { talent.currentRank = 0; }); updateUI(); } // Import/Export functions function exportBuild() { let exportString = ; // Format: talentId:rank,talentId:rank,... Object.entries(state.talents).forEach(([talentId, talent]) => { if (talent.currentRank > 0) { exportString += talentId + ':' + talent.currentRank + ','; } }); // Remove trailing comma if (exportString.endsWith(',')) { exportString = exportString.substring(0, exportString.length - 1); } document.getElementById('build-string').value = exportString; } function importBuild() { // Reset current build first resetAllTalents(); const importString = document.getElementById('build-string').value.trim(); if (!importString) { return; } try { const talents = importString.split(','); // Process each talent entry talents.forEach(talentEntry => { const [talentId, rankStr] = talentEntry.split(':'); const rank = parseInt(rankStr, 10); if (state.talents[talentId] && !isNaN(rank)) { // Apply points tier by tier to maintain requirements for (let i = 0; i < rank; i++) { const talent = state.talents[talentId]; const tree = state.trees[talent.tree]; // Check if tier is unlocked const requiredPoints = (talent.tier - 1) * 5; if (tree.points >= requiredPoints) { // Add the point if (talent.currentRank < talent.maxRank && state.pointsSpent < MAX_POINTS) { talent.currentRank++; state.pointsSpent += talent.cost; tree.points += talent.cost; // Update unlocked tiers if (tree.unlockedTiers <= talent.tier) { const nextTierPoints = talent.tier * 5; if (tree.points >= nextTierPoints) { tree.unlockedTiers = talent.tier + 1; } } } } } } }); updateUI(); } catch (e) { console.error("Error importing build:", e); alert("Invalid build string format. Please check and try again."); } } // UI update function function updateUI() { // Update global points counter document.getElementById('spent-points').textContent = state.pointsSpent; // Update each tree talentConfig.trees.forEach(tree => { const treeState = state.trees[tree.id]; // Update tree points document.getElementById(tree.id + '-points').textContent = treeState.points; // Update tier availability for (let tier = 1; tier <= 5; tier++) { const tierElement = document.getElementById(tree.id + '-tier-' + tier); if (tier <= treeState.unlockedTiers) { tierElement.classList.remove('locked'); } else { tierElement.classList.add('locked'); } } }); // Update talent ranks and buttons talentConfig.talents.forEach(talent => { const talentState = state.talents[talent.id]; const talentElement = document.getElementById(talent.id); const rankDisplay = talentElement.querySelector('.talent-rank'); // Update rank display rankDisplay.textContent = talentState.currentRank + '/' + talentState.maxRank; // Update buttons const minusBtn = talentElement.querySelector('.talent-minus'); const plusBtn = talentElement.querySelector('.talent-plus'); // Minus button disabled if rank is 0 minusBtn.disabled = talentState.currentRank === 0; // Plus button disabled if max rank or out of points plusBtn.disabled = ( talentState.currentRank >= talentState.maxRank || state.pointsSpent >= MAX_POINTS || state.trees[talentState.tree].unlockedTiers <= talentState.tier ); }); } // Initialize on page load initializeState(); // Apply import if provided if (document.getElementById('build-string').value) { importBuild(); } </script>