Jump to content


Photo

ShadowCraft: Rogue spreadsheet for 4.0


  • This topic is locked This topic is locked
985 replies to this topic

#21 Guest_amafi_*

Guest_amafi_*
  • Guests

Posted 30 October 2010 - 02:00 AM

I've started to add import functionality to my ingame addon. At the moment it will only tell you
a) If you are wearing the wrong piece of gear (and which one you should be wearing)
B) If the reforge differs from the imported value

The tool cannot automatically fix these for you at the moment, nor does it do anything with talents, enchants or gems.

The beta version can be found here: Shadowcraft Tools - Files - WoW AddOns - CurseForge.com and I would be interested to know if anyone can spot any bugs in it.

To use the data from the "Export" section of the website, you will have to strip out the [CharName-Realm.Region] section from the start before you paste it in to the addon. Use '/sc import' to bring up the import window.


I exported my character from roguething and imported in the addon, works fine as far as I can tell.
Very handy.

Going to go find an enchanting trainer, do some reforging and see if I can break it for you :)

If not every slot has gear in it when you export the addon throws a couple errors, I'll get signed up to curse and put up a ticket.

#22 Theone

Theone

    Glass Joe

  • Members
  • 7 posts

Posted 30 October 2010 - 03:09 AM

While working with Shadowcraft I did the auto-reforge after I enteerd my Ep values for Assassination. While looking it over it is telling me to reforge items up to 232 expertise. Have a feeling the Value s set wrong or I did something wrong ( Most likely that last one)


EDIT: Ended up lowering the Boss Dodge % from 6.1 to the 5.6, and I went -7 ep.

#23 nextormento

nextormento

    Von Kaiser

  • Members
  • 93 posts

Posted 30 October 2010 - 06:29 AM

I still don't get the whole git control system (I only write little projects for me and my friends) and I don't want to mess with it untill I understand it better. To get started easy, I'm going to comment on couple lines in Andriana's engine that I think need a second thought; under the backstab damage formula there we can find:
def backstab_damage(self, ap):
        weapon_damage = self.stats.mh.normalized_damage(ap)

        opportunity_multiplier = 1 + .1 * (self.talents.subtlety.opportunity)
        aggression_multiplier = 1 + .05 * (self.talents.combat.aggression)
        damage = 2 * (weapon_damage + 345) * opportunity_multiplier * aggression_multiplier

        if self.assassins_resolve():
            damage *= 1.15

        return damage
This has not been tested yet as far as I know, but as Vulajin explained here at the start of wotlk, talents that affect one single ability tend to stack additively (opportunity and aggresion in this case); it is not important yet if they do stack additively or multiplicatively, but since they are two modifiers, the flow of the code should account for this posibility. So, I believe this thing could look like this:
def backstab_damage(self, ap):
        weapon_damage = self.stats.mh.normalized_damage(ap)

        opportunity_modifier = .1 * (self.talents.subtlety.opportunity)
        aggression_modifier = .05 * (self.talents.combat.aggression)
        backstab_multiplier = 1 + opportunity_modifier + aggression_modifier
        damage = 2 * (weapon_damage + 345) * backstab_multiplier

        if self.assassins_resolve():
            damage *= 1.15

        return damage
Now my question would be: should I fork the project and add my code? should I fork and add a coment? should I open an issue (as it was suggested for bug reporting)?

For the same reason, I think it'd be sensible to store buffs/debuffs in the shape of percentages. Let me clarify: Leader of the pack is now stored as 1.05 and shadow and flame as 1.05 too. In the future, when we need to compute our spell crit chance we (well, Aldriana actually) will have to write something like UnbuffedCritChance*(LotP+SnF-1) just like it was done before in the spreadsheets, whereas having those constants stored as percentages would make the formula a little more understandable without the odd "-1"
While this is certainly not a big issue, if I find a better way to handle it, how should I comunicate that to the project manager?

When you write something like this you are bound to make many little changes and I don't know if they are worth a forking or just a mere PM to Aldriana. If all this sounds idiotic please disregard; it's just my humble attempt at being usefull for the project.

#24 Aldriana

Aldriana

    Mike Tyson

  • Moderators
  • 13,510 posts

Posted 30 October 2010 - 07:23 AM

Backstab damage: if someone would like to test + confirm, that'd be great. As may be evident from the littering of comments, I've been running sort of quick and dirty while setting up framework.

Buffs: Not sure where you're seeing it stored as 1.05; both the crit chance buff/debuffs are stored as 5 in the master revision at the moment. That said, following the change I made earlier this evening, it does need to be changed to .05 to be consistent (to avoid having a bunch of stray /100 terms around, for much the same reason). I'll be checking in a bunch more stuff in a few minutes, so I'll fix that then.

