Skip to content

Commit

Permalink
Merge pull request #6935 from KnowOne134/Quest-Embers
Browse files Browse the repository at this point in the history
[Quest][lua] Embers of His Past
  • Loading branch information
claywar authored Feb 6, 2025
2 parents 4c5b8f8 + 118c3d5 commit 0fb4cfd
Show file tree
Hide file tree
Showing 6 changed files with 319 additions and 2 deletions.
2 changes: 2 additions & 0 deletions scripts/enum/item.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1335,6 +1335,7 @@ xi.item =
CHUNK_OF_KAOLIN = 2475,
SPOOL_OF_PLATINUM_SILK_THREAD = 2476,
SOUL_PLATE = 2477,
MERCENARY_CAMP_ENTRY_SLIP = 2487,
ALEXANDRITE = 2488,
FORBIDDEN_KEY = 2490,
BLACK_PUPPET_TURBAN = 2501,
Expand Down Expand Up @@ -1505,6 +1506,7 @@ xi.item =
ARGUTE_PANTS_M1 = 2726,
ARGUTE_LOAFERS_M1 = 2727,
CERNUNNOS_BULB = 2728,
HYDRANGEA = 2729,
MOG_KUPON_A_LUM = 2736,
SEEDSPALL_LUX = 2740,
SEEDSPALL_LUNA = 2741,
Expand Down
1 change: 1 addition & 0 deletions scripts/globals/quests.lua
Original file line number Diff line number Diff line change
Expand Up @@ -659,6 +659,7 @@ xi.quest.id =
WHEN_THE_BOW_BREAKS = 45, -- + Converted
FIST_OF_THE_PEOPLE = 46, -- + Converted
SOOTHING_WATERS = 47, -- + Converted
EMBERS_OF_HIS_PAST = 48, -- + Converted
-- JP ENTRIES OR INVALID
THE_PRANKSTER = 60,
DELIVERING_THE_GOODS = 61, -- + Converted
Expand Down
310 changes: 310 additions & 0 deletions scripts/quests/ahtUrhgan/Embers_of_His_Past.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,310 @@
-----------------------------------
-- Embers of His Past
-- Logid: 6 Questid: 48
-- Fari-Wari : !pos 80 -6 -137 50
-- Sprightly Footsteps: !pos 822 -18 176 61
-- Withered Petals : !pos 857 -14 248 61
-----------------------------------
local wajaomID = zones[xi.zone.WAJAOM_WOODLANDS]
local whitegateID = zones[xi.zone.AHT_URHGAN_WHITEGATE]

local quest = Quest:new(xi.questLog.AHT_URHGAN, xi.quest.id.ahtUrhgan.EMBERS_OF_HIS_PAST)

quest.reward =
{
item = xi.item.IMPERIAL_GOLD_PIECE,
title = xi.title.FLAMESERPENT_FACILITATOR
}

