mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 17:43:52 +00:00
Fix Thunder Bluff elevator transport overrides
This commit is contained in:
parent
3dac9ae657
commit
e4e61c5f3d
2 changed files with 25 additions and 24 deletions
|
|
@ -1232,7 +1232,7 @@ void Application::setupUICallbacks() {
|
||||||
const bool shipOrZeppelinDisplay =
|
const bool shipOrZeppelinDisplay =
|
||||||
(displayId == 3015 || displayId == 3031 || displayId == 7546 ||
|
(displayId == 3015 || displayId == 3031 || displayId == 7546 ||
|
||||||
displayId == 7446 || displayId == 1587 || displayId == 2454 ||
|
displayId == 7446 || displayId == 1587 || displayId == 2454 ||
|
||||||
displayId == 807 || displayId == 808 || displayId == 455 || displayId == 462);
|
displayId == 807 || displayId == 808);
|
||||||
bool hasUsablePath = transportManager->hasPathForEntry(entry);
|
bool hasUsablePath = transportManager->hasPathForEntry(entry);
|
||||||
if (shipOrZeppelinDisplay) {
|
if (shipOrZeppelinDisplay) {
|
||||||
// For true transports, reject tiny XY tracks that effectively look stationary.
|
// For true transports, reject tiny XY tracks that effectively look stationary.
|
||||||
|
|
@ -1332,7 +1332,7 @@ void Application::setupUICallbacks() {
|
||||||
const bool shipOrZeppelinDisplay =
|
const bool shipOrZeppelinDisplay =
|
||||||
(displayId == 3015 || displayId == 3031 || displayId == 7546 ||
|
(displayId == 3015 || displayId == 3031 || displayId == 7546 ||
|
||||||
displayId == 7446 || displayId == 1587 || displayId == 2454 ||
|
displayId == 7446 || displayId == 1587 || displayId == 2454 ||
|
||||||
displayId == 807 || displayId == 808 || displayId == 455 || displayId == 462);
|
displayId == 807 || displayId == 808);
|
||||||
bool hasUsablePath = transportManager->hasPathForEntry(entry);
|
bool hasUsablePath = transportManager->hasPathForEntry(entry);
|
||||||
if (shipOrZeppelinDisplay) {
|
if (shipOrZeppelinDisplay) {
|
||||||
hasUsablePath = transportManager->hasUsableMovingPathForEntry(entry, 25.0f);
|
hasUsablePath = transportManager->hasUsableMovingPathForEntry(entry, 25.0f);
|
||||||
|
|
@ -3343,28 +3343,29 @@ void Application::spawnOnlineGameObject(uint64_t guid, uint32_t entry, uint32_t
|
||||||
|
|
||||||
std::string modelPath;
|
std::string modelPath;
|
||||||
|
|
||||||
// Override model path for transports with wrong displayIds (preloaded transports)
|
// Override model path for transports with wrong displayIds (preloaded transports)
|
||||||
// Check if this GUID is a known transport
|
// Check if this GUID is a known transport
|
||||||
bool isTransport = gameHandler && gameHandler->isTransportGuid(guid);
|
bool isTransport = gameHandler && gameHandler->isTransportGuid(guid);
|
||||||
if (isTransport) {
|
if (isTransport) {
|
||||||
// Map common transport displayIds to correct WMO paths
|
// Map common transport displayIds to correct WMO paths
|
||||||
// DisplayIds 455, 462 = Elevators/Ships → try standard ship
|
// NOTE: displayIds 455/462 are elevators in Thunder Bluff and should NOT be forced to ships.
|
||||||
// DisplayIds 807, 808 = Zeppelins
|
// Keep ship/zeppelin overrides entry-driven where possible.
|
||||||
// DisplayIds 2454, 1587 = Special ships/icebreakers
|
// DisplayIds 807, 808 = Zeppelins
|
||||||
if (displayId == 455 || displayId == 462 || entry == 20808 || entry == 176231 || entry == 176310) {
|
// DisplayIds 2454, 1587 = Special ships/icebreakers
|
||||||
modelPath = "World\\wmo\\transports\\transport_ship\\transportship.wmo";
|
if (entry == 20808 || entry == 176231 || entry == 176310) {
|
||||||
LOG_INFO("Overriding transport entry/display ", entry, "/", displayId, " → transportship.wmo");
|
modelPath = "World\\wmo\\transports\\transport_ship\\transportship.wmo";
|
||||||
} else if (displayId == 807 || displayId == 808 || displayId == 175080 || displayId == 176495 || displayId == 164871) {
|
LOG_INFO("Overriding transport entry/display ", entry, "/", displayId, " → transportship.wmo");
|
||||||
modelPath = "World\\wmo\\transports\\transport_zeppelin\\transport_zeppelin.wmo";
|
} else if (displayId == 807 || displayId == 808 || displayId == 175080 || displayId == 176495 || displayId == 164871) {
|
||||||
LOG_INFO("Overriding transport displayId ", displayId, " → transport_zeppelin.wmo");
|
modelPath = "World\\wmo\\transports\\transport_zeppelin\\transport_zeppelin.wmo";
|
||||||
} else if (displayId == 1587) {
|
LOG_INFO("Overriding transport displayId ", displayId, " → transport_zeppelin.wmo");
|
||||||
modelPath = "World\\wmo\\transports\\transport_horde_zeppelin\\Transport_Horde_Zeppelin.wmo";
|
} else if (displayId == 1587) {
|
||||||
LOG_INFO("Overriding transport displayId ", displayId, " → Transport_Horde_Zeppelin.wmo");
|
modelPath = "World\\wmo\\transports\\transport_horde_zeppelin\\Transport_Horde_Zeppelin.wmo";
|
||||||
} else if (displayId == 2454 || displayId == 181688 || displayId == 190536) {
|
LOG_INFO("Overriding transport displayId ", displayId, " → Transport_Horde_Zeppelin.wmo");
|
||||||
modelPath = "World\\wmo\\transports\\icebreaker\\Transport_Icebreaker_ship.wmo";
|
} else if (displayId == 2454 || displayId == 181688 || displayId == 190536) {
|
||||||
LOG_INFO("Overriding transport displayId ", displayId, " → Transport_Icebreaker_ship.wmo");
|
modelPath = "World\\wmo\\transports\\icebreaker\\Transport_Icebreaker_ship.wmo";
|
||||||
|
LOG_INFO("Overriding transport displayId ", displayId, " → Transport_Icebreaker_ship.wmo");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Fallback to normal displayId lookup if not a transport or no override matched
|
// Fallback to normal displayId lookup if not a transport or no override matched
|
||||||
if (modelPath.empty()) {
|
if (modelPath.empty()) {
|
||||||
|
|
|
||||||
|
|
@ -998,7 +998,7 @@ uint32_t TransportManager::pickFallbackMovingPath(uint32_t entry, uint32_t displ
|
||||||
|
|
||||||
// Fallback by display model family.
|
// Fallback by display model family.
|
||||||
const bool looksLikeShip =
|
const bool looksLikeShip =
|
||||||
(displayId == 3015u || displayId == 2454u || displayId == 7446u || displayId == 455u || displayId == 462u);
|
(displayId == 3015u || displayId == 2454u || displayId == 7446u);
|
||||||
const bool looksLikeZeppelin =
|
const bool looksLikeZeppelin =
|
||||||
(displayId == 3031u || displayId == 7546u || displayId == 1587u || displayId == 807u || displayId == 808u);
|
(displayId == 3031u || displayId == 7546u || displayId == 1587u || displayId == 807u || displayId == 808u);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue