Jump to content

lavinelu

Members
  • Posts

    15
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

lavinelu's Achievements

Member

Member (2/3)

0

Reputation

  1. For example, consuming the normal guardian elixir 'Elixir of Mighty Fortitude' (http://www.wowhead.com/item=40078) removes the battle elixir 'Elixir of Mighty Strength' (http://www.wowhead.com/item=40073) and vice-versa. i think the problem is from this function IsNoStackAuraDueToAura and should be something like this if (spellInfo_1->Effect[i] == spellInfo_2->Effect[j] && spellInfo_1->EffectApplyAuraName[i] == spellInfo_2->EffectApplyAuraName[j] && spellInfo_1->EffectMiscValue[i] == spellInfo_2->EffectMiscValue[j] && spellInfo_1->EffectItemType[i] == spellInfo_2->EffectItemType[j] && (spellInfo_1->Effect[i] != 0 || spellInfo_1->EffectApplyAuraName[i] != 0 || spellInfo_1->EffectMiscValue[i] != 0 || spellInfo_1->EffectItemType[i] != 0)) return true;
  2. Restores 2700 to 4500 health. Increased effect for engineers! What bug does the patch fix? What features does the patch add? Increased effect for engineers! with 25% For which repository revision was the patch created? 10401 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. No Who has been writing this patch? Please include either forum user names or email addresses. me diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 99e74fe..470f309 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -3352,6 +3352,13 @@ void Spell::EffectHeal(SpellEffectIndex /*eff_idx*/) addhealth += tickheal * tickcount; } + // Runic Healing Injector + else if (m_spellInfo->Id == 67489 && unitTarget->GetTypeId() == TYPEID_PLAYER) + { + Player* player = (Player*)unitTarget; + if (player->HasSkill(SKILL_ENGINERING)) + addhealth *= 1.25; + } // Chain Healing if (m_spellInfo->SpellFamilyName == SPELLFAMILY_SHAMAN && m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000000100))
  3. thanks for answer, i asked because i put this modification on server and now uptime is 16h, didn't crashed since then and before every 1 - 2 hours was a crash.
  4. Lunx3d, here target->AddAuraToModList(Aur); it's ok to have same aura added 2 times or more? if not can something go wrong if i modify it like this? @@ -4116,11 +4116,22 @@ bool Unit::AddSpellAuraHolder(SpellAuraHolder *holder) } void Unit::AddAuraToModList(Aura *aura) { if (aura->GetModifier()->m_auraname < TOTAL_AURAS) + { + AuraList::const_iterator iter; + for (iter = m_modAuras[aura->GetModifier()->m_auraname].begin(); iter != m_modAuras[aura->GetModifier()->m_auraname].end(); ++iter) + { + if (aura->GetId() == (*iter)->GetId()) + { + m_modAuras[aura->GetModifier()->m_auraname].remove((*iter)); + break; + } + } m_modAuras[aura->GetModifier()->m_auraname].push_back(aura); + } }
  5. i did it in this way but i dont know how the spell system is working and maybe will broke other spells i think the same spell should not be added 2 times here target->AddAuraToModList(Aur); @@ -4116,11 +4116,22 @@ bool Unit::AddSpellAuraHolder(SpellAuraHolder *holder) } void Unit::AddAuraToModList(Aura *aura) { if (aura->GetModifier()->m_auraname < TOTAL_AURAS) + { + AuraList::const_iterator iter; + for (iter = m_modAuras[aura->GetModifier()->m_auraname].begin(); iter != m_modAuras[aura->GetModifier()->m_auraname].end(); ++iter) + { + if (aura->GetId() == (*iter)->GetId()) + { + m_modAuras[aura->GetModifier()->m_auraname].remove((*iter)); + break; + } + } m_modAuras[aura->GetModifier()->m_auraname].push_back(aura); + } }
  6. it's not removed but it should be removed when you call this function target->RemoveAurasDueToSpellByCancel(aurSpellInfo->Id);
  7. i think that when aura is removed it should be remove form slowingAuras list too because this is a pointer or maybe i am wrong
  8. should be checked why this aura is not removed, this code is ok how it is right now.
  9. here is the problem for (Unit::AuraList::const_iterator iter = slowingAuras.begin(); iter != slowingAuras.end() { SpellEntry const* aurSpellInfo = (*iter)->GetSpellProto(); uint32 aurMechMask = GetAllSpellMechanicMask(aurSpellInfo); // If spell that caused this aura has Croud Control or Daze effect if((aurMechMask & MECHANIC_NOT_REMOVED_BY_SHAPESHIFT) || // some Daze spells have these parameters instead of MECHANIC_DAZE (skip snare spells) aurSpellInfo->SpellIconID == 15 && aurSpellInfo->Dispel == 0 && (aurMechMask & (1 << (MECHANIC_SNARE-1)))==0) { ++iter; continue; } // All OK, remove aura now target->RemoveAurasDueToSpellByCancel(aurSpellInfo->Id); iter = slowingAuras.begin(); } its an infinite loop because target->RemoveAurasDueToSpellByCancel(aurSpellInfo->Id); is not removing aura i think
  10. When you try to loot the gameobject it says "YOU CAN'T OPEN THAT" if i remove this line pGameObj->SetUInt32Value(GAMEOBJECT_LEVEL, m_caster->getLevel() ); it will work but i don't know if this is the right way to fix it thats why i post it on bug reports section diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 5ccab32..6c922a1 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -954,7 +954,6 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) pGameObj->SetRespawnTime(creatureTarget->GetRespawnTime()-time(NULL)); pGameObj->SetOwnerGUID(m_caster->GetGUID() ); - pGameObj->SetUInt32Value(GAMEOBJECT_LEVEL, m_caster->getLevel() ); pGameObj->SetSpellId(m_spellInfo->Id); creatureTarget->ForcedDespawn();
  11. lavinelu

    crash

    at least can someone tell me if this crash dump is how it should be?
  12. lavinelu

    crash

    hi, i just installed dbg and i have a crash really often and i don't know where can be the problem or even if this crash dump is how it should be . If someone can help me i will appreciate it. i have patches from insider42 repo. http://pastebin.com/vXFq1s3J thank you
  13. for me if(GetAllSpellMechanicMask(m_spellProto) & (1 << MECHANIC_BLEED)) didn't worked. function GetAllSpellMechanicMask is: inline uint32 GetAllSpellMechanicMask(SpellEntry const* spellInfo) { uint32 mask = 0; if (spellInfo->Mechanic) mask |= 1 << (spellInfo->Mechanic - 1); for (int i=0; i< 3; ++i) if (spellInfo->EffectMechanic) mask |= 1 << (spellInfo->EffectMechanic-1); return mask; } so i used if(GetAllSpellMechanicMask(m_spellProto) & (1 << (MECHANIC_BLEED - 1))) it's ok like this?
  14. it's ok if i use it like this? i'm begginer with mangos that i ask + // Mechanic bleed aura state + if(GetAllSpellMechanicMask(m_spellProto) & (1 << MECHANIC_BLEED)) + m_target->ModifyAuraState(AURA_STATE_MECHANIC_BLEED, true); // Mechanic bleed aura state if (m_spellProto->Mechanic == MECHANIC_BLEED) m_target->ModifyAuraState(AURA_STATE_MECHANIC_BLEED, true);
×
×
  • 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