-
Notifications
You must be signed in to change notification settings - Fork 652
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[lua, quest] Converts BRD unlock and BRD AF1 to IF
Co-authored-by: hooksta4 <[email protected]>
- Loading branch information
1 parent
72170d4
commit 7034107
Showing
11 changed files
with
196 additions
and
126 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
----------------------------------- | ||
-- Painful Memory | ||
----------------------------------- | ||
-- Log ID: 3, Quest ID: 63 | ||
-- Mertaire: !pos -719.617 -7.135 101.606 245 | ||
-- Waters_of_Oblivion: !pos -287.717 -45.002 211.928 166 | ||
----------------------------------- | ||
local ID = zones[xi.zone.RANGUEMONT_PASS] | ||
----------------------------------- | ||
|
||
local quest = Quest:new(xi.questLog.JEUNO, xi.quest.id.jeuno.PAINFUL_MEMORY) | ||
|
||
quest.reward = | ||
{ | ||
item = xi.item.PAPER_KNIFE, | ||
} | ||
|
||
quest.sections = | ||
{ | ||
{ | ||
check = function(player, status, vars) | ||
return status == xi.questStatus.QUEST_AVAILABLE and | ||
player:getMainLvl() >= xi.settings.main.AF1_QUEST_LEVEL and | ||
player:hasCompletedQuest(xi.questLog.JEUNO, xi.quest.id.jeuno.PATH_OF_THE_BARD) and | ||
player:getMainJob() == xi.job.BRD | ||
end, | ||
|
||
[xi.zone.LOWER_JEUNO] = | ||
{ | ||
['Mertaire'] = | ||
{ | ||
onTrigger = function(player, npc) | ||
local initialCS = quest:getVar(player, 'initialCS') | ||
|
||
if initialCS == 0 then | ||
return quest:progressEvent(138) | ||
elseif initialCS == 1 then | ||
return quest:progressEvent(137) | ||
end | ||
end, | ||
}, | ||
|
||
onEventFinish = | ||
{ | ||
[138] = function(player, csid, option, npc) | ||
if option == 1 then | ||
quest:begin(player) | ||
quest:setVar(player, 'initialCS', 0) | ||
npcUtil.giveKeyItem(player, xi.ki.MERTAIRES_BRACELET) | ||
else | ||
quest:setVar(player, 'initialCS', 1) | ||
end | ||
end, | ||
|
||
[137] = function(player, csid, option, npc) | ||
if option == 1 then | ||
quest:begin(player) | ||
quest:setVar(player, 'initialCS ', 0) | ||
npcUtil.giveKeyItem(player, xi.ki.MERTAIRES_BRACELET) | ||
end | ||
end, | ||
}, | ||
}, | ||
}, | ||
|
||
{ | ||
check = function(player, status, vars) | ||
return status == xi.questStatus.QUEST_ACCEPTED | ||
end, | ||
|
||
[xi.zone.LOWER_JEUNO] = | ||
{ | ||
['Mertaire'] = | ||
{ | ||
onTrigger = function(player, npc) | ||
return quest:event(136) | ||
end, | ||
}, | ||
|
||
['Mataligeat'] = | ||
{ | ||
onTrigger = function(player, npc) | ||
if quest:getVar(player, 'Prog') >= 1 then | ||
return quest:event(141) | ||
end | ||
end, | ||
}, | ||
}, | ||
|
||
[xi.zone.RANGUEMONT_PASS] = | ||
{ | ||
['Waters_of_Oblivion'] = | ||
{ | ||
onTrigger = function(player, npc) | ||
local nmKilled = quest:getVar(player, 'nmKilled') | ||
|
||
if | ||
nmKilled == 0 and | ||
player:hasKeyItem(xi.ki.MERTAIRES_BRACELET) and | ||
npcUtil.popFromQM(player, npc, ID.mob.TROS, { claim = true, hide = 0 }) | ||
then | ||
return quest:noAction() | ||
elseif nmKilled == 1 then | ||
return quest:progressEvent(8) | ||
end | ||
end, | ||
}, | ||
|
||
['Tros'] = | ||
{ | ||
onMobDeath = function(mob, player, optParams) | ||
if player:hasKeyItem(xi.ki.MERTAIRES_BRACELET) then | ||
quest:setVar(player, 'nmKilled', 1) | ||
end | ||
end, | ||
}, | ||
|
||
onEventFinish = | ||
{ | ||
[8] = function(player, csid, option, npc) | ||
if quest:complete(player) then | ||
player:delKeyItem(xi.ki.MERTAIRES_BRACELET) | ||
end | ||
end, | ||
}, | ||
}, | ||
}, | ||
} | ||
|
||
return quest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
-- ----------------------------------- | ||
-- -- Path of the Bard | ||
-- ----------------------------------- | ||
-- -- Log ID: 3, Quest ID: 20 | ||
-- -- Song Runes: !pos -717.633 -7.574 102.987 103 | ||
-- ----------------------------------- | ||
local ID = zones[xi.zone.VALKURM_DUNES] | ||
----------------------------------- | ||
|
||
local quest = Quest:new(xi.questLog.JEUNO, xi.quest.id.jeuno.PATH_OF_THE_BARD) | ||
|
||
quest.reward = | ||
{ | ||
gil = 3000, | ||
fame = 30, | ||
fameArea = xi.fameArea.JEUNO, | ||
title = xi.title.WANDERING_MINSTREL, | ||
} | ||
|
||
quest.sections = | ||
{ | ||
{ | ||
check = function(player, status, vars) | ||
return status == xi.questStatus.QUEST_AVAILABLE and | ||
player:hasCompletedQuest(xi.questLog.JEUNO, xi.quest.id.jeuno.A_MINSTREL_IN_DESPAIR) | ||
end, | ||
|
||
[xi.zone.VALKURM_DUNES] = | ||
{ | ||
['Song_Runes'] = | ||
{ | ||
onTrigger = function(player, npc) | ||
return quest:progressEvent(2) | ||
end, | ||
}, | ||
|
||
onEventFinish = | ||
{ | ||
[2] = function(player, csid, option, npc) | ||
if quest:complete(player) then | ||
player:unlockJob(xi.job.BRD) | ||
player:messageSpecial(ID.text.UNLOCK_BARD) | ||
end | ||
end, | ||
}, | ||
}, | ||
}, | ||
} | ||
|
||
return quest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
local ID = zones[xi.zone.RANGUEMONT_PASS] | ||
|
||
return { | ||
['Waters_of_Oblivion'] = { messageSpecial = ID.text.NOTHING_OUT_OF_ORDINARY }, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
local ID = zones[xi.zone.VALKURM_DUNES] | ||
|
||
return { | ||
['qm3'] = { messageSpecial = ID.text.YOU_SENSE_AN_EVIL_PRESENCE }, | ||
['qm3'] = { messageSpecial = ID.text.YOU_SENSE_AN_EVIL_PRESENCE }, | ||
['Song_Runes'] = { messageSpecial = ID.text.SONG_RUNES_DEFAULT }, | ||
} |
This file was deleted.
Oops, something went wrong.