Core/Spells: Corrected summon category SUMMON_CATEGORY_VEHICLE (#19052)

(cherrypicked from 227d5a9288db1200720444226320914ebcc8a216)
This commit is contained in:
xinef1
2019-06-15 18:41:09 +02:00
committed by Shauren
parent 384f2d636c
commit 68cc366d88
+12 -5
View File
@@ -2120,12 +2120,19 @@ void Spell::EffectSummonType(SpellEffIndex effIndex)
// The spell that this effect will trigger. It has SPELL_AURA_CONTROL_VEHICLE
uint32 spellId = VEHICLE_SPELL_RIDE_HARDCODED;
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(effectInfo->CalcValue());
if (spellInfo && spellInfo->HasAura(m_originalCaster->GetMap()->GetDifficultyID(), SPELL_AURA_CONTROL_VEHICLE))
spellId = spellInfo->Id;
int32 basePoints = effectInfo->CalcValue();
if (basePoints > MAX_VEHICLE_SEATS)
{
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(basePoints);
if (spellInfo && spellInfo->HasAura(m_originalCaster->GetMap()->GetDifficultyID(), SPELL_AURA_CONTROL_VEHICLE))
spellId = spellInfo->Id;
}
// Hard coded enter vehicle spell
m_originalCaster->CastSpell(summon, spellId, true);
// if we have small value, it indicates seat position
if (basePoints > 0 && basePoints < MAX_VEHICLE_SEATS)
m_originalCaster->CastCustomSpell(spellId, SPELLVALUE_BASE_POINT0, basePoints, summon, true);
else
m_originalCaster->CastSpell(summon, spellId, true);
uint32 faction = properties->Faction;
if (!faction)