fix(Scripts/Item): Gnomish Death Ray. (#7062)

- Closes #5648
This commit is contained in:
UltraNix
2021-07-23 13:13:49 +02:00
committed by GitHub
parent b8b3708b1b
commit ba85988d31
3 changed files with 12 additions and 15 deletions
@@ -0,0 +1,5 @@
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1626953516206751500');
DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 13278 AND `spell_effect` = 13493;
INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES
(13278, 13493, 0, 'Gnomish Death Ray');
-6
View File
@@ -7081,12 +7081,6 @@ void SpellMgr::LoadDbcDataCorrections()
spellInfo->AttributesEx3 |= SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD; spellInfo->AttributesEx3 |= SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD;
}); });
// Gnomish Death Ray
ApplySpellFix({ 13278, 13280 }, [](SpellEntry* spellInfo)
{
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_TARGET_ENEMY;
});
// Stormchops // Stormchops
ApplySpellFix({ 43730 }, [](SpellEntry* spellInfo) ApplySpellFix({ 43730 }, [](SpellEntry* spellInfo)
{ {
+6 -8
View File
@@ -2126,7 +2126,6 @@ public:
// 13280 Gnomish Death Ray // 13280 Gnomish Death Ray
enum GnomishDeathRay enum GnomishDeathRay
{ {
SPELL_GNOMISH_DEATH_RAY_SELF = 13493,
SPELL_GNOMISH_DEATH_RAY_TARGET = 13279, SPELL_GNOMISH_DEATH_RAY_TARGET = 13279,
}; };
@@ -2141,18 +2140,17 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override bool Validate(SpellInfo const* /*spellInfo*/) override
{ {
return ValidateSpellInfo({ SPELL_GNOMISH_DEATH_RAY_SELF, SPELL_GNOMISH_DEATH_RAY_TARGET }); return ValidateSpellInfo({ SPELL_GNOMISH_DEATH_RAY_TARGET });
} }
void HandleDummy(SpellEffIndex /*effIndex*/) void HandleDummy(SpellEffIndex /*effIndex*/)
{ {
Unit* caster = GetCaster(); if (Unit* caster = GetCaster())
if (Unit* target = GetHitUnit())
{ {
if (urand(0, 99) < 15) if (Unit* target = ObjectAccessor::GetUnit(*caster, caster->GetGuidValue(UNIT_FIELD_CHANNEL_OBJECT)))
caster->CastSpell(caster, SPELL_GNOMISH_DEATH_RAY_SELF, true, nullptr); // failure {
else caster->CastSpell(target, SPELL_GNOMISH_DEATH_RAY_TARGET, true);
caster->CastSpell(target, SPELL_GNOMISH_DEATH_RAY_TARGET, true, nullptr); }
} }
} }