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

Dromi web application amount in "Projected" feature is incorrect #1377

Closed UsernameByCommittee closed 6 years ago

UsernameByCommittee commented 6 years ago

Bug Report

Dromi webbing speed reduction when applied to other fits in the "Projected" window is incorrectly calculating speed reductions on target ships.

Expected behavior:

Dromi squads act as one object, fighters in a squad (3 per squad) do not apply stacking penalties.

Actual behavior:

Dromi web application when using effects on other ships seems to be calculated by stack penalizing the 3 fighters in a squad.

Detailed steps to reproduce:

  1. Select a carrier or supercarrier and have a squad of active (checkmarked Dromis or Dromi IIs)
  2. Open another fitting for a ship (any) and note the max speed with selected skills (all 5 for simplicity's sake)
  3. On the tab with second ship that was just opened, go to the "Projected" tab at the bottom
  4. Right-click in this "Projected" tab space, select a currently open carrier fit with active Dromis or Dromi IIs
  5. Note the speed reduction on the target ship. The values are incorrect, I tested the speed reduction on SiSi and noted it was in line with what CCP Larrikin noted here: https://www.reddit.com/r/Eve/comments/4aujnm/sisi_support_fighters/d13p5dv/

Fits involved in EFT format (Edit > To Clipboard > EFT):

[Nidhoggur, TEST Fleet]

Drone Damage Amplifier II Drone Damage Amplifier II Drone Damage Amplifier II Omnidirectional Tracking Enhancer II Capital Emergency Hull Energizer I

Drone Navigation Computer II EM Ward Field II Adaptive Invulnerability Field II Adaptive Invulnerability Field II Capital Shield Extender II Capital Shield Extender II

Fighter Support Unit I Fighter Support Unit I Fighter Support Unit I Networked Sensor Array Large 'Vehemence' Shockwave Charge

Capital Core Defense Field Extender I Capital Core Defense Field Extender I Capital Core Defense Field Extender I

Templar II x9 Templar II x9 Templar II x9 Dragonfly II x9 Siren II x3 Siren II x3 Dromi II x3 Dromi I x3

Release or development git branch? Please note the release version or commit hash:

Pyfa 1.34.0

Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

Windows 10

Other relevant information:

blitzmann commented 6 years ago

Hrm, this could be an interesting problem. Thanks for bringing this to my attention, especially the reddit post for the clarification, I'll have to get re-acquainted with the fighter code to figure out how difficult it is to fix this. ;)

EDIT: Actually, it's not a stacking penalty issue. It's the fact this we're applying the bonuses sequentially instead of lumping them up. So, one Dromi I fighter reduces speed by 15%. Instead of applying 45% reduction, we foirst apply 15% reduction, then 15% reduction, then 15% reduction

((330 - 15%) - 15%) - 15% = 202.66 vs 330 - 45% = 1891

blitzmann commented 6 years ago

@UsernameByCommittee Are you able to test on SISI new values if I provide you with a fixed build? I have it working with the web, but I'm wondering how this should work for all other fighters, I assume the same, but I want someone who has access to these things on the server to test the values as best as possible. My account is alpha, so I can't even get in my capitals to check :(

blitzmann commented 6 years ago

https://ci.appveyor.com/project/blitzmann/pyfa/build/bug/1377-378/artifacts

Test this build out and let me know, everything seems correct to me

UsernameByCommittee commented 6 years ago

Sorry I didn't get back to you sooner. Seems to be working correctly on this end and now the Dromi IIs are webbing at their correct value against a single ship. However, from what I understand, when multiple ships are webbing a target their webs receive stacking penalties on the ship they're hitting. So for instance, if one ship is using a T2 webifier on a target (60% slow), a second ship coming along and also applying a T2 webifier to the same target will only apply at 86.9% effectiveness of 60% for 52.14% effective webbing power.

I don't believe the "Projected" window is applying the stacking penalty to multiple ships hitting the target. I went into the test build and applied the Nidhoggur with 3 Dromi IIs active (60%) and the value came out correctly against this fit (2530 m/s max skills):

[Omen Navy Issue, PvP Cap Booster Std]

Medium Ancillary Armor Repairer, Nanite Repair Paste Nanofiber Internal Structure II Energized Adaptive Nano Membrane II Heat Sink II Heat Sink II Heat Sink II Damage Control II

50MN Cold-Gas Enduring Microwarpdrive Warp Disruptor II Medium F-RX Prototype Capacitor Boost, Cap Booster 800

Heavy Pulse Laser II, Scorch M Heavy Pulse Laser II, Scorch M Heavy Pulse Laser II, Scorch M Heavy Pulse Laser II, Scorch M [Empty High slot]

Medium Ancillary Current Router I Medium Energy Locus Coordinator II Medium Energy Locus Coordinator II

Infiltrator II x5

The Nidhoggur with the flight of Dromis IIs now correctly drops this ship's velocity down to 1012 m/s. However, when I apply webbing from a second (non-Serpentis) ship using a T2 webifier, its speed drops down to 405 m/s, essentially applying a full 60% webbing speed reduction to the existing speed of 1012 m/s. I can hop on to SiSi tomorrow to take a look and make sure that this is the correct behaviour.

blitzmann commented 6 years ago

Ah, yeah, they aren't penalized I don't think. This may or may not be an easy fix, will take a look tonight when I get home :)

UsernameByCommittee commented 6 years ago

No worries, thank you for all the work you've done! I love this program.

blitzmann commented 6 years ago

k, should be fixed, please let me know: https://ci.appveyor.com/project/blitzmann/pyfa/build/bug/1377-384/artifacts

:)

UsernameByCommittee commented 6 years ago

Seems to be looking good on my end. Thanks!

blitzmann commented 6 years ago

No problem! I see that the Feb release is out, so I'm hoping to make an official release with this fix in the next day or two.