diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index fdd3da26..8052d2bd 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -1240,47 +1240,13 @@ namespace Sapphire::Network::Packets::WorldPackets::Server uint32_t handlerIds[ArgCount]; }; - struct FFXIVIpcMapMarker2 : - FFXIVIpcBasePacket< MapMarker2 >, - FFXIVIpcMapMarkerN< 2 > - { - }; - - struct FFXIVIpcMapMarker4 : - FFXIVIpcBasePacket< MapMarker4 >, - FFXIVIpcMapMarkerN< 4 > - { - }; - - struct FFXIVIpcMapMarker8 : - FFXIVIpcBasePacket< MapMarker8 >, - FFXIVIpcMapMarkerN< 8 > - { - }; - - struct FFXIVIpcMapMarker16 : - FFXIVIpcBasePacket< MapMarker16 >, - FFXIVIpcMapMarkerN< 16 > - { - }; - - struct FFXIVIpcMapMarker32 : - FFXIVIpcBasePacket< MapMarker32 >, - FFXIVIpcMapMarkerN< 32 > - { - }; - - struct FFXIVIpcMapMarker64 : - FFXIVIpcBasePacket< MapMarker64 >, - FFXIVIpcMapMarkerN< 64 > - { - }; - - struct FFXIVIpcMapMarker128 : - FFXIVIpcBasePacket< MapMarker128 >, - FFXIVIpcMapMarkerN< 128 > - { - }; + struct FFXIVIpcMapMarker2 : FFXIVIpcBasePacket< MapMarker2 >, FFXIVIpcMapMarkerN< 2 > {}; + struct FFXIVIpcMapMarker4 : FFXIVIpcBasePacket< MapMarker4 >, FFXIVIpcMapMarkerN< 4 > {}; + struct FFXIVIpcMapMarker8 : FFXIVIpcBasePacket< MapMarker8 >, FFXIVIpcMapMarkerN< 8 > {}; + struct FFXIVIpcMapMarker16 : FFXIVIpcBasePacket< MapMarker16 >, FFXIVIpcMapMarkerN< 16 > {}; + struct FFXIVIpcMapMarker32 : FFXIVIpcBasePacket< MapMarker32 >, FFXIVIpcMapMarkerN< 32 > {}; + struct FFXIVIpcMapMarker64 : FFXIVIpcBasePacket< MapMarker64 >, FFXIVIpcMapMarkerN< 64 > {}; + struct FFXIVIpcMapMarker128 : FFXIVIpcBasePacket< MapMarker128 >, FFXIVIpcMapMarkerN< 128 > {}; template< int ArgCount > struct FFXIVIpcBattleTalkN @@ -1301,29 +1267,10 @@ namespace Sapphire::Network::Packets::WorldPackets::Server uint32_t args[ArgCount]; }; - struct FFXIVIpcBattleTalkHeader : - FFXIVIpcBasePacket< BattleTalkHeader >, - FFXIVIpcBattleTalkN< 1 > - { - }; - - struct FFXIVIpcBattleTalk2 : - FFXIVIpcBasePacket< BattleTalk2 >, - FFXIVIpcBattleTalkN< 2 > - { - }; - - struct FFXIVIpcBattleTalk4 : - FFXIVIpcBasePacket< BattleTalk4 >, - FFXIVIpcBattleTalkN< 4 > - { - }; - - struct FFXIVIpcBattleTalk8 : - FFXIVIpcBasePacket< BattleTalk8 >, - FFXIVIpcBattleTalkN< 8 > - { - }; + struct FFXIVIpcBattleTalkHeader : FFXIVIpcBasePacket< BattleTalkHeader >, FFXIVIpcBattleTalkN< 1 > {}; + struct FFXIVIpcBattleTalk2 : FFXIVIpcBasePacket< BattleTalk2 >, FFXIVIpcBattleTalkN< 2 > {}; + struct FFXIVIpcBattleTalk4 : FFXIVIpcBasePacket< BattleTalk4 >, FFXIVIpcBattleTalkN< 4 > {}; + struct FFXIVIpcBattleTalk8 : FFXIVIpcBasePacket< BattleTalk8 >, FFXIVIpcBattleTalkN< 8 > {}; template< int ArgCount > struct FFXIVIpcEventLogMessageN @@ -1338,41 +1285,32 @@ namespace Sapphire::Network::Packets::WorldPackets::Server uint32_t unknown_1; }; - struct FFXIVIpcEventLogMessageHeader : - FFXIVIpcBasePacket< EventLogMessageHeader >, - FFXIVIpcEventLogMessageN< 1 > + struct FFXIVIpcEventLogMessageHeader : FFXIVIpcBasePacket< EventLogMessageHeader >, FFXIVIpcEventLogMessageN< 1 > {}; + struct FFXIVIpcEventLogMessage2 : FFXIVIpcBasePacket< EventLogMessage2 >, FFXIVIpcEventLogMessageN< 2 > {}; + struct FFXIVIpcEventLogMessage4 : FFXIVIpcBasePacket< EventLogMessage4 >, FFXIVIpcEventLogMessageN< 4 > {}; + struct FFXIVIpcEventLogMessage8 : FFXIVIpcBasePacket< EventLogMessage8 >, FFXIVIpcEventLogMessageN< 8 > {}; + struct FFXIVIpcEventLogMessage16 : FFXIVIpcBasePacket< EventLogMessage16 >, FFXIVIpcEventLogMessageN< 16 > {}; + struct FFXIVIpcEventLogMessage32 : FFXIVIpcBasePacket< EventLogMessage32 >, FFXIVIpcEventLogMessageN< 32 > {}; + + template< int ArgCount > + struct FFXIVIpcUpdateEventSceneN { + uint32_t handlerId; + uint16_t sceneId; + uint8_t numOfArgs; + uint8_t __padding1; + uint32_t args[ArgCount]; }; - struct FFXIVIpcEventLogMessage2 : - FFXIVIpcBasePacket< EventLogMessage2 >, - FFXIVIpcEventLogMessageN< 2 > - { - }; - - struct FFXIVIpcEventLogMessage4 : - FFXIVIpcBasePacket< EventLogMessage4 >, - FFXIVIpcEventLogMessageN< 4 > - { - }; - - struct FFXIVIpcEventLogMessage8 : - FFXIVIpcBasePacket< EventLogMessage8 >, - FFXIVIpcEventLogMessageN< 8 > - { - }; - - struct FFXIVIpcEventLogMessage16 : - FFXIVIpcBasePacket< EventLogMessage16 >, - FFXIVIpcEventLogMessageN< 16 > - { - }; - - struct FFXIVIpcEventLogMessage32 : - FFXIVIpcBasePacket< EventLogMessage32 >, - FFXIVIpcEventLogMessageN< 32 > - { - }; + struct FFXIVIpcUpdateEventSceneHeader : FFXIVIpcBasePacket< UpdateEventSceneHeader >, FFXIVIpcUpdateEventSceneN< 1 > {}; + struct FFXIVIpcUpdateEventScene2 : FFXIVIpcBasePacket< UpdateEventScene2 >, FFXIVIpcUpdateEventSceneN< 2 > {}; + struct FFXIVIpcUpdateEventScene4 : FFXIVIpcBasePacket< UpdateEventScene4 >, FFXIVIpcUpdateEventSceneN< 4 > {}; + struct FFXIVIpcUpdateEventScene8 : FFXIVIpcBasePacket< UpdateEventScene8 >, FFXIVIpcUpdateEventSceneN< 8 > {}; + struct FFXIVIpcUpdateEventScene16 : FFXIVIpcBasePacket< UpdateEventScene16 >, FFXIVIpcUpdateEventSceneN< 16 > {}; + struct FFXIVIpcUpdateEventScene32 : FFXIVIpcBasePacket< UpdateEventScene32 >, FFXIVIpcUpdateEventSceneN< 32 > {}; + struct FFXIVIpcUpdateEventScene64 : FFXIVIpcBasePacket< UpdateEventScene64 >, FFXIVIpcUpdateEventSceneN< 64 > {}; + struct FFXIVIpcUpdateEventScene128 : FFXIVIpcBasePacket< UpdateEventScene128 >, FFXIVIpcUpdateEventSceneN< 128 > {}; + struct FFXIVIpcUpdateEventScene255 : FFXIVIpcBasePacket< UpdateEventScene255 >, FFXIVIpcUpdateEventSceneN< 255 > {}; template< int ArgCount > struct FFXIVIpcPlayEventSceneN @@ -1391,59 +1329,15 @@ namespace Sapphire::Network::Packets::WorldPackets::Server * Structural representation of the packet sent by the server * to play an event */ - struct FFXIVIpcPlayEventSceneHeader : - FFXIVIpcBasePacket< EventPlayHeader >, - FFXIVIpcPlayEventSceneN< 1 > - { - }; - - struct FFXIVIpcPlayEventScene2 : - FFXIVIpcBasePacket< EventPlay2 >, - FFXIVIpcPlayEventSceneN< 2 > - { - }; - - struct FFXIVIpcPlayEventScene4 : - FFXIVIpcBasePacket< EventPlay4 >, - FFXIVIpcPlayEventSceneN< 4 > - { - }; - - struct FFXIVIpcPlayEventScene8 : - FFXIVIpcBasePacket< EventPlay8 >, - FFXIVIpcPlayEventSceneN< 8 > - { - }; - - struct FFXIVIpcPlayEventScene16 : - FFXIVIpcBasePacket< EventPlay16 >, - FFXIVIpcPlayEventSceneN< 16 > - { - }; - - struct FFXIVIpcPlayEventScene32 : - FFXIVIpcBasePacket< EventPlay32 >, - FFXIVIpcPlayEventSceneN< 32 > - { - }; - - struct FFXIVIpcPlayEventScene64 : - FFXIVIpcBasePacket< EventPlay64 >, - FFXIVIpcPlayEventSceneN< 64 > - { - }; - - struct FFXIVIpcPlayEventScene128: - FFXIVIpcBasePacket< EventPlay128 >, - FFXIVIpcPlayEventSceneN< 128 > - { - }; - - struct FFXIVIpcPlayEventScene255: - FFXIVIpcBasePacket< EventPlay255 >, - FFXIVIpcPlayEventSceneN< 255 > - { - }; + struct FFXIVIpcPlayEventSceneHeader : FFXIVIpcBasePacket< EventPlayHeader >, FFXIVIpcPlayEventSceneN< 1 > {}; + struct FFXIVIpcPlayEventScene2 : FFXIVIpcBasePacket< EventPlay2 >, FFXIVIpcPlayEventSceneN< 2 > {}; + struct FFXIVIpcPlayEventScene4 : FFXIVIpcBasePacket< EventPlay4 >, FFXIVIpcPlayEventSceneN< 4 > {}; + struct FFXIVIpcPlayEventScene8 : FFXIVIpcBasePacket< EventPlay8 >, FFXIVIpcPlayEventSceneN< 8 > {}; + struct FFXIVIpcPlayEventScene16 : FFXIVIpcBasePacket< EventPlay16 >, FFXIVIpcPlayEventSceneN< 16 > {}; + struct FFXIVIpcPlayEventScene32 : FFXIVIpcBasePacket< EventPlay32 >, FFXIVIpcPlayEventSceneN< 32 > {}; + struct FFXIVIpcPlayEventScene64 : FFXIVIpcBasePacket< EventPlay64 >, FFXIVIpcPlayEventSceneN< 64 > {}; + struct FFXIVIpcPlayEventScene128 : FFXIVIpcBasePacket< EventPlay128 >, FFXIVIpcPlayEventSceneN< 128 > {}; + struct FFXIVIpcPlayEventScene255 : FFXIVIpcBasePacket< EventPlay255 >, FFXIVIpcPlayEventSceneN< 255 > {}; /** * Structural representation of the packet sent by the server @@ -1478,26 +1372,26 @@ namespace Sapphire::Network::Packets::WorldPackets::Server uint32_t eventArg; }; - struct FFXIVIpcEventPlay255 : - FFXIVIpcBasePacket< EventPlay255 >, - FFXIVIpcPlayEventSceneN< 255 > - { - }; - - - /** - * Structural representation of the packet sent by the server - * to respond to a linkshell creation event - */ - struct FFXIVIpcResumeEventScene2 : FFXIVIpcBasePacket< ResumeEventScene2 > + template< int ArgCount > + struct FFXIVIpcResumeEventSceneN { uint32_t handlerId; uint16_t sceneId; uint8_t resumeId; uint8_t numOfArgs; - uint32_t args[4]; + uint32_t args[ArgCount]; }; + struct FFXIVIpcResumeEventSceneHeader : FFXIVIpcBasePacket< ResumeEventSceneHeader >, FFXIVIpcResumeEventSceneN< 1 > {}; + struct FFXIVIpcResumeEventScene2 : FFXIVIpcBasePacket< ResumeEventScene2 >, FFXIVIpcResumeEventSceneN< 2 > {}; + struct FFXIVIpcResumeEventScene4 : FFXIVIpcBasePacket< ResumeEventScene4 >, FFXIVIpcResumeEventSceneN< 4 > {}; + struct FFXIVIpcResumeEventScene8 : FFXIVIpcBasePacket< ResumeEventScene8 >, FFXIVIpcResumeEventSceneN< 8 > {}; + struct FFXIVIpcResumeEventScene16 : FFXIVIpcBasePacket< ResumeEventScene16 >, FFXIVIpcResumeEventSceneN< 16 > {}; + struct FFXIVIpcResumeEventScene32 : FFXIVIpcBasePacket< ResumeEventScene32 >, FFXIVIpcResumeEventSceneN< 32 > {}; + struct FFXIVIpcResumeEventScene64 : FFXIVIpcBasePacket< ResumeEventScene64 >, FFXIVIpcResumeEventSceneN< 64 > {}; + struct FFXIVIpcResumeEventScene128 : FFXIVIpcBasePacket< ResumeEventScene128 >, FFXIVIpcResumeEventSceneN< 128 > {}; + struct FFXIVIpcResumeEventScene255 : FFXIVIpcBasePacket< ResumeEventScene255 >, FFXIVIpcResumeEventSceneN< 255 > {}; + /** * Structural representation of the packet sent by the server * to send the active quests @@ -1553,11 +1447,6 @@ namespace Sapphire::Network::Packets::WorldPackets::Server uint32_t args[Size]; }; - struct FFXIVIpcNoticeHeader : - FFXIVIpcBasePacket< NoticeHeader >, - FFXIVIpcNoticeN< 1 > - { - }; /*! * Structural representation of the packet sent by the server @@ -1566,35 +1455,12 @@ namespace Sapphire::Network::Packets::WorldPackets::Server * type 1 icon * type 5 status */ - struct FFXIVIpcNotice2 : - FFXIVIpcBasePacket< Notice2 >, - FFXIVIpcNoticeN< 2 > - { - }; - - struct FFXIVIpcNotice4 : - FFXIVIpcBasePacket< Notice4 >, - FFXIVIpcNoticeN< 4 > - { - }; - - struct FFXIVIpcNotice8 : - FFXIVIpcBasePacket< Notice8 >, - FFXIVIpcNoticeN< 8 > - { - }; - - struct FFXIVIpcNotice16 : - FFXIVIpcBasePacket< Notice16 >, - FFXIVIpcNoticeN< 16 > - { - }; - - struct FFXIVIpcNotice32 : - FFXIVIpcBasePacket< Notice32 >, - FFXIVIpcNoticeN< 32 > - { - }; + struct FFXIVIpcNoticeHeader : FFXIVIpcBasePacket< NoticeHeader >, FFXIVIpcNoticeN< 1 > {}; + struct FFXIVIpcNotice2 : FFXIVIpcBasePacket< Notice2 >, FFXIVIpcNoticeN< 2 > {}; + struct FFXIVIpcNotice4 : FFXIVIpcBasePacket< Notice4 >, FFXIVIpcNoticeN< 4 > {}; + struct FFXIVIpcNotice8 : FFXIVIpcBasePacket< Notice8 >, FFXIVIpcNoticeN< 8 > {}; + struct FFXIVIpcNotice16 : FFXIVIpcBasePacket< Notice16 >, FFXIVIpcNoticeN< 16 > {}; + struct FFXIVIpcNotice32 : FFXIVIpcBasePacket< Notice32 >, FFXIVIpcNoticeN< 32 > {}; struct FFXIVIpcQuestTracker : FFXIVIpcBasePacket< Tracking > { diff --git a/src/scripts/common/CmnDefLinkShell.cpp b/src/scripts/common/CmnDefLinkShell.cpp index eac7a0c2..3bc4a21c 100644 --- a/src/scripts/common/CmnDefLinkShell.cpp +++ b/src/scripts/common/CmnDefLinkShell.cpp @@ -42,44 +42,13 @@ public: // create linkshell void Scene00002( Entity::Player& player ) { - auto callback = [ this ]( Entity::Player& player, const Event::SceneResult& result ) - { - auto ls = linkshellMgr().createLinkshell( result.resultString, player ); - if( !ls ) - { - eventMgr().resumeScene( player, result.eventId, result.sceneId, { 0x15a }, false ); - linkshellMgr().finishLinkshellAction( result.resultString, 0x15a, player, 1 ); - } - else - { - eventMgr().resumeScene( player, result.eventId, result.sceneId, { 0 }, true ); - linkshellMgr().finishLinkshellAction( result.resultString, 0, player, 1 ); - } - - }; - - eventMgr().playScene( player, getId(), 2, HIDE_HOTBAR, callback ); + eventMgr().playScene( player, getId(), 2, HIDE_HOTBAR ); } // rename linkshell void Scene00003( Entity::Player& player ) { - auto callback = [ this ]( Entity::Player& player, const Event::SceneResult& result ) - { - auto ls = linkshellMgr().renameLinkshell( result.intResult, result.resultString, player ); - if( !ls ) - { - eventMgr().resumeScene( player, result.eventId, result.sceneId, { 0x15a }, false ); - linkshellMgr().finishLinkshellAction( result.resultString, 0x15a, player, 3 ); - } - else - { - eventMgr().resumeScene( player, result.eventId, result.sceneId, { 0 }, true ); - linkshellMgr().finishLinkshellAction( result.resultString, 0, player, 3 ); - } - - }; - eventMgr().playScene( player, getId(), 3, HIDE_HOTBAR, callback ); + eventMgr().playScene( player, getId(), 3, HIDE_HOTBAR ); } // remove linkshell @@ -92,6 +61,34 @@ public: { Scene00001( player ); } + + void onYield( uint32_t eventId, uint16_t sceneId, uint8_t yieldId, Entity::Player& player, const std::string& resultString, uint64_t resultInt ) override + { + auto errorCode = 0u; + switch( sceneId ) + { + case 2: + { + auto ls = linkshellMgr().createLinkshell( resultString, player ); + if( !ls ) + errorCode = 0x15a; + + eventMgr().resumeScene( player, eventId, sceneId, yieldId, { errorCode } ); + linkshellMgr().finishLinkshellAction( resultString, errorCode, player, 1 ); + break; + } + case 3: + { + auto ls = linkshellMgr().renameLinkshell( resultInt, resultString, player ); + if( !ls ) + errorCode = 0x15a; + eventMgr().resumeScene( player, eventId, sceneId, yieldId, { errorCode } ); + linkshellMgr().finishLinkshellAction( resultString, errorCode, player, 3 ); + break; + } + } + } + }; EXPOSE_SCRIPT( CmnDefLinkShell ); \ No newline at end of file diff --git a/src/scripts/common/ComDefFreeCompany.cpp b/src/scripts/common/ComDefFreeCompany.cpp index 41cbc4e1..17c08b40 100644 --- a/src/scripts/common/ComDefFreeCompany.cpp +++ b/src/scripts/common/ComDefFreeCompany.cpp @@ -43,6 +43,12 @@ class ComDefFreeCompany : public Sapphire::ScriptAPI::EventScript Scene00000( player ); } + void onYield( uint32_t eventId, uint16_t sceneId, uint8_t yieldId, Entity::Player& player, const std::string& resultString, uint64_t resultInt ) override + { + if( yieldId == 0x11 ) + eventMgr().resumeScene( player, eventId, sceneId, yieldId, { 3, 2, 7, 2149548032, 118598, 1, 0, 1, 1, 1 } ); + } + private: ////////////////////////////////////////////////////////////////////// @@ -51,18 +57,20 @@ class ComDefFreeCompany : public Sapphire::ScriptAPI::EventScript void Scene00000( Entity::Player& player ) { - eventMgr().playScene( player, getId(), 0, NONE, bindSceneReturn( &ComDefFreeCompany::Scene00000Return ) ); + eventMgr().playScene( player, getId(), 0, HIDE_HOTBAR, bindSceneReturn( &ComDefFreeCompany::Scene00000Return ) ); } void Scene00000Return( Entity::Player& player, const Event::SceneResult& result ) { + + //Scene00001( player ); } ////////////////////////////////////////////////////////////////////// void Scene00001( Entity::Player& player ) { - eventMgr().playScene( player, getId(), 1, NONE, bindSceneReturn( &ComDefFreeCompany::Scene00001Return ) ); + eventMgr().playScene( player, getId(), 1, HIDE_HOTBAR, bindSceneReturn( &ComDefFreeCompany::Scene00001Return ) ); } void Scene00001Return( Entity::Player& player, const Event::SceneResult& result ) diff --git a/src/scripts/common/ComDefGrandCompanyOfficer.cpp b/src/scripts/common/ComDefGrandCompanyOfficer.cpp new file mode 100644 index 00000000..ae504420 --- /dev/null +++ b/src/scripts/common/ComDefGrandCompanyOfficer.cpp @@ -0,0 +1,178 @@ +// This is an automatically generated C++ script template +// Content needs to be added by hand to make it function +// In order for this script to be loaded, move it to the correct folder in /scripts/ + +#include +#include "Manager/EventMgr.h" +#include +#include + +// Script: ComDefGrandCompanyOfficer_00073 +// Event Name: Small Talk +// Event ID: 720969 +using namespace Sapphire; + +class ComDefGrandCompanyOfficer : public Sapphire::ScriptAPI::EventScript +{ + private: + // Basic event information + // Entities found in the script data of the event + static constexpr auto GcLeveUnlock = 1616; + static constexpr auto GcRank08 = 8; + static constexpr auto GcRankMax = 9; + static constexpr auto GcRankRewardDeliverly = 6; + static constexpr auto GcRankRewardGcchange = 9; + static constexpr auto GcRankRewardLv30Leve = 5; + static constexpr auto GcRankRewardLv45Leve = 8; + static constexpr auto GcTransferUnlock = 1617; + static constexpr auto GrandCompanyInvalid = 0; + static constexpr auto ImmortalFlames = 3; + static constexpr auto LogmsgGcTransferCfError = 3151; + static constexpr auto Maelstrom = 1; + static constexpr auto NpcOfGridania = 1002394; + static constexpr auto NpcOfLimsa = 1002388; + static constexpr auto NpcOfUldah = 1002391; + static constexpr auto OrderOfTwinAdder = 2; + static constexpr auto ProcurementMission = 720971; + static constexpr auto ScreenImageBooty = 70; + static constexpr auto ScreenImageLeve = 71; + + public: + ComDefGrandCompanyOfficer() : Sapphire::ScriptAPI::EventScript( 720969 ){}; + ~ComDefGrandCompanyOfficer() = default; + + ////////////////////////////////////////////////////////////////////// + // Event Handlers + void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override + { + Scene00000( player ); + } + + + private: + ////////////////////////////////////////////////////////////////////// + // Available Scenes in this event, not necessarly all are used + ////////////////////////////////////////////////////////////////////// + + void Scene00000( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 0, HIDE_HOTBAR, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00000Return ) ); + } + + void Scene00000Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00001( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 1, HIDE_HOTBAR, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00001Return ) ); + } + + void Scene00001Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00002( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 2, NONE, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00002Return ) ); + } + + void Scene00002Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00003( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 3, NONE, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00003Return ) ); + } + + void Scene00003Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00004( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 4, NONE, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00004Return ) ); + } + + void Scene00004Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00005( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 5, FADE_OUT | HIDE_UI, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00005Return ) ); + } + + void Scene00005Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00006( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 6, FADE_OUT | HIDE_UI, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00006Return ) ); + } + + void Scene00006Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00007( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 7, NONE, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00007Return ) ); + } + + void Scene00007Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00008( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 8, FADE_OUT | HIDE_UI, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00008Return ) ); + } + + void Scene00008Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00009( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 9, FADE_OUT | HIDE_UI, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00009Return ) ); + } + + void Scene00009Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00010( Entity::Player& player ) + { + eventMgr().playScene( player, getId(), 10, FADE_OUT | HIDE_UI, bindSceneReturn( &ComDefGrandCompanyOfficer::Scene00010Return ) ); + } + + void Scene00010Return( Entity::Player& player, const Event::SceneResult& result ) + { + } + +}; + +EXPOSE_SCRIPT( ComDefGrandCompanyOfficer ); \ No newline at end of file diff --git a/src/scripts/common/FcTalk.cpp b/src/scripts/common/FcTalk.cpp index 28937e2f..1f7fab02 100644 --- a/src/scripts/common/FcTalk.cpp +++ b/src/scripts/common/FcTalk.cpp @@ -5,8 +5,7 @@ using namespace Sapphire; -class FcTalk : - public Sapphire::ScriptAPI::EventScript +class FcTalk : public Sapphire::ScriptAPI::EventScript { public: FcTalk() : diff --git a/src/tools/custom_talk_parser/main.cpp b/src/tools/custom_talk_parser/main.cpp index 64a9c096..0623b5e5 100644 --- a/src/tools/custom_talk_parser/main.cpp +++ b/src/tools/custom_talk_parser/main.cpp @@ -465,7 +465,7 @@ createScript( std::shared_ptr< Excel::ExcelStruct< Excel::CustomTalk > >& pQuest scriptEntry += " //////////////////////////////////////////////////////////////////////\n // Event Handlers\n"; scriptEntry += - " void onTalk( Entity::Player& player, uint64_t actorId ) override\n" + " void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override\n" " {\n" ; if( !actorList.empty() ) { diff --git a/src/world/Manager/EventMgr.cpp b/src/world/Manager/EventMgr.cpp index 10a867ae..604438ae 100644 --- a/src/world/Manager/EventMgr.cpp +++ b/src/world/Manager/EventMgr.cpp @@ -17,6 +17,7 @@ #include "Network/PacketWrappers/EventStartPacket.h" #include "Network/PacketWrappers/EventPlayPacket.h" #include "Network/PacketWrappers/EventFinishPacket.h" +#include "Network/PacketWrappers/EventResumePacket.h" #include "Network/PacketWrappers/Notice2Packet.h" #include "Territory/InstanceObjectCache.h" @@ -27,6 +28,7 @@ #include "Action/EventAction.h" #include "WorldServer.h" #include "Actor/Player.h" +#include