diff options
author | megamage <none@none> | 2009-08-24 12:54:36 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-08-24 12:54:36 -0500 |
commit | a029ae15e597bc3a1b07aa5b8802a86201cb10fd (patch) | |
tree | 2bc409c69bb870354c71bb35f18d2d0e31431605 /src/game/SpellEffects.cpp | |
parent | 675cac9a6bfb2f64eca38152e6f4fb5ec79701e8 (diff) |
*Fix some summon vehicle spells.
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r-- | src/game/SpellEffects.cpp | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index d3a49bcba2e..a34ec67d9c9 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -3411,21 +3411,9 @@ void Spell::EffectSummonType(uint32 i) break; case SUMMON_TYPE_VEHICLE: case SUMMON_TYPE_VEHICLE2: - { - if(!m_originalCaster) - return; - - Creature *vehicle = m_originalCaster->SummonCreature(entry, x, y, z, 0, 0); - if(!vehicle) - return; - - // this is for wintergrasp, need to find a better way - // in the future, we can just use getsummoner - vehicle->SetUInt64Value(UNIT_FIELD_SUMMONEDBY, m_originalCasterGUID); - vehicle->setFaction(m_originalCaster->getFaction()); - vehicle->SetUInt32Value(UNIT_CREATED_BY_SPELL, m_spellInfo->Id); + if(m_originalCaster) + summon = m_caster->GetMap()->SummonCreature(entry, x, y, z, m_caster->GetOrientation(), 0, properties, duration, m_originalCaster); break; - } case SUMMON_TYPE_TOTEM: { summon = m_caster->GetMap()->SummonCreature(entry, x, y, z, m_caster->GetOrientation(), 0, properties, duration, m_originalCaster); @@ -3511,17 +3499,13 @@ void Spell::EffectSummonType(uint32 i) { float x, y, z; m_caster->GetClosePoint(x, y, z, DEFAULT_WORLD_OBJECT_SIZE); - Creature *vehicle = m_caster->SummonCreature(entry, x, y, z, m_caster->GetOrientation(), 0); - if(!vehicle || !vehicle->IsVehicle()) + summon = m_caster->GetMap()->SummonCreature(entry, x, y, z, m_caster->GetOrientation(), 0, properties, duration, m_caster); + if(!summon || !summon->IsVehicle()) return; - vehicle->SetUInt64Value(UNIT_FIELD_SUMMONEDBY, m_caster->GetGUID()); - vehicle->setFaction(m_caster->getFaction()); - vehicle->SetUInt32Value(UNIT_CREATED_BY_SPELL, m_spellInfo->Id); - if(damage) - m_caster->CastSpell(vehicle, damage, true); - m_caster->EnterVehicle(vehicle->GetVehicleKit()); + m_caster->CastSpell(summon, damage, true); + m_caster->EnterVehicle(summon->GetVehicleKit()); break; } } |