Git: I don't really understand it either, but its what people wanted to use (and it's been recommended to me by my brother), so I figured I'd give it a whirl. So far I'm sort of reminded of what my friend/former boss said about it: "I'm sure Git is amazing, but I'm not sure I'm smart enough to use it." Anyway, general approach, as I understand it, is that you fork, make your changes, and then send me (or Antiarc, depending on which piece you're working on) a pull request; at that point he (or I) will decide whether we like it (or not) and either pull your changes into the main branch or send a response explaining why we don't want to.

For those of you with coding backgrounds, I'd encourage you to just make the change and send it off if you seem something clearly wrong. If you're not comfortable with coding, it's fine to contact me (us) via this thread, via PM, via email or via GitHub issues tracking and someone else will do it. If you want to help but aren't sure what needs doing, again, contact us with what sorts of things you're interested in working on, and we'll find something for you to do.

#25 Saan

Saan

    Von Kaiser

  • Members
  • 66 posts

Posted 30 October 2010 - 06:08 PM

It's looking like Blizz might be adding items to the loot tables in raids with intelligently driven some random stats. That is to say, it's not going to be something like int and agi on a pair of pants, but more likely something usable. If this is going to be the case, it might be needed for some way to manually make an item. Now if the "Random" stats turn out to be a grab-bag of known quantities (that is to say, you will always get agi and stam, and then 2 sets of green stats), then this might just entail making a "Raid-tier-1 pants-of-the-<random-stat-moniker>" item for each possibility.

#26 StoicRoivaS

StoicRoivaS

    Piston Honda

  • Members
  • 176 posts

Posted 30 October 2010 - 07:42 PM

It's looking like Blizz might be adding items to the loot tables in raids with intelligently driven some random stats. That is to say, it's not going to be something like int and agi on a pair of pants, but more likely something usable. If this is going to be the case, it might be needed for some way to manually make an item. Now if the "Random" stats turn out to be a grab-bag of known quantities (that is to say, you will always get agi and stam, and then 2 sets of green stats), then this might just entail making a "Raid-tier-1 pants-of-the-<random-stat-moniker>" item for each possibility.


I would assume there's an exceptionally high chance of those <random encahnt> raid drops you're referring to behaving exactly like the outland <random enchant> items from the dungeon bags. Consider something like this item only bumped up to ilvl 359 and of epic quality. Now take out all suffixes that reference spell power, and all ones that have straight attack power on them, and add in maybe 1 or 2 other combinations (mastery, expertise, etc) and you have a fairly small list of what we're likely to see from these items. Enumerating them within the possible pieces of gear will probably end up being less work than a whole new functionality to create a new item, unless of course that functionality would otherwise be needed for some other reason.

#27 Aldriana

Aldriana

    Mike Tyson

  • Moderators
  • 13,510 posts

Posted 30 October 2010 - 07:59 PM

It seems to me that random leather items are going to be extremely likely to be either agi/sta/x/x or int/sta/x/x, where the last two stats are chosen randomly from crit, hit, expertise, haste, and mastery. So there's probably 10 stat combinations per slot that we're in any way interested in. For a spreadsheet that would be annoying, but I don't see it being a major hurdle for this approach - just pop up a "suffixes" dialog whenever someone equips an random stat item.

#28 Carridin

Carridin

    Glass Joe

  • Members
  • 4 posts

Posted 30 October 2010 - 09:28 PM

Originally Posted by minimen456
I'd like to see where I can get those items. You know like craft, Badge of Justice, heroic dungeons etc

This would be valuable, but it's low-priority, since associating that data is somewhat tricky. There will be an ilevel filter in the interim, though.


Cant this be solved by putting in a link to the item on wowhead or something like that? Having location-info for where to obtain the item dont need to be inside the ShadowCraft itself. Especially if it adds unessecary complexity to the tool.

#29 Aldriana

Aldriana

    Mike Tyson

  • Moderators
  • 13,510 posts

Posted 30 October 2010 - 09:34 PM

I think zone/boss filters are source information are good features to add at some point - I think they add a *lot* of value - but it's also not the immediate priority. We need the ability to do reasonable gear recommendations even in theory before we start worrying too much about filtering the results.

#30 Ikutaba

Ikutaba

    Von Kaiser

  • Members
  • 38 posts

Posted 30 October 2010 - 11:33 PM

Cant this be solved by putting in a link to the item on wowhead or something like that? Having location-info for where to obtain the item dont need to be inside the ShadowCraft itself. Especially if it adds unessecary complexity to the tool.


It would be very simple to implement, and could just be a small 8pt text at the bottom of the item's info.

In broad terms, all you need is a table of "ZoneID"s and in the item info you simply assign an ID, trivial to implement, and a great help to newcomers.

#31 cjo20

cjo20

    Glass Joe

  • Members
  • 13 posts

Posted 31 October 2010 - 12:16 AM

New version of my addon available here (b0.4.0.2): Shadowcraft Tools - Files - WoW AddOns - CurseForge.com

This contains a fix for the missing items bug reported earlier, and lets you equip gear by clicking on the link on the gear tab. The import window is now draggable, as it was starting to cause problems due to taking up all of my screen real-estate. Again, bug reports gratefully retrieved.

It would be very simple to implement, and could just be a small 8pt text at the bottom of the item's info.

In broad terms, all you need is a table of "ZoneID"s and in the item info you simply assign an ID, trivial to implement, and a great help to newcomers.


The problem is maintaining the list of "ZoneID"s for each item. Wowhead could go some of the way, but the data there isn't always entirely reliable, which could require quite a bit of effort to check/manage properly.

It seems to me that random leather items are going to be extremely likely to be either agi/sta/x/x or int/sta/x/x, where the last two stats are chosen randomly from crit, hit, expertise, haste, and mastery. So there's probably 10 stat combinations per slot that we're in any way interested in.


I don't think you even have to care about combinations, just a checkbox for each stat and the user picks the ones present on the item.

#32 Ikutaba

Ikutaba

    Von Kaiser

  • Members
  • 38 posts

Posted 31 October 2010 - 01:52 AM

The problem is maintaining the list of "ZoneID"s for each item. Wowhead could go some of the way, but the data there isn't always entirely reliable, which could require quite a bit of effort to check/manage properly.


One of the things mentioned at Blizzcon was to have boss drops listed in the dungeon maps, so I'm pretty sure there will be a new in-game infrastructure to model it upon; i.e. Blizzard would have their own list of ZoneIDs or BossIDs associated with loot tables and we can use that data.

I could write something up in Java, but I don't know how useful that would be to the project, I've never worked with Ruby before.

#33 Freitzehn

Freitzehn

    Von Kaiser

  • Members
  • 26 posts

Posted 31 October 2010 - 05:21 AM

There doesn't appear to be any support for alchemists as of right now.

#34 minuq

minuq

    Glass Joe

  • Members
  • 3 posts

Posted 31 October 2010 - 10:02 AM

There doesn't appear to be any support for alchemists as of right now.


Due to the fact, that Alchemy has no effect on gearing, i think it just isn't implemented at this state, but since Aldriana is working on a DPS module, it'll surely be implemented later on.

#35 Milkdeznuts

Milkdeznuts

    Banned

  • Banned
  • 4 posts

Posted 31 October 2010 - 04:36 PM

I have a question regarding the spreadsheet, When I try to Reforge some of my gear.. its telling me to forge expertise and I'm well over the expertise cap. Is this suppose to happen or reforging for extra expertise is actuallygood?

#36 Feist-Mok

Feist-Mok

    Doesn't look like a Presbyterian.

  • Members
  • 4,835 posts

Posted 31 October 2010 - 04:52 PM

I have a question regarding the spreadsheet, When I try to Reforge some of my gear.. its telling me to forge expertise and I'm well over the expertise cap. Is this suppose to happen or reforging for extra expertise is actuallygood?


Are you sure it's not telling you to reforge Expertise off of some items while putting it onto others, in order to get you closer to the cap?

You're still up for First Degree Slaughter of English Spelling, so sit the fuck down, defendant.


#37 Menalon

Menalon

    Glass Joe

  • Members
  • 2 posts

Posted 31 October 2010 - 05:29 PM

There's two options here:

1) It's calculating the Expertise needed off of the pre-4.0.1 number for raiding at level 80 (26), and it hasn't been updated on the sheet yet.

