Interaction - Mission: When Wills Collide
This commit is contained in:
parent
bfd72b951f
commit
36e95d9cf4
5 changed files with 180 additions and 2 deletions
|
|
@ -368,7 +368,7 @@ xi.mission.id =
|
|||
PILLAR_OF_HOPE = 42, -- ±
|
||||
GLIMMER_OF_LIFE = 43, -- ±
|
||||
TIME_SLIPS_AWAY = 44, -- ±
|
||||
WHEN_WILLS_COLLIDE = 45,
|
||||
WHEN_WILLS_COLLIDE = 45, -- ±
|
||||
WHISPERS_OF_DAWN = 46,
|
||||
A_DREAMY_INTERLUDE = 47,
|
||||
CAIT_IN_THE_WOODS = 48,
|
||||
|
|
|
|||
126
scripts/missions/wotg/46_When_Wills_Collide.lua
Normal file
126
scripts/missions/wotg/46_When_Wills_Collide.lua
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
-----------------------------------
|
||||
-- When Wills Collide
|
||||
-- Wings of the Goddess Mission 46
|
||||
-----------------------------------
|
||||
-- !addmission 5 45
|
||||
-- Veridical Conflux : !pos -142.279 -6.749 585.239 89
|
||||
-----------------------------------
|
||||
require('scripts/globals/items')
|
||||
require('scripts/globals/keyitems')
|
||||
require('scripts/globals/missions')
|
||||
require('scripts/globals/interaction/mission')
|
||||
require('scripts/globals/zone')
|
||||
-----------------------------------
|
||||
|
||||
local mission = Mission:new(xi.mission.log_id.WOTG, xi.mission.id.wotg.WHEN_WILLS_COLLIDE)
|
||||
|
||||
mission.reward =
|
||||
{
|
||||
nextMission = { xi.mission.log_id.WOTG, xi.mission.id.wotg.WHISPERS_OF_DAWN },
|
||||
}
|
||||
|
||||
mission.sections =
|
||||
{
|
||||
{
|
||||
check = function(player, currentMission, missionStatus, vars)
|
||||
return currentMission == mission.missionId
|
||||
end,
|
||||
|
||||
[xi.zone.GRAUBERG_S] =
|
||||
{
|
||||
['Veridical_Conflux'] =
|
||||
{
|
||||
onTrade = function(player, npc, trade)
|
||||
if
|
||||
not player:hasKeyItem(xi.ki.BOTTLED_PUNCH_BUG) and
|
||||
npcUtil.tradeHasExactly(trade, xi.items.PUNCH_BUG)
|
||||
then
|
||||
return mission:progressEvent(42, 76, 0, 1267351, 120, 0, 8323092, 0, 0)
|
||||
end
|
||||
end,
|
||||
|
||||
onTrigger = function(player, npc)
|
||||
if player:hasKeyItem(xi.ki.BOTTLED_PUNCH_BUG) then
|
||||
return mission:event(29, 89, 6)
|
||||
else
|
||||
return mission:event(41, 89, 23, 1756)
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
onEventFinish =
|
||||
{
|
||||
[29] = function(player, csid, option, npc)
|
||||
if option == 99 then
|
||||
player:setPos(-700.042, 0.4, -441.301, 192, xi.zone.WALK_OF_ECHOES)
|
||||
end
|
||||
end,
|
||||
|
||||
[42] = function(player, csid, option, npc)
|
||||
npcUtil.giveKeyItem(player, xi.ki.BOTTLED_PUNCH_BUG)
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
[xi.zone.WALK_OF_ECHOES] =
|
||||
{
|
||||
['Ornate_Door'] =
|
||||
{
|
||||
onTrigger = function(player, npc)
|
||||
-- NOTE: BCNM Entry Event: 32000, Params 0, 300, 200, 1 following
|
||||
-- the status 0 event below. Status of 1, along with the Bottled
|
||||
-- Punch Bug KI is required, and KI is lost on entry.
|
||||
|
||||
if mission:getVar(player, 'Status') == 0 then
|
||||
return mission:progressEvent(1)
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
onZoneIn =
|
||||
{
|
||||
function(player, prevZone)
|
||||
if mission:getVar(player, 'Status') == 2 then
|
||||
return 2
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
onEventUpdate =
|
||||
{
|
||||
[1] = function(player, csid, option, npc)
|
||||
if option == 5 then
|
||||
player:updateEvent(12, 10, 305, 196, 320, 847, 450, 1)
|
||||
end
|
||||
end,
|
||||
|
||||
[2] = function(player, csid, option, npc)
|
||||
if option == 5 then
|
||||
player:updateEvent(119, 10, 305, 196, 320, 847, 450, 0)
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
onEventFinish =
|
||||
{
|
||||
[1] = function(player, csid, option, npc)
|
||||
mission:setVar(player, 'Status', 1)
|
||||
end,
|
||||
|
||||
[2] = function(player, csid, option, npc)
|
||||
mission:complete(player)
|
||||
end,
|
||||
|
||||
[32001] = function(player, csid, option, npc)
|
||||
-- TODO: Add battlefieldWin localVar, and check here once the ID has been
|
||||
-- implemented.
|
||||
|
||||
mission:setVar(player, 'Status', 2)
|
||||
player:setPos(-700.063, -17.6, -331.903, 64, xi.zone.WALK_OF_ECHOES)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return mission
|
||||
28
scripts/zones/Pashhow_Marshlands_[S]/npcs/Corroded_Gate.lua
Normal file
28
scripts/zones/Pashhow_Marshlands_[S]/npcs/Corroded_Gate.lua
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
-----------------------------------
|
||||
-- Area : Pashhow Marshlands [S] (90)
|
||||
-- NPC : Corroded Gate
|
||||
-----------------------------------
|
||||
require("scripts/globals/zone")
|
||||
-----------------------------------
|
||||
local entity = {}
|
||||
|
||||
entity.onTrade = function(player, npc, trade)
|
||||
end
|
||||
|
||||
entity.onTrigger = function(player, npc)
|
||||
player:startEvent(102)
|
||||
end
|
||||
|
||||
entity.onEventUpdate = function(player, csid, option)
|
||||
end
|
||||
|
||||
entity.onEventFinish = function(player, csid, option)
|
||||
if
|
||||
csid == 102 and
|
||||
option == 1
|
||||
then
|
||||
player:setPos(-297.365, 1.7, 96.049, 0, xi.zone.BEADEAUX_S)
|
||||
end
|
||||
end
|
||||
|
||||
return entity
|
||||
24
scripts/zones/Walk_of_Echoes/npcs/Veridical_Conflux_G.lua
Normal file
24
scripts/zones/Walk_of_Echoes/npcs/Veridical_Conflux_G.lua
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
-----------------------------------
|
||||
-- Area: Walk Of Echoes
|
||||
-- NPC: Veridical Conflux (Grauberg S Exit)
|
||||
-- !pos -699 0 -442 182
|
||||
-----------------------------------
|
||||
local entity = {}
|
||||
|
||||
entity.onTrade = function(player, npc, trade)
|
||||
end
|
||||
|
||||
entity.onTrigger = function(player, npc)
|
||||
player:startEvent(3)
|
||||
end
|
||||
|
||||
entity.onEventUpdate = function(player, csid, option)
|
||||
end
|
||||
|
||||
entity.onEventFinish = function(player, csid, option)
|
||||
if csid == 3 and option == 99 then
|
||||
player:setPos(-142.915, -6.75, 580.452, 96, xi.zone.GRAUBERG_S)
|
||||
end
|
||||
end
|
||||
|
||||
return entity
|
||||
|
|
@ -21653,7 +21653,7 @@ INSERT INTO `npc_list` VALUES (17523314,'blank',' ',0,0.000,0.000,0.000,0,40
|
|||
INSERT INTO `npc_list` VALUES (17523315,'blank','???',0,0.000,0.000,0.000,0,40,40,0,0,0,2,2051,0x0000340000000000000000000000000000000000,0,NULL,1);
|
||||
INSERT INTO `npc_list` VALUES (17523316,'blank',' ',0,0.000,0.000,0.000,0,40,40,0,0,0,6,27,0x0000340000000000000000000000000000000000,32,NULL,1);
|
||||
INSERT INTO `npc_list` VALUES (17523317,'blank',' ',0,0.000,0.000,0.000,0,40,40,0,0,0,6,27,0x0000340000000000000000000000000000000000,32,NULL,1);
|
||||
INSERT INTO `npc_list` VALUES (17523318,'Veridical_Conflux','Veridical Conflux',192,-700.074,0.399,-444.099,32769,50,50,0,0,96,0,3,0x0000110900000000000000000000000000000000,2,NULL,1);
|
||||
INSERT INTO `npc_list` VALUES (17523318,'Veridical_Conflux_G','Veridical Conflux',192,-700.074,0.399,-444.099,32769,50,50,0,0,96,0,3,0x0000110900000000000000000000000000000000,2,NULL,1);
|
||||
INSERT INTO `npc_list` VALUES (17523319,'blank',' ',215,-702.325,0.399,-481.664,32769,50,50,0,0,96,0,27,0x0000160900000000000000000000000000000000,34,NULL,1);
|
||||
INSERT INTO `npc_list` VALUES (17523320,'Regal_Pawprints','Regal Pawprints',61,-704.643,-17.600,-324.424,32769,50,50,0,0,96,0,27,0x0000160900000000000000000000000000000000,34,NULL,1);
|
||||
INSERT INTO `npc_list` VALUES (17523321,'blank',' ',0,0.000,0.000,0.000,0,40,40,0,0,0,6,27,0x0000340000000000000000000000000000000000,32,NULL,1);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue