Projekt

Allgemein

Profil

Aktionen

Fehler #15586

geschlossen

[Spellmechanik] Muliplikation/Addition von Auren und Talenten.

Von Mollestus vor mehr als 8 Jahren hinzugefügt. Vor fast 6 Jahren aktualisiert.

Status:
Live
Priorität:
Normal
Zugewiesen an:
-
Kategorie:
Zauber
Zielversion:
Beginn:
28.09.2015
Update Text Deutsch:

Eine Möglichkeit zur Differenzierung zwischen multiplikativer und additiver Berechnung von Bonusauren wurde hinzugefügt.


Beschreibung

Nachdem wir (Corrius und ich) uns über den Initaldmg von Mondfeuer der Eule unterhielten und die Auswirkung der Glyphe "Mondfeuer" erörterten, die den Initaldmg um 90% verringert, stieß Corrius in einer gemütlichen Abendstunde etwas sehr interessantes.

Wir versuchten uns den Dmg zu errechnen, doch anhand von Offilogs, dem Addon Drdamage und einem flauen Gefühl, sahen wir, dass etwas nicht stimmig war.
Captain Corrius setzte sich direkt an seinen Supercomputer und suchte verzweifelt nach der Lösung unseres Problems. Dabei stieß er wohl auf einen der gewaltigsten Bugs seit dem Aufspielen von 3.3.5a auf RG.

Nach langer Suche fand er es. Den größten Bug aller Zeiten, wie manch einer sagen würde und schickte mir folgendes:

"(Patch 3.1.3)It doesn't just change the base damage! it changes after spellpower, additive with other effects. See below"

Schockiert fragte ich: Additive? und er schickte mir folgendes:

" By Horsekebab (3,066 – 9·38) on 2010/05/16 (Patch 3.3.3)
Glyph of Moonfire will affect both base damage and the damage increase from spell power as explained below.

The damage increase is additive. This means that all the additive damage increasing talents and buffs will be added together before multiplied with the base damage and bonus damage (separately). If the bonus damage from the glyph was multiplicative, the damage would be a flat 75% higher, which is not the case.

Based on hours of research, I can provide the following information:

Moonfury is additive
Genesis is additive
Improved Moonfire is additive
Glyph of Moonfire (DoT effect) is additive
Glyph of Moonfire (DD effect) is additive
Earth and Moon (debuff) is multiplicative
Earth and Moon (passive damage) is multiplicative
Master Shapeshifter (Moonkin Form) is multiplicative

Which leaves us with this calculation:

Base damage of one Moonfire tick * (1 + Moonfury (3/3) damage bonus + Genesis (2/5) damage bonus + Improved Moonfire (2/2) damage bonus + Glyph of Moonfire damage bonus) * (1 + Earth and Moon (3/3) (debuff) damage increase) * (1 + Earth and Moon (3/3) (passive damage) damage increase) * (1 + Master Shapeshifter (2/2) (Moonkin Form) damage increase) = a total of 145% damage increase "

Demnach sollte zB:
Der Initaldmg von Moonfire (3046 ZM) mit Glyphe so aussehen, ohne Fde:
Min-Dmg: 406*(1+0,1+0,1-0,9)*(1+0,06)*(1+0,04)+3046*0,1495*(1+0,1+0,1-0,9)*(1+0,06)*(1+0,04) = 294
Max-Dmg: 476*(1+0,1+0,1-0,9)*(1+0,06)*(1+0,04)+3046*0,1495*(1+0,1+0,1-0,9)*(1+0,06)*(1+0,04) = 318

und nicht wie auf RG:
für Min-Dmg mit Glyphe zB: (406+0,1495*550)*1,1*1,1*1,04*1,06*0,1= 65,12452804 betragen.

Nun gilt es herauszufinden, werte Mitstreiter, welche Talente und Auren uÄ additiv oder multiplikativ berechnet werden müssten für sämtliche Klassen.

Lange Rede kurzer Sinn / Roleplayer-modus off:
Die meisten machen zu viel Dmg, weil Talente etc multiplikativ auf RG wirken und auf dem Offi nur zum Teil multiplikativ wirkten.

In den folgenden Tickets sind alle additiven Sachen zu bearbeiten.


Untergeordnete Tickets 11 (0 offen11 geschlossen)

