Умение Deflect Arrow
Deflect Arrow — защитный бафф на себя, который снижает получаемый урон от луков/арбалетов (уменьшает bowWpnVuln).
Эффект по уровням: множитель уязвимости к луку 0.84 / 0.76 / 0.68 / 0.60 → это примерно −16% / −24% / −32% / −40% урона от bow-атак.
Enchant:
- Ветка 1: увеличивает длительность до 1240–2400 сек, при этом эффект фиксируется на 0.60 (−40%).
- Ветка 2: снижает расход MP.
| level | mpConsume | aggro | bowWpnVuln | stackOrder |
|---|---|---|---|---|
| 1 | 11 | 10 | 0.84 | 1 |
| 2 | 14 | 20 | 0.76 | 2 |
| 3 | 19 | 30 | 0.68 | 3 |
| 4 | 22 | 40 | 0.60 | 4 |
| + | magicLvl |
|---|---|
| +1 | 76 |
| +2 | 76 |
| +3 | 76 |
| +4 | 77 |
| +5 | 77 |
| +6 | 77 |
| +7 | 78 |
| +8 | 78 |
| +9 | 78 |
| +10 | 79 |
| +11 | 79 |
| +12 | 79 |
| +13 | 80 |
| +14 | 80 |
| +15 | 80 |
| +16 | 81 |
| +17 | 81 |
| +18 | 81 |
| +19 | 82 |
| +20 | 82 |
| +21 | 82 |
| +22 | 82 |
| +23 | 83 |
| +24 | 83 |
| +25 | 83 |
| +26 | 84 |
| +27 | 84 |
| +28 | 85 |
| +29 | 85 |
| +30 | 85 |
| + | magicLvl | mpConsume |
|---|---|---|
| +1 | 76 | 21 |
| +2 | 76 | 21 |
| +3 | 76 | 20 |
| +4 | 77 | 20 |
| +5 | 77 | 19 |
| +6 | 77 | 19 |
| +7 | 78 | 18 |
| +8 | 78 | 18 |
| +9 | 78 | 17 |
| +10 | 79 | 17 |
| +11 | 79 | 16 |
| +12 | 79 | 16 |
| +13 | 80 | 16 |
| +14 | 80 | 15 |
| +15 | 80 | 15 |
| +16 | 81 | 14 |
| +17 | 81 | 14 |
| +18 | 81 | 14 |
| +19 | 82 | 13 |
| +20 | 82 | 13 |
| +21 | 82 | 12 |
| +22 | 82 | 12 |
| +23 | 83 | 12 |
| +24 | 83 | 11 |
| +25 | 83 | 11 |
| +26 | 84 | 10 |
| +27 | 84 | 10 |
| +28 | 85 | 10 |
| +29 | 85 | 9 |
| +30 | 85 | 9 |
var root = document.getElementById('svSkillRoot'); if(!root) return;
// Tabs (levels / enchant) document.addEventListener('click', function(e){
var tab = e.target.closest('.sv-tab[data-tab]'); if(!tab) return;
var tabName = tab.getAttribute('data-tab'); var tabs = root.querySelectorAll('.sv-tab[data-tab]'); var panels = root.querySelectorAll('.sv-panel[data-panel]');
tabs.forEach(function(t){ t.classList.toggle('is-active', t === tab); t.setAttribute('aria-selected', t === tab ? 'true' : 'false'); });
panels.forEach(function(p){ var isTarget = p.getAttribute('data-panel') === tabName; p.classList.toggle('sv-hidden', !isTarget); });
// If enchant absent -> show notice inside ENCHANT panel if(tabName === 'enchant'){
var noEnchant = tab.getAttribute('data-no-enchant') === '1'; var panel = root.querySelector('.sv-panel[data-panel="enchant"]'); if(!panel) return;
var empty = panel.querySelector('[data-ench-empty]'); var content = panel.querySelector('[data-ench-content]');
if(noEnchant){ if(empty) empty.classList.remove('sv-hidden'); if(content) content.classList.add('sv-hidden'); } else { if(empty) empty.classList.add('sv-hidden'); if(content) content.classList.remove('sv-hidden'); } }
}, true);
// Enchant branch switch (ench1/ench2/ench3...) document.addEventListener('click', function(e){
var pill = e.target.closest('.sv-pill[data-ench]'); if(!pill) return;
var key = pill.getAttribute('data-ench'); // ench1, ench2... var panel = root.querySelector('.sv-panel[data-panel="enchant"]'); if(!panel) return;
var pills = panel.querySelectorAll('.sv-pill[data-ench]'); var enchPanels = panel.querySelectorAll('.sv-ench-panel[data-ench-panel]');
pills.forEach(function(b){ b.classList.toggle('is-active', b === pill); b.setAttribute('aria-selected', b === pill ? 'true' : 'false'); });
enchPanels.forEach(function(p){ p.classList.toggle('sv-hidden', p.getAttribute('data-ench-panel') !== key); });
}, true);
})();