OR

2) It's calculating the Expertise needed off of the amount needed for raiding at level 85.

Either way, the calculations are driving off of numbers that are not currently being utilized In-Game and will likely be updated when the Author has time to address that particular issue.

Edit: With consideration that this is concerning the Shadowcraft UI, it is more likely that the recommended reforging you are getting is due to the second option here.

#38 paulsen

paulsen

    Von Kaiser

  • Members
  • 39 posts

Posted 31 October 2010 - 06:39 PM

It's calculating the Expertise needed off of the pre-4.0.1 number for raiding at level 80 (26), and it hasn't been updated on the sheet yet.


You can change the variables on the right side - change boss dodge to 5.6 and it'll give you the correct optimizations.

#39 Murolith

Murolith

    Glass Joe

  • Members
  • 20 posts

Posted 31 October 2010 - 07:51 PM

I'm wondering how difficult it would be time-wise to go ahead and add either a manual value for spell hit cap or spell hit buffs/debuffs in the buffs menu. At present the spell hit cap on it seems to assume no raid buffs to lower it at all, and it's giving me some strange reforge/gem choices as a result. (It's saying I need more hit than I actually would in any real practice.)

#40 jaminguy

jaminguy

    Glass Joe

  • Members
  • 1 posts

Posted 31 October 2010 - 08:15 PM

Here are a couple of git resources that I have found extremely helpful.

Webcast: Git in One Hour

Git Reference




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users