DiablovoDoupě LITE - texty a odkazy

Mechanismus modifikace škody


Pro verzi 1.10
(pro verzi 1.09 )

Compiled by Tommi Gustafsson
Translation: SuE z Damage Modification Mechanics (with kind general permission from Tommi)

Obsah: 1. Druhy škody | 2. Modifikace škody | 3. Výpočty resistencí | 4. Pořadí modifikací škody | 5. Vzorce pro výpočet | Acknowledgements


1. Druhy škody

V Diablo II je 6 hlavních typů škody: Fire (oheň), Cold (chlad), Lightning (blesky), Poison (jed), Magická, a fyzická. Každá má své příslušné resistence, ačkoli jen na obrazovce postavy (C screen) se zobrazují jen 4 z nich

1.1 Příklady druhů škody

1.2 Jedová škoda a délka působení jedu

Na rozdíl od jiných typů damage má jed dvě charakteristiky, které ovlivňují celkovou jedovou škodu: jedová škoda na frame a délka jedu. Celková škoda je vypočítávána jako jedová škoda na frame x délka jedu ve framech (frame je jednotka času - 1/25 sekundy, neboli je 25 framů za 1 second). Proto existují i dvě schopnosti jak se bránit jedu, které ovlivňují výslednou škodu Poison Resistance a Redukce délky působení jedu (Poison Length Reduction). Ta první ovlivňuje výši jedové škody za frame a ta druhá délku působení jedu


2. Modifikace škody

Ve hře existuje 8 druhů modifikací škody:

2.1 Schopnosti pro modifikaci škody

Schopnosti/možnosti jak modifikovat škodu jsou vypsány níže. Všimněte si, že není nic, co by ovlivňovalo resistenci na magickou škodu. Proto je u hráče i pomocníka resistence na magickou škodu vždy 0.

Schopnost redukce škody Zkratka Ovlivnuje druh škody Penalizace na obtížnost4)
Nightmare/Hell)
Dolní Limit Horní Limit Příklad věci s touto schopností
Resist +X%, 4 různé druhy Resistence Fire/Cold/Lightning/Poison -40% / -100% -100% 75%1) / 95%2) většina věcí ve hře
All Resistances +X

Resistance

Fire, Cold, Lightning, a Poison viz výše viz výše viz výše

Tearhaunch (unique greaves)

Damage Reduced By X% (fyzická res) Resistance a DR% Fyzická - -100% 50%3) Shaftstop (unique mesh armor)
Poison Length Reduced by X%

PLR

Délka jedu

-40% / -100%

-100%

75%1) /

Death's Hand (set gloves)
Magická resistence +X%ResistenceMagická - -100

75%1) /

Safety craft štít
Damage Reduced By X DR Fyzická - - - Duskdeep (unique full helm)
Magic Damage Reduced By X MDR Fire, Cold, Lightning, a Magic - - - Greyform (unique quilted armor)
Absorb X%, 3 různé druhy Absorb% Fire/Cold/Lightning - - 40% Raven Frost (unique ring)
+X Absorb, 4 různé druhy Absorb Fire/Cold/Lightning/Magic - - - Blackhorn's Face (unique death mask)
Energy Shield (Sorceress) ES Fyzická, Fire, Cold, Lightning a Magic - - - -
Bone Armor (Necromancer) BA Fyzická - - - -
Cyclone Armor (Druid) CA Fire, Cold, a Lightning - - - -
Podle protivníka XvX Všechny typy škody - - - -
1) 75% je normální limit pro hráče a pomocníky
2) 95% je možno dosáhnout s věcmi, které přidávají +maximum resistance jako třeba Guardian Angel (unique templar coat).
3) 50% je normální limit fyzické resistence pro hráče a pomocníky.
4) Penalizace na obtížnost se aplikuje jen na hráče a pomocníky. Neovlivňuje potvory, golemy a miniony (vyvolaná stvoření)

