aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2013-02-17 08:03:27 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2013-02-17 08:03:27 +0100
commit6590cf4f9e3101a0406d900a5441c309de5697ce (patch)
treefdfc3d53da28b6d49a3c4ed03cba7b6c7bfd3763 /src/server/game/Entities/Unit
parent37292a30385b51f45aba3a1c29ca9841cca6e14c (diff)
Core/Vehicles: Fix another crash
Don't set Unit::m_vehicle until VehicleJoinEvent::Execute
Diffstat (limited to 'src/server/game/Entities/Unit')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 9223dfad533..f607e7930a6 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -3149,7 +3149,7 @@ Aura* Unit::_TryStackingOrRefreshingExistingAura(SpellInfo const* newAura, uint8
ASSERT(casterGUID || caster);
// Check if these can stack anyway
- if (!casterGUID && !newAura->IsStackableOnOneSlotWithDifferentCasters())
+ if (!casterGUID && (newAura->IsChanneled() || newAura->AttributesEx3 & SPELL_ATTR3_STACK_FOR_DIFF_CASTERS))
casterGUID = caster->GetGUID();
// passive and Incanter's Absorption and auras with different type can stack with themselves any number of times
@@ -16599,13 +16599,9 @@ void Unit::_EnterVehicle(Vehicle* vehicle, int8 seatId, AuraApplication const* a
}
ASSERT(!m_vehicle);
- m_vehicle = vehicle;
- if (!m_vehicle->AddPassenger(this, seatId))
- {
- m_vehicle = NULL;
- return;
- }
+
+ (void)vehicle->AddPassenger(this, seatId);
}
void Unit::ChangeSeat(int8 seatId, bool next)