pyfa-org / Pyfa

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

[Request] Add an ability to use different data sources #2170

Open H296 opened 4 years ago

H296 commented 4 years ago

Hi.

Because of the recent changes in Surgical Strike path of April 2020 it has made it more tricky to compare our older fits which were often very specifically set up for very specific situations to the changes.

For instance, I know this specific Tengu fit can survive in the Archive Room of a Superior Sleeper Cache because it meets the criteria of 50k ehp in Shields and 2000 EHP/s of active cap stable tank. But the changes mean that I can't compare what used to work to what won't work anymore, what do I need to change to meet the same standard, if that was clear enough. (It's not exactly cap stable, but it runs long enough to clear out the site.)

[Tengu, Tengu - Shield No Prop RLML SSC Runner #2]

Power Diagnostic System II
Power Diagnostic System II
Damage Control II

Republic Fleet Large Cap Battery
Pith X-Type X-Large Shield Booster
Pithum C-Type Adaptive Invulnerability Field
Pith X-Type EM Ward Field
Republic Fleet Large Shield Extender
Shield Boost Amplifier II
Relic Analyzer II

Expanded Probe Launcher II, Sisters Core Scanner Probe
Rapid Light Missile Launcher II
[Empty High slot]
[Empty High slot]
[Empty High slot]
[Empty High slot]
[Empty High slot]

Medium Capacitor Control Circuit II
Medium Core Defense Field Extender II
Medium Core Defense Field Extender II

Tengu Core - Augmented Graviton Reactor
Tengu Defensive - Amplification Node
Tengu Offensive - Accelerated Ejection Bay
Tengu Propulsion - Fuel Catalyst

I suggest that there be an option that is easily accessed that allows us to flip between old resistance values and new resistance values.

DarkFenX commented 4 years ago

Not possible with current pyfa calculation engine, sorry. This (having multiple switchable data sources) is one of things I added to the new one, which I am overhauling ATM to integrate into pyfa at some point.

DarkFenX commented 4 years ago

Actually, let's just keep it open under another title.

H296 commented 4 years ago

I was thinking more of a hotfix type of thing where it would just toggle between two different resonance values, but I wouldn't know anything about how to do that.

In the mean time how do I run two different versions of Pyfa? I still maintain two different versions of EFT for "Checking old things", specifically pre-Citadel and post-Citadel.

DarkFenX commented 4 years ago

Well, as an approach for this specific case, you can do one of following two variants:

  1. Compose set of overrides for nerfed modules, see global -> attribute overrides. You can do it via UI or by composing .csv file via some (semi-)automatic way. For format of that CSV file, export some overrides from pyfa. IIRC, it's in typeID,attributeID,value format.
  2. Launch 2 separate pyfa instances. You can download two zip archives and launch each individually. Bear in mind that they both share the same fits database in <user folder>\.pyfa\saveddata.db, and pyfa is not designed to support 2 instances, so if you try to modify fits, something may break. To change that, you can pass one of two arguments to pyfa: --root will put all your data to pyfa's folder, and --savepath=<some path> lets you to specify path deliberately.

1st is the most convenient (since you can see changed stats by toggling overrides), but needs the most work. I am not going to do that, since I'll rather fix a few bugs in pyfa in that time.

H296 commented 4 years ago

Follow up. I made a override text file which can readily swap back and forth.

https://old.reddit.com/r/Eve/comments/g36atx/pyfa_overrides_for_simulating_prenerf_resistance/