pyfa-org / Pyfa

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

Graph improvement: simulate defensive ewar in dps graph #2603

Open jtyotJOTJIPAEFVJ opened 2 months ago

jtyotJOTJIPAEFVJ commented 2 months ago

It's always been difficult for me to tell how a fit's ewar will exactly affect a target ship's behaviour at range. Projecting the fit only gives you accurate results at close range, and it's difficult to tell exactly at what range the target can lock you back if you're in the falloff of your damps, or at what range can a sniper fit still shoot at you when it starts to outrange your disruptor optimal.

It occurred to me that a janky way to simulate that would be to make the target ship's ewar automatically project onto the source in the DPS sim. There might be a better way to do this, it certainly feels very dirty, but I did manage to get a working prototype going with a few hours of tinkering: image

I simply abused the ewar graph code to query the target fit's ewar strength when checking lock range and application at each point. There might be a cleaner way of doing this as well, but it worked for a quick prototype. For a final version, you'd probably want a toggle in the graph settings for this or something, it's very hard to tell what's going on if you don't know this is happening.