Умение Reflect Damage
Reflect Damage — защитный магический бафф на себя, отражающий часть получаемого урона обратно атакующему. Цель: только себя (TARGET_SELF). Тип эффекта: отражение урона (REFLECT), отдельный стак (dmg_shield).
Эффект: отражает 10% / 15% / 20% входящего урона (стат reflectDam) в зависимости от уровня. Генерирует агро при применении.
При заточке на +Power фиксируется максимальное отражение (20%) с увеличенным временем действия,
| level | mpConsume | mpInitialConsume | aggro | reflectDam | stackOrder |
|---|---|---|---|---|---|
| 1 | 14 | 4 | 379 | 10 | 1 |
| 2 | 17 | 5 | 438 | 15 | 2 |
| 3 | 19 | 5 | 495 | 20 | 3 |
| + | 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 | mpInitialConsume |
|---|---|---|---|
| +1 | 76 | 19 | 5 |
| +2 | 76 | 19 | 5 |
| +3 | 76 | 19 | 5 |
| +4 | 77 | 18 | 5 |
| +5 | 77 | 18 | 5 |
| +6 | 77 | 18 | 5 |
| +7 | 78 | 18 | 5 |
| +8 | 78 | 17 | 5 |
| +9 | 78 | 17 | 5 |
| +10 | 79 | 17 | 5 |
| +11 | 79 | 17 | 4 |
| +12 | 79 | 16 | 4 |
| +13 | 80 | 16 | 4 |
| +14 | 80 | 16 | 4 |
| +15 | 80 | 15 | 4 |
| +16 | 81 | 15 | 4 |
| +17 | 81 | 15 | 4 |
| +18 | 81 | 14 | 4 |
| +19 | 82 | 14 | 4 |
| +20 | 82 | 14 | 4 |
| +21 | 82 | 13 | 3 |
| +22 | 82 | 13 | 3 |
| +23 | 83 | 12 | 3 |
| +24 | 83 | 12 | 3 |
| +25 | 83 | 12 | 3 |
| +26 | 84 | 11 | 3 |
| +27 | 84 | 11 | 3 |
| +28 | 85 | 11 | 3 |
| +29 | 85 | 10 | 3 |
| +30 | 85 | 10 | 3 |
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);
})();
