Jump to content

MrLama

Members
  • Posts

    50
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

MrLama's Achievements

Advanced Member

Advanced Member (3/3)

0

Reputation

  1. You must uncomment SpellEntry in function variables and to check if spellEntry exists and of course change spellProto to spellEntry
  2. Ok here should be up to date version, it has better iteration through runes and SpellAuraProcResult return http://pastebin.com/8eQkeFVd
  3. could someone please make newer diff? I currently do not have access to revision with SpellAuraProcResult patch, thanks
  4. What bug does the patch fix? What features does the patch add? implement Death Rune Mastery, Reaping, Blood of the North For which repository revision was the patch created? 10199 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. --- Who has been writing this patch? Please include either forum user names or email addresses. me Core: http://pastebin.com/AZynWbkS DB (9 slot spell family mask): DB (3 slot spell family mask):
  5. I must say that this patch applies only to judgement while using Seal of Light, Seal of Wisdom or Seal of Justice. Other seals use different spells as judgement damage
  6. What bug does the patch fix? What features does the patch add? Repentance should remove Righteous Vengeance but not other way For which repository revision was the patch created? 9765 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. --- Who has been writing this patch? Please include either forum user names or email addresses. Me diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 5a41f3b..5994c3b 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -1948,6 +1948,10 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons if ((spellInfo_1->SpellIconID == 3025 && spellInfo_2->SpellIconID == 2292) || (spellInfo_1->SpellIconID == 2292 && spellInfo_2->SpellIconID == 3025)) return false; + + // Repentance removes Righteous Vengeance + if (spellInfo_1->Id == 20066 && spellInfo_2->Id == 61840) + return true; } // Blessing of Sanctuary (multi-family check, some from 16 spell icon spells)
  7. What bug does the patch fix? What features does the patch add? Adds spellpower coefficient to generic judgement spell. (Cannot be handled trough database due to melee nature of spell) For which repository revision was the patch created? 9765 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. --- Who has been writing this patch? Please include either forum user names or email addresses. Me Core diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index ccfe63a..21276c2 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -748,7 +748,10 @@ void Spell::EffectSchoolDMG(SpellEffectIndex effect_idx) else if (m_spellInfo->Id == 54158) { // [1 + 0.25 * SPH + 0.16 * AP] - damage += int32(m_caster->GetTotalAttackPowerValue(BASE_ATTACK) * 0.16f); + float ap = m_caster->GetTotalAttackPowerValue(BASE_ATTACK); + int32 holy = m_caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellInfo)) + + m_caster->SpellBaseDamageBonusForVictim(GetSpellSchoolMask(m_spellInfo), unitTarget); + damage += int32(ap * 0.16f) + int32(holy * 25 / 100); } break; } DB DELETE FROM spell_bonus_data WHERE entry = 54158;
  8. What bug does the patch fix? What features does the patch add? added socket from blacksmith shouldn't break socket bonus For which repository revision was the patch created? 9605 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. --- Who has been writing this patch? Please include either forum user names or email addresses. me http://pastebin.com/PZm0z3ne diff --git a/src/game/Item.cpp b/src/game/Item.cpp index 2f5deaa..0a05fa5 100644 --- a/src/game/Item.cpp +++ b/src/game/Item.cpp @@ -868,6 +868,7 @@ bool Item::GemsFitSockets() const } } + SocketColor = SocketColor ? SocketColor : PRISMATIC_SOCKET; fits &= (GemColor & SocketColor) ? true : false; } return fits; diff --git a/src/game/Item.h b/src/game/Item.h index fcf6418..cca82f3 100644 --- a/src/game/Item.h +++ b/src/game/Item.h @@ -174,7 +174,7 @@ enum EnchantmentSlot }; #define MAX_VISIBLE_ITEM_OFFSET 2 // 2 fields per visible item (entry+enchantment) - +#define PRISMATIC_SOCKET 14 // 1110 mask = blue(1) yellow(1) red(1) meta(0) #define MAX_GEM_SOCKETS MAX_ITEM_PROTO_SOCKETS// (BONUS_ENCHANTMENT_SLOT-SOCK_ENCHANTMENT_SLOT) and item proto size, equal value expected enum EnchantmentOffset
  9. I don't think that healing part of this spell should be limited to 8y. It would make it rather impractical. The reason why is used other spell is simple. It is a targeting spell, 54171 select targets for healing and 53385 can't do that.
  10. What bug does the patch fix? What features does the patch add? rename missleading name for MECHANIC_PACIFY to MECHANIC_SLOWATTACK because it is used solely by auras SPELL_AURA_MOD_HASTE and SPELL_AURA_MOD_RANGED_HASTE and removing this mechanic from mask MECHANIC_NOT_REMOVED_BY_SHAPESHIFT ( example: proc spell Chilled from Ice Armor is not removed by shapeshift now) For which repository revision was the patch created? 9549 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. --- Who has been writing this patch? Please include either forum user names or email addresses. Me http://pastebin.com/uNr1k2Cw
  11. I replaced part ( in laise's patch ) where is casted 54171 with code below to make glyph working @@ -3169,8 +3173,18 @@ void Spell::finish(bool ok) // Heal caster for all health leech from all targets if (m_healthLeech) - m_caster->DealHeal(m_caster, uint32(m_healthLeech), m_spellInfo); - + { + // Divine Storm heal calculation + if (m_spellInfo->Id == 53385) + { + SpellEffectIndex healEffIndex = EFFECT_INDEX_1; + int32 healAmount = m_caster->CalculateSpellDamage(m_spellInfo, healEffIndex, m_currentBasePoints[healEffIndex], m_caster); + healAmount = int32(m_healthLeech * healAmount / 100); + m_caster->CastCustomSpell(m_caster, 54171, &healAmount, NULL, NULL, true); + } + else + m_caster->DealHeal(m_caster, uint32(m_healthLeech), m_spellInfo); + } if (IsMeleeAttackResetSpell()) { m_caster->resetAttackTimer(BASE_ATTACK);
  12. What bug does the patch fix? What features does the patch add? fixes Penance being uniterruptable For which repository revision was the patch created? 9401 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. --- Who has been writing this patch? Please include either forum user names or email addresses. Me http://pastebin.com/m4bff3009
  13. What bug does the patch fix? What features does the patch add? Implements dispel resist to Spellsteal For which repository revision was the patch created? 9235 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. --- Who has been writing this patch? Please include either forum user names or email addresses. me ( but got idea from EffectDispel ) http://pastebin.com/m41d96d5d diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 90c8577..a34df1a 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp -6834,29 +6834,33 @@ void Spell::EffectStealBeneficialBuff(uint32 i) // Ok if exist some buffs for dispel try dispel it if (!steal_list.empty()) { - std::list < std::Pair<uint32,uint64> > success_list; - int32 list_size = steal_list.size(); + std::list < std::Pair<uint32,uint64> > success_list;// (spell_id,casterGuid) + std::list < uint32 > fail_list; // spell_id // Dispell N = damage buffs (or while exist buffs for dispel) - for (int32 count=0; count < damage && list_size > 0; ++count) + for (int32 count=0; count < damage && !steal_list.empty(); ++count) { // Random select buff for dispel - Aura *aur = steal_list[urand(0, list_size-1)]; - // Not use chance for steal - // TODO possible need do it - success_list.push_back( std::Pair<uint32,uint64>(aur->GetId(),aur->GetCasterGUID())); + std::vector<Aura*>::iterator steal_itr = steal_list.begin(); + std::advance(steal_itr,urand(0, steal_list.size()-1)); - // Remove buff from list for prevent doubles - for (std::vector<Aura *>::iterator j = steal_list.begin(); j != steal_list.end(); ) - { - Aura *stealed = *j; - if (stealed->GetId() == aur->GetId() && stealed->GetCasterGUID() == aur->GetCasterGUID()) - { - j = steal_list.erase(j); - --list_size; - } - else - ++j; - } + Aura *aur = *steal_itr; + // remove entry from steal_list + steal_list.erase(steal_itr); + + SpellEntry const* spellInfo = aur->GetSpellProto(); + // Base dispel chance + int32 miss_chance = 0; + // Apply dispel mod from aura caster + if (Unit *caster = aur->GetCaster()) + { + if ( Player* modOwner = caster->GetSpellModOwner() ) + modOwner->ApplySpellMod(spellInfo->Id, SPELLMOD_RESIST_DISPEL_CHANCE, miss_chance, this); + } + // Try dispel + if (roll_chance_i(miss_chance)) + fail_list.push_back(spellInfo->Id); + else + success_list.push_back(std::Pair<uint32,uint64>(aur->GetId(),aur->GetCasterGUID())); } // Really try steal and send log if (!success_list.empty()) -6877,6 +6881,18 @@ void Spell::EffectStealBeneficialBuff(uint32 i) } m_caster->SendMessageToSet(&data, true); } + // Send fail log to client + if (!fail_list.empty()) + { + // Failed to steal + WorldPacket data(SMSG_DISPEL_FAILED, 8+8+4+4*fail_list.size()); + data << uint64(m_caster->GetGUID()); // Caster GUID + data << uint64(unitTarget->GetGUID()); // Victim GUID + data << uint32(m_spellInfo->Id); // Steal spell id + for (std::list< uint32 >::iterator j = fail_list.begin(); j != fail_list.end(); ++j) + data << uint32(*j); // Spell Id + m_caster->SendMessageToSet(&data, true); + } } }
  14. I updated formula to include mob/player vs player condition //repaired incomplete patch
  15. Thanks, I updated formula to include mob/player vs player condition
×
×
  • 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