Jump to content

[fix][8514] Judgements


Guest Ambient5
 Share

Recommended Posts

What bug does the patch fix? What features does the patch add?

This will fix non-offensive seals (Wisdom, Light, Justice) dealing no damage at Judgement. They have no dummy aura with damage judgemnts spell that is triggered when seal is judged. Instead there is one spell for them - 54158, as they have same formula. I suggested that this spell is used this way before but was able to find proof only recently in combat logs from offy.

For which repository revision was the patch created?

8512

Who has been writing this patch?

Me

Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.

Bunch of them.

diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index fe7a4e5..36770fb 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -669,6 +669,12 @@ void Spell::EffectSchoolDMG(uint32 effect_idx)
                {
                    damage+=int32(m_caster->GetShieldBlockValue());
                }
+				// Judgement
+				else if (m_spellInfo->Id == 54158)
+				{
+					// [1 + 0.25 * SPH + 0.16 * AP]
+					damage += int32(m_caster->GetTotalAttackPowerValue(BASE_ATTACK) * 0.16f);
+				}
                break;
            }
        }
@@ -5404,12 +5410,15 @@ void Spell::EffectScriptEffect(uint32 effIndex)
                        sLog.outError("Unsupported Judgement (seal trigger) spell (Id: %u) in Spell::EffectScriptEffect",m_spellInfo->Id);
                        return;
                }
-                // all seals have aura dummy in 2 effect
+                // offensive seals have aura dummy in 2 effect
                Unit::AuraList const& m_dummyAuras = m_caster->GetAurasByType(SPELL_AURA_DUMMY);
                for(Unit::AuraList::const_iterator itr = m_dummyAuras.begin(); itr != m_dummyAuras.end(); ++itr)
                {
                    SpellEntry const *spellInfo = (*itr)->GetSpellProto();
-                    // search seal (all seals have judgement's aura dummy spell id in 2 effect
+                    // search seal (offensive seals have judgement's aura dummy spell id in 2 effect
                    if ((*itr)->GetEffIndex() != 2 || !spellInfo || !IsSealSpell(spellInfo))
                        continue;
                    spellId2 = (*itr)->GetModifier()->m_amount;
@@ -5418,6 +5427,18 @@ void Spell::EffectScriptEffect(uint32 effIndex)
                        continue;
                    break;
                }
+				// if there were no offensive seals than there is seal with proc trigger aura
+				if (!spellId2)
+				{
+					Unit::AuraList const& procTriggerAuras = m_caster->GetAurasByType(SPELL_AURA_PROC_TRIGGER_SPELL);
+					for(Unit::AuraList::const_iterator itr = procTriggerAuras.begin(); itr != procTriggerAuras.end(); ++itr)
+					{
+						SpellEntry const * spellInfo = (*itr)->GetSpellProto();
+						if ((*itr)->GetEffIndex() != 0 || !spellInfo || !IsSealSpell(spellInfo))
+							continue;
+						spellId2 = 54158;
+					}
+				}
                if (spellId1)
                    m_caster->CastSpell(unitTarget, spellId1, true);
                if (spellId2) 

Issues:

- For some reason other judgement spells have ther AP coefficient hardcoded (for example judgement of righteousness, which is practically same as 54158), so i did same.

- Spell is 28lvl spell and suffer from downranking so the damage is lower than expected.

DELETE FROM `spell_bonus_data` WHERE `entry` IN (54158);

INSERT INTO `spell_bonus_data` VALUES
(54158, 0.25, 0, 0, 'Paladin - Judgement');

Link to comment
Share on other sites

- For some reason other judgement spells have ther AP coefficient hardcoded (for example judgement of righteousness, which is practically same as 54158), so i did same.
If db version not have any problem then ofc betetr have it in db spell_bonus. If you want you can prepare another generic patch to move all referenced cases to db

[added]Patch itself in [8514]. Thank you :)

Link to comment
Share on other sites

 Share

×
×
  • 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