Fehler #15609: [Krieger] Additive/Multiplikative Auren etcLive28.09.2015Aktionen
Fehler #15610: [Hexenmeister] Additive/Multiplikative Auren etcLive28.09.2015Aktionen
Fehler #15611: [Schamane] Additive/Multiplikative Auren etcLive28.09.2015Aktionen
Fehler #15612: [Schurken] Additive/Multiplikative Auren etcLive28.09.2015Aktionen
Fehler #15614: [Priester] Additive/Multiplikative Auren etc Live28.09.2015Aktionen
Fehler #15615: [Paladin] Additive/Multiplikative Auren etc Live28.09.2015Aktionen
Fehler #15616: [Magier] Additive/Multiplikative Auren etc Live28.09.2015Aktionen
Fehler #15617: [Jäger] Additive/Multiplikative Auren etc Live28.09.2015Aktionen
Fehler #15618: [Druide] Additive/Multiplikative Auren etc Live28.09.2015Aktionen
Fehler #15619: [Todesritter] Additive/Multiplikative Auren etc Live28.09.2015Aktionen
Fehler #18226: Armordebuffs sollten multiplikativ und nicht additiv stackenLive23.03.2016Aktionen

Zugehörige Tickets

Beziehung mit RG Live WotLK 3.3.5a - Fehler #26420: Waffenschaden verrechnungLive13.08.2017Aktionen
Aktionen #1

Von Mollestus vor mehr als 8 Jahren aktualisiert

Aktionen #2

Von Mollestus vor mehr als 8 Jahren aktualisiert

Aktionen #3

Von Mollestus vor mehr als 8 Jahren aktualisiert

Aktionen #4

Von Mollestus vor mehr als 8 Jahren aktualisiert

Aktionen #5

Von Mollestus vor mehr als 8 Jahren aktualisiert

Aktionen #6

Von Mollestus vor mehr als 8 Jahren aktualisiert

Aktionen #7

Von Mollestus vor mehr als 8 Jahren aktualisiert

Aktionen #8

Von Kuschkusch vor mehr als 8 Jahren aktualisiert

  • Status wurde von Bestätigt zu Neu geändert
Aktionen #10

Von Mollestus vor mehr als 8 Jahren aktualisiert

Tzz für Moonkin stehen da doch die Beispiele :P

Aktionen #12

Von Mollestus vor mehr als 8 Jahren aktualisiert

  • Status wurde von Neu zu Bestätigt geändert
Aktionen #14

Von Mollestus vor mehr als 8 Jahren aktualisiert

Aktionen #15

Von Rushor vor mehr als 8 Jahren aktualisiert

  • Status wurde von Bestätigt zu Testbereit geändert

TESTCOMMIT:

damit sollte alles additiv sein, wenn das geht fixe ich weiter mit nem spellcostumattribute

gilt für effekte mit void AuraEffect::HandleModDamagePercentDone(AuraApplication const* aurApp, uint8 mode, bool apply) const

classspelloverrides und glyphen erstmal nicht beachten

Aktionen #16

Von Mollestus vor mehr als 8 Jahren aktualisiert

Aktionen #17

Von Mollestus vor mehr als 8 Jahren aktualisiert

  • Status wurde von Testbereit zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Rushor gesetzt

Nope iwas ist mit der ZM Skalierung falsch.
Inital Dmg von Moonfire mit 0 ZM mit Moonfury (3/3) damage bonus + Improved Moonfire (2/2) damage bonus
Min Dmg=406*(1+0,1+0,1)+ 0= 487
Max Dmg=476*(1+0,1+0,1)+ 0= 571

Das passte soweit.

Mit 10k ZM und gleichen Talenten:
Min Dmg=406*(1+0,1+0,1)+ 10000*0,1495*(1+0,1+0,1)= 2281
Max Dmg=476*(1+0,1+0,1)+ 10000*0,1495*(1+0,1+0,1)= 2372

Aufm master-Server hatte ich
Min: 2332 und Max: 2416

Falscher ZM-Koeffizient auf RG?

Edit: Ok, scheinbar falscher ZM-Koeffizient für den Initial-Dmg :D
Edit2: Selbst mit dem Koeffizienten von 0,1515 stimmt der Dmg nicht un bleibt zu hoch. Sprich, es ist scheinbar weiterhin multiplikativ.

Aktionen #18

Von Rushor vor mehr als 8 Jahren aktualisiert

  • Status wurde von In Bearbeitung zu Testbereit geändert
  • Zugewiesen an Rushor wurde gelöscht

wie gesagt der testcommit gilt nur für spells mit // 79 SPELL_AURA_MOD_DAMAGE_PERCENT_DONE

