From 6fb07971c7c7021ab8ef79eb7aa54ddcf37f2759 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Tue, 9 May 2023 00:09:48 -0700 Subject: [PATCH] Added ItemIcons to quest notice, logic fixes, set Bitflag8 for SubsSea quests --- src/scripts/quest/subquest/limsa/SubSea002.cpp | 2 +- src/scripts/quest/subquest/limsa/SubSea004.cpp | 3 +++ src/scripts/quest/subquest/limsa/SubSea007.cpp | 3 ++- src/scripts/quest/subquest/limsa/SubSea008.cpp | 14 ++++++++++---- src/scripts/quest/subquest/limsa/SubSea016.cpp | 4 +++- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/scripts/quest/subquest/limsa/SubSea002.cpp b/src/scripts/quest/subquest/limsa/SubSea002.cpp index 406c22d5..9ec72292 100644 --- a/src/scripts/quest/subquest/limsa/SubSea002.cpp +++ b/src/scripts/quest/subquest/limsa/SubSea002.cpp @@ -8,7 +8,7 @@ #include // Quest Script: SubSea002_00112 -// Quest Name: Suspiciously SoberF +// Quest Name: Suspiciously Sober // Quest ID: 65648 // Start NPC: 1003604 (Ahldskyf) // End NPC: 1003275 (Frydwyb) diff --git a/src/scripts/quest/subquest/limsa/SubSea004.cpp b/src/scripts/quest/subquest/limsa/SubSea004.cpp index 6b08ea21..b3e3ccf6 100644 --- a/src/scripts/quest/subquest/limsa/SubSea004.cpp +++ b/src/scripts/quest/subquest/limsa/SubSea004.cpp @@ -145,6 +145,7 @@ private: { eventMgr().sendEventNotice( player, getId(), 0, 0 ); quest.setUI8AL( 1 ); + quest.setBitFlag8( 1, true ); checkQuestCompletion( quest, player, 1 ); } @@ -159,6 +160,7 @@ private: { eventMgr().sendEventNotice( player, getId(), 1, 0 ); quest.setUI8BH( 1 ); + quest.setBitFlag8( 2, true ); checkQuestCompletion( quest, player, 1 ); } @@ -173,6 +175,7 @@ private: { eventMgr().sendEventNotice( player, getId(), 2, 0 ); quest.setUI8BL( 1 ); + quest.setBitFlag8( 3, true ); checkQuestCompletion( quest, player, 1 ); } diff --git a/src/scripts/quest/subquest/limsa/SubSea007.cpp b/src/scripts/quest/subquest/limsa/SubSea007.cpp index 26feaf98..4475010a 100644 --- a/src/scripts/quest/subquest/limsa/SubSea007.cpp +++ b/src/scripts/quest/subquest/limsa/SubSea007.cpp @@ -41,6 +41,7 @@ class SubSea007 : public Sapphire::ScriptAPI::QuestScript static constexpr auto Actor1 = 1000957; // R'sushmo ( Pos: -49.240898 43.991699 -146.380005 Teri: 128 ) static constexpr auto Actor2 = 1000937; // Godebert ( Pos: -12.222500 44.998798 -251.850006 Teri: 128 ) static constexpr auto Item0 = 2000455; + static constexpr auto Item0Icon = 25906; public: SubSea007() : Sapphire::ScriptAPI::QuestScript( 65653 ){}; @@ -117,7 +118,7 @@ class SubSea007 : public Sapphire::ScriptAPI::QuestScript void Scene00002Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) { - eventMgr().sendEventNotice( player, getId(), 0, 0 ); // TODO: Show item icon + eventMgr().sendNotice( player, getId(), 0, { Item0Icon } ); quest.setUI8BH( 1 ); quest.setSeq( Seq2 ); } diff --git a/src/scripts/quest/subquest/limsa/SubSea008.cpp b/src/scripts/quest/subquest/limsa/SubSea008.cpp index 6e7c013e..6a220f83 100644 --- a/src/scripts/quest/subquest/limsa/SubSea008.cpp +++ b/src/scripts/quest/subquest/limsa/SubSea008.cpp @@ -45,6 +45,7 @@ class SubSea008 : public Sapphire::ScriptAPI::QuestScript static constexpr auto Actor2 = 1000938; // Ginnade ( Pos: -4.651690 45.018398 -241.815002 Teri: 128 ) static constexpr auto Actor3 = 1000947; // Lyngsath ( Pos: -54.642601 43.991699 -151.201996 Teri: 128 ) static constexpr auto Item0 = 2000451; + static constexpr auto Item0Icon = 25919; public: SubSea008() : Sapphire::ScriptAPI::QuestScript( 65654 ){}; @@ -58,7 +59,8 @@ class SubSea008 : public Sapphire::ScriptAPI::QuestScript { case Actor0: { - Scene00000( quest, player ); + if( quest.getSeq() == Seq0 ) + Scene00000( quest, player ); break; } case Actor1: @@ -71,12 +73,14 @@ class SubSea008 : public Sapphire::ScriptAPI::QuestScript } case Actor2: { - Scene00003( quest, player ); + if( quest.getSeq() == Seq2 ) + Scene00003( quest, player ); break; } case Actor3: { - Scene00005( quest, player ); + if( quest.getSeq() == Seq2 ) + Scene00005( quest, player ); break; } } @@ -137,7 +141,7 @@ private: void Scene00002Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) { quest.setUI8BL( 1 ); - eventMgr().sendEventNotice( player, getId(), 0, 0 ); //TODO: add item icon + eventMgr().sendNotice( player, getId(), 0, { Item0Icon } ); quest.setSeq( Seq2 ); } @@ -167,6 +171,7 @@ private: { eventMgr().sendEventNotice( player, getId(), 1, 0 ); quest.setUI8AL( 1 ); + quest.setBitFlag8( 1, true ); checkQuestCompletion( quest, player, 1 ); } @@ -197,6 +202,7 @@ private: { eventMgr().sendEventNotice( player, getId(), 2, 0 ); quest.setUI8BH( 1 ); + quest.setBitFlag8( 2, true ); checkQuestCompletion( quest, player, 1 ); } diff --git a/src/scripts/quest/subquest/limsa/SubSea016.cpp b/src/scripts/quest/subquest/limsa/SubSea016.cpp index bd263eea..48d8d5c3 100644 --- a/src/scripts/quest/subquest/limsa/SubSea016.cpp +++ b/src/scripts/quest/subquest/limsa/SubSea016.cpp @@ -64,7 +64,8 @@ class SubSea016 : public Sapphire::ScriptAPI::QuestScript } case Actor1: { - Scene00002( quest, player ); + if( quest.getSeq() == Seq1 ) + Scene00002( quest, player ); break; } } @@ -131,6 +132,7 @@ class SubSea016 : public Sapphire::ScriptAPI::QuestScript void Scene00003Return( World::Quest& quest, Entity::Player& player, const Event::SceneResult& result ) { eventMgr().sendEventNotice( player, getId(), 0, 0 ); + quest.setBitFlag8( 1, true ); quest.setSeq( SeqFinish ); }