These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Ships & Modules

 
  • Topic is locked indefinitely.
 

pyfa v1.29.4 - The Python Fitting Assistant

Author
Asian Driver
Garoun Investment Bank
Gallente Federation
#461 - 2017-05-23 14:41:27 UTC  |  Edited by: Asian Driver
Tracking drone optimal range and tracking speed.

I'm trying to find out if it's better to run a pair of Omnidirectional Tracking Links with no scripts in either, or with different scripts in each. Here are my numbers from the latest version of pfya. optimal is in km


offline, no scripts: 75 optimal .0120 tracking
online, no scripts: 85.9 optimal .0156 tracking
online, track and optimal script: 86.3 optimal .0156 tracking



My question is why, with the scripts, do I should show an increase in optimal range, but do not show any increase in tracking speed? Is it just so small that pyfa doesn't pick it up? There should be an increase no matter how small, right?
Ebag Trescientas
Black Serpent Technologies
Northern Coalition.
#462 - 2017-05-23 16:01:24 UTC
Asian Driver wrote:
Tracking drone optimal range and tracking speed.

I'm trying to find out if it's better to run a pair of Omnidirectional Tracking Links with no scripts in either, or with different scripts in each. Here are my numbers from the latest version of pfya. optimal is in km


offline, no scripts: 75 optimal .0120 tracking
online, no scripts: 85.9 optimal .0156 tracking
online, track and optimal script: 86.3 optimal .0156 tracking



My question is why, with the scripts, do I should show an increase in optimal range, but do not show any increase in tracking speed? Is it just so small that pyfa doesn't pick it up? There should be an increase no matter how small, right?


I'm assuming you're looking at the Warden, since it's 0.012 tracking without anything active.

If you're running the optimal range script, then the effects go 100% toward range and 0% toward tracking, so it'd make sense in that scenario that the tracking would stay the same while optimal would change.

Basically, this is working correctly.

You can always use the info window and the "affected by" tab to see what is affecting the module/drone/ship, and by how much.

For example:
https://puu.sh/vZcvt/dba72193d7.png

The window on the left is with one tracking link using a tracking script. You'll see a tracking bonus, but no range bonus.

The window on the right is with one tracking link using a range script. You'll see a range bonus, but no tracking bonus.

The window in the middle is with one of each. You'll notice that the bonuses match up to the windows on the right and left, you just get both of them (but they aren't any larger).

Want Pyfa, but with more features?

Pyfa.fit

Asian Driver
Garoun Investment Bank
Gallente Federation
#463 - 2017-05-23 17:37:27 UTC
I'm using two links when I do the testing.

The first set of number is with the link offline to give me base values. The the first test is both running without scripts, and the last test is with one running a range script, and the other running a tracking script.

I know that when you have a script it puts all it's bonuses toward that trait, so when I have them loaded with the different scripts I should see the tracking speed go up, but alas, it doesn't.

I did the numbers. That bonus with the script, essentially without the stacking penalty of running two links, is 0.46%. Taking the .0156 tracking speed and adding the 0.46% gives me 0.1567176, which is essentially unchanged, but it should still round up. The world is right again. This shows that if you run two you should have scripts in them, and not empty as I've been told to do in the past.
Ebag Trescientas
Black Serpent Technologies
Northern Coalition.
#464 - 2017-05-23 20:04:38 UTC
Asian Driver wrote:
I'm using two links when I do the testing.

The first set of number is with the link offline to give me base values. The the first test is both running without scripts, and the last test is with one running a range script, and the other running a tracking script.

I know that when you have a script it puts all it's bonuses toward that trait, so when I have them loaded with the different scripts I should see the tracking speed go up, but alas, it doesn't.

I did the numbers. That bonus with the script, essentially without the stacking penalty of running two links, is 0.46%. Taking the .0156 tracking speed and adding the 0.46% gives me 0.1567176, which is essentially unchanged, but it should still round up. The world is right again. This shows that if you run two you should have scripts in them, and not empty as I've been told to do in the past.


