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

Wolf-Rayet Damage Modifier Stacking Penalty #159

Closed
slowmman opened this issue Aug 27, 2014 · 7 comments
Closed

Wolf-Rayet Damage Modifier Stacking Penalty #159

slowmman opened this issue Aug 27, 2014 · 7 comments

Comments

@slowmman
Copy link

I believe that the wormhole effects (I have only tested in-game the wolf-rayat small gun damage modifier bonus, but I think also the magnetar effect is incorrect) are applying damage modifier stacking penalties where they really shouldn't be.

I tested in-game a RLML cerberus in a c5 wolf rayat. My in-game volley was 4037, and with my skills in a WR in pyfa said 3774 volley. This is consistent with the attached spreadsheet screenshot; the pyfa values match my calculated values if the stacking penalty was applied due to the wolf rayat gun damage modifier, affecting only the damage bonus part of damage mods.
issuereport

the values in pyfa are consistent with the small gun bonus being affected by stacking penalties, whereas in game values do not reflect this.

Looking at pyfa it also appears that magnetar damage bonuses are also affected by stacking penalties. I don't think this is the case in game, although I do not have access to a magnetar to confirm this.

@blitzmann
Copy link
Collaborator

From effect script thing:

effect systemSmallHybridDamage, build status is ok_full
  Modifier 1:
    state: offline
    context: local
    srcattr: smallWeaponDamageMultiplier
    operator: post_mul
    tgtattr: damageMultiplier (penalized)
    location: ship
    filter type: skill
    filter value: Small Hybrid Turret

Perhaps it's missing the penaltyGroup="postMul". I'll look into it.

@DarkFenX
Copy link
Member

Issue is a bit deeper. Guns are easy - i am pretty sure they are stacking penalized, because Celestials are (or, at least, were) not immune to penalization, and both dmg mods and celestial effects use postMul.

Missiles which you used for bechmark, however, are different. Effects which modify damage of all missiles - usually do not modify missiles directly, they change on-character attribute.

effect missiledmgbonus.py - build status is ok_full
  Modifier 1:
    state: online
    context: local
    srcattr: missileDamageMultiplierBonus
    operator: pre_mul
    tgtattr: missileDamageMultiplier (penalized)
    location: character
    filter type: None

