vipertv
Members-
Posts
6 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
vipertv's Achievements
Newbie (1/3)
0
Reputation
-
And maybe the real fix will be, when we add to holder and to m_modAuras a new aura only when it's needed.
-
Or maybe not so dirty hack. But as i think, the fix is in the place where is the real reason of problem. In GridNotifiersImpl.h in function void MaNGOS::DynamicObjectUpdater::VisitHelper(Unit* target) // Apply PersistentAreaAura on target SpellAuraHolder *holder = target->GetSpellAuraHolder(spellInfo->Id, i_dynobject.GetCaster()->GetGUID()); bool addedToExisting = true; if (!holder) { holder = CreateSpellAuraHolder(spellInfo, target, i_dynobject.GetCaster()); addedToExisting = false; } + if (holder->GetAuraByEffectIndex(eff_index)) + target->RemoveAura(holder->GetAuraByEffectIndex(eff_index), AURA_REMOVE_BY_STACK); + PersistentAreaAura* Aur = new PersistentAreaAura(spellInfo, eff_index, NULL, holder, target, i_dynobject.GetCaster()); holder->AddAura(Aur, eff_index); if (addedToExisting) { target->AddAuraToModList(Aur); holder->SetInUse(true); Aur->ApplyModifier(true,true); holder->SetInUse(false); } else target->AddSpellAuraHolder(holder);
-
I'm not sure but may be a reason of crash is in this line in SpellAuras.cpp:
-
Maybe this can help: diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 4d1680e..dcf2b27 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -324,7 +324,7 @@ SpellSpecific GetSpellSpecific(uint32 spellId) } // Tracking spells - if(IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_CREATURES) || IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_RESOURCES)) + if(IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_CREATURES) || IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_RESOURCES) || IsSpellHaveAura(spellInfo, SPELL_AURA_TRACK_STEALTHED)) return SPELL_TRACKER; // elixirs can have different families, but potion most ofc.
-
If you do this, I'll be very grateful, because my English is not very good.
-
I made a patch for this problem: diff --git a/src/game/Group.cpp b/src/game/Group.cpp index b616658..4004d2b 100644 --- a/src/game/Group.cpp +++ b/src/game/Group.cpp @@ -973,9 +973,9 @@ void Group::SendUpdate() // guess size WorldPacket data(SMSG_GROUP_LIST, (1+1+1+1+8+4+GetMembersCount()*20)); data << uint8(m_groupType); // group type (flags in 3.3) - data << uint8(isBGGroup() ? 1 : 0); // 2.0.x, isBattleGroundGroup? data << uint8(citr->group); // groupid data << uint8(citr->assistant ? 0x01 : 0x00); // 0x2 main assist, 0x4 main tank + data << uint8(isBGGroup() ? 1 : 0); // 2.0.x, isBattleGroundGroup? if(m_groupType & GROUPTYPE_LFD) { data << uint8(0); Edit: This patch allows you to fix problems with using the function "raid assistant" as well as the correct display of position players on subgroups in the raid.
Contact Us
To contact us
click here
You can also email us at [email protected]
Privacy Policy | Terms & Conditions
You can also email us at [email protected]
Privacy Policy | Terms & Conditions
Copyright © getMaNGOS. All rights Reserved.
This website is in no way associated with or endorsed by Blizzard Entertainment®
This website is in no way associated with or endorsed by Blizzard Entertainment®