Yup. You are absolutely correct.

There's a bug here, and it's not in the effect itself (possibly deep into the stacking penalty code).

Want Pyfa, but with more features?

Pyfa.fit

Asian Driver
Garoun Investment Bank
Gallente Federation
#465 - 2017-05-23 20:07:52 UTC
Ebag Trescientas wrote:


Yup. You are absolutely correct.

There's a bug here, and it's not in the effect itself (possibly deep into the stacking penalty code).


Wait... I found something?
Ebag Trescientas
Black Serpent Technologies
Northern Coalition.
#466 - 2017-05-23 20:17:31 UTC
Asian Driver wrote:
Ebag Trescientas wrote:


Yup. You are absolutely correct.

There's a bug here, and it's not in the effect itself (possibly deep into the stacking penalty code).


Wait... I found something?



Indeed you did! Well done.

Basically penalization isn't happening at all, at least for tracking links and enhancers. That's why 2 unscripted ones (15% each) = 1 scripted one (30%), even though the sniff test should tell us that doesn't make sense.

Pretty big issue here, obviously.

Want Pyfa, but with more features?

Pyfa.fit

Asher Elias
GoonWaffe
Goonswarm Federation
#467 - 2017-05-23 21:45:48 UTC  |  Edited by: Asher Elias
I'm getting a pretty fun bug, I have a target painter on an astarte, I dragged BC with an electronic superiority link onto the command ships and then heated the TP. And my bonus went WAY up. Then I turned the link on and off and it seems like every time heat/unheat or flip the links on and off my TP value gets multiplied instead of reset:


https://vgy.me/2PQuAn.png


Restarting seems to solve the problem and I think the initial application is correct but if I ever flip them on and off it starts adding up again. I was using the new "50 most recent ships" menu to drag the BC onto the command line.
Fletcher Kanewald
Bad Game Design
skill urself
#468 - 2017-05-23 21:50:16 UTC  |  Edited by: Fletcher Kanewald
Similar to the above, by turning the projection on and off, I was able to change the range on the guns while applying an electronic superiority from a T2 Info link to a fit. The behavior remained after closing and reopening the application.

(off) https://i.imgur.com/2YYgvME.png
(on) https://i.imgur.com/MiNNm4X.png
Sable Blitzmann
24th Imperial Crusade
Amarr Empire
#469 - 2017-05-24 01:46:40 UTC
Asian Driver wrote:
Ebag Trescientas wrote:


Yup. You are absolutely correct.

There's a bug here, and it's not in the effect itself (possibly deep into the stacking penalty code).


Wait... I found something?


Not quite :). Let me try to shine a bit of light on this. I don't believe there is a bug here (at least not as described and with respect to my knowledge of game mechanics).

tl;dr: it's better to do one scripted module rather than two unscripted ones

To answer the mystery of why one value changes and another doesn't, we should first remember that stacking penalties are based on the number of things that affect a particular target attribute. So, if I have two modules (Omni Tracking Link) that affect the same attribute (optimal range), then the second module is going to get hit with the stacking penalty. This is why doing one scripted is better than two unscripted - the one that is scripted is fully bonused without stacking penalty (the script applies a direct bonus to the module), and that one module applies to the target attribute, instead of two modules doing so. So you get the full 15% instead of 7.5% and then modifying again by 6.5175%.

Here's some of the maths behind it:

https://gist.github.com/blitzmann/7aeacfe68825ae348f4257c257811cca

To answer the question on why tracking doesn't change, it's because of two things acting together: we round to 4 decimal places, and the differences between one scripted vs two unscripted is so small it displays as the same thing (0.0156 vs 0.01559883 respectively). And then, of course, there's the fact that these are floating point numbers, so there is potential for floating point inaccuracy and general rounding errors in the calculations (although probably doesn't come into play in this particular case)

