Aldriana / ShadowCraft-Engine

Calculations backend for ShadowCraft, a WoW theorycraft project.
GNU Lesser General Public License v3.0
37 stars 22 forks source link

allowed_procs #55

Closed dazer closed 13 years ago

dazer commented 13 years ago

Included a new field (ppm) in the dictionaries. When you instantiate a PPMProc it uses that field and not proc_chance as it previously did (at least I believe it does from the testing I've done with it). And I'm still questioning the value of PPMProc as a class, but I wanted to check this with you before going forward. That said, I'm not quite sure if this is what we were looking for.

dazer commented 13 years ago

Did some refactoring. If you feel something else is missing don't hesitate to tell me so. I noticed Eye of Rajh has a different icd than its heroic version; since the values are guesses I didn't change any, but I thought it was worth noting.

dazer commented 13 years ago

Don't know if the multi-lined display is to your liking but that's the best setup I could come up with. I also defaulted proc_chance to False to enforce the fact that it's exclusive with ppm.

Aldriana commented 13 years ago

Yeah, I'm not quite sure what the best way of formatting the input dictionaries. Normally for assigning so many different things I'd do one per line, i.e.:

allowed_procs = {
    'heroic_grace_of_the_herald': {
        'stat': 'crit', 
        'value': 1710, 
        'duration': 10, 
        'icd': 45,
        'proc_chance': .1, 
        'trigger': 'all_attacks', 
        'proc_name': 'Herald of Doom'
    },
    'heroic_key_to_the_endless_chamber': {

And so on. But I'm not entirely sure that would work out any better for such a large number of dictionaries in a row - it'd get pretty long. So while I'm not completely fond of the current formatting, I don't really have any better ideas, either.

dazer commented 13 years ago

Given that this will inevitably grow every patch and possibly with the adherence of other classes to the project, would it make sense to store procs in another file?.