2.2 Magic Damage Reduced by X a útoky trvající v čase(Frame-Based)

ˇUčinek redukce magické škody (MDR) je snížen u některých kontinuálních útoků. Více zde (zatím nepřeloženo).

2.3 Modifikace podle protivníka (XvX)

Škoda je dále modifikována podle druhu obránce a útočníka (XvX ). Níže v tabulce jsou uvedeny různé kombinace.

tabulka XvX Obránce
Hráč Pomocník (žoldák) Golem Minion (vyvolaný)1) Koncový Boss2) Potvora
Útočník Hráč

17%

100%

100%

100%

100%

100%

Pomocník

17%

25%

100%

100%

50%, 35%, 25%3)

100%

Golem nebo Minion1)

17%

100%

100%

100%

100%

100%

Koncový Boss v Aktu

100%

100%

300%

500%

100%

100%

Potvora

100%

100%

100%

100%

100%

100%

1) Minion je jakékoli stvoření, které ovládá hráč, kromě golema a pomocníka (žoldáka).
2) Specialní boss je koncový boss v aktu a ti bossové, kteří mají v monstats.txt eBoss = 1
3) Podle příslušné obtížnosti - Normal, Nightmare a Hell

2.4  Život získaný z absorpce

Absorpce dává jen tolik života, kolik se skutečně zredukuje. Život z absorpce se pričítá k aktuálnímu počtu životů postavy ale celková suma nemůže přesáhnout maximum života postavy. Proto je možné utrpět škodu i při velké absorpci. Fakticky, pokud konečná škoda přesahuje maximum života postavy, absorpce nezabrání smrti.

3. Výpočty resistence

3.1 Pořadí výpočtu resistencí a účinky modifikací

Resistence jsou redukovány určitými skilly (dovednostmi) a také penalizací za obtížnost Pořadí výpočtů pro resistence je následující

1. Resistence

Sečtou se všechny příslušné rezistence ze všech zdrojů (věci, skilly apod)

2. Kletby a aury, které redukují rezistence

Od předešlého výsledku se odečtou účinky kleteb a aur, které redukuji resistence. Jestliže jsou zakouzleny na potvoru, která je imunní, fungují s 1/5 účinností. Jsou to následující skilly:

Skill ovlivněné resistence účinek redukce1)
Normalní cíl Immunní potvora
Amplify Damage (Necromancer curse) Fyzická resistence -100 -20
Conviction (Paladin offensive aura) Fire, cold a lightning resistence -X -X/5
Decrepify (Necromancer curse) Fyzická resistence -50 -10
Lower resist (Necromancer curse) Fire, cold, lightning a poison resistence -X -X/5

1) X znamená hodnotu snížení ze skillu.

3. Osobní skilly a vlastnosti na redukci resistencí

Skilly a věci, které redukují resistence ale nejsou spojeny s cílem, jsou vypočítávány až jako další. Neovlivní imunní potvory ale jestliže resistence takových potvor je snížena pod 100 v předešlém kroku (kletbou, aurou), mají tyto skilly a věci/vlastnosti plnou účinnost

Skill nebo vlastnost Ovlivněné resistence účinek redukce1)
Normalní cíl Immunní potvora2)
Cold Mastery (Sorceress cold skill) Cold resistence -X 0
-X% to Enemy Fire/Cold/Lightning/Poison Resistance Fire, cold, lightning nebo poison resistence -X 0

1) X znamená hodnotu redukce ze skillu / vlastnosti.
2) Potvory, které v tomto kroku mají resistence 100 nebo více
pozn překl: -X% to Enemy Fire/... znamená -X k resistencím nepřítele (sníží jeho resisty o X)

4. Penalizace za obtížnost

Aplikuje se penalizace za obtížnost na výsledek. Pouze na hráče a pomocníky (žoldáky). Neovlivňuje potvory, golemy a miniony (vyvolaná stvoření)

