From 060bfaea0aafee1890e124dabd4a9a3d6937c549 Mon Sep 17 00:00:00 2001 From: ThrisStraizo <45871917+ThrisStraizo@users.noreply.github.com> Date: Mon, 2 Feb 2026 16:48:35 -0800 Subject: [PATCH] WAR AF1 missing event interaction fix This PR adds the missing interaction that the Warrior AF1 quest is suppose to have with the Orcish Tent. --- scripts/quests/bastok/WAR_AF1_The_Doorman.lua | 56 ++++++++++++++----- sql/mob_spawn_points.sql | 4 +- 2 files changed, 43 insertions(+), 17 deletions(-) diff --git a/scripts/quests/bastok/WAR_AF1_The_Doorman.lua b/scripts/quests/bastok/WAR_AF1_The_Doorman.lua index e9e5d348ca7..aa6ce2444bd 100644 --- a/scripts/quests/bastok/WAR_AF1_The_Doorman.lua +++ b/scripts/quests/bastok/WAR_AF1_The_Doorman.lua @@ -50,21 +50,47 @@ quest.sections = ['Hide_Flap_1'] = { onTrigger = function(player, npc) - if not player:hasKeyItem(xi.ki.SWORD_GRIP_MATERIAL) then - if quest:getLocalVar(player, 'nmKilled') == 3 then - return quest:keyItem(xi.ki.SWORD_GRIP_MATERIAL) - elseif - not GetMobByID(davoiID.mob.GAVOTVUT):isSpawned() and - not GetMobByID(davoiID.mob.BARAKBOK):isSpawned() - then - SpawnMob(davoiID.mob.GAVOTVUT):updateClaim(player) - SpawnMob(davoiID.mob.BARAKBOK):updateClaim(player) - - quest:setLocalVar(player, 'nmClaimed', 1) - - -- TODO: Determine if a specific message is displayed here - return quest:noAction() - end + player:messageSpecial(davoiID.text.FIND_ORC_TENT) + + if player:checkDistance(npc) > 1 then + return quest:messageSpecial(davoiID.text.CLOSER_TO_SEARCH) + elseif + not GetMobByID(davoiID.mob.GAVOTVUT):isAlive() and + not GetMobByID(davoiID.mob.BARAKBOK):isAlive() + then + return quest:progressEvent(110) + else + return quest:noAction() + end + end, + }, + + onEventFinish = + { + [110] = function(player, csid, option, npc) + if option ~= 0 then + return + end + + if player:hasKeyItem(xi.ki.SWORD_GRIP_MATERIAL) then + player:messageSpecial(davoiID.text.YOU_FIND_NOTHING) + return + end + + if quest:getLocalVar(player, 'nmKilled') == 3 then + npcUtil.giveKeyItem(player, xi.ki.SWORD_GRIP_MATERIAL) + return + end + + if + not GetMobByID(davoiID.mob.GAVOTVUT):isSpawned() and + not GetMobByID(davoiID.mob.BARAKBOK):isSpawned() + then + player:messageSpecial(davoiID.text.YOU_FIND_NOTHING) + SpawnMob(davoiID.mob.GAVOTVUT):updateClaim(player) + SpawnMob(davoiID.mob.BARAKBOK):updateClaim(player) + quest:setLocalVar(player, 'nmClaimed', 1) + return end end, }, diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index fea7b7937f4..cf5daeef590 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -54259,8 +54259,8 @@ INSERT INTO `mob_spawn_points` VALUES (17387961,0,'Orcish_Dragoon','Orcish Drago INSERT INTO `mob_spawn_points` VALUES (17387962,0,'Orcish_Dreadnought','Orcish Dreadnought',33,63,67,180.656,-0.210,-213.239,30); INSERT INTO `mob_spawn_points` VALUES (17387963,0,'Orcish_Warchief','Orcish Warchief',32,55,59,176.161,0.104,-218.530,127); INSERT INTO `mob_spawn_points` VALUES (17387964,0,'Orcish_Warchief','Orcish Warchief',32,55,59,173.099,-0.295,-213.957,127); -INSERT INTO `mob_spawn_points` VALUES (17387965,0,'Gavotvut','Gavotvut',43,45,45,290.000,3.000,-215.000,199); -INSERT INTO `mob_spawn_points` VALUES (17387966,0,'Barakbok','Barakbok',44,43,43,292.000,3.000,-215.000,199); +INSERT INTO `mob_spawn_points` VALUES (17387965,0,'Gavotvut','Gavotvut',43,45,45,293.542,3.519,-216.794,199); +INSERT INTO `mob_spawn_points` VALUES (17387966,0,'Barakbok','Barakbok',44,43,43,289.378,4.142,-214.877,199); INSERT INTO `mob_spawn_points` VALUES (17387967,0,'Bilopdop','Bilopdop',45,55,55,-122.838,3.765,-44.842,220); INSERT INTO `mob_spawn_points` VALUES (17387968,0,'Deloknok','Deloknok',46,53,53,-125.649,4.000,-40.612,220); INSERT INTO `mob_spawn_points` VALUES (17387969,0,'Purpleflash_Brukdok','Purpleflash Brukdok',47,45,45,-135.469,-0.091,-184.703,127);