diff options
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 7 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.h | 2 | ||||
-rw-r--r-- | src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.cpp | 19 |
4 files changed, 6 insertions, 26 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 609e0dfb606..9c0a9c42bfa 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3189,7 +3189,7 @@ Aura* Unit::_TryStackingOrRefreshingExistingAura(AuraCreateInfo& createInfo) if (createInfo.BaseAmount) bp = *(createInfo.BaseAmount + spellEffectInfo.EffectIndex); else - bp = spellEffectInfo.BasePoints; + bp = int32(spellEffectInfo.BasePoints); int32* oldBP = const_cast<int32*>(&(auraEff->m_baseAmount)); // todo 6.x review GetBaseAmount and GetCastItemGUID in this case *oldBP = bp; @@ -12173,7 +12173,7 @@ void Unit::HandleSpellClick(Unit* clicker, int8 seatId /*= -1*/) { int32 bp[MAX_SPELL_EFFECTS] = { }; for (SpellEffectInfo const& spellEffectInfo : spellEntry->GetEffects()) - bp[spellEffectInfo.EffectIndex] = spellEffectInfo.BasePoints; + bp[spellEffectInfo.EffectIndex] = int32(spellEffectInfo.BasePoints); bp[i] = seatId; diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 700ac261294..c53dd7b644e 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -6560,8 +6560,7 @@ SpellCastResult Spell::CheckCast(bool strict, int32* param1 /*= nullptr*/, int32 if (!battlePetMgr->HasJournalLock()) return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW; - Creature* creature = m_targets.GetUnitTarget()->ToCreature(); - if (creature) + if (Creature* creature = m_targets.GetUnitTarget()->ToCreature()) { if (playerCaster->GetSummonedBattlePetGUID().IsEmpty() || creature->GetBattlePetCompanionGUID().IsEmpty()) return SPELL_FAILED_NO_PET; @@ -6579,7 +6578,7 @@ SpellCastResult Spell::CheckCast(bool strict, int32* param1 /*= nullptr*/, int32 if (spellEffectInfo.Effect == SPELL_EFFECT_CHANGE_BATTLEPET_QUALITY) { - auto qualityItr = std::lower_bound(sBattlePetBreedQualityStore.begin(), sBattlePetBreedQualityStore.end(), spellEffectInfo.BasePoints, [](BattlePetBreedQualityEntry const* a1, int32 selector) + auto qualityItr = std::lower_bound(sBattlePetBreedQualityStore.begin(), sBattlePetBreedQualityStore.end(), spellEffectInfo.CalcBaseValue(m_caster, creature, m_castItemEntry, m_castItemLevel), [](BattlePetBreedQualityEntry const* a1, int32 selector) { return a1->MaxQualityRoll < selector; }); @@ -7104,7 +7103,7 @@ bool Spell::CanAutoCast(Unit* target) break; case SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT: // this one has further checks, but i don't think they're necessary for autocast logic case SPELL_GROUP_STACK_RULE_EXCLUSIVE_HIGHEST: - if (abs(spellEffectInfo.BasePoints) <= abs((*auraIt)->GetAmount())) + if (abs(spellEffectInfo.CalcBaseValue(m_caster, target, 0, -1)) <= abs((*auraIt)->GetAmount())) return false; break; case SPELL_GROUP_STACK_RULE_DEFAULT: diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h index e13add0b0e4..de758946dd7 100644 --- a/src/server/game/Spells/SpellInfo.h +++ b/src/server/game/Spells/SpellInfo.h @@ -218,7 +218,7 @@ public: SpellEffectName Effect; AuraType ApplyAuraName; uint32 ApplyAuraPeriod; - int32 BasePoints; + float BasePoints; float RealPointsPerLevel; float PointsPerResource; float Amplitude; diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.cpp index e6527f59799..c6ab0f90be3 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/ahnkahet.cpp @@ -38,24 +38,6 @@ class spell_ahnkahet_combined_toxins : public AuraScript } }; -// 56698, 59102 - Shadow Blast -class spell_ahnkahet_shadow_blast : public SpellScript -{ - void HandleDamageCalc(SpellEffIndex /*effIndex*/) - { - Unit* target = GetHitUnit(); - if (!target) - return; - - SetHitDamage(target->GetMaxHealth() * GetEffectInfo().BasePoints / 100); - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_ahnkahet_shadow_blast::HandleDamageCalc, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); - } -}; - enum ShadowSickle { SPELL_SHADOW_SICKLE_TRIGGERED = 56701, @@ -130,7 +112,6 @@ class spell_ahnkahet_yogg_saron_whisper : public SpellScript void AddSC_ahnkahet() { RegisterSpellScript(spell_ahnkahet_combined_toxins); - RegisterSpellScript(spell_ahnkahet_shadow_blast); RegisterSpellScript(spell_ahnkahet_shadow_sickle); RegisterSpellScript(spell_ahnkahet_yogg_saron_whisper); } |