This is effect for BCS damage bonus. All penalizations (between multiple BCS' and rigs, for example) apply to multiplier carried by character object, after that multiplier is applied from character to missiles (to me it is unknown if it uses preMul or postMul).

Thus, chain looks like:

missile damage
--character damage multiplier
----ballistic control systems
----missile calefaction rigs
--non-character damage multiplier (e.g. wolf-rayet bonus)

Even if wolf-rayet uses same modification type as BCS effect, they will never be in the same stacking penalization chain because BCS effect has intermediate attribute.

In pyfa, we do not have intermediate attribute (character in pyfa doesn't really carry any attributes and effects anyway), thus we have to reflect this 'virtual' stacking penalty chain some other way. But before that, i would like to know what kind of modification that on-character effect has. To find it out, i need following data:

To find out what modification type character applies, please post exact fit you have used for your test ("My in-game volley was 4037, and with my skills in a WR in pyfa said 3774 volley"). I suspect they are still stacking penalized, just in an non-obvious way.

@slowmman
Copy link
Author

of course. Here is the fit i used in-game (with my skills plugged in):
cerb_ingamefit

Without any effects projected, this shows a 1484 damage volley. Multiplying this by 2.72 (I was in a c5 wolf rayat, this is the damage modifier for that system per the dev blog), I get a volley damage of 4036.48, within rounding errors of the in-game value of 4037. Worth noting is that in-game dps does not properly update for missiles in wolf-rayat wormholes, but I have taken the volley indicated in-game as the true volley damage.

Here is the same fit with my skills with

However, applying the wolf-rayat effect to this setup in pyfa only shows the 3774 volley:

cerb_wr_ingamefit

@blitzmann
Copy link
Collaborator

Quick note for @DarkFenX:
I was able to emulate the characters skills (when it comes to the volley dmg at least) by copying All V to another character and reducing Warhead Upgrades to IV. Might help with number crunching if we start off with same volley dmg.

also, fit replication for easy copying:

[Cerberus, Cerberus fit]

Ballistic Control System II
Ballistic Control System II
Ballistic Control System II
Damage Control II

Experimental 10MN Microwarpdrive I
Large Shield Extender II
Large Shield Extender II
Warp Disruptor II
Adaptive Invulnerability Field II

Rapid Light Missile Launcher II, Scourge Fury Light Missile
Rapid Light Missile Launcher II, Scourge Fury Light Missile
Rapid Light Missile Launcher II, Scourge Fury Light Missile
Rapid Light Missile Launcher II, Scourge Fury Light Missile
Rapid Light Missile Launcher II, Scourge Fury Light Missile
Rapid Light Missile Launcher II, Scourge Fury Light Missile

Medium Anti-EM Screen Reinforcer II
Medium Core Defense Field Extender II

@DarkFenX
Copy link
Member

Damage from BCS: (1+0.1)×(1+0.1×0.86911998)×(1+0.1×0.86911998^4) = 1.263822301 multiplier
c5 wolf-rayet: 2.72 multiplier
volley of this caracal fit w/o BCS: 1484÷1.263822301 = 1174.215709618
volley of caracal if BCS chain result is stacking penalized with wolf-rayet multiplier: 1174.215709618×(1+1.72)×(1+0.263822301×0.86911998) = 3926.198758391
same if not penalized: 1174.215709618×1.263822301×2.72 = 4036.479999999

Thus yes, wolf-rayet damage bonus is not stacking penalized with BCS damage bonus at all, which means we have 2 possible variants:

  1. On-character damage multiplier uses preMul to modify missile damage (and wolf-rayet uses postMul as we know, which makes these not mutually penalized)
  2. CCP added celestials to category list which is immune to stacking penalties

To verify which of these claims is right, I need to have some turret-based ship with few damage modules in wolf-rayet, and following data:

  1. Amount of damage-modifying modules or just fit
  2. Volley in wolf-rayet (specify class if different to c5 used in OP)
  3. Volley outside of wolf-rayet

@slowmman
Copy link
Author

  1. Here is an artillery thrasher fit I have (fits with genos or 1% cpu):
    [Thrasher, ARTY in the hole for tests]

Gyrostabilizer II
Gyrostabilizer II

Limited 1MN Microwarpdrive I
Faint Warp Disruptor I
Stasis Webifier II

250mm Light Artillery Cannon II, Republic Fleet EMP S
250mm Light Artillery Cannon II, Republic Fleet EMP S
250mm Light Artillery Cannon II, Republic Fleet EMP S
250mm Light Artillery Cannon II, Republic Fleet EMP S
250mm Light Artillery Cannon II, Republic Fleet EMP S
250mm Light Artillery Cannon II, Republic Fleet EMP S
250mm Light Artillery Cannon II, Republic Fleet EMP S
[Empty High slot]

Small Projectile Ambit Extension I
Small Projectile Ambit Extension I
Small Polycarbon Engine Housing I

  1. In a c5 wolf rayat, it volleys with republic fleet EMP for:
    2436 EM damage, 271 kinetic damage, and 541 explosive damage.
    Total volley = 3248

Note that my small artillery spec is level IV, and all other damage-bonusing gunnery skills are at V.
Quite curious, this does match the current pyfa build when applying the c5 wolf-rayat bonus.

  1. in a no-effect wormhole the volley is:
    932 EM, 104 KIN, 207 EXP
    Total Volley = 1243

So it appears that only missile damage is off, or CCP's in-game calculation is wrong.
To test this I shot a strucure with the cerberus fit above (shot a poco, 0% resists so I should expect to hit the full in-game volley of 4037). The result was indeed hitting the poco for the full 4037 damage.

@DarkFenX
Copy link
Member

Thanks. It means that on-character missile damage multiplier is applied to missiles using preMul operator, and celestial bonuses are still stacking penalized.

I will review patch and make necessary adjustments after this weekend.

@DarkFenX DarkFenX changed the title Wolf-Rayat Damage Modifier Stacking Penalty Wolf-Rayet Damage Modifier Stacking Penalty Aug 29, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants