aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorEdder <d.rosenauer@googlemail.com>2021-04-25 11:36:54 +0200
committerShauren <shauren.trinity@gmail.com>2022-03-09 00:42:48 +0100
commit8202dc28c2dae613c14a52ef4e84932d8c1c9e39 (patch)
tree774199b2874026e52f2b7e1b85b882b0029d94a6 /src/server/game
parent9845fe92bb414e05cc5dff4fed507f30f39ca0db (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.cpp9
-rw-r--r--src/server/game/Entities/Creature/Creature.h2
-rw-r--r--src/server/game/Entities/Unit/Unit.h2
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;