Jump to content

vipertv

Members
  • Posts

    6
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

vipertv's Achievements

Newbie

Newbie (1/3)

0

Reputation

  1. And maybe the real fix will be, when we add to holder and to m_modAuras a new aura only when it's needed.
  2. 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);
  3. I'm not sure but may be a reason of crash is in this line in SpellAuras.cpp:
  4. vipertv

    Track Hidden

    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.
  5. If you do this, I'll be very grateful, because my English is not very good.
  6. 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.
×
×
  • 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