Remove Advertisements

Theck's MATLAB thread - Cataclysm/4.x

Warning: Theorycraft inside.

Moderators: Fridmarr, Worldie, Aergis, theckhd

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Kelaan » Tue Aug 17, 2010 9:32 am

bentglasstube wrote:I have completed an item fetcher that uses Sirgie (mmoc's db) to convert an item id into a gear_db.m format item.... If this perl script would be useful to anyone I would be happy to share it.

Code: Select all
$ perl getitem.pl 51266 51265 51267 51268 51269

!!! Gief! (please?) My perl addiction must be fed. More accurately, I want to read item datas but not figure out how to screen-scrape data from wowhead of mmoc. :D
User avatar
Kelaan
 
Posts: 4036
Joined: Thu Jan 03, 2008 12:01 pm

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby bentglasstube » Tue Aug 17, 2010 9:36 am

I didn't think anyone else in the world still used perl, best bffs forever?
Attachments
getitem.zip
(1.57 KiB) Downloaded 33 times
User avatar
bentglasstube
 
Posts: 40
Joined: Mon Jul 13, 2009 11:46 am
Location: Phoenix, AZ

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Tue Aug 17, 2010 9:41 am

bentglasstube wrote:Edit: I started perusing the code, and the talents specified in talents.m add up to 42 points.

We've been updating the talent module sparingly since they change every build, and haven't been checking the total. Next pass I'll try and iron this sort of thing out.

bentglasstube wrote:I noticed in gear_db.m that you have Bile-Encrusted Medallion (Heroic) with the incorrect amount of earmor. It should have 756.
I was in the process of writing an item getter for wowhead (but now wowhead is timing out, maybe I got my IP banned) and I think it would be better to store the socket information in the idb array rather than adding the gems to the base item. Something like:

Code: Select all
idb(50682).name='Bile-Encrusted Medallion (Heroic)';
idb(50682).ilvl=277;
idb(50682).str=102;                                                             
idb(50682).sta=141;                                                             
idb(50682).dodge=46;                                                           
idb(50682).earmor=756;
idb(50682).rsock=1;
idb(50682).sb_stat='sta';
idb(50682).sb_val=6;


And then perhaps modify the equip function to take gems and determin final stats accordingly?

Code: Select all
egs(2) = equip('Bile-Encrusted Medallion', 'Solid Majestic Zircon');

That could just be a typo on my part. I do like the idea of including sockets in the item and using eqiup() to add gems. I'm hoping to have some time to code this week, I'll see if I can implement that.

bentglasstube wrote:I have completed an item fetcher that uses Sirgie (mmoc's db) to convert an item id into a gear_db.m format item. At the moment, it totally ignores sockets (and their bonuses) and the armor is liable to be incorrect as Sirgie's armor is shaky at best. I may have it try to grab armor values from wowhead, but the reason I chose to switch to Sirgie is that it updates more frequently so a lot of items there won't be on wowhead anyway. If this perl script would be useful to anyone I would be happy to share it.


That sort of utility could be very useful. Particularly if someone wanted to volunteer to use it to build/maintain the gear database file.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7739
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Wed Aug 18, 2010 7:50 am

Been very busy this week so far, but I managed to find an hour or so to write a rotation drawing function this morning. Feel free to play around with it, the header should explain how to use it well enough.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7739
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby tlitp » Wed Aug 18, 2010 12:11 pm

Is Vengeance more or less functional on b12759 ? If so, there are a few things that need to be clarified :
I. damage type (physical/magic/environmental)
II. passive damage reduction effects (armor)
III. active DREs (both intrinsic, say AD, and extrinsic, say PS)
IV. absorb effects

If you do not reference your own tests, please make sure that the results you mention are based on b12759.
User avatar
tlitp
 
Posts: 556
Joined: Mon Jul 27, 2009 3:25 pm

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby bentglasstube » Wed Aug 18, 2010 3:01 pm

I can certainly try to maintain a gear database, but I need to figure out what to do about the incorrect armor values from sigrie. I don't have a beta key so I can't check the items myself. I suppose I could make the parser check wowhead first and then try sigrie if wowhead doesn't have it yet.

http://cata.wowhead.com/item=50968&power doesn't show extra armor amount, but http://www.wowhead.com/item=50968&power does :(. Bonus armor seems like it will be nigh impossible to automate.

Edit: More armor drama.

Live, Cataclysmic Chestguard has 3817 armor (2642 base + 1176 extra).
Wowhead's beta site claims it has 2978 armor (doesn't specify base/extra but presumably 2642 base + 336 extra).

Could someone with the beta possibly ask a vendor how much armor that item has so I know if I should trust sigrie or wowhead?
User avatar
bentglasstube
 
Posts: 40
Joined: Mon Jul 13, 2009 11:46 am
Location: Phoenix, AZ

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Wed Aug 18, 2010 5:23 pm

The base armor of a slot is going to be identical for any given ilvl, and we can easily build a lookup table for that to determine earmor vs. barmor.

IIRC all of the +armor items got an armor nerf in the transition to Cata.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7739
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby bentglasstube » Wed Aug 18, 2010 7:35 pm

theckhd wrote:The base armor of a slot is going to be identical for any given ilvl, and we can easily build a lookup table for that to determine earmor vs. barmor.


Yeah, I figure that is how I will have to do it.

theckhd wrote:IIRC all of the +armor items got an armor nerf in the transition to Cata.


This saddens me.
User avatar
bentglasstube
 
Posts: 40
Joined: Mon Jul 13, 2009 11:46 am
Location: Phoenix, AZ

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Gaffer » Wed Aug 18, 2010 8:35 pm

I'll try to get the Vengeance details you're looking for tomorrow. I made the mistake of going to Hyjal and the three times I attempted to log in, I zone in on top of ~5 horde that corpse camp me.
Gaffer
 
Posts: 139
Joined: Tue Oct 14, 2008 2:39 am

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby tlitp » Thu Aug 19, 2010 1:28 am

@ bentglasstube : Don't worry about the armor lookup tables for now. The existing entries on MMOC/WH are nigh useless, as they're insufficiently updated (i.e. item A has the stats from build x, item B has the stats from build y). It's a bloody mess.
User avatar
tlitp
 
Posts: 556
Joined: Mon Jul 27, 2009 3:25 pm

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Thu Aug 19, 2010 5:38 am

For the moment, it's probably safe to just treat it all as barmor and write your code accordingly. Once the itemization data on MMOC/WH is more consistent, we can go back in and implement the lookup table and make the earmor/barmor distinction.

Realistically, for testing we only need the gear already in the database. It won't be until Cat ships that we actually need data for any new items. So there's plenty of time to get it working and make corrections.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7739
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby bentglasstube » Thu Aug 19, 2010 9:23 am

In that case, I will have it use the live wowhead database for the time being. What gear would you like included in the database? I was thinking just all the epic wotlk tank items level 200 and up.

Edit: Also, would it be easier to add these scripts to your repository in case anyone else wants to help with them?
User avatar
bentglasstube
 
Posts: 40
Joined: Mon Jul 13, 2009 11:46 am
Location: Phoenix, AZ

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Thu Aug 19, 2010 9:31 am

That would be fine, I can give you repository access if you give me the necessary information.

As far as what items to include, I doubt we need much from WotLK. The ones I've already put in there are probably more than enough for testing. It would make more sense to add all of the top-level blue and entry-level epics from Cataclysm (in other words, the Cataclysm ilvl 200 equivalent), since that's the gear level we'll be interested in first.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7739
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby bentglasstube » Thu Aug 19, 2010 11:55 am

I have committed the parser to the project. It can be run as such:

Code: Select all
perl make_gear_db.pl > gear_db_gen.m


This will keep it separate from the gear_db.m file that has all the enchants and the explanation of how to add items.

There is a section near the top of the script that has a list of what item ids will be fetched. Currently it contains only the items listed in gear_db.m because that's what I used to test it. When I have time, I will add all the cataclysm tanking items of interest. Anyone should be able to add item ids to the list without having any understanding of the parser or even perl.

There is also a section in the script that allows hand edits to stats for things like the dodge rating on Libram of the Eternal Tower since the parser will not attempt to understand procs.

The parser will find information about an item's sockets but it will not add that to the gear database at the moment.

This should make it relatively easy to maintain a gear database even if the format of the idb array changes significantly.

Another interesting discovery: All of the extra armor on the items I looked at was reduced to exactly 2/7 of it's WotLK value in Cata.

Edit: There are only 10 interesting tanking items on mmoc, so I added them.
User avatar
bentglasstube
 
Posts: 40
Joined: Mon Jul 13, 2009 11:46 am
Location: Phoenix, AZ

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Fri Aug 20, 2010 6:59 am

Doing some code updates today. Just going to start posting a list of issues as I come across them.

-Is HotR's HammerNova affected the same way as the melee portion by talents, etc? Test by comparing damage with and without Crusade
-Is HammerNova treated as a spell or melee attack? Can test via miss rates or crit damage (17% and 1.5 respectively for spells, 8% and 2 for melee).
-ShoR: Can it be dodged or parried? Can it miss?


Code: Select all
%Judgement - damage depends on seal.  raw.SealJud contains the Judgement
%damage values for each seal. The seal of choice is defined in execution_model.
raw.Judgement=      raw.SealJud(exec.seal).*mdf.spdmg.*(1+mdf.WotL);
dmg.Judgement=      raw.Judgement.*mdf.rahit.*mdf.Jcrit.*target.resrdx;
%for Sacred Duty handling, may implement this for every ability eventually
%/tlitp : don't like dedicated crit structures
crit.Judgement=     raw.Judgement.*mdf.rahit.*mdf.phcritmulti.*target.resrdx; 


Looking for discussion on this topic. In particular the comment tlitp placed in the code regarding the addition of a "crit.Judgement" term that stores the net damage of a Judgement critical strike. I put it in there because down the line, I expect I'll need it to properly implement Sacred Duty in any FCFS simulation. I was thinking of adding every other ability to the crit structure as well, in case we decided to write the FCFS in such a way that it actually makes attack table rolls for every ability.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7739
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

PreviousNext

Return to Advanced Theorycraft and Calculations

Who is online

Users browsing this forum: Bing [Bot] and 1 guest


Remove Advertisements

Who is online

In total there are 2 users online :: 1 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 380 on Tue Oct 14, 2008 6:28 pm

Users browsing this forum: Bing [Bot] and 1 guest