quest.sections =
{

{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_AVAILABLE and
player:getQuestStatus(xi.questLog.AHT_URHGAN, xi.quest.id.ahtUrhgan.SOOTHING_WATERS) == xi.questStatus.QUEST_COMPLETED
end,

[xi.zone.AHT_URHGAN_WHITEGATE] =
{
['Fari-Wari'] = quest:progressEvent(916, { text_table = 0 }),

onEventFinish =
{
[916] = function(player, csid, option, npc)
quest:setVar(player, 'Prog', 1)
quest:begin(player)
player:setPos(0, 0, 0, 0, xi.zone.WAJAOM_WOODLANDS)
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_ACCEPTED and
vars.Prog == 1
end,

[xi.zone.WAJAOM_WOODLANDS] =
{
onZoneIn = function(player, prevZone)
return 16
end,

onEventFinish =
{
[16] = function(player, csid, option, npc)
quest:setVar(player, 'Prog', 2)
player:setPos(0, 0, 0, 0, xi.zone.WAJAOM_WOODLANDS)
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_ACCEPTED and
vars.Prog == 2
end,

[xi.zone.WAJAOM_WOODLANDS] =
{
onZoneIn = function(player, prevZone)
return 17
end,

onEventFinish =
{
[17] = function(player, csid, option, npc)
quest:setVar(player, 'Prog', 3)
player:setPos(80, -6, -123, 55, xi.zone.AHT_URHGAN_WHITEGATE)
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_ACCEPTED and
vars.Prog == 3
end,

[xi.zone.AHT_URHGAN_WHITEGATE] =
{
['Fari-Wari'] = quest:event(917),
},

[xi.zone.MOUNT_ZHAYOLM] =
{
['Sprightly_Footsteps'] =
{
onTrigger = function(player, npc)
if VanadielHour() >= 18 or VanadielHour() <= 6 then
return quest:progressCutscene(15)
end
end,
},

onEventFinish =
{
[15] = function(player, csid, option, npc)
quest:setVar(player, 'Prog', 4)
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_ACCEPTED and
vars.Prog == 4
end,

[xi.zone.AHT_URHGAN_WHITEGATE] =
{
['Fari-Wari'] = quest:event(917),
},

[xi.zone.MOUNT_ZHAYOLM] =
{
['Withered_Petals'] =
{
onTrigger = function(player, npc)
if VanadielHour() >= 18 or VanadielHour() <= 6 then
return quest:progressCutscene(16)
end
end,
},

onEventFinish =
{
[16] = function(player, csid, option, npc)
quest:setVar(player, 'Prog', 5)
player:setPos(141.740, -2, 0, 132, xi.zone.AHT_URHGAN_WHITEGATE)
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_ACCEPTED and
vars.Prog == 5
end,

[xi.zone.AHT_URHGAN_WHITEGATE] =
{
['Fari-Wari'] =
{
onTrade = function(player, npc, trade)
if npcUtil.tradeHasExactly(trade, xi.item.HYDRANGEA) then
return quest:progressEvent(918, { text_table = 0 })
end
end,

onTrigger = function(player, npc)
return quest:event(924)
end,
},
onEventFinish =
{
[918] = function(player, csid, option, npc)
quest:setVar(player, 'Prog', 6)
player:setPos(0, 0, 0, 0, xi.zone.WAJAOM_WOODLANDS)
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_ACCEPTED and
vars.Prog == 6
end,

[xi.zone.WAJAOM_WOODLANDS] =
{
onZoneIn = function(player, prevZone)
return 18
end,

onEventFinish =
{
[18] = function(player, csid, option, npc)
quest:setVar(player, 'Prog', 7)
player:setPos(0, 0, 0, 0, xi.zone.WAJAOM_WOODLANDS)
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_ACCEPTED and
vars.Prog == 7
end,

[xi.zone.WAJAOM_WOODLANDS] =
{
onZoneIn = function(player, prevZone)
return 19
end,

onEventFinish =
{
[19] = function(player, csid, option, npc)
player:messageSpecial(wajaomID.text.ITEM_RETURNED, xi.item.HYDRANGEA)
quest:setVar(player, 'Prog', 8)
player:timer(1000, function(playerArg)
playerArg:setPos(80, -6, -123, 55, xi.zone.AHT_URHGAN_WHITEGATE)
end)
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_ACCEPTED and
vars.Prog == 8
end,

[xi.zone.AHT_URHGAN_WHITEGATE] =
{
['Fari-Wari'] = quest:event(919),
},

[xi.zone.MOUNT_ZHAYOLM] =
{
['Withered_Petals'] =
{
onTrade = function(player, npc, trade)
if VanadielHour() >= 18 or VanadielHour() <= 6 then
if npcUtil.tradeHasExactly(trade, xi.item.HYDRANGEA) then
return quest:progressCutscene(17)
end
end
end,
},

onEventFinish =
{
[17] = function(player, csid, option, npc)
player:confirmTrade()
player:startCutscene(18)
end,

[18] = function(player, csid, option, npc)
quest:setVar(player, 'Prog', 9)
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_ACCEPTED and
vars.Prog == 9
end,

[xi.zone.AHT_URHGAN_WHITEGATE] =
{
['Fari-Wari'] = quest:progressEvent(920, { text_table = 0 }),

onEventFinish =
{
[920] = function(player, csid, option, npc)
if quest:complete(player) then
player:addCurrency('imperial_standing', 500)
player:messageSpecial(whitegateID.text.BESIEGED_OFFSET)
player:needToZone(true)
quest:setVar(player, 'Option', 1)
end
end,
},
},
},
{
check = function(player, status, vars)
return status == xi.questStatus.QUEST_COMPLETED and
not player:needToZone()
end,

[xi.zone.AHT_URHGAN_WHITEGATE] =
{
['Fari-Wari'] =
{
onTrigger = function(player, npc)
if quest:getVar(player, 'Option') == 1 then
return quest:progressEvent(921, { text_table = 0 })
else
return quest:event(923, { text_table = 0 }):replaceDefault()
end
end,
},

onEventFinish =
{
[921] = function(player, csid, option, npc)
if npcUtil.giveItem(player, xi.item.MERCENARY_CAMP_ENTRY_SLIP) then
quest:setVar(player, 'Option', 0)
end
end,
},
},
},
}

return quest
6 changes: 4 additions & 2 deletions scripts/zones/Mount_Zhayolm/DefaultActions.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
local ID = zones[xi.zone.MOUNT_ZHAYOLM]

return {
['_1p7'] = { event = 13 },
['blank11'] = { messageSpecial = ID.text.NOTHING_HAPPENS },
['_1p7'] = { event = 13 },
['blank11'] = { special = ID.text.NOTHING_HAPPENS },
['Sprightly_Footsteps'] = { special = ID.text.NOTHING_OUT_OF_ORDINARY },
['Withered_Petals'] = { special = ID.text.NOTHING_OUT_OF_ORDINARY },
}
1 change: 1 addition & 0 deletions scripts/zones/Mount_Zhayolm/IDs.lua
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ zones[xi.zone.MOUNT_ZHAYOLM] =
CANNOT_LEAVE = 7332, -- You cannot leave this area while in the possession of <keyitem>.
RESPONSE = 7341, -- There is no response...
YOU_HAVE_A_BADGE = 7354, -- You have a %? Let me have a closer look at that...
NOTHING_OUT_OF_ORDINARY = 7375, -- There is nothing out of the ordinary here.
HAND_OVER_TO_IMMORTAL = 7428, -- You hand over the % to the Immortal.
YOUR_IMPERIAL_STANDING = 7429, -- Your Imperial Standing has increased!
MINING_IS_POSSIBLE_HERE = 7430, -- Mining is possible here if you have <item>.
Expand Down
1 change: 1 addition & 0 deletions scripts/zones/Wajaom_Woodlands/IDs.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ zones[xi.zone.WAJAOM_WOODLANDS] =
ITEM_OBTAINED = 6390, -- Obtained: <item>.
GIL_OBTAINED = 6391, -- Obtained <number> gil.
KEYITEM_OBTAINED = 6393, -- Obtained key item: <keyitem>.
ITEM_RETURNED = 6402, -- A <item ID> is returned to you.
FELLOW_MESSAGE_OFFSET = 6419, -- I'm ready. I suppose.
CARRIED_OVER_POINTS = 7001, -- You have carried over <number> login point[/s].
LOGIN_CAMPAIGN_UNDERWAY = 7002, -- The [/January/February/March/April/May/June/July/August/September/October/November/December] <number> Login Campaign is currently underway!
Expand Down

0 comments on commit 0fb4cfd

Please sign in to comment.