pyfa-org / Pyfa

Python fitting assistant, cross-platform fitting tool for EVE Online
GNU General Public License v3.0
1.61k stars 406 forks source link

Refactor effect script #1019

Open Ebag333 opened 7 years ago

Ebag333 commented 7 years ago

@blitzmann edit:

Reworking this issue from a "figure out missing effects" issue to a general "refactor the effects script". this script is normally run to add the headers to the effect files. It also has an option to delete unused effects files, which is currently broken (need to fix, it's probably not considering some item groups that we use). I think we should also have an option that prints out the effects that are currently not used, along with a list of items they go to.


When we run our calcs, we're missing a number of effects.

Most of these are probably meaningless to us, but some look like they might be legitimate.

https://gist.github.com/Ebag333/5d137a12337fcb379620c30bd8bb160d

@blitzmann any thoughts on these?

blitzmann edit: need to develop a script that prints out a list of effects from the database that do not have a corresponding effect file.

blitzmann commented 7 years ago

I don't think we're missing any (or much) effect that actually affect fitting calculations. I do know that anything that has skilllevel in it is probably safe to ignore, since pyfa calculates skills in a way that is different than EVE (logically - in the end, obv, we have proper calculations).

Which ones did you see that might need to be looked into?

Ebag333 commented 7 years ago

There's a few oddball ones like hackingaccessdifficultybonusmultiplier.

I don't know if any of these actually will change fitting stats we display. We just briefly discussed these, and didn't want that to get lost.

blitzmann commented 7 years ago

That particular one is a skill level effect as well, so unneeded.

We could write a script that looks for effects that are missing, and exclude skill items to see a true evaluation of missing effects. At the same time, i'm almost positive that we're pretty well covered. v0v

Ebag333 commented 7 years ago

I think that we are as well, but it would not surprise me to see we missed a few obscure ones. It's too easy to do.

blitzmann commented 7 years ago

https://gist.github.com/blitzmann/ff1106d16d7b349131ade84b434039a5

This allows us to see which items have effects from he list your provided, and filters out skills (have to create a separate table with a NOCASE because SQLite is apparently case sensitive, go figure). The results are below:

"Zainou 'Beancounter' Industry BX-802"
"Zainou 'Beancounter' Reprocessing RX-802"
"Zainou 'Beancounter' Industry BX-801"
"Zainou 'Beancounter' Industry BX-804"
"Zainou 'Beancounter' Reprocessing RX-804"
"Zainou 'Beancounter' Reprocessing RX-801"
"Zainou 'Beancounter' Metallurgy MY-703"
"Zainou 'Beancounter' Research RR-603"
"Zainou 'Beancounter' Science SC-803"
"Zainou 'Beancounter' Research RR-605"
"Zainou 'Beancounter' Research RR-601"
"Zainou 'Beancounter' Metallurgy MY-705"
"Zainou 'Beancounter' Metallurgy MY-701"
"Zainou 'Beancounter' Science SC-805"
"Zainou 'Beancounter' Science SC-801"

These implants, however, aren't useful in pyfa. They affects stats on the character itself and deal with things like station reprocessing time and blueprint manufacturing.

I'm going to close this as I think is safe to say that if we are missing an effect, it's probably 1 or 2 and not very popular ones. We have this list here in case we need it for future reference.

btw, how did to generate this list? I used to have a script that showed me effects that weren't implemented by looping over the files in the effect directory, but I have lost it. :(

Ebag333 commented 7 years ago

Just remove duplicates from debug log. :)

Ebag333 commented 7 years ago

It's just off a single fit, btw. So it's not comprehensive.

blitzmann commented 7 years ago

It's just off a single fit, btw. So it's not comprehensive.

Oh... Well then, I'll take a look at rounding up a comprehensive list of effects that aren't implemented. Probably just need to re-work the current effect header script we have