Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Character implants #422

Closed
blitzmann opened this issue Nov 9, 2015 · 14 comments
Closed

Character implants #422

blitzmann opened this issue Nov 9, 2015 · 14 comments
Labels
enhancement This is a feature request, or an idea to enhancement a current feature

Comments

@blitzmann
Copy link
Collaborator

This is a popular feature request, and something I think pyfa should work towards. This thread will compile my thoughts and progress on this feature.

The feature itself is pretty simple: instead of having fit-specific implants, we have implants that travel with that characters. We actually already had most of the character implant stuff supported in the backend, but the GUI was disabled. After fixing it up a tad, I've now got characters with implants.

capture

capture

This is currently what I have. Fit implants override character implants.

Right now, implants are turned on/off in the database, but character implants should not be, as it will affect all other fits using that character. So the toggle needs to be based on the slot number of the implant instead of the implant itself, and be on a per-fit basis. This will require some DB tweaking, and I'm don't yet have a plan on how to load/save this to the database.

I'll also take a look at implementing implant sets. There probably wont be any fancy GUI here - it will probably act like the damage / target resists in that you set them up in a window, and can apply them via right click menu.

@blitzmann blitzmann added the enhancement This is a feature request, or an idea to enhancement a current feature label Nov 9, 2015
@narthollis
Copy link

If you are creating implant sets, it may be worth creating sets based on information provided in the API as the full implant list is now provided there, along with the implants in all jump clones (And jump clones have names).

@blitzmann
Copy link
Collaborator Author

You mean add implants when importing skills from the API? We could do that =)

@narthollis
Copy link

Yeah, when importing the skills, add/update implant sets for the currently installed implants, as well as for all jump clones with implants.

It's all on the Char/CharSheet.xml.aspx endpoint.

Prehaps with an option to copy these imported sets to be a first class editable set.

@blitzmann
Copy link
Collaborator Author

might have to start thinking about this in a different way https://forums.eveonline.com/default.aspx?g=posts&m=6389150#post6389150

@blitzmann
Copy link
Collaborator Author

The original plan here was to merge both fit-specific and character implants, and give the user the option to enable/disable them. If the character had implants, this would be be the default for the fit, but a user could override them by selecting another implant for the same slot. That's why you see some ship icons in the previous screenshot.

This worked in all but one aspect: toggling the character implants. Unfortunately, if we toggle the character implants, that toggles them for all fits using that character, which is not what we want. In order to do something like this would require jumping through a bunch of hoops, probably using Association Proxies (which I swear I am never touching again), and have a generally confusing mechanism.

So instead, I heeded some advise: if you have a character with implants, the situation is rare in which you would unplug implants to work with one fit. So instead of creating a convoluted association between fit and character implants, I've decided to separate them and add a toggle to select which one the user wants to source from.

1
2
WIP

Character implants are "online" and the state cannot be toggled. However, I realize there may be times when a user may want to toggle a character implant to see what affect that has on the fit (for example, if this pod is destroyed, can the ship still be fitted). I plan to allow the user to copy character implants to fit-specific implants via context menu.

I also plan to allow creation of implants sets, which can also be applied to the fit via context menu

Jump clones is something I am also thinking about, but not sure how it will be implemented yet. We shall see.

@narthollis
Copy link

Regarding jump clone and implant groups - perhaps instead of a "Use Character Implants" radio option it could be a "Use implant group" drop-down select?

@blitzmann
Copy link
Collaborator Author

I was thinking of something similar, we'll see how it turns out
On Mar 13, 2016 9:39 PM, "Nicholas Steicke" [email protected]
wrote:

Regarding jump clone and implant groups - perhaps instead of a "Use
Character Implants" radio option it could be a "Use implant group"
drop-down select?


Reply to this email directly or view it on GitHub
#422 (comment).

@blitzmann
Copy link
Collaborator Author

Check out char_implants implants branch for the latest. Implant sets (definite feature) and jump clones (possible feature) not yet implemented at this time, but I want to make sure that the basics work for now. I'll be making a pre-release for this branch for folks to test.

@MrNukealizer
Copy link
Contributor

As of the pre-release version there seems to be a bug with set bonuses on character implants. Looking at a fit with the same set of implants gives different results depending on whether it's using fit-specific or character sets. It appears to just not calculate the set bonuses for the character implants.
Correct
Incorrect

@blitzmann
Copy link
Collaborator Author

That may be completely possible. The effect code is probably looking at the implants for the fit, rather than the "applied implants". Good catch, I'll have to take a look this week. I'll also do another pre-release for the implant sets once that's wrapped up. =)

@blitzmann
Copy link
Collaborator Author

@MrNukealizer I took a look and they are indeed applying to the fit implants explicitly.

However, I also believe that implant sets are being calculated incorrectly to begin with. After looking through some forum posts (https://forums.eveonline.com/default.aspx?g=posts&m=3904939), it's possible we don't do it right (but I'll have to do some manual calculations later - what we do mathematically may be equivalent to what this guy is doing). Not sure how easy both of those will be to fix, but I'll work on it. =)

@MrNukealizer
Copy link
Contributor

The math may be wrong in some situations, but at least for that particular set in the first screenshot it's correct. As far as I can tell every stat matches up perfectly with ingame performance. That does only show the effects of a full set and a single implant though, so the stats with 2/3 implants of a set might be off.

@blitzmann
Copy link
Collaborator Author

71d33f3 should fix the character implants. The commit after that also fixes a calculation bug in which the character implants were not properly clearing previous calculation results.

I've manually verified that Slave and Snake sets are correctly calculated, so I'm gonna assume everything else works too. It's all multiplicative, so it'll give us the same result no matter which way we do it. In our case, every implant applies it's set bonus on the correct attribute to every other implant, instead of making one big total multiplier. as the forum post does.

@blitzmann
Copy link
Collaborator Author

This feature was release with v1.21.0, closing. \o/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This is a feature request, or an idea to enhancement a current feature
Projects
None yet
Development

No branches or pull requests

3 participants