5. Dolní a horní limit

Aplikuje se dolní a horní limit pro resistence. Potvory, golemové a minioni mají jiné limity než hráči a pomocníci

6. Efekty, které ignorují resistence

V tomhle kroku se započítávají skilly a vlastnosti z věcí, které ignorují resistence. jako např Sanctuary (paladin offensive aura). Resistence, které ovlivňují, si nastaví na 0, pokud jsou nad 0. Negativní resistence se nemění. Tohle se uplatní jen při konkrétním výpočtu, nikoli na skutečné resistence cíle

3.2  Poznámky k výpočtu resistencí

Skilly a vlastnosti věcí, které snižuje (pierce) resistenci na jed, také snižují redukci délky jedu (PLR). Např -50% enemy poison resistence redukuje resistenci na jed a redukci délky trvání jedu o 50.

Blesková škoda z Fists of Heavens nesnižuje resistence.

Scroll of resistance, která postava dostane od Malah v Act V po osvobození Anyi, přidá 10% k fire, cold, lightning a poison resistances.


4. Pořadí při výpočtu

4.1 Učinky modifikací škody

Pořadí, v jakém se modifikace škody aplikují je přesně definováno následovně:
  1. XvX
  2. Energy Shield
  3. Bone Armor a Cyclone Armor
  4. DR a MDR (redukce fyz a magické škody)
  5. Resistence
  6. % Absorpce
  7. Přímá Absorpce
V žádném z těchto kroků nemůže být škoda redukována pod 0. Výsledek je nazýván způsobená škoda.

4.2 Speciální efekty

Existují některé speciální efekty, které se uplatní před výsledkem škody: Thorns, Iron Maiden, Spirit of barbs a věci s Vulpine (X% škody jde do many) Všechny používají fyzickou škodu po výpočtu všech modifikací škody, tedy Utrpěnou fyzickou škodu, jako zdroj své škody. Např věci s Vulpine přidají X/100 z fyzické damage do many obránce.

4.3 Výpočet škody

Škoda a získaný život
Získaný život a způsobená škoda jsou aplikovány v následujícím pořadí:
  1. Přičte se život získaný z absorpce
  2. Sníží se život o způsobenou škodu
Ztráta a zisk many
Některé efekty, jako energy shield a útoky potvor, které spalují manu (mana burn) způsobí, že ztratíte manu místo života. Toto se nazývá manová škoda. Jiné efekty jako Damage goes to mana (věci s Vulpine) způsobí, že získáte manu. Funguje to podobně jako ztráta a získání života - jsou tedy aplikovány na aktuální množství many cíle v následujcím pořadí:
  1. Přidání many z věcí s Vulpine (a jiných možných zdrojů)
  2. Redukce many, která se rovná Utrpěné manové škodě. Protože neexistují žádné efekty, které by modifikovaly manovou škodu, je tato škoda vždy rovna manové škodě způsobené útočníkem + manové škodě způsobené Energy shieldem. Škoda z energy shieldu je (32 - nemodifikovaný level skillu Telekinesis) / 16 x škoda absorbovaná Energy Shieldem

4.4 Defense(obrana) a Blokování ve vztahu k modifikátorům škody

Defense a blokování se počítají v kroku, který určuje zásah (to-hit) a který je před výpočtem modifikací škody. Přesné pořadí je následující:

  1. Defense - jestli úder trefí (viz výpočet, zda bude postava zasažena)
  2. Blokování - jestli postava úder vyblokuje(aplikuje se v 1/3 když obránce běží; weapon block assky je ignorován, když obránce běží)
  3. Určení škody, kterou dělá útočník, jestliže úder trefí
  4. Aplikace modifikátorů škody

5. Vzorce pro výpočet škody

5.1 Způsobená škoda a získaný život

Za předpokladu, že škoda není v žádném kroku redukována na 0, získáme následující rovnice pro způsobenou škodu a získaný život :
Způsobená škoda = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * (1 - Absorb% / 100) - Absorb

