fix(Core/Vehicles): feat vehicle seat addon, vehicle enter/exit positions (#20082)
* implement initial vehicle_seat_addon Co-authored-by: Ovah <dreadkiller@gmx.de> * add more vehicle_seat_addon data * make exiting passenger visible fixes "immediate despawn" of travelers mammoth * style, update comments * remove hacked pos relocate * remove sending MSG_MOVE_ROOT/UNROOT on Ack * set and unset UNIT_NPC_FLAG_PLAYER_VEHICLE on init/entry * ulduar demolisher: remove flag correction and no longer needed usableseat * fixup! implement initial vehicle_seat_addon * fixup! fixup! implement initial vehicle_seat_addon * re-add AddPassenger Flame Leviathan hack was commented by mistake * Update rev_1725993194571320983.sql add missing ticks --------- Co-authored-by: Ovah <dreadkiller@gmx.de>
This commit is contained in:
@@ -518,6 +518,7 @@ typedef std::map<std::pair<std::string, uint32>, ModuleString> ModuleStringConta
|
||||
typedef std::unordered_map<int32, AcoreString> AcoreStringContainer;
|
||||
typedef std::unordered_map<uint32, GossipMenuItemsLocale> GossipMenuItemsLocaleContainer;
|
||||
typedef std::unordered_map<uint32, PointOfInterestLocale> PointOfInterestLocaleContainer;
|
||||
typedef std::unordered_map<uint32, VehicleSeatAddon> VehicleSeatAddonContainer;
|
||||
|
||||
typedef std::multimap<uint32, uint32> QuestRelations;
|
||||
typedef std::pair<QuestRelations::const_iterator, QuestRelations::const_iterator> QuestRelationBounds;
|
||||
@@ -1052,6 +1053,7 @@ public:
|
||||
void LoadMailServerTemplates();
|
||||
void LoadVehicleTemplateAccessories();
|
||||
void LoadVehicleAccessories();
|
||||
void LoadVehicleSeatAddon();
|
||||
|
||||
void LoadGossipText();
|
||||
|
||||
@@ -1429,6 +1431,15 @@ public:
|
||||
|
||||
[[nodiscard]] bool IsTransportMap(uint32 mapId) const { return _transportMaps.count(mapId) != 0; }
|
||||
|
||||
VehicleSeatAddon const* GetVehicleSeatAddon(uint32 seatId) const
|
||||
{
|
||||
VehicleSeatAddonContainer::const_iterator itr = _vehicleSeatAddonStore.find(seatId);
|
||||
if (itr == _vehicleSeatAddonStore.end())
|
||||
return nullptr;
|
||||
|
||||
return &itr->second;
|
||||
}
|
||||
|
||||
[[nodiscard]] uint32 GetQuestMoneyReward(uint8 level, uint32 questMoneyDifficulty) const;
|
||||
void SendServerMail(Player* player, uint32 id, uint32 reqLevel, uint32 reqPlayTime, uint32 rewardMoneyA, uint32 rewardMoneyH, uint32 rewardItemA, uint32 rewardItemCountA, uint32 rewardItemH, uint32 rewardItemCountH, std::string subject, std::string body, uint8 active) const;
|
||||
private:
|
||||
@@ -1506,6 +1517,7 @@ private:
|
||||
|
||||
VehicleAccessoryContainer _vehicleTemplateAccessoryStore;
|
||||
VehicleAccessoryContainer _vehicleAccessoryStore;
|
||||
VehicleSeatAddonContainer _vehicleSeatAddonStore;
|
||||
|
||||
LocaleConstant DBCLocaleIndex;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user