diff options
| -rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
| -rwxr-xr-x | src/server/game/Entities/Vehicle/Vehicle.cpp | 4 | ||||
| -rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 14 | 
3 files changed, 4 insertions, 16 deletions
| diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 7b51840b49f..6bab63acf1b 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -15849,6 +15849,7 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au              case CHARM_TYPE_VEHICLE:                  SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED);                  charmer->ToPlayer()->SetClientControl(this, 1); +                charmer->ToPlayer()->SetMover(this);                  charmer->ToPlayer()->SetViewpoint(this, true);                  charmer->ToPlayer()->VehicleSpellInitialize();                  break; @@ -15857,6 +15858,7 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au                  SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED);                  charmer->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);                  charmer->ToPlayer()->SetClientControl(this, 1); +                charmer->ToPlayer()->SetMover(this);                  charmer->ToPlayer()->SetViewpoint(this, true);                  charmer->ToPlayer()->PossessSpellInitialize();                  break; diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp index b3531d585c3..7e4bebaab95 100755 --- a/src/server/game/Entities/Vehicle/Vehicle.cpp +++ b/src/server/game/Entities/Vehicle/Vehicle.cpp @@ -359,7 +359,6 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)      {          if (!_me->SetCharmedBy(unit, CHARM_TYPE_VEHICLE))              ASSERT(false); -        unit->ToPlayer()->SetMover(this->GetBase());      }      if (_me->IsInWorld()) @@ -411,10 +410,7 @@ void Vehicle::RemovePassenger(Unit* unit)      unit->ClearUnitState(UNIT_STAT_ONVEHICLE);      if (_me->GetTypeId() == TYPEID_UNIT && unit->GetTypeId() == TYPEID_PLAYER && seat->first == 0 && seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL) -    {          _me->RemoveCharmedBy(unit); -        unit->ToPlayer()->SetMover(unit->ToPlayer()); -    }      if (_me->IsInWorld())      { diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 535253f4e13..7c09a2f32c6 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -3096,17 +3096,9 @@ void AuraEffect::HandleModPossess(AuraApplication const* aurApp, uint8 mode, boo      }      if (apply) -    { -        if (target->SetCharmedBy(caster, CHARM_TYPE_POSSESS, aurApp)) -            caster->ToPlayer()->SetMover(target); -    } +        target->SetCharmedBy(caster, CHARM_TYPE_POSSESS, aurApp);      else -    {          target->RemoveCharmedBy(caster); -        caster->ToPlayer()->SetMover(caster); -        if (target->GetTypeId() == TYPEID_PLAYER) -            target->ToPlayer()->SetMover(target); -    }  }  // only one spell has this aura @@ -3134,13 +3126,11 @@ void AuraEffect::HandleModPossessPet(AuraApplication const* aurApp, uint8 mode,          if (caster->ToPlayer()->GetPet() != pet)              return; -        if (pet->SetCharmedBy(caster, CHARM_TYPE_POSSESS, aurApp)) -            caster->ToPlayer()->SetMover(pet); +        pet->SetCharmedBy(caster, CHARM_TYPE_POSSESS, aurApp);      }      else      {          pet->RemoveCharmedBy(caster); -        caster->ToPlayer()->SetMover(caster);          if (!pet->IsWithinDistInMap(caster, pet->GetMap()->GetVisibilityRange()))              pet->Remove(PET_SAVE_NOT_IN_SLOT, true); | 
