How to : Avoidance Diminishing Return (Warrior)
  • Alexander 27 ottobre 2013, 02:08 Alexander
    Messaggi: 19

    Iscritto il: 22 marzo 2011, 14:21
    #1
    Quanto segue è il "naturale" proseguimento di una ricerca molto dettagliata sulla DR dei tank: mi occuperò principalmente di Warriors ma molto di quanto verrà detto potrà essere applicato anche alle altre classi tank con le opportune modifiche del caso. Diamo alcune definizioni basilari per rientrare nell'ottica dell'argomento.

    1) Cos'è la Diminishing Return ?

    Iniziamo con un esempio. Supponiamo che abbiate preso un pezzo nuovo in raid, lo indossate e riempite un socket con una gemma parry, avrete un incremento X% alla vostra percentuale di parry. Se ora riempite un altro socket dello stesso item con un altra gemma parry noterete che non c'è stato lo stesso incremento, ma qualcosa di meno. Questo è l'effetto della Diminishing Return (da ora DR): più si tende ad alzare una statistica di tipo avoidance e più rating è necessario per alzarla.
    Nelle statistiche del vostro pg, se andate in mouseover al parry/dodge rating vedrete che vi da un indicazione del parry/dodge prima della DR. Questo valore è il rating diviso 885, chiameremo tali valori pre_parry/pre_dodge.
    Non vi sarebbe nulla da discutere se ogni statistica scalasse in maniera identica ma purtroppo o per fortuna non è così.

    2) Le equazioni di riferimento

    Le equazioni che descrivono il passaggio dalla percentuale senza DR a quella con DR sono state trovate da Theck di SacredDuty.net e sono le seguenti. Dato che il forum non rende vi consiglio comunque di andare a vedere il suo sito, il link diretto lo trovate alla fine del post.
    Parry = 3 + baseStr/Q_s + (1/C_p + k/((Str-baseStr)/Q_s+pre_Parry))^(-1)
    Dodge = 5 + baseAgi/Q_a + (1/C_d + k/((Agi-baseAgi)/Q_a+pre_Dodge))^(-1)
    dove
    C_p = 237.1860 rappresenta il cap del parry.
    C_d = 90.6425 rappresenta il cap del dodge.
    k = 0.956 rappresenta il fattore di scala.
    Q_s = 951.158596 è il fattore di trasformazione str-parry.
    Q_a = 10000 è il fattore di trasformazione agi-dodge.
    Nel caso del Night Elf si deve aggiungere 2 all'equazione del Dodge.

    3) La novità

    I tank meno informati di solito seguono le scalette che si trovano sui vari siti poco affidabili del tipo stamina>parry=dodge>mastery e consimili, quelli già più avanzati usano delle macro (abbastanza utili ma solo se usate iterativamente) per bilanciare le percentuali come quella che ci dice il dodge ideale per il nostro parry. Il mio lavoro è stato quello di trovare esattamente il valore di massimizzazione dell'avoidance per evitare di buttare gold su gold per trovare il valore migliore.

    4) Le basi

    Per calcolare i valori esatti dobbiamo partire da alcuni dati fissi. Nel nostro caso terremo fissi i valori di Stamina, Strength, Agility, Hit ed Expertise. Faremo dunque variare solamente il Dodge e Parry Rating mentre teniamo fissa la loro somma: questo perchè attualmente socketiamo con gemme Parry/Dodge rating.

    5) I valori

    Per calcolare il valore ottimale di parry rating (sarebbe stato uguale cercando quello di dodge) si è sommato le due equazioni e poi si è derivato rispetto al parry rating (ponendo il dodge rating uguale a una costante meno il parry rating). Si determina dunque che il valore che rende massima la somma è

    (1435567988408320*baseStr)/5580180707304480 - (7693268565897510*baseAgi)/120150415888788000 + (7693268565897510*Agi)/120150415888788000 - (1435567988408320*Str)/5580180707304480 + (6519719123641950*Total_Rating)/9011281191659110

    Tale valore è stato determinato tramite il software di calcolo simbolico MATLAB. Il valore del dodge rating è ovviamente il Total_Rating meno il nuovo Parry Rating. Se utilizziamo i nostri dati nell'equazione otterremo sicuramente un valore non intero, cosa che è impossibile per il rating. Prendiamo dunque il valore sempre arrotondato per eccesso poiché il Parry scala meglio (è possibile verificare tale affermazione esaminando l'equazione relativa).

    6) Il guadagno: Tabelline, Macro, Addon e AskMrRobot

    I dati qui di seguito si riferiscono ad un iLvl alto - molto alto. Nel caso del tank molto mal informato che segue una tabellina pensando che parry=dodge voglia dire cercare di eguagliare le percentuali tale cambiamento può portare ad un incremento fino al 5-6% dell'avoidance. Nel caso del tank che cerca di eguagliare i rating di dodge e parry si può guadagnare fino all'1% di avoidance. Se un tank usava la macro Waniou ripetutamente può guadagnare fino allo 0,3% di avoidance .
    Ora pensiamo a un Warrior Protection High-End, propongo due alternative per la massimizzazione in base al quantitativo di gold che si vuole spendere ogni volta che prendiamo un nuovo pezzo. Se si vuole spendere poco la migliore alternativa è utilizzare l'addon ReforgeLite impostando opportunamente la priority di Dodge e Parry in base al risultato dell'equazione e poi cambiare le gemme cercando di avvicinarsi il più possibile al valore trovato e al massimo cambiare qualche reforge (questo per cercare di mantenere giusti i cap di Hit ed Expertise). L'alternativa per i più facoltosi è utilizzare AskMrRobot e cambiare gemme e reforge secondo le sue indicazioni (lui cerca di pareggiare dodge e parry rating), dopodiché cambieremo sul live le gemme per ottenere dei valori più vicini a quelli ottimali.
    In questi giorni ho fatto diverse prove sopratutto con AskMrRobot che assegna uno score ai nostri reforge/gemming e vedrete che seguento la seconda opzione, il vostro score sarà superiore a quello da lui proposto come ottimale. Quanto ho detto finora può sembrare strano ad una prima lettura ma se avrete cura di ripercorrere i processi matematici capirete esattamente il punto: non fidatevi quindi delle soluzioni semplici proposte da tabelline, addon e AskMrRobot perché non è il massimo che potete spremere dal vostro pg.

    7) Un arma a doppio taglio!

    L'equazione che ho fornito non è comprensiva dei buff che ognuno di noi subisce in raid e quindi dovrete inserire i valori aumentati dai buff! Se proverete l'equazione senza buff otterete il valore ottimale nella condizione giochiate senza buff, ma ovviamente raiderete con i buff! Dovrete fare quindi attenzione ad aumentare opportunamente i valori di Strength e Agility. La cosa migliore che potete fare è utilizzare la seguente macro quando non avete buff, se volete considerare anche le flask con/senza mixology e/o cibi strength sommate il valore con la vostra str base, il valore che uscirà è quello il parry rating per la condizione di fullbuffed.

    /script baseStr = 202; baseAgi = 137; local base, Strpg, posBuff, negBuff = UnitStat("player",1); StrAdj=1000; Str=(Strpg+StrAdj)*1.05; local base, Agipg, posBuff, negBuff = UnitStat("player",2); Agi=Agipg*1.05;Total_Rating = GetCombatRatingBonus(CR_PARRY)*885+GetCombatRatingBonus(CR_DODGE)*885; d=(1435567988408320*baseStr)/5580180707304480 - (7693268565897510*baseAgi)/120150415888788000 + (7693268565897510*Agi)/120150415888788000 - (1435567988408320*Str)/5580180707304480 + (6519719123641950*Total_Rating)/9011281191659110; print("Parry Rating: ") print(d); print("Dodge Rating: "); print(Total_Rating-d);


    Per usare questa macro è necessario l'addon Super Duper Macro che permette di fare macro oltre i 255 caratteri. Se tankate con flask/cibi str e siete alchemist/panda modificate opportunamente il valore StrAdj=1000 (ad esempio se non usate nè flask nè cibi mettete 0).

    A breve posterò anche su wow-europe la traduzione così anche altri theorycrafter potranno dire la loro!

    8 ) Link utili

    http://www.sacredduty.net/2012/09/14/av ... -followup/
    0