From 1f51299ccfb314289aed86ff07d985212526ebc9 Mon Sep 17 00:00:00 2001 From: Mordred Date: Wed, 10 Apr 2019 23:49:50 +0200 Subject: [PATCH] Added two more gridania main story quests --- src/scripts/quest/ManFst005.cpp | 29 +++- .../quest/subquest/gridania/SubFst034.cpp | 154 ++++++++++++++++++ .../quest/subquest/gridania/SubFst039.cpp | 106 ++++++++++++ 3 files changed, 287 insertions(+), 2 deletions(-) create mode 100644 src/scripts/quest/subquest/gridania/SubFst034.cpp create mode 100644 src/scripts/quest/subquest/gridania/SubFst039.cpp diff --git a/src/scripts/quest/ManFst005.cpp b/src/scripts/quest/ManFst005.cpp index c54f1f14..ae3610a4 100644 --- a/src/scripts/quest/ManFst005.cpp +++ b/src/scripts/quest/ManFst005.cpp @@ -64,9 +64,28 @@ class ManFst005 : public Sapphire::ScriptAPI::EventScript auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) ); if( actor == Actor0 ) - Scene00000( player ); + { + if( !player.hasQuest( eventId ) ) + { + Scene00000( player ); + } + else + { + Scene00009( player ); + } + } + if( actor == Eobject0 ) Scene00002( player ); + if( actor == Eobject1 ) + { + player.eventActionStart( getId(), EventActionProcessShor, + [ & ]( Entity::Player& player, uint32_t eventId, uint64_t additional ) + { + player.updateQuest( getId(), SeqFinish ); + }, + nullptr, getId() ); + } } void onEnterTerritory( Entity::Player& player, uint32_t eventId, uint16_t param1, uint16_t param2 ) override @@ -177,14 +196,20 @@ class ManFst005 : public Sapphire::ScriptAPI::EventScript player.playScene( getId(), 9, HIDE_HOTBAR, [ & ]( Entity::Player& player, const Event::SceneResult& result ) { + Scene00010( player ); } ); } void Scene00010( Entity::Player& player ) { - player.playScene( getId(), 10, HIDE_HOTBAR, + player.playScene( getId(), 10, FADE_OUT | HIDE_HOTBAR | CONDITION_CUTSCENE | HIDE_UI, [ & ]( Entity::Player& player, const Event::SceneResult& result ) { + if( result.param2 == 1 ) + if( player.giveQuestRewards( getId(), 0 ) ) + { + player.finishQuest( getId() ); + } } ); } diff --git a/src/scripts/quest/subquest/gridania/SubFst034.cpp b/src/scripts/quest/subquest/gridania/SubFst034.cpp new file mode 100644 index 00000000..bde01858 --- /dev/null +++ b/src/scripts/quest/subquest/gridania/SubFst034.cpp @@ -0,0 +1,154 @@ +#include