d.h für spells wie: https://gist.github.com/Rushor/0fd56f0676c2a7ae303f

alles mit Aura Id 108 (SPELL_AURA_ADD_PCT_MODIFIER kannst du erstmal vergessen (ich weis das das fast alle spells betrifft) daher ur mit spells testen aus der obrigen liste ausm gist

Aktionen #19

Von Mollestus vor mehr als 8 Jahren aktualisiert

So: Waffe mit 3,6 Speed (0,257 AP-Koeffizient) und Min Dmg von 895 und Max Dmg von 1344 und 30055 AP

Folgende Auren genommen: Arcane Instability 15060 +3% Dmg und 2H-Weapon-Specialization 12712 + 6% Dmg

Sollte, wenn es multiplikativ ist auf der Puppe mit 38,26% Dmg Reduce wegen Rüstung:

Wenn multiplikativ:
Min Dmg = 895*1,03*1,06+ 0,257*30055 *1,03*1,06 = 9410,371593 --> 9410,371593*0,6174 = 5809,9634215182
Max Dmg = 1344*1,03*1,06+ 0,257*30055 *1,03*1,06 = 9900,589793 --> 9900,589793*0,6174 = 6112,6241381982

Wenn additiv:
Min Dmg = 895*(1+0,03+0,06)+ 0,257*30055 *(1+0,03+0,06) = 9394,85715 --> 9394,85715 *0,6174 = 5800,38480441
Max Dmg = 1344 *(1+0,03+0,06)+ 0,257*30055 *(1+0,03+0,06) = 9884,26715 --> 9884,26715*0,6174 = 6102,54653841

Auf dem Master min Dmg=5803 und max Dmg= 6101

Es scheint additiv zu sein :>

Und bitte nochmal drüber schauen.

OT: Scheiße zu testen xD

Aktionen #20

Von Mollestus vor mehr als 8 Jahren aktualisiert

  • Status wurde von Testbereit zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Rushor gesetzt
Aktionen #21

Von Rushor vor mehr als 8 Jahren aktualisiert

Mollestus schrieb:

OT: Scheiße zu testen xD

da wird noch jede menge mehr shit auf dich zukommen :D

Aktionen #22

Von Mollestus vor mehr als 8 Jahren aktualisiert

Nebenbei kann man dann zB Two-Handed Weapon Specialization https://db.rising-gods.de/?search=Two-Handed+Weapon+Specialization multiplikativ stellen, nach deinem "neuen" System? :)
Du hast ja alles in https://gist.github.com/Rushor/0fd56f0676c2a7ae303f additiv gestellt.

Aktionen #23

Von Rushor vor mehr als 8 Jahren aktualisiert

ja, das nehme ich ja auch wieder zurück es war nur nen test um zu schauen, ob die funktion überhaupt eine additive berechnung durchführt

im nächsten schritt müsste die berechung von:
case SPELL_AURA_ADD_FLAT_MODIFIER:
case SPELL_AURA_ADD_PCT_MODIFIER:

auf additiv gestellt werden mit nem check auf ein costumattribute der spellids

da die berechnung von SPELL_AURA_ADD_FLAT_MODIFIER + SPELL_AURA_ADD_PCT_MODIFIER anders ist als bei SPELL_AURA_MOD_DAMAGE_PERCENT_DONE ist das ganze etwas komisch :/

Aktionen #24

Von Rushor vor mehr als 8 Jahren aktualisiert

  • Status wurde von In Bearbeitung zu Testbereit geändert
  • Zugewiesen an Rushor wurde gelöscht

neuer test um zu schauen, ob die berechnung für SPELL_AURA_ADD_FLAT_MODIFIER + SPELL_AURA_ADD_PCT_MODIFIER nun additiv ist

vorerst sollten nun alle mods additiv berechnet werden

also dann mal mit dem: Inital Dmg von Moonfire mit 0 ZM mit Moonfury (3/3) damage bonus + Improved Moonfire (2/2) damage bonus
ausprobieren

Aktionen #25

Von Mollestus vor mehr als 8 Jahren aktualisiert

  • Status wurde von Testbereit zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Rushor gesetzt

Inital Dmg von Moonfire mit 0 ZM mit Moonfury (3/3) damage bonus + Improved Moonfire (2/2) damage bonus
Min Dmg=406*(1+0,1+0,1)+ 0= 487
Max Dmg=476*(1+0,1+0,1)+ 0= 571
Wenn additiv.

Multiplikativ:
Min Dmg= 491,26
Max Dmg= 575,96

Min Dmg getestet: 492 und Max Dmg 576

Sieht multiplikativ aus

Mit 10k ZM und gleichen Talenten:
Additiv:
Min Dmg=406*(1+0,1+0,1)+ 10000*0,1515*(1+0,1+0,1)= 2305,2
Max Dmg=476*(1+0,1+0,1)+ 10000*0,1515*(1+0,1+0,1)= 2389,2

Multiplikativ:
Min Dmg=406*1,1*1,1+ 10000*0,1515*1,1*1,1= 2324,41
Max Dmg=476*1,1*1,1+ 10000*0,1515*1,1*1,1= 2409,11

Aufm master-Server hatte ich
Min: 2322 und Max: 2408

Also weiterhin multiplikativ :x

Aktionen #26

Von Rushor vor mehr als 8 Jahren aktualisiert

  • Status wurde von In Bearbeitung zu Testbereit geändert
  • Zugewiesen an Rushor wurde gelöscht

neuer versuch:

alles in template <class T> T Player::ApplySpellMod(uint32 spellId, SpellModOp op, T &basevalue, Spell* spell)
mit SPELLMOD_DAMAGE
is nun additiv

server restarten nicht vergessen

Aktionen #27

Von Mollestus vor mehr als 8 Jahren aktualisiert

  • Status wurde von Testbereit zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Rushor gesetzt

Auf ein Neues :D

Rechnungen stehen oben. Max Dmg sollt reichen.

0 ZM:
571 Check

10k ZM:
2389 Check

Sieht wunderschön aus, sprich additiv :D

Aktionen #29

Von Rushor vor mehr als 8 Jahren aktualisiert

  • Status wurde von In Bearbeitung zu Ready geändert
  • Zugewiesen an Rushor wurde gelöscht
  • Update Text Deutsch aktualisiert (Vergleich)

einzelne spellcostumflags dann in den anderen tickets

Aktionen #30

Von Rushor vor mehr als 8 Jahren aktualisiert

  • Update Text Deutsch aktualisiert (Vergleich)
Aktionen #31

Von Daejiv vor mehr als 8 Jahren aktualisiert

  • Status wurde von Ready zu Live geändert
Aktionen #32

Von Rushor vor mehr als 8 Jahren aktualisiert

  • Privat wurde von Ja zu Nein geändert
Aktionen #33

Von Daejiv vor etwa 8 Jahren aktualisiert

  • Status wurde von Live zu Testbereit geändert
  • Zugewiesen an wurde auf Mollestus gesetzt
Aktionen #35

Von Mollestus vor etwa 8 Jahren aktualisiert

  • Status wurde von Testbereit zu Ready geändert
  • Zugewiesen an Mollestus wurde gelöscht

Max Dmg=476*(1+0,1+0,1)+ 10000*0,1515*(1+0,1+0,1)= 2389,2 Additiv

Max Dmg=476*1,1*1,1+ 10000*0,1515*1,1*1,1= 2409,11 Multiplikativ

+ Glyphe:

Max Dmg=476*(1+0,1+0,1-0,9)+ 10000*0,1515*(1+0,1+0,1-0,9)= 597,3 Additiv

Max Dmg=476*1,1*1,1*0,1+ 10000*0,1515*1,1*1,1*0,1= 240,915 Multiplikativ

Aufm Master:
Ohne Glyphe: 2389
Mit Glyphe: 596

Je 1k Casts.
Scheint zu passen.

Aktionen #36

Von Daejiv vor etwa 8 Jahren aktualisiert

  • Status wurde von Ready zu Live geändert
Aktionen #37

Von Rushor vor etwa 8 Jahren aktualisiert

Bedeutung Live:

Der Bug wurde erfolgreich behoben und befindet sich auf dem Spielserver. Sollte der Fehler weiterhin bestehen sollte ein neues Ticket ( https://redmine.rising-gods.de/projects/live/issues/new ) erstellt werden. Anmerkungen in dem alten abgewiesenen oder live genommenen Ticket werden ignoriert und gelöscht.

Aktionen #38

Von Sockentester vor mehr als 6 Jahren aktualisiert

  • Beziehung mit Fehler #26420: Waffenschaden verrechnung wurde hinzugefügt
Aktionen #39

Von Left4Info vor fast 6 Jahren aktualisiert

  • Tags wurde auf Classes gesetzt
Aktionen

Auch abrufbar als: Atom PDF