Talent calculator: Difference between revisions

From August Wiki
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>
   

PvM Talents

               0 Points
               <button class="reset-tree-btn" onclick="resetTree('pvm')">Reset</button>
                   Tier 1
                   Required Points: 0
0/2

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>
0/2

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>
0/2

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>
0/2

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>
0/2

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
0/4

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>
0/4

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>
0/4

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>
0/4

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>
0/4

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
0/6

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>
0/6

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>
0/6

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>
0/6

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>
0/6

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
0/8

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>
0/8

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>
0/8

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>
0/8

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>
0/8

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
0/10

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>
0/10

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>
0/10

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>
0/10

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>
0/10

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
0/2

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>
0/2

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>
0/2

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>
0/2

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>
0/2

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
0/4

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>
0/4

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>
0/4

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>
0/4

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>
0/4

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
0/6

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>
0/6

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>
0/6

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>
0/6

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>
0/6

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
0/8

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>
0/8

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>
0/8

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>
0/8

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>
0/8

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
0/10

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>
0/10

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>
0/10

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>
0/10

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>
0/10

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
0/2

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>
0/2

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>
0/2

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>
0/2

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>
0/2

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
0/4

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>
0/4

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>
0/4

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>
0/4

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>
0/4

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
0/6

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>
0/6

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>
0/6

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>
0/6

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>
0/6

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
0/8

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>
0/8

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>
0/8

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>
0/8

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>
0/8

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
0/10

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>
0/10

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>
0/10

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>
0/10

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>
0/10

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>