Hope that clears up why the odd behavior was happening :)
Sable Blitzmann
24th Imperial Crusade
Amarr Empire
#470 - 2017-05-24 02:38:47 UTC
Asher Elias wrote:
I'm getting a pretty fun bug, I have a target painter on an astarte, I dragged BC with an electronic superiority link onto the command ships and then heated the TP. And my bonus went WAY up. Then I turned the link on and off and it seems like every time heat/unheat or flip the links on and off my TP value gets multiplied instead of reset:


https://vgy.me/2PQuAn.png


Restarting seems to solve the problem and I think the initial application is correct but if I ever flip them on and off it starts adding up again. I was using the new "50 most recent ships" menu to drag the BC onto the command line.



Fletcher Kanewald wrote:
Similar to the above, by turning the projection on and off, I was able to change the range on the guns while applying an electronic superiority from a T2 Info link to a fit. The behavior remained after closing and reopening the application.

(off) https://i.imgur.com/2YYgvME.png
(on) https://i.imgur.com/MiNNm4X.png


I can't reproduce either of these issues as described :/

I sent both of you a mail requesting you guys to send me your user databases so that I can see what's happening with the data you have (screenshots are always awesome, but it's hard to tell what all is in play at any given time without the actual data). Long shot, but I would also make sure you're running the latest version of pyfa. There's been a bunch of fixes in the 1.29.x cycle - I don't think any having to do with these calculations, but worth a shot to make sure you're up to date:

https://github.com/pyfa-org/Pyfa/releases/latestjavascript:if (typeof posting=='undefined'||posting!=true) {posting=true;__doPostBack('forum$ctl00$PostReply','');}
Ebag Trescientas
Black Serpent Technologies
Northern Coalition.
#471 - 2017-05-24 15:16:34 UTC
Sable Blitzmann wrote:

To answer the question on why tracking doesn't change, it's because of two things acting together: we round to 4 decimal places, and the differences between one scripted vs two unscripted is so small it displays as the same thing (0.0156 vs 0.01559883 respectively). And then, of course, there's the fact that these are floating point numbers, so there is potential for floating point inaccuracy and general rounding errors in the calculations (although probably doesn't come into play in this particular case)

Hope that clears up why the odd behavior was happening :)


Yeah. That doesn't clear it up.

I think I know a thing or two about how this is supposed to work, and stacking penalties aren't applying here when they should be.

In Pyfa (and Pyfa.fit):

Base Value:
0.012

With unscripted Tracking Links:
1 Tracking Link: 0.0138
2 Tracking Links: 0.0156

With scripted tracking Links:
1 Tracking Link: 0.0156
2 Tracking Links: 0.0197


I ran through a rough calc of numbers (stacking penalty only accurate to 3 decimals, but close enough). The numbers *SHOULD* be:

With unscripted Tracking Links:
1 Tracking Link: 0.0138
2 Tracking Links: 0.01379

With scripted tracking Links:
1 Tracking Link: 0.0156
2 Tracking Links: 0.0176

Again, these numbers aren't perfectly accurate as the penalty isn't precise, but it's clear that the numbers are wrong.

So yeah. Stacking penalties aren't applying here, even though it says it is penalized. This is clearly a bug, and kudos to Asian Driver for finding it.

Want Pyfa, but with more features?

Pyfa.fit

Hespire Malneant
ACME Explosive Novelties Inc.
#472 - 2017-05-24 18:37:47 UTC
I got a crash. User action was clicking on the Authorize button on the CREST web page. Don't have/want github account so here it is:

OS version: Windows-7-6.1.7601-SP1
Python: 2.7.10
wxPython: 3.0.2.0
SQLAlchemy: 1.0.5
Logbook: 1.0.0
pyfa version: 1.29.2 Stable - YC119.5 1.0
pyfa root: C:\Program Files (x86)\pyfa
save path: C:\Users\REDACTED\.pyfa
fs encoding: mbcs

EXCEPTION: The C++ part of the ExportToEve object has been deleted, attribute access no longer allowed.

