Reforge
2 posters
Strana 1 z 1
Reforge
Reforge
Spravil som si jednoduchý program a rozhodol som sa s ním s Vami podeliť. Program vypisuje všetky možné hodnoty istého konkrétneho statu, ktoré sa dajú dosiahnut reforge-om, tiež reforg-om z istého konkrétneho statu do hit ratingu - opäť konkrétneho statu, ale už spomínaného . Už teraz sa to zdá byť celé veľmi konkrétne a špecifické, ale dá sa upraviť - rozširiť na reforge z hocičoho na hocičo, použitím logiky a myslenia, ktoré ďalej opíšem. Program som začal robiť, pretože som sa chcel dostať najbližsie k žiadanej hodnote 961 hit ratingu so svojim hunterom a tiež mať čo najbližšie k celočíselnej hodnote mastery, ale hlavne som raz počul ako Moonrage vraví, že ak niekto nemá presne hit, tak ... už neviem čo.
Ako všetci vieme na každom iteme sú najviac 2 staty, z ktorých môžme, nemusíme, reforge-vať.
Niekedy sa reforge-nuť dá len jeden stat a inokedy sa reforge itemu vôbec netýka.
Uvažujme, predstavme si možnosť, že snažime zreforge-ovať 16 itemov, do hitu, tak, že chceme byť, čo najbližšie k istej hodnote. Povedzme 961 hit ratingu. Máme 16 itemov, ktoré majú 2 rôzné staty a tieto staty majú rôznú hodnotu. Z každého itemu tak dostaneme 3 rôzne hodnoty hitu (ak ma každý item rôzné hodnoty statov a tým statom nieje hit). Ak by boli na niektorých itemoch mali rovnaké hodnoty, tak by len boli rovnaké hodnoty hitu z rôznych itemov. Tieto hodnoty hitu by boli 0 - žiadny refoge a ešte dve hodnoty - 40% statov z jedného a druhého statu. Ak by bol na iteme hit rating, tak by item prispel len dvoma hodnotami. Žiadny reforge by predstatoval pôvodnú nezmenenú hodnotu hitu a reforge by znamenal, že tam ešte ostalo 60% pôvodného hitu. To sa nám celkom hodí, pretože máme ďalšie čislo, ktoré nas môže priblížiť k cielenej hodnote 961 hit ratingu. Z jednej alebo druhej strany.
Ak by sme na žiadnom iteme nemali hit rating a každý item by mal rôzne staty, čo sa týka hodnoty, tak by existovalo 43 046 721 možností ako reforge-nuť. Spomínaných 43 miliónov je 3 na šestnástu - 3^16. Je to celkom jednoduchá kombinatorika. Máme 16 itemov a na každom môžme mať 3 rôzne hodnoty.
Nemať na žiadnom iteme hit je celkom extrémny prípad. Pozrime sa akoby to vyzeralo, ak by bol na každom iteme hit rating. Vtedy by sme dostali 2^16 môžností ako reforge-núť. To je 65536 možností.
Takže ak je to zmiešané - niektoré itemy s hitom iné bez, tak počet možností je niekde medzi tým. Priznám sa. Mám isté podozrenie, že Sleep vyskúšal všetky tieto možnosti v hre.
Tiež si určite každý všimol, že itemy na rovnakom levely z istých slotov majú rovnaké alebo podobné hodnoty statov. Teda nie každý item má rôzné hodnoty statov.
Head - Chest - 2H Melee Weapon - Legs
Cloak - Wrists - Neck - Rings
Shoulders - Waist - Boots
Takto, ale samozrejme asi nikto nereforge-uje. Pozrie sa na staty na iteme. Spomenie si na to, ako sa mu tie-ktoré staty oplatia a z toho menejcennejšieho vezme inam. Volá sa to priorita statov. U survival huntera s T11 4P Set Bonusom vďaka, ktorému je haste takmer bezcenný je to takto - Agilita > Hit do 961 > Crit > Mastery > Haste. Staty ako expertise, dodge, parry sa tu radšej ani nespomínaju . Znamená to, že existuje istá tendencia maximalizovať crit. Všade tlačiť agilitu, zo zvyšku nejako poskladať hit cap, mať už s tým BiSom aj nejakú šlušnú masterku a haste vyhadzovať preč, kde sa dá. Podobným zmýšľaním zo známej priority iných class a specov môžme vyvodiť podobné závery. Stačí len priorita.
Spomínaná priorita statov, nám teda celkom slušne zredukuje možnosti reforge-u. A nieje na tom nič zlé. Veď cieľom je mať maximálne DPS a nie mať presne 961 hitu, čo vlastne ani nieje možné dosiahnuť s hocijakými itemami - hocijakými hodnotami statov. Veď si predstavte opačnú úlohu. Vymyslite hodnoty statov množstvu itemov tak, aby sa vždy dal vyskladať so žiadnym, čiastočným alebo úplnym reforge-om presný hit cap.
Mysliac na prioritu statov, ak mám ako survival hunter na iteme haste a mastery, tak som núteny dať haste do critu a hit získavať inde. Ako hunter nemám problém s hit capom, ale spellery vraj musia tlačiť hit, kde sa da , tak tí si asi nemôžu len tak povedať, že tu mám top staty - nereforge-ujem.
Veď si predstavte, že by som z itemu, kde je haste a mastery daval niečo do hitu, len kvôli dosiahnutiu presnej hodnoty hit ratingu. Veď by som bol za úplneho blba. Haste je proste s T11 4P Set Bonusom zbytočný a je blbosť brať z masterky, keď sa dá z haste-u.
Takýto item teda z možných kombinácii pre dosiahnutie hit capu vypadáva. Procovacie trinkety sa nedajú reforge-ovať, takže ak nemajú hit, tak nám do hit capu nepomôžu - Essence of the Cyclone.
Niektoré itemy môžu mať len jeden stat a býva pravidlom, že ak ním nieje náš najlepší, tak ho chceme mať v ňom. Príkladom je Fluid Death. Vždy treba myslieť na prioritu a tak keďže mám odkiaľ brať hit a ako survival hunter sa snažím maximalizovať Critical Strike Rating, tak mi neostáva iná možnost ako tento hit reforge-nuť do critu.
Takýto item som teda tiež vyradil z možností kombinácií.
Spominaná priorita statov u Survival Huntera s T11 4P Set Bonusom je takáto. Agilita > Hit do 961 > Crit > Mastery > Haste.
To znamená, že najlepšie je, ak má item crit a druhým statom je mastery alebo hit. Ak je hitu veľa, tak sa dá dať do mastery. Ak je hitu málo, tak sa da reforge-nuť z mastery. Ak na iteme crit nieje, tak jednoducho doňho treba reforge-nuť a o hite ani počuť. Ak je tam s critom haste, tak z neho treba zobrať do mastery alebo hitu. Critu už viac ako je nebude, to čo sa dá ešte vylepšiť je presná hodnota hitu a zvyšok, teda maximum môže isť do mastery. Možné maximum. To som už spomínal, keď som o priorite statov vravel prvý krát a všetko je to úplne jasné z toho, že vieme, ktorý stat je hodnotnejší. Ak neriešime gem bonus alebo nedilematizujeme o tom, či si vybrať item s väčšou agilitou, ale s horšou kombináciou statov - boty za valory alebo tie z Atrameda, tak ani nemusime vedieť koľkonásobne je jeden stat lepší od druhého. Na reforge stačí vedieť, že je prosto lepší.
Vyradenie niektorých itemov z možných kombinácií zníži možné hodnoty hitu, ku ktorým sa môžme reforge-om dostať. Ísť však proti priorite statov by bolo ešte horšie. Tu je teda spomínaný program. Je napísaný pre konkrétny gear, ktorý mam teraz a zahŕňa všetko, čo som tu rozobral. Itemy, z ktorých sa vyčíslili hodnoty boli teda len tie, ktoré mali crit a reforge druhého statu potom predstavoval buď hodnoty 0 hitu alebo hit - 40% zo spomínaného druhého statu v prípade, že to bol haste alebo mastery. Ak bol druhý stat hit, tak opäť boli 2 hodnoty hitu - plná hodnota hitu toho itemu alebo 60% hitu, ak by potencialne hit skončil v masterke. Pre konkrétny prípad môjho gearu to bolo 1024 možnosti. Reálnych možných hodnôt hitu, ktoré sa takymto reforge-om dali dosiahnuť bolo 256. T.j. 4-krat menej. Je to preto, že niektoré páry itemov boli v istom zmysle symetrické, združené, komplementárne. Boli to tieto:
Cloak - Wristy
Cloak - Ring1
Ring1 - Ring2
Ring2 - Wristy
Vysvetlenie je veľmi jednoduché a určite každému jasné. Tieto itemy mali rovnaké hodnoty statov. Cloak z Maloriaka má rovnaké hodnoty statov ako prsteň z Conclave-u. Tak isto wristy z Chimaerona a prsteň z Omnotronov sú identické itemy. A tak, keď z cloaku, respektíve prsteňa vezmete mastery a dáte ju do hitu a potom z wristov, respektíve druhého prsteňa reforgnete z mastery do hitu, tak nič nezískate a o nič neprídete.
143 Mastery -> 86 Mastery + 57 Hit
143 Hit -> 86 Hit + 57 Mastery
Z cloaku (ringu) ste si pridali hit, o ktorý ste vzápätí prišli reforge-om z wristov, respektíve druhého prsteňa.
- kód:
#include <math.h>
#include <stdio.h>
#include <string>
#include <stdlib.h>
double reforgef(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j);
int main (){
double head[2];
head[0] = 0.;
head[1] = 78.;
double cloak[2];
cloak[0] = 0.;
cloak[1] = 57.;
double wrists[2];
wrists[0] = 143.;
wrists[1] = 86.;
double gloves[2];
gloves[0] = 0.;
gloves[1] = 68.;
double waist[2];
waist[0] = 0.;
waist[1] = 72.;
double legs[2];
legs[0] = 0.;
legs[1] = 93.;
double ring1[2];
ring1[0] = 143.;
ring1[1] = 86.;
double ring2[2];
ring2[0] = 0.;
ring2[1] = 57.;
double meleew[2];
meleew[0] = 0.;
meleew[1] = 102.;
double rangedw[2];
rangedw[0] = 0.;
rangedw[1] = 32.;
printf("head[0]\t\t=\t%.0lf\n", head[0]);
printf("head[1]\t\t=\t%.0lf\n", head[1]);
printf("cloak[0]\t=\t%.0lf\n", cloak[0]);
printf("cloak[1]\t=\t%.0lf\n", cloak[1]);
printf("wrists[0]\t=\t%.0lf\n", wrists[0]);
printf("wrists[1]\t=\t%.0lf\n", wrists[1]);
printf("gloves[0]\t=\t%.0lf\n", gloves[0]);
printf("gloves[1]\t=\t%.0lf\n", gloves[1]);
printf("waist[0]\t=\t%.0lf\n", waist[0]);
printf("waist[1]\t=\t%.0lf\n", waist[1]);
printf("legs[0]\t\t=\t%.0lf\n", legs[0]);
printf("legs[1]\t\t=\t%.0lf\n", legs[1]);
printf("ring1[0]\t=\t%.0lf\n", ring1[0]);
printf("ring1[1]\t=\t%.0lf\n", ring1[1]);
printf("ring2[0]\t=\t%.0lf\n", ring2[0]);
printf("ring2[1]\t=\t%.0lf\n", ring2[1]);
printf("meleew[0]\t=\t%.0lf\n", meleew[0]);
printf("meleew[1]\t=\t%.0lf\n", meleew[1]);
printf("rangedw[0]\t=\t%.0lf\n", rangedw[0]);
printf("rangedw[1]\t=\t%.0lf\n", rangedw[1]);
double gems = 20.;
double enchs= 0.;
double gear = 171.+ 171.+ 193.;
printf("gear\t\t=\t%0.lf\n\n",gear);
double reforge = head[0] + cloak[0] + wrists[0] + gloves[1] + waist[0] + legs[0] + ring1[0] + ring2[1] + meleew[0] + rangedw[0] + gems + enchs + gear;
double reforgepercent = reforge/120.109;
printf("reforge\t\t=\t%.1lf\n", reforge);
printf("reforgepercent\t=\t%lf\n\n", reforgepercent);
FILE *data;
FILE *data5;
data = fopen("Hunter_Hit.txt", "w");
data5= fopen("Hunter_Hit+2.txt", "w");
for (int a = 0; a < 2; a++){
for (int b = 0; b < 2; b++){
for (int c = 0; c < 2; c++){
for (int d = 0; d < 2; d++){
for (int e = 0; e < 2; e++){
for (int f = 0; f < 2; f++){
for (int g = 0; g < 2; g++){
for (int h = 0; h < 2; h++){
for (int i = 0; i < 2; i++){
for (int j = 0; j < 2; j++){
reforge = reforgef(a,b,c,d,e,f,g,h,i,j);
reforgepercent = reforge/120.109;
fprintf(data,"%i%i%i%i%i%i%i%i%i%i\n",a,b,c,d,e,f,g,h,i,j);
fprintf(data,"reforge\t\t=\t%.1lf\n", reforge);
fprintf(data,"reforgepercent\t=\t%lf\n\n", reforgepercent);
if (961. < reforge && reforge < 963.) {
fprintf(data5,"%i%i%i%i%i%i%i%i%i%i\n",a,b,c,d,e,f,g,h,i,j);
fprintf(data5,"reforge\t\t=\t%.1lf\n", reforge);
fprintf(data5,"reforgepercent\t=\t%lf\n\n", reforgepercent);
}
}
}
}
}
}
}
}
}
}
}
fprintf(data,"[xxxxxxxxxx]=[head,cloak,wrists,gloves,waist,legs,ring1,ring2,meleew,rangedw]");
fprintf(data5,"[xxxxxxxxxx]=[head,cloak,wrists,gloves,waist,legs,ring1,ring2,meleew,rangedw]");
fclose(data);
fclose(data5);
return 0;
}
double reforgef(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j){
double head[2];
head[0] = 0.;
head[1] = 78.;
double cloak[2];
cloak[0] = 0.;
cloak[1] = 57.;
double wrists[2];
wrists[0] = 143.;
wrists[1] = 86.;
double gloves[2];
gloves[0] = 0.;
gloves[1] = 68.;
double waist[2];
waist[0] = 0.;
waist[1] = 72.;
double legs[2];
legs[0] = 0.;
legs[1] = 93.;
double ring1[2];
ring1[0] = 143.;
ring1[1] = 86.;
double ring2[2];
ring2[0] = 0.;
ring2[1] = 57.;
double meleew[2];
meleew[0] = 0.;
meleew[1] = 102.;
double rangedw[2];
rangedw[0] = 0.;
rangedw[1] = 32.;
double gems = 20.;
double enchs= 0.;
double gear = 171.+ 171.+ 193.;
double x = head[a] + cloak[b] + wrists[c] + gloves[d] + waist[e] + legs[f] + ring1[g] + ring2[h] + meleew[i] + rangedw[j] + gems + enchs + gear;
return x;
}
Program vyčisľuje hodnoty možnosti cez 10 vnorených cyklov a cez funkciu s desiatimi vstupnými premennými. Všetky hodnoty možností sú zapisované do textového súboru hit.txt. Hodnoty z intervalu (961,963) <=> 961 < Hit < 963 <=> 962 Hitu, čo je jediná hodnota najbližsie k 961 (z druhej strany taká neexistuje - 959 hitu), sú v textovom súbore hit+2.txt.
Alebo stačí CTRL + F v Hit.txt a pohľadať si hodnotu hitu, akú chcete. Hit sa mení diskrétne po celých číslach. Z legendy na konci súboru je jednoznačné o aký reforge sa jedná:
[xxxxxxxxxx]=[head,cloak,wrists,gloves,waist,legs,ring1,ring2,meleew,rangedw]
Toto je výstup z programu, kratší textový súbor - Hit+2.txt
Z tohto textového súboru je jasné, že niečo tu nieje s kostolným riadom. Všetky štyri možnosti dávajú jednu hodnotu. To je spôsobené spomínanou komplementárnosťou.
- kód:
1001001001
reforge = 962.0
reforgepercent = 8.009391
1011000001
reforge = 962.0
reforgepercent = 8.009391
1011001101
reforge = 962.0
reforgepercent = 8.009391
1111001001
reforge = 962.0
reforgepercent = 8.009391
[xxxxxxxxxx]=[head,cloak,wrists,gloves,waist,legs,ring1,ring2,meleew,rangedw]
Ešte je dôležité poznamenať, že si v hre treba pozrieť na akú hodnotu bude reforge. Každý vie, že je to 40% a o nič nepríde. Zvyšok ostane v pôvodnom state, ale niekedy sa hodnota zaokrúhli hore, inokedy dole. Jednoducho sa treba pozrieť v hre u reforge tradera.
Predtým ako som program písal som mal 966 Hitu - 8.04% Hit Chance a 1793 Mastery Ratingu - presne 18.00 Mastery.
Teraz mam 962 Hit Rate-u - 8.01% Hit Chance a 18.02 Mastery - 1797 Mastery Rate.
Takže sa vlastne nič nezmenilo a nič som nezískal
Standwel- Poeet p?íspivku : 48
Age : 29
Points : 33
Registration date : 07. 07. 15
Re: Reforge
pekne si sa s tym pohral ale preco jednoducho nepouzit uz nejaky existujuci addon na reforge (napr reforgelite, kt. je podla mna super), ktory ti vypocita idealny reforge hned?
Roko- Poeet p?íspivku : 11
Points : 7
Registration date : 19. 06. 15
Re: Reforge
Tak určite . Len som nevedel nastaviť Reforgelite
Standwel- Poeet p?íspivku : 48
Age : 29
Points : 33
Registration date : 07. 07. 15
Re: Reforge
staci ked si tam nahodis Stat weights, ktore najdes urcite v nejakej guide od EJ a to je vsetko.. pripadne nejake capy (haste, hit, atd)
Roko- Poeet p?íspivku : 11
Points : 7
Registration date : 19. 06. 15
Strana 1 z 1
Povolení tohoto fóra:
Nemůžete odpovídat na témata v tomto fóru
|
|