Index: scripts/globals/missions.lua =================================================================== --- scripts/globals/missions.lua (revision 4095) +++ scripts/globals/missions.lua (working copy) @@ -914,7 +914,9 @@ 16,{0,0}, {0,0}, {0x0032,0},{0,0}, {{14,0},{5,650},{0,0},{0,0},{0,0},{12}}, -- MISSION 6-1 (Finish (Zone: Full Moon Fountain)) 17,{0,0}, {0,0}, {0x0138,0},{0,0}, {{14,0},{11,7},{8,40000},{6},{0,0},{12}}, -- MISSION 6-2 (Finish (Star Sibyl)) 18,{0,0}, {0,0}, {0x02d4,0},{0,0}, {{14,0},{5,700},{10,251},{0,0},{0,0},{12}}, -- MISSION 7-1 (Finish (Tosuka-Porika)) - 19,{0,0}, {0,0}, {0x02E6,0},{0,0}, {{14,0},{11,8},{8,60000},{6},{0,0},{12}} -- MISSION 7-2 (Finish (Leepe-Hoppe)) + 19,{0,0}, {0,0}, {0x02E6,0},{0,0}, {{14,0},{11,8},{8,60000},{6},{0,0},{12}}, -- MISSION 7-2 (Finish (Leepe-Hoppe)) + 20,{0,0}, {0,0}, {0x02F6,0},{0,0}, {{14,0},{5,750},{0,0},{0,0},{0,0},{12}} -- MISSION 7-2 (Finish (Moreno-Toeno)) + }; end end Index: scripts/zones/Davoi/npcs/Sedal-Godjal.lua =================================================================== --- scripts/zones/Davoi/npcs/Sedal-Godjal.lua (revision 4095) +++ scripts/zones/Davoi/npcs/Sedal-Godjal.lua (working copy) @@ -8,6 +8,7 @@ package.loaded["scripts/zones/Davoi/TextIDs"] = nil; ----------------------------------- +require("scripts/globals/missions"); require("scripts/globals/settings"); require("scripts/globals/keyitems"); require("scripts/zones/Davoi/TextIDs"); @@ -15,8 +16,15 @@ ----------------------------------- -- onTrade Action ----------------------------------- +function onTrade(player,npc,trade) +local CurrentMission = player:getCurrentMission(WINDURST); +local MissionStatus = player:getVar("MissionStatus"); -function onTrade(player,npc,trade) + if(trade:hasItemQty(17437,1)) then + if(CurrentMission == VAIN and MissionStatus == 3 and player:hasKeyItem(MAGICDRAINED_STAR_SEEKER) == true) then + player:startEvent(0x0078); + end + end end; ----------------------------------- @@ -24,9 +32,20 @@ ----------------------------------- function onTrigger(player,npc) - - if(player:hasKeyItem(CRIMSON_ORB) == false) then +local CurrentMission = player:getCurrentMission(WINDURST); +local MissionStatus = player:getVar("MissionStatus"); + + if(CurrentMission == VAIN and MissionStatus >= 2) then -- wiki says it doesnt matter whether you get cs or kill first + if(player:hasKeyItem(STAR_SEEKER) == true) then + player:startEvent(0x0076,0,17437,STAR_SEEKER); + elseif(player:hasKeyItem(MAGICDRAINED_STAR_SEEKER) and MissionStatus == 4) then + player:startEvent(0x0079); + else + player:startEvent(0x0077,0,17437); + end + elseif(player:hasKeyItem(CRIMSON_ORB) == false) then + miniQuestForORB_CS = player:getVar("miniQuestForORB_CS"); countRedPoolForORB = player:getVar("countRedPoolForORB"); @@ -72,6 +91,12 @@ player:delKeyItem(CURSED_ORB); player:addKeyItem(CRIMSON_ORB); player:messageSpecial(KEYITEM_OBTAINED, CRIMSON_ORB); + elseif(csid == 0x0076) then + player:delKeyItem(STAR_SEEKER); + player:addKeyItem(MAGICDRAINED_STAR_SEEKER); + elseif(csid == 0x0078) then + player:tradeComplete(); + player:setVar("MissionStatus",4); end end; \ No newline at end of file Index: scripts/zones/RoMaeve/npcs/Qu_Hau_Spring.lua =================================================================== --- scripts/zones/RoMaeve/npcs/Qu_Hau_Spring.lua (revision 4095) +++ scripts/zones/RoMaeve/npcs/Qu_Hau_Spring.lua (working copy) @@ -1,11 +1,14 @@ ----------------------------------- -- Qu_Hau_Spring -- Area: Ro'Maeve +-- @zone 122 +-- @pos 0 -27 67 122 ----------------------------------- package.loaded["scripts/zones/RoMaeve/TextIDs"] = nil; require("scripts/zones/RoMaeve/TextIDs"); require("scripts/globals/quests"); require("scripts/globals/keyitems"); +require("scripts/globals/missions"); ----------------------------------- -- onTrade Action @@ -31,6 +34,13 @@ ----------------------------------- function onTrigger(player,npc) + + if(player:getCurrentMission(WINDURST) == VAIN and player:getVar("MissionStatus") == 1) then + player:startEvent(0x0002); + else + player:messageSpecial(NOTHING_OUT_OF_ORDINARY); + end + end; ----------------------------------- @@ -45,17 +55,23 @@ ----------------------------------- function onEventFinish(player,csid,option) - if (csid == 7) then - if (player:getFreeSlotsCount() == 0) then - player:messageSpecial(ITEM_CANNOT_BE_OBTAINED,1550); - else - player:addItem(1550); - player:messageSpecial(ITEM_OBTAINED,1550); - player:tradeComplete(); - end - elseif (csid == 8) then - player:tradeComplete(); - player:addKeyItem(MOONLIGHT_ORE); - player:messageSpecial(KEYITEM_OBTAINED,MOONLIGHT_ORE); - end -end; + + if (csid == 7) then + if (player:getFreeSlotsCount() == 0) then + player:messageSpecial(ITEM_CANNOT_BE_OBTAINED,1550); + else + player:addItem(1550); + player:messageSpecial(ITEM_OBTAINED,1550); + player:tradeComplete(); + end + + elseif (csid == 8) then + player:tradeComplete(); + player:addKeyItem(MOONLIGHT_ORE); + player:messageSpecial(KEYITEM_OBTAINED,MOONLIGHT_ORE); + + elseif (csid == 2) then + player:setVar("MissionStatus",2); + + end +end; \ No newline at end of file Index: scripts/zones/Windurst_Waters/npcs/Moreno-Toeno.lua =================================================================== --- scripts/zones/Windurst_Waters/npcs/Moreno-Toeno.lua (revision 4095) +++ scripts/zones/Windurst_Waters/npcs/Moreno-Toeno.lua (working copy) @@ -33,7 +33,16 @@ teacherstatus = player:getQuestStatus(WINDURST,TEACHER_S_PET); - if(player:getCurrentMission(WINDURST) == A_TESTING_TIME) then + if(player:getCurrentMission(WINDURST) == VAIN and player:getVar("MissionStatus") == 0) then + player:startEvent(0x02F0,0,STAR_SEEKER); + elseif(player:getCurrentMission(WINDURST) == VAIN and player:getVar("MissionStatus") >= 1) then + if(player:getVar("MissionStatus") < 4) then + player:startEvent(0x02F1); + elseif(player:getVar("MissionStatus") == 4) then + player:startEvent(0x02F6); + end + + elseif(player:getCurrentMission(WINDURST) == A_TESTING_TIME) then MissionStatus = player:getVar("MissionStatus"); alreadyCompleted = player:hasCompletedMission(WINDURST,A_TESTING_TIME); if(MissionStatus == 0) then @@ -134,8 +143,10 @@ if(csid == 0x01b6 and option == 0) then player:addQuest(WINDURST,TEACHER_S_PET); + elseif(csid == 0x01b6 and option == 1) then player:setVar("QuestTeachersPet_prog",0); + elseif(csid == 0x01b8) then player:addGil(GIL_RATE*250); player:setVar("QuestTeachersPet_prog",0); @@ -146,6 +157,7 @@ else player:addFame(WINDURST,WIN_FAME*8); end + elseif(csid == 0x00B6 or csid == 0x02AF) and option ~= 1 then -- start player:addKeyItem(CREATURE_COUNTER_MAGIC_DOLL); player:messageSpecial(KEYITEM_OBTAINED,CREATURE_COUNTER_MAGIC_DOLL); @@ -153,6 +165,7 @@ player:setVar("testingTime_start_day",VanadielDayOfTheYear()); player:setVar("testingTime_start_hour",VanadielHour()); player:setVar("testingTime_start_time",os.time()); + elseif(csid == 0x00C6 or csid == 0x00C7 or csid == 0x00CA or csid == 0x00D0) then -- failed testing time player:delKeyItem(CREATURE_COUNTER_MAGIC_DOLL); player:messageSpecial(KEYITEM_OBTAINED + 1,CREATURE_COUNTER_MAGIC_DOLL); @@ -162,20 +175,29 @@ player:setVar("testingTime_start_hour",0); player:setVar("testingTime_start_time",0); player:delMission(WINDURST,A_TESTING_TIME); + elseif (csid == 0x00C8 or csid == 0x00C9) then -- first time win finishMissionTimeline(player,1,csid,option); - player:setVar("testingTime_crea_count",0); player:setVar("testingTime_start_day",0); player:setVar("testingTime_start_hour",0); player:setVar("testingTime_start_time",0); + elseif (csid == 0x00D1 or csid == 0x00CE) then -- succesfull repeat attempt (Buburimu). finishMissionTimeline(player,1,csid,option); - player:setVar("testingTime_crea_count",0); player:setVar("testingTime_start_day",0); player:setVar("testingTime_start_hour",0); player:setVar("testingTime_start_time",0); + + elseif(csid == 0x02F0) then + player:setVar("MissionStatus",1); + player:addKeyItem(STAR_SEEKER); + player:messageSpecial(KEYITEM_OBTAINED,STAR_SEEKER); + player:addTitle(FUGITIVE_MINISTER_BOUNTY_HUNTER); + + elseif(csid == 0x02F6) then + finishMissionTimeline(player,3,csid,option); end end; \ No newline at end of file