Získaný život = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * Absorb% + Absorb

Resistence, Absorpce%, XvX, a ES jsou v těchto rovnicích brány jako integer, např 50.

5.2 Konečná škoda

Jestliže dále předpokládáme, že život může být v plné výši přidán k počtu životů postavy (nepřekročí maximum), můžeme počítat konečnou škodu takto. (tjškoda skutečně udělaná postavě se započtením způsobené škody a získaného života z absorpce .)
Konečná škoda = způsobená škoda - získaný život
Dosazením dostaneme:
Konečná škoda = (Damage * XvX / 100 * (1 - ES / 100) - ArmorSkill - DR) * (1 - Resistance / 100) * (1 - 2 * Absorb% / 100) - 2 * Absorb
Záporná konečná škoda znamená, že jste získali životy.

5.3 Manová škoda

Manová škoda a získaná mana se vypočítá podle následujícího vzorce:

Utrpěná manová škoda = ManaDamage + (32 - TelekinesisBaseLevel) / 16 * Damage * XvX / 100 * ES / 100

Získaná mana = (PhysicalDamage * XvX / 100 * (1 - ES / 100) - BoneArmor - DR) * (1 - PhysicalResistance / 100) * DamageGoesToMana% / 100

Procentní hodnoty jako fyz resistence, XvX a ES jsou v těchto rovnicích brány jako integer.

5.4 Konečná manová škoda

Konečná škoda v maně může být počítána podobně jako u života:
Konečná manová škoda = Utrpěná manová škoda - získaná mana
záporná konečná manová škoda znamená, že jste získali manu.

5.5 Pojmy v rovnici


Acknowledgements

Adamantine for pointing out several omissions and mistakes in an early version of the page updated to the 1.10 version of Diablo 2.
Adeyke
for information about resistance calculations.
Jarulf
for the application order of the damage modification effects and for the information about unit type modifications.
Ruvanal for testing that MDR applies to fire, cold, lightning and magic damage but not poison damage.
Steve Estes for suggesting to add the application point of Damage Goes To Mana and how defense and blocking relate to damage modification effects.
Valkemen for initially pointing out that magic resistance is not affected by difficulty penalty.


Z diskuse

Saesa
Tak jinak.. MDR muzes pouzit k redukovani/ale i uplnemu zruseni poskozeni z magickych utoku.
Pro utoku, ktere maji damagereta>0 bude efekt damage reduce fungovat tak, ze za kazdy bod damage ratu se snizi hodnota poskozeni o 1 bod.
Vzorec by byl MDR*DamageRate/1024 nebo normal dmg reduce*damagereduce/1024. Vzhledem k tomu, jak funguje to scalovani u MDR proste vychazej z toho, ze misto 1 bodu, o ktere bys ziskal mensi dmg, vzorec operuje s hodnotami 256/256 damage ( nebo zivota )
Takze napriklad, kdyby ses nejakym zazracnym zpusobem dostal k tak vysoke hodnoet MDR jako je 7 proti utokum jakym je napriklad inferno u demonu ( v aktu5 pred baalem ) ( damage reduce=82 ) efekt mdr by byl 7*256*82/1024 = 143.. takze 143/256 damage reduce pro kazdy zasah tim jejich infernem a jeste musis brat v ohled, ze inferno zasahuje 25x za sekundu.

takze vysledna redukce utoku za sekundu by byla 25*143/256 = 3575/256 = nejakych +-14 dmg za sekundu. Dosad si tam vyssi cislo, najdi si priseru s mnohem nizsim damageratem, kterych je v hellu ( a vubec v cele hre ) kurva hodne a prijdes na to, ze v kombinaci s rezisty a MDR% muzes utok uplne "vynulovat" :)

