Jump to content

[patch] Small aura-related change


Auntie Mangos

Recommended Posts

I'am not sure but this patch can be extended to handle also spell target type 77 ?

from what I understood it's matter of sharing some info, mainly target, between different auras from same spell (eg. penance,arcane missile...)

I prefer not to add new features unless its absolutely necessary for the patch functioning.. so maybe in a far away future and if aura holders will be in master

--

updated for 10048 - messed with spell proc code - now will use spell family mask from spell if no school mask and no different spell family mask present on spell_proc_event. Some records left for family name only, possibly will drop in the future if they will work without the need to check it. Added possibility to define spell family mask based on effect index and not 1 for whole spell (no longer need to add checks for effect indexes in proc handle code). Note: currently most of the data is cloned from original spell_proc_event - means still all auras on all effect indexes will proc.. and I left isTriggerSpell array although it became unused, maybe will drop later

Link to comment
Share on other sites

  • 40 years later...

In general - focuses around creating and using shared object(SpellAuraHolder) between auras to keep some data that now is duplicate for auras of same spell like target, caster, charges etc.

  • * aura map on Unit will now keep SpellAuraHolders - in some cases can be faster to search on it
    * stacking of different spells is a bit modified to support this change but should work as it was before
    * instead of saving auras saves the whole holder - had to delete old data from character_aura, pet_aura (see sql) - also I disabled saving for not own area auras
    * added 2 remove modes - AURA_REMOVE_BY_EXPIRE, AURA_REMOVE_BY_SHIELD_BREAK (needed for HandleSpellSpecificBoosts which is now called from holder)
    * as a side effect client related parts of Warbringer/Juggernaut and others were fixed due to changes to IsNeedVisibleSlot

Please report any bugs/crashes =)

code:

10104

http://paste2.org/p/893418

10075

http://paste2.org/p/882830

10048

http://paste2.org/p/870738

10030

http://paste2.org/p/865338

10023

http://paste2.org/p/862196

10011

http://paste2.org/p/859456

sql for all revisions:

http://paste2.org/p/859458

another sql for specific revisions:

http://paste2.org/p/870734 - outdated sql(before 10075)

http://paste2.org/p/882837 - 10075

Link to comment
Share on other sites

looks like most of the changes were because of renaming Aura -> SpellAuraHolder (merge conflicst incoming)

from what i understand, SpellAuraHolder is the "master", and Aura is now the per-target applications?

no, spell holder is also per target - but holder is 1 for 1 spell from same caster - instead of having x auras each one on its own, ofc there are still auras existing but adding/removing spell on target is based on holder and not on single auras - for example in stacking case the check is run only once for whole holder, before applying aura modifiers, unlike it was done before for each aura

Link to comment
Share on other sites

no, spell holder is also per target - but holder is 1 for 1 spell from same caster - instead of having x auras each one on its own, ofc there are still auras existing but adding/removing spell on target is based on holder and not on single auras - for example in stacking case the check is run only once for whole holder, before applying aura modifiers, unlike it was done before for each aura

so this patch means that auras/buffs with same effect will not stack this effects and effect will be applied only once?

Link to comment
Share on other sites

Laise, what do you think about moving duration and related stuff to aura holder? Do you have an example when two auras from same spell have not equal durations?

yes, this is related to spells with stun/silence effect that have also another aura (for example periodic dmg) , according to my info from retail, existing talents that reduce duration of stun/silence/whatever effect are applied only to specific aura and not on whole spell, creating situation where stun/silence/whatever fades and periodic remains as it was..I don't remember exact spell ids for that but they do exist

Link to comment
Share on other sites

midsummer festival XP aura. orginally it is 3 min, each tick of ribbon pole dummy aura elongs it byt another 3min to max 1h, but orginal duration is only 3min.

As I understand in this case holder would contain only one aura so we can increase duration of aura holder and it will affect duration of all auras in it.

Link to comment
Share on other sites

As I understand in this case holder would contain only one aura so we can increase duration of aura holder and it will affect duration of all auras in it.

err ..kind of contradicting if you say "will contain one aura " and then "all auras in it".. duration changes are not connected in any way on how much auras are on holder in case when all auras suppose to have same duration, so for this spell will need to reset to full duration and add new duration for each aura.. ofc maybe i will add method for calling duration change from holder but it is wrong to move duration out of auras

Link to comment
Share on other sites

  • 2 weeks later...

It's a good job, but there is a visual bug.

When we use spell with stacked auras like lifebloom, the number of stack begin by 1, then we have 3, then 4 stacks.

It must be 1 then 2 and 3.

But after many tests, I concluded that is only a visual bug.

I didn't find the packet that send this data.

I looked the RefreshAuraDuration, but it seems to be in another place.

Link to comment
Share on other sites

It's a good job, but there is a visual bug.

When we use spell with stacked auras like lifebloom, the number of stack begin by 1, then we have 3, then 4 stacks.

It must be 1 then 2 and 3.

But after many tests, I concluded that is only a visual bug.

I didn't find the packet that send this data.

I looked the RefreshAuraDuration, but it seems to be in another place.

just tested with lifebloom and lacerate - not happening .. any other spells?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use