From badfb2f0a92d8e97a00a91d56a0d7470cefcb41b Mon Sep 17 00:00:00 2001 From: collett Date: Fri, 3 Jan 2020 22:31:55 +0900 Subject: [PATCH] Fix aetheryte. --- src/common/Network/PacketDef/Ipcs.h | 2 +- src/scripts/common/aethernet/Aetheryte.cpp | 3 ++- src/world/Actor/Player.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index b046be2f..2e4e2ae3 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -260,7 +260,7 @@ namespace Sapphire::Network::Packets DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui PerformNote = 0x0286, // updated 4.3 - PrepareZoning = 0x02A4, // updated 5.0 + PrepareZoning = 0x035C, // updated 5.18 ActorGauge = 0x016D, // updated 5.18 // daily quest info -> without them sent, login will take longer... diff --git a/src/scripts/common/aethernet/Aetheryte.cpp b/src/scripts/common/aethernet/Aetheryte.cpp index 2ba4f14a..cc5afb92 100644 --- a/src/scripts/common/aethernet/Aetheryte.cpp +++ b/src/scripts/common/aethernet/Aetheryte.cpp @@ -59,7 +59,8 @@ public: { if( player.isAetheryteRegistered( eventId & 0xFFFF ) ) { - player.playScene( eventId, 0, 1, [this]( Entity::Player& player, const Event::SceneResult& result ) + // eventParam4 (or params[1] if using EventPlay8, which is actually used on retail) anything bigger than 1 will show select instance menu item + player.playScene( eventId, 0, 1, 0, 1, 2, [this]( Entity::Player& player, const Event::SceneResult& result ) { if( result.param1 == 256 ) // set homepoint { diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index fde14915..4ebe604d 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -372,7 +372,7 @@ void Sapphire::Entity::Player::teleport( uint16_t aetheryteId, uint8_t type ) // TODO: this should be simplified and a type created in server_common/common.h. if( type == 1 ) // teleport { - prepareZoning( data->territory, true, 1, 112 ); // TODO: Really? + prepareZoning( data->territory, true, 1, 0 ); // TODO: Really? sendToInRangeSet( makeActorControl( getId(), ActorDespawnEffect, 0x04 ) ); setZoningType( Common::ZoneingType::Teleport ); }