Takze si uvedme jiny priklad.. mas dejme tomu 80% rezisty a 60 mdr. Jsi immuni vuci vsemu, co dela mene a rovno 60 md a beres jen petinu z utoku, kterou jsou vyssi nez 60. A to zanedbavam nejake procenta..

DamageRate je hodnota utoku pripsana kazdemu utoku ve hre, jak tam ma Tommi ty mdr modifikatory, tak neco podobneho. megademoninferno ma 82, ruzne druhy firewallu, plapolajici ohynky na zemi maji 41, ale ty maji na druhou stranu, narozdil od inferna, 75 frames/sekundu.

Dhal
Imunita voči elementálnym útokom sa dosiahnuť dá. Nie voči všetkým, ale riešenie tu vo väčšine prípadov je. Stačí skombinovať vysoké rezisty a priamu absorbciu elemental (magic) damage. Ostatné zložky redukcie dmg tiež môžu pomôcť, ale bez priamych absorbcií sa k nule môžu len priblížiť na veľmi blízky dištanc. Príklad:
Fireball s dmg v pôvodnej hodnote 500
- 95% fire resist ho zredukuje na 25
- fire absorb by 15 zníž dmg na 10 - také zranenia postava priebežne utrpí
- druhá časť fire absorb by 15 zapracuje a pridá 15 life
- konečný efekt: postava sa Fireballom preliečila o 5 life pointov

Saesa
Ale my se tu nebavime o absorbu.. ale o tom, ze te nemusi zranovat ani elemental utoky pomoci vysoke hodnoty mdr

Dhal
MDR dokáže pomôcť, ale len voči plošným elemental útokom, ako je trebárs Fire Wall, či Diablov napalm. Proti väčšine elemental útokov má len zanedbateľný efekt.
Dosiahnuť hodnotu 7 MDR (Takze napriklad, kdyby ses nejakym zazracnym zpusobem dostal k tak vysoke hodnoet MDR jako je 7 - citát) nie je žiadny problém. Stačí snáď spomenúť, že safety crafted veci tento atribút majú vrodený, alebo že Vampiregase má hodnoty MDR v rozpätí 10-15. Príkladov je iste oveľa viac.

+5 life môžem získať iba vtedy, ak postava nemala pred Fireballom zdravie v plnej výške. Cez maximum life sa skutočne ísť nedá, ak som mal pred útokom full life 2000, tak po ňom s 2005 asi neskončím.

A ak mám byť úplne exaktný (v pôvodnom príklade som prehodil čas, resp. poradie v akom funguje redukcia a získavanie života z absorbcií)tak presne to funguje takto:
Postava s 95% FR, 15 Fire absorb, zasiahne ju Fireball o sile 500. Postava má max life 2000, aktuálne 1800
- pridá sa 15 hitpointov (aktuálny stav 1815)
- odráta sa spôsobená škoda podľa predchádzajúceho výpočtu - 10 hitpointov
- rezultát: 1805 hp
Ak by mala postava na začiatku full life (2000), tak prídavok hp z absorbcií sa nezaráta (bol by prekročená hodnota max life) a celá akcia skončí na hodnote zdravia 1990.

kundihrabka
Zajimava diskuze :-)
Prorazeni imunity pomoci veci nejde. Tedy pomoci tech -X% enemy Y resistence

Saesa
Ma pravdu, -% enemy resist jen snizuji rezistence nepratel a scitaji se s dalsimi -rezistencemi na skillech ( prikl. cold mastery u sorc )
nikdy tim neprorazis imunity, nicmene muzes dostat nepratelske rezistence pod o% ( az na -100% ), zvysi se tak dmg zpusobene tvymi utoky/kouzly. Nema zadny vliv na mercenaries, miniony ani na cleny tve party.

Prorazet imunitu muzes pomoci conv + lr + / doom a facety uz jen vyuzijes na srazeni resu pod 0% .


Revize podle originálu 8.4.04 - magická absorbce, změny v manové škodě