File "C:\Program Files (x86)\pyfa\library.zip\gui\crestFittings.py", line 245, in ssoLogin
self.updateCharList()
File "C:\python-2.7.10\lib\site-packages\wx-3.0-msw\wx\_core.py", line 16711, in __getattr__
Asher Elias
GoonWaffe
Goonswarm Federation
#473 - 2017-05-25 18:52:16 UTC
Is there a way to have a reactive armour hardener show its base 15/15/15/15 resists rather than optimized resists?
Ebag Trescientas
Black Serpent Technologies
Northern Coalition.
#474 - 2017-05-26 02:06:14 UTC
Asher Elias wrote:
Is there a way to have a reactive armour hardener show its base 15/15/15/15 resists rather than optimized resists?


Yup. Look under the Fitting Engine preferences page.

https://puu.sh/w1jCx/2c9c276210.png

I also prefer having static resists set for it. Note that it will only show the base 15/15/15/15 when you have an even damage profile set. So a profile of 25/25/25/25 would show even resists with that setting set, while 25/25/25/24 would not.

Want Pyfa, but with more features?

Pyfa.fit

Sable Blitzmann
24th Imperial Crusade
Amarr Empire
#475 - 2017-05-26 03:31:15 UTC
Ebag Trescientas wrote:
I think I know a thing or two about how this is supposed to work


... Okay? And I don't? lol >.<

Ebag Trescientas wrote:

Base Value:
0.012

With unscripted Tracking Links:
1 Tracking Link: 0.0138
2 Tracking Links: 0.0156

With scripted tracking Links:
1 Tracking Link: 0.0156
2 Tracking Links: 0.0197


I ran through a rough calc of numbers (stacking penalty only accurate to 3 decimals, but close enough). The numbers *SHOULD* be:

With unscripted Tracking Links:
1 Tracking Link: 0.0138
2 Tracking Links: 0.01379

With scripted tracking Links:
1 Tracking Link: 0.0156
2 Tracking Links: 0.0176


Asian Driver was asking about 1 scripted vs 2 unscripted and why one value was different from the other, which I explained was due to the very small values involved and pyfa rounding. You seem to be discussing the stacking of two scripted modules, of which I didn't test (but which should follow the same rules as stacking two unscripted, which I laid out).

But now I've tested that scenerio as well... How are you getting the numbers you claim to be proper? As reference, the stacking penalties I used for my calcs are defined as such (without going to the actual formula).

1st mod: 100.0% effectiveness
2nd mod: 86.9% effectiveness
3rd mod: 57.1% effectiveness
etc

So, going back to basically what I posted on the GitHub Gist, but including two scripted modules now:

Base value: 0.012

Unscripted:

15% for first module
13.035% for second (86.9% of original due to stacking)

0.012 * 1.15 = 0.0138 (first module applied)
0.0138 * 1.13035 = 0.01559883 (second module applied (penalized))

That's pretty much what pyfa is reporting back, but you're getting 0.01379 in your hand calcs?

Scripted is much the same.

30% for first module
26.07% for second module (86.9% of original due to stacking)

0.012 * 1.30 = 0.0156 (first module applied)
0.0156 * 1.2607 = 0.01966692 (second module applied (penalized))

Again, this is what pyfa returns... and again I'm not sure where you're getting 0.0176 as the final answer for this.

Would like to see your calcs so we can verify what's going on. This is the way I understand it works, and the way pyfa has done stacking forever - if this is broken, then everything else about stacking is broken, and that would be fairly evident.

Unless of course stacking on scripts/charges applies differently and pyfa simply doesn't take that into consideration. In that case I am not even aware of that mechanic.

(ninja edit)

To test this all out and make sure stacking on scripts uses the same mechanics as everything else, I tested a similar set up on SISI (different from the original problem due to alpha character restrictions, but the same principals stand):

[Stabber, Stabber fit]

[Empty Low slot]
[Empty Low slot]
[Empty Low slot]
[Empty Low slot]

Tracking Computer I, Tracking Speed Script
Tracking Computer I, Tracking Speed Script
Tracking Computer I
Tracking Computer I

720mm Howitzer Artillery I
[Empty High slot]
[Empty High slot]
[Empty High slot]
[Empty High slot]
[Empty High slot]

