diff --git a/src/common/Exd/ExdDataGenerated.cpp b/src/common/Exd/ExdDataGenerated.cpp index 04c8fa1e..f5f038aa 100644 --- a/src/common/Exd/ExdDataGenerated.cpp +++ b/src/common/Exd/ExdDataGenerated.cpp @@ -6673,7 +6673,7 @@ Sapphire::Data::Warp::Warp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e { auto row = exdData->m_WarpDat.get_row( row_id ); level = exdData->getField< uint32_t >( row, 0 ); - placeName = exdData->getField< uint16_t >( row, 1 ); + territoryType = exdData->getField< uint16_t >( row, 1 ); conditionSuccessEvent = exdData->getField< uint32_t >( row, 2 ); conditionFailEvent = exdData->getField< uint32_t >( row, 3 ); confirmEvent = exdData->getField< uint32_t >( row, 4 ); diff --git a/src/common/Exd/ExdDataGenerated.h b/src/common/Exd/ExdDataGenerated.h index 831412cc..5c93319f 100644 --- a/src/common/Exd/ExdDataGenerated.h +++ b/src/common/Exd/ExdDataGenerated.h @@ -5432,7 +5432,7 @@ struct VFX struct Warp { uint32_t level; - uint16_t placeName; + uint16_t territoryType; uint32_t conditionSuccessEvent; uint32_t conditionFailEvent; uint32_t confirmEvent; diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 8ffe9347..e57dd020 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -330,14 +330,14 @@ namespace Sapphire::Network::Packets InventoryEquipRecommendedItems = 0x0149, // updated 5.0 ReqPlaceHousingItem = 0x014B, // updated 5.0 - BuildPresetHandler = 0x014F, // updated 5.0 + BuildPresetHandler = 0x0150, // updated 5.0 TalkEventHandler = 0x0151, // updated 5.0 EmoteEventHandler = 0x0152, // updated 5.0 WithinRangeEventHandler = 0x0153, // updated 5.0 OutOfRangeEventHandler = 0x0154, // updated 5.0 EnterTeriEventHandler = 0x0155, // updated 5.0 - ShopEventHandler = 0x0156, // updated 5.0 + ShopEventHandler = 0x0157, // updated 5.0 ReturnEventHandler = 0x015A, // updated 5.0? TradeReturnEventHandler = 0x015B, // updated 5.0? diff --git a/src/scripts/common/aethernet/HousingAethernet.cpp b/src/scripts/common/aethernet/HousingAethernet.cpp index f89c6d4c..5fcbbd04 100644 --- a/src/scripts/common/aethernet/HousingAethernet.cpp +++ b/src/scripts/common/aethernet/HousingAethernet.cpp @@ -39,7 +39,7 @@ public: return; // todo: this needs to be done properly and used queued zoning + aethernet animation - // moving a player inside an event will crash the game so we end it hre + // moving a player inside an event will crash the game so we end it here player.eventFinish( eventId, 1 ); auto playerMgr = framework()->get< Sapphire::World::Manager::PlayerMgr >(); diff --git a/src/scripts/common/warptaxi/WarpTaxi.cpp b/src/scripts/common/warptaxi/WarpTaxi.cpp index e867cb12..e8a8de97 100644 --- a/src/scripts/common/warptaxi/WarpTaxi.cpp +++ b/src/scripts/common/warptaxi/WarpTaxi.cpp @@ -1,6 +1,11 @@ #include #include +#include +#include + +#include "Territory/InstanceObjectCache.h" + #include #include #include @@ -28,11 +33,25 @@ public: player.eventFinish( getId(), 1 ); auto exdData = framework()->get< Sapphire::Data::ExdDataGenerated >(); + auto pPopRange = framework()->get< Sapphire::InstanceObjectCache >(); + auto warp = exdData->get< Sapphire::Data::Warp >( getId() ); if( !warp ) return; auto playerMgr = framework()->get< Sapphire::World::Manager::PlayerMgr >(); + + auto pPop = pPopRange->getPopRange( warp->level, warp->level ); + + if( !pPop ) + { + std::cout << "not found..."; + } + else + { + std::cout << "found!!"; + } + playerMgr->movePlayerToLandDestination( player, warp->level, result.param3 ); } else diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 8f0b0a84..be04212b 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -369,7 +369,7 @@ void Sapphire::Entity::Player::teleport( uint16_t aetheryteId, uint8_t type ) pos.x = pop->header.transform.translation.x; pos.y = pop->header.transform.translation.y; pos.z = pop->header.transform.translation.z; - rot = pop->header.transform.rotation.y * -1; + rot = pop->header.transform.rotation.y; } else { diff --git a/src/world/Network/Handlers/PacketHandlers.cpp b/src/world/Network/Handlers/PacketHandlers.cpp index 2f6183dc..f8ae1042 100644 --- a/src/world/Network/Handlers/PacketHandlers.cpp +++ b/src/world/Network/Handlers/PacketHandlers.cpp @@ -299,7 +299,7 @@ void Sapphire::Network::GameConnection::zoneLineHandler( FrameworkPtr pFw, if( pPopRange ) { targetZone = pExitRange->data.destTerritoryType; - rotation = pPopRange->header.transform.rotation.y * -1.f; + rotation = pPopRange->header.transform.rotation.y; targetPos = Common::FFXIVARR_POSITION3 { pPopRange->header.transform.translation.x, pPopRange->header.transform.translation.y, pPopRange->header.transform.translation.z };