diff options
| author | Edder <d.rosenauer@googlemail.com> | 2021-04-25 11:36:54 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-03-09 00:42:48 +0100 |
| commit | 8202dc28c2dae613c14a52ef4e84932d8c1c9e39 (patch) | |
| tree | 774199b2874026e52f2b7e1b85b882b0029d94a6 /src/server/game | |
| parent | 9845fe92bb414e05cc5dff4fed507f30f39ca0db (diff) | |
Core/Quest: Threat From Above (#26468)
* [Quest] Threat From Above #26355
* [Quest] Threat From Above TrinityCore#26355
* Core/Quest: Threat From Above #26468 - modified sql according to guidelines; added override keyword
* Rename 2021_04_24_00_world.sql to 2021_04_25_00_world.sql
Co-authored-by: Edder <d.rosenauer@gmail.com>
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 3e407c7d1c79cc94bf932880ee0eb68058d139fd)
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 9 | ||||
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.h | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 28b6e1efb4a..b431d0e1b19 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -3503,3 +3503,12 @@ std::string Creature::GetDebugInfo() const << " WaypointPath: " << GetWaypointPath() << " SpawnId: " << GetSpawnId(); return sstr.str(); } + +void Creature::ExitVehicle(Position const* /*exitPosition*/) +{ + Unit::ExitVehicle(); + + // if the creature exits a vehicle, set it's home position to the + // exited position so it won't run away (home) and evade if it's hostile + SetHomePosition(GetPosition()); +} diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index 594bdf21eb7..c091f78eb02 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -385,6 +385,8 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma std::string GetDebugInfo() const override; + void ExitVehicle(Position const* exitPosition = nullptr) override; + protected: bool CreateFromProto(ObjectGuid::LowType guidlow, uint32 entry, CreatureData const* data = nullptr, uint32 vehId = 0); bool InitEntry(uint32 entry, CreatureData const* data = nullptr); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 8c579aa29b1..4e5b7cf42f1 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1795,7 +1795,7 @@ class TC_GAME_API Unit : public WorldObject void HandleSpellClick(Unit* clicker, int8 seatId = -1); void EnterVehicle(Unit* base, int8 seatId = -1); - void ExitVehicle(Position const* exitPosition = nullptr); + virtual void ExitVehicle(Position const* exitPosition = nullptr); void ChangeSeat(int8 seatId, bool next = true); // Should only be called by AuraEffect::HandleAuraControlVehicle(AuraApplication const* auraApp, uint8 mode, bool apply) const; |