[Empty Rig slot]
[Empty Rig slot]
[Empty Rig slot]

Base value (with my (alpha) skills) of the Artillery tracking was 8.03 in pyfa (and according to EVE client it's 8.0256, which rounds up in pyfa -- keep this in mind for possible rounding errors). I confirmed that my fitted unscripted Tracking Computer I gives a bonus of 10%, while scripted is 20%.

Base value: 8.03

Unscripted (with the two scripted offline):
Module 1: 10%
Module 2: 10% * 0.869 = 8.69 (x1.0869)

8.03 * 1.10 = 8.833
8.833 * 1.0869 = 9.60656565 (pyfa shows 9.6, EVE shows 9.59543302497)

Scripted (with the two unscripted offline):

Module 1: 20%
Module 2: 20% * 0.869 = 17.38 (x1.1738)

8.03 * 1.20 = 9.636
9.636 * 1.1738 = 11.3107368 (pyfa shows 11.3, EVE shows 11.3047702363)

These are all verified between my hand calculations, pyfa, and the EVE client, and I've gone through them about 3 times to ensure I didn't make a dumb. So, from what I'm seeing, pyfa is showing correct values to what the game shows.

If you're getting something different, then by all means lay your calcs out. I encourage everyone to poke holes in the calcs described above if they don't seem right, or to point out errors in my understanding of the game mechanics. But all looks correct to me. ¯\_(ツ)_/¯
Sable Blitzmann
24th Imperial Crusade
Amarr Empire
#476 - 2017-05-26 03:32:17 UTC
Hespire Malneant wrote:
I got a crash. User action was clicking on the Authorize button on the CREST web page. Don't have/want github account so here it is:

OS version: Windows-7-6.1.7601-SP1
Python: 2.7.10
wxPython: 3.0.2.0
SQLAlchemy: 1.0.5
Logbook: 1.0.0
pyfa version: 1.29.2 Stable - YC119.5 1.0
pyfa root: C:\Program Files (x86)\pyfa
save path: C:\Users\REDACTED\.pyfa
fs encoding: mbcs

EXCEPTION: The C++ part of the ExportToEve object has been deleted, attribute access no longer allowed.

File "C:\Program Files (x86)\pyfa\library.zip\gui\crestFittings.py", line 245, in ssoLogin
self.updateCharList()
File "C:\python-2.7.10\lib\site-packages\wx-3.0-msw\wx\_core.py", line 16711, in __getattr__


Thanks for the report, will look into it. :)
Suyer
Broski North
#477 - 2017-05-27 02:55:01 UTC  |  Edited by: Suyer
Why don't you just update EFT instead.

Or at least add an EFT skin PLEEEEEEEEEASE
Tavion Aksmis
Risk Breakers
Snuffed Out
#478 - 2017-05-28 18:06:24 UTC
Any chance we can see the upcoming CONCORD ships available in Pyfa? I want to start fitwarrioring Lol
Ebag Trescientas
Black Serpent Technologies
Northern Coalition.
#479 - 2017-05-29 08:44:18 UTC
Suyer wrote:
Why don't you just update EFT instead.

Or at least add an EFT skin PLEEEEEEEEEASE


Check out the minimal stats panes under preferences. If you want even more minimal stat pane options, check out the fork of Pyfa.fit that I've been working on....

I'd like to actually go through and make a "EFT" version, but the minimal ones get you closer to that....

Tavion Aksmis wrote:
Any chance we can see the upcoming CONCORD ships available in Pyfa? I want to start fitwarrioring Lol


They're already there.

Want Pyfa, but with more features?

Pyfa.fit

Senister DaHollow
Ministry of War
Amarr Empire
#480 - 2017-05-31 03:16:03 UTC
I just built a loki fit and the fit I used uses a 50mn microwarp drive II in it. The problem is in Pyfa, it shows as 353 m/s with All 5, but when I look at it in game with my current character, it shows at over 1400. I am not sure if this is a glitch or a bug, and I am not sure where to report it so here I am.