diff --git a/src/scripts/quest/ManFst006.cpp b/src/scripts/quest/ManFst006.cpp new file mode 100644 index 00000000..af10ccd0 --- /dev/null +++ b/src/scripts/quest/ManFst006.cpp @@ -0,0 +1,136 @@ +// 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 "Manager/EventMgr.h" +#include +#include +#include + +// Quest Script: ManFst006_00446 +// Quest Name: Dread Is in the Air +// Quest ID: 65982 +// Start NPC: 1000471 +// End NPC: 1000100 + +using namespace Sapphire; + +class ManFst006 : public Sapphire::ScriptAPI::QuestScript +{ +private: + // Basic quest information + // Quest vars / flags used + // UI8AL + // UI8BH + + /// Countable Num: 1 Seq: 255 Event: 1 Listener: 1000100 + // Steps in this quest ( 0 is before accepting, + // 1 is first, 255 means ready for turning it in + enum Sequence : uint8_t + { + Seq0 = 0, + SeqFinish = 255, + }; + + // Entities found in the script data of the quest + static constexpr auto Actor0 = 1000471; //Luquelot + static constexpr auto Actor1 = 1000100; //Mother Miounne + static constexpr auto Item0 = 2000240; + static constexpr auto LocFace1 = 617; + static constexpr auto LocFace2 = 604; + static constexpr auto Seq0Actor0 = 0; + static constexpr auto Seq1Actor1 = 1; + static constexpr auto Seq1Actor1Npctradeno = 99; + static constexpr auto Seq1Actor1Npctradeok = 100; + +public: + ManFst006() : Sapphire::ScriptAPI::QuestScript( 65982 ){}; + ~ManFst006() = default; + + ////////////////////////////////////////////////////////////////////// + // Event Handlers + void onTalk( World::Quest& quest, Entity::Player& player, uint64_t actorId ) override + { + switch( actorId ) + { + case Actor0: + { + if( quest.getSeq() == Seq0 ) + Scene00000( quest, player ); + break; + } + case Actor1: + { + if( quest.getSeq() == SeqFinish ) + Scene00001( quest, player ); + break; + } + } + } + + void onEventItem( World::Quest& quest, Entity::Player& player, uint64_t actorId ) override + { + } + + +private: + ////////////////////////////////////////////////////////////////////// + // Available Scenes in this quest, not necessarly all are used + ////////////////////////////////////////////////////////////////////// + + void Scene00000( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 0, HIDE_HOTBAR, bindSceneReturn( &ManFst006::Scene00000Return ) ); + } + + void Scene00000Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult( 0 ) == 1 )// accept quest + { + quest.setSeq( SeqFinish ); + quest.setUI8BH( 1 ); + } + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00001( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 1, HIDE_HOTBAR, bindSceneReturn( &ManFst006::Scene00001Return ) ); + } + + void Scene00001Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult( 0 ) == 1 ) + Scene00100( quest, player ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00099( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 99, NONE, bindSceneReturn( &ManFst006::Scene00099Return ) ); + } + + void Scene00099Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00100( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 100, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, bindSceneReturn( &ManFst006::Scene00100Return ) ); + } + + void Scene00100Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + + if( result.getResult( 0 ) == 1 ) + { + player.finishQuest( getId(), result.getResult(1) ); + } + } +}; + +EXPOSE_SCRIPT( ManFst006 ); \ No newline at end of file diff --git a/src/scripts/quest/ManFst008.cpp b/src/scripts/quest/ManFst008.cpp new file mode 100644 index 00000000..f5f5ea77 --- /dev/null +++ b/src/scripts/quest/ManFst008.cpp @@ -0,0 +1,207 @@ +// 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 "Manager/EventMgr.h" +#include +#include +#include + +// Quest Script: ManFst008_00448 +// Quest Name: Festive Endeavors +// Quest ID: 65984 +// Start NPC: 1003061 +// End NPC: 1000100 + +using namespace Sapphire; + +class ManFst008 : public Sapphire::ScriptAPI::QuestScript +{ +private: + // Basic quest information + // Quest vars / flags used + // BitFlag8 + // UI8AL + // UI8BH + + /// Countable Num: 1 Seq: 1 Event: 1 Listener: 1000423 + /// Countable Num: 1 Seq: 2 Event: 1 Listener: 1000100 + /// Countable Num: 1 Seq: 255 Event: 1 Listener: 1000153 + // Steps in this quest ( 0 is before accepting, + // 1 is first, 255 means ready for turning it in + enum Sequence : uint8_t + { + Seq0 = 0, + Seq1 = 1, + Seq2 = 2, + SeqFinish = 255, + }; + + // Entities found in the script data of the quest + static constexpr auto Actor0 = 1003061; + static constexpr auto Actor1 = 1000423;//Gods' Quiver Bow (Gatekeep) + static constexpr auto Actor2 = 1000100;//Mother Miounne + static constexpr auto Actor3 = 1000153;//Beatin + static constexpr auto Item0 = 2000250; + static constexpr auto Poprange0 = 3884000; + static constexpr auto Territorytype0 = 204; + +public: + ManFst008() : Sapphire::ScriptAPI::QuestScript( 65984 ){}; + ~ManFst008() = default; + + ////////////////////////////////////////////////////////////////////// + // Event Handlers + void onTalk( World::Quest& quest, Entity::Player& player, uint64_t actorId ) override + { + switch( actorId ) + { + case Actor0: + { + if( quest.getSeq() == Seq0 ) + Scene00000( quest, player ); + break; + } + case Actor1: + { + Scene00002( quest, player );//Sequence Agnostic. Client handles when accessable or not. + break; + } + case Actor2: + { + if( quest.getSeq() == Seq1 ) + Scene00003( quest, player ); + else if( quest.getSeq() == SeqFinish ) + Scene00005( quest, player ); + break; + } + case Actor3: + { + if( quest.getSeq() == Seq2 ) + Scene00004( quest, player ); + break; + } + } + } + + void onEventItem( World::Quest& quest, Entity::Player& player, uint64_t actorId ) override + { + } + + +private: + ////////////////////////////////////////////////////////////////////// + // Available Scenes in this quest, not necessarly all are used + ////////////////////////////////////////////////////////////////////// + + void Scene00000( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 0, NONE, bindSceneReturn( &ManFst008::Scene00000Return ) ); + } + + void Scene00000Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult( 0 ) == 1 )// accept quest + { + Scene00001( quest, player ); + } + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00001( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 1, HIDE_HOTBAR, bindSceneReturn( &ManFst008::Scene00001Return ) ); + } + + void Scene00001Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + quest.setSeq( Seq1 ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00002( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 2, NONE, bindSceneReturn( &ManFst008::Scene00002Return ) ); + } + + void Scene00002Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult( 0 ) == 1) //Yes + { + //TODO: Warp + } + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00003( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 3, HIDE_HOTBAR, bindSceneReturn( &ManFst008::Scene00003Return ) ); + } + + void Scene00003Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + eventMgr().sendEventNotice( player, getId(), 0, 0 ); + quest.setSeq( Seq2 ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00004( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 4, HIDE_HOTBAR, bindSceneReturn( &ManFst008::Scene00004Return ) ); + } + + void Scene00004Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + eventMgr().sendEventNotice( player, getId(), 1, 0 ); + quest.setUI8BH( 1 ); + quest.setSeq( SeqFinish ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00005( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 5, HIDE_HOTBAR, bindSceneReturn( &ManFst008::Scene00005Return ) ); + } + + void Scene00005Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult( 0 ) == 1 )//Traded the items + Scene00006( quest, player ); + else + Scene00007( quest, player ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00006( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 6, NONE, bindSceneReturn( &ManFst008::Scene00006Return ) ); + } + + void Scene00006Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + + if( result.getResult( 0 ) == 1 ) + { + player.finishQuest( getId() ); + } + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00007( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 7, NONE, bindSceneReturn( &ManFst008::Scene00007Return ) ); + } + + void Scene00007Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } +}; + +EXPOSE_SCRIPT( ManFst008 ); \ No newline at end of file diff --git a/src/scripts/quest/ManFst009.cpp b/src/scripts/quest/ManFst009.cpp new file mode 100644 index 00000000..75d2bb45 --- /dev/null +++ b/src/scripts/quest/ManFst009.cpp @@ -0,0 +1,226 @@ +// 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 "Manager/EventMgr.h" +#include +#include +#include + +#include + +// Quest Script: ManFst009_00449 +// Quest Name: Renewing the Covenant +// Quest ID: 65985 +// Start NPC: 1000100 +// End NPC: 1003027 + +using namespace Sapphire; + +class ManFst009 : public Sapphire::ScriptAPI::QuestScript +{ +private: + // Basic quest information + // Quest vars / flags used + // BitFlag8 + // UI8AH + // UI8AL + + /// Countable Num: 1 Seq: 1 Event: 1 Listener: 1000286 + /// Countable Num: 1 Seq: 255 Event: 1 Listener: 1000153 + // Steps in this quest ( 0 is before accepting, + // 1 is first, 255 means ready for turning it in + enum Sequence : uint8_t + { + Seq0 = 0, + Seq1 = 1, + SeqFinish = 255, + }; + + // Entities found in the script data of the quest + static constexpr auto Actor0 = 1000100; //Mother Miounne + static constexpr auto Actor1 = 1000286; //Estaine + static constexpr auto Actor2 = 1000153; //Beatin + static constexpr auto Actor3 = 1003027; + static constexpr auto Actor4 = 1000460; //Silent Conjurer (Lotus Stand Gatekeep) + static constexpr auto CutScene01 = 62; + static constexpr auto CutScene02 = 63; + static constexpr auto CutScene03 = 68; + static constexpr auto Poprange0 = 4106221; + static constexpr auto Poprange1 = 3877982; + static constexpr auto Ritem0 = 2651; + static constexpr auto Territorytype0 = 205; + +public: + ManFst009() : Sapphire::ScriptAPI::QuestScript( 65985 ){}; + ~ManFst009() = default; + + ////////////////////////////////////////////////////////////////////// + // Event Handlers + void onTalk( World::Quest& quest, Entity::Player& player, uint64_t actorId ) override + { + switch( actorId ) + { + case Actor0: + { + if( quest.getSeq() == Seq0 ) + Scene00000( quest, player ); + break; + } + case Actor1: + { + if( quest.getSeq() == Seq1 ) + Scene00002( quest, player ); + break; + } + case Actor2: + { + if( quest.getSeq() == Seq1 ) + Scene00006( quest, player ); + break; + } + case Actor3: + { + if( quest.getSeq() == SeqFinish ) + Scene00007( quest, player ); + break; + } + case Actor4: + { + if( quest.getSeq() == SeqFinish ) + Scene00008( quest, player ); + break; + } + } + } + + +private: + ////////////////////////////////////////////////////////////////////// + // Available Scenes in this quest, not necessarly all are used + ////////////////////////////////////////////////////////////////////// + + void Scene00000( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 0, NONE, bindSceneReturn( &ManFst009::Scene00000Return ) ); + } + + void Scene00000Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult( 0 ) == 1 )// accept quest + { + Scene00001( quest, player ); + } + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00001( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 1, NONE, bindSceneReturn( &ManFst009::Scene00001Return ) ); + } + + void Scene00001Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + quest.setSeq( Seq1 ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00002( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 2, HIDE_HOTBAR, bindSceneReturn( &ManFst009::Scene00002Return ) ); + } + + void Scene00002Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + auto headEquipped = player.getItemAt( Sapphire::Common::InventoryType::GearSet0, Sapphire::Common::GearSetSlot::Head ); + if( headEquipped && headEquipped->getId() == Ritem0 ) + Scene00003( quest, player ); + else + Scene00005( quest, player ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00003( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 3, HIDE_HOTBAR, bindSceneReturn( &ManFst009::Scene00003Return ) ); + } + + void Scene00003Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + Scene00004( quest, player ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00004( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 4, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, bindSceneReturn( &ManFst009::Scene00004Return ) ); + } + + void Scene00004Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + //TODO: Warp to Inn room to wake up + eventMgr().sendEventNotice( player, getId(), 0, 0 ); + quest.setSeq( SeqFinish ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00005( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 5, HIDE_HOTBAR, bindSceneReturn( &ManFst009::Scene00005Return ) ); + } + + void Scene00005Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00006( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 6, HIDE_HOTBAR, bindSceneReturn( &ManFst009::Scene00006Return ) ); + } + + void Scene00006Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + //You lost the mask!?!?! + player.addItem( Ritem0, 1 ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00007( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 7, NONE, bindSceneReturn( &ManFst009::Scene00007Return ) ); + } + + void Scene00007Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + + if( result.getResult( 0 ) == 1 ) + { + player.finishQuest( getId() ); + } + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00008( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 8, NONE, bindSceneReturn( &ManFst009::Scene00008Return ) ); + } + + void Scene00008Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult(0) == 1 ) + { + //TODO: Warp to Lotus Stand + } + } +}; + +EXPOSE_SCRIPT( ManFst009 ); \ No newline at end of file diff --git a/src/scripts/quest/subquest/gridania/SubFst055.cpp b/src/scripts/quest/subquest/gridania/SubFst055.cpp new file mode 100644 index 00000000..830c6f60 --- /dev/null +++ b/src/scripts/quest/subquest/gridania/SubFst055.cpp @@ -0,0 +1,383 @@ +// 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 "Manager/EventMgr.h" +#include +#include +#include + +// Quest Script: SubFst055_00161 +// Quest Name: Leia's Legacy +// Quest ID: 65697 +// Start NPC: 1000471 +// End NPC: 1000471 + +using namespace Sapphire; + +class SubFst055 : public Sapphire::ScriptAPI::QuestScript +{ +private: + // Basic quest information + // Quest vars / flags used + // BitFlag8 + // UI8AL + // UI8BH + + /// Countable Num: 3 Seq: 1 Event: 1 Listener: 1000476 + /// Countable Num: 1 Seq: 2 Event: 1 Listener: 1000483 + /// Countable Num: 1 Seq: 3 Event: 1 Listener: 1000484 + /// Countable Num: 1 Seq: 4 Event: 1 Listener: 1000471 + /// Countable Num: 1 Seq: 5 Event: 1 Listener: 1003002 + /// Countable Num: 1 Seq: 255 Event: 1 Listener: 2000053 + // Steps in this quest ( 0 is before accepting, + // 1 is first, 255 means ready for turning it in + enum Sequence : uint8_t + { + Seq0 = 0, + Seq1 = 1, + Seq2 = 2, + Seq3 = 3, + Seq4 = 4, + Seq5 = 5, + SeqFinish = 255, + }; + + // Entities found in the script data of the quest + static constexpr auto Actor0 = 1000471;//Luquelot + static constexpr auto Actor1 = 1000476;//Leodaire + static constexpr auto Actor2 = 1000483;//Bernard + static constexpr auto Actor3 = 1000484;//Ewmond + static constexpr auto Actor4 = 1003002;//Kuplo Kopo + static constexpr auto Eobject0 = 2000053; + static constexpr auto Eobject1 = 2001837; + static constexpr auto EventActionSearch = 1; + static constexpr auto Item0 = 2000096; + static constexpr auto LocAction1 = 81; + static constexpr auto LocAction2 = 82; + static constexpr auto LocActor = 1000470; + static constexpr auto LocFace1 = 611; + static constexpr auto LocFace2 = 604; + static constexpr auto LocPosCam1 = 1991469; + static constexpr auto Questbattle0 = 14; + static constexpr auto Territorytype0 = 227; + +public: + SubFst055() : Sapphire::ScriptAPI::QuestScript( 65697 ){}; + ~SubFst055() = default; + + ////////////////////////////////////////////////////////////////////// + // Event Handlers + void onTalk( World::Quest& quest, Entity::Player& player, uint64_t actorId ) override + { + switch( actorId ) + { + case Actor0: + { + if( quest.getSeq() == Seq0 ) + Scene00000( quest, player ); + else if( quest.getSeq() == Seq2 ) + Scene00004( quest, player ); + else if( quest.getSeq() == Seq5 ) + Scene00015( quest, player ); + else if( quest.getSeq() == SeqFinish ) + Scene00018( quest, player ); + break; + } + case Actor1: + { + if( quest.getSeq() == Seq1 ) + Scene00001( quest, player ); + break; + } + case Actor2: + { + if( quest.getSeq() == Seq1 ) + Scene00002( quest, player ); + break; + } + case Actor3: + { + if( quest.getSeq() == Seq1 ) + Scene00003( quest, player ); + break; + } + case Actor4: + { + if( quest.getSeq() == Seq3 ) + Scene00005( quest, player ); + else if( quest.getSeq() == Seq4 ) + Scene00011( quest, player ); + break; + } + } + } + + void onEventItem( World::Quest& quest, Entity::Player& player, uint64_t actorId ) override + { + } + + +private: + void checkQuestCompletion( World::Quest& quest, Entity::Player& player ) + { + if( quest.getUI8AL() >= 3 ) + { + quest.setUI8AL( 0 ); + quest.setSeq( Seq2 ); + } + } + ////////////////////////////////////////////////////////////////////// + // Available Scenes in this quest, not necessarly all are used + ////////////////////////////////////////////////////////////////////// + + void Scene00000( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 0, HIDE_HOTBAR, bindSceneReturn( &SubFst055::Scene00000Return ) ); + } + + void Scene00000Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult( 0 ) == 1 )// accept quest + { + quest.setSeq( Seq1 ); + } + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00001( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 1, HIDE_HOTBAR, bindSceneReturn( &SubFst055::Scene00001Return ) ); + } + + void Scene00001Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + quest.setUI8AL( quest.getUI8AL() + 1 ); + quest.setBitFlag8( 1, true ); + eventMgr().sendEventNotice( player, getId(), 0, 2, quest.getUI8AL(), 3 ); + checkQuestCompletion( quest, player ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00002( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 2, HIDE_HOTBAR, bindSceneReturn( &SubFst055::Scene00002Return ) ); + } + + void Scene00002Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + quest.setUI8AL( quest.getUI8AL() + 1 ); + quest.setBitFlag8( 2, true ); + eventMgr().sendEventNotice( player, getId(), 0, 2, quest.getUI8AL(), 3 ); + checkQuestCompletion( quest, player ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00003( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 3, HIDE_HOTBAR, bindSceneReturn( &SubFst055::Scene00003Return ) ); + } + + void Scene00003Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + quest.setUI8AL( quest.getUI8AL() + 1 ); + quest.setBitFlag8( 3, true ); + eventMgr().sendEventNotice( player, getId(), 0, 2, quest.getUI8AL(), 3 ); + checkQuestCompletion( quest, player ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00004( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 4, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, bindSceneReturn( &SubFst055::Scene00004Return ) ); + } + + void Scene00004Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + eventMgr().sendEventNotice( player, getId(), 1, 0 ); + quest.setUI8BH( 1 ); + quest.setSeq( Seq3 ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00005( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 5, HIDE_HOTBAR, bindSceneReturn( &SubFst055::Scene00005Return ) ); + } + + void Scene00005Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult( 0 ) == 1 ) + { + /* auto& pTeriMgr = Common::Service< Sapphire::World::Manager::TerritoryMgr >::ref(); + + eventMgr().eventFinish( player, result.eventId, 0 ); + pTeriMgr.createAndJoinQuestBattle( player, Questbattle0 );*/ + playerMgr().sendUrgent( player, "I can't get this QuestBattle to work. Skipping~~" ); + eventMgr().sendEventNotice( player, getId(), 2, 0 ); + quest.setSeq( Seq4 ); + } + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00006( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 6, NONE, bindSceneReturn( &SubFst055::Scene00006Return ) ); + } + + void Scene00006Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00007( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 7, NONE, bindSceneReturn( &SubFst055::Scene00007Return ) ); + } + + void Scene00007Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00008( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 8, NONE, bindSceneReturn( &SubFst055::Scene00008Return ) ); + } + + void Scene00008Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00009( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 9, NONE, bindSceneReturn( &SubFst055::Scene00009Return ) ); + } + + void Scene00009Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00010( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 10, NONE, bindSceneReturn( &SubFst055::Scene00010Return ) ); + } + + void Scene00010Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00011( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 11, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, bindSceneReturn( &SubFst055::Scene00011Return ) ); + } + + void Scene00011Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + eventMgr().sendEventNotice( player, getId(), 3, 0 ); + quest.setSeq( Seq5 ); + + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00012( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 12, NONE, bindSceneReturn( &SubFst055::Scene00012Return ) ); + } + + void Scene00012Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00013( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 13, NONE, bindSceneReturn( &SubFst055::Scene00013Return ) ); + } + + void Scene00013Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00014( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 14, NONE, bindSceneReturn( &SubFst055::Scene00014Return ) ); + } + + void Scene00014Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00015( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 15, HIDE_HOTBAR, bindSceneReturn( &SubFst055::Scene00015Return ) ); + } + + void Scene00015Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + if( result.getResult( 0 ) == 1 ) + Scene00016( quest, player ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00016( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 16, FADE_OUT | CONDITION_CUTSCENE | HIDE_UI, bindSceneReturn( &SubFst055::Scene00016Return ) ); + } + + void Scene00016Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + eventMgr().sendEventNotice( player, getId(), 4, 0 ); + quest.setSeq( SeqFinish ); + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00017( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 17, NONE, bindSceneReturn( &SubFst055::Scene00017Return ) ); + } + + void Scene00017Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + } + + ////////////////////////////////////////////////////////////////////// + + void Scene00018( World::Quest& quest, Entity::Player& player ) + { + eventMgr().playQuestScene( player, getId(), 18, NONE, bindSceneReturn( &SubFst055::Scene00018Return ) ); + } + + void Scene00018Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) + { + + if( result.getResult( 0 ) == 1 ) + { + player.finishQuest( getId(), result.getResult( 1 ) ); + } + } +}; + +EXPOSE_SCRIPT( SubFst055 ); \ No newline at end of file