EvEmu-Project / evemu_Crucible

Emulator for EvE Online's Crucible expansion
https://evemu.dev
170 stars 66 forks source link

Multiple minor fixes #192

Closed beelitzs closed 2 years ago

beelitzs commented 2 years ago

Minor fixes.

  1. Amendment for #187 - Subtraction of level modifier on a already researched BPO was returning a negative value. Now calculates the total modifier then subtracts the already researched portion.

  2. Fix for industry skills adding 2 slots per level rather than 1/level as intended. Two potential fixes, Just the attribute (which includes skill bonuses) or the manual calc (which is easier to understand imo) Went with the latter in this case.

  3. Fix for #191 - Turns out the issue is actually caused by the ActiveModule repeat counter hitting zero (Modules deactivate after 1000s) which is not featured in the game. Number of different ways to fix this one but I went with this one because it fixes all active modules rather than just mining lasers while maintaining the repeat function which is important for modules with single cycle limitations.

Almamu commented 2 years ago

Fixes look okay, my only nitpick would be for 2. Where do those attributes come from? If a character has a base laboratory slots they can use, which get increased by the skill level, then the attribute has to be taken into account (or maybe not)?. Does the client show this amount somewhere in the UI? (if so, please send an screenshot so I can look into how the client calculates this and use the right formula).

beelitzs commented 2 years ago

I wasn't able to properly track down the calc on the attribute itself (since you're right it does seem to come from the client). Which is the reason why I went with the second method of using the formula directly (both will function identically).

The formula for total slots is: [1 + Skill1 + Skill2] as confirmed by this 2012 forum post (and similar others) https://forums-archive.eveonline.com/topic/62783 and the same formula is still in use on Tranquility to this day (11 Max)

Crucible doesn't show the max slots in the UI (unlike Tranquility which does) :(

Almamu commented 2 years ago

The crucible client does show it somewhere in the UI (not sure where, but found the code that calculates it) and seems to be calculated the same way. Those attributes aren't really used by the client at all, and GetRelevantCharSkills had the proper calculations in the first place. Seems !oktotest

Almamu commented 2 years ago

!oktotest