Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

Fix Ancient Vows CutScene order. #6319

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions scripts/zones/Misareaux_Coast/npcs/Spatial_Displacement.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ function onTrigger(player,npc)
if (player:hasCompletedMission(COP,dsp.mission.id.cop.SHELTERING_DOUBT)) then
player:startEvent(551); -- Access to Sites A & B
elseif (player:getCurrentMission(COP) == dsp.mission.id.cop.ANCIENT_VOWS and player:getCharVar("PromathiaStatus") == 1) then
player:startEvent(8);
player:setPos(732.55,-32.5,-506.544,90,30); -- Go to Riverne #A01 {R}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

while the cs event that was here may have been incorrect, I am almost certain retail does indeed have an event here that does this move on its event finish, before the event that happens after the zone change, even if all that event does is play an animation of you being sucked through the portal.

This can be confirmed (or proven wrong) via a retail capture of the mission here.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted: I'll addthe event for the option window to travel to RA01 and move stuff back to oneventfinish.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just watched video there is indeed an option to enter the site. Will add it back and test it and send it up when ready.

else
player:startEvent(550); -- Access to Site A Only
end
Expand All @@ -26,10 +26,7 @@ end;

function onEventFinish(player,csid,option)

if (csid == 8) then
player:setCharVar("PromathiaStatus",2);
player:setPos(732.55,-32.5,-506.544,90,30); -- Go to Riverne #A01 {R}
elseif ((csid == 551 or csid == 550) and option == 1) then
if ((csid == 551 or csid == 550) and option == 1) then
player:setPos(732.55,-32.5,-506.544,90,30); -- Go to Riverne #A01 {R}
elseif (csid == 551 and option == 2) then
player:setPos(729.749,-20.319,407.153,90,29); -- Go to Riverne #B01 {R}
Expand Down
9 changes: 6 additions & 3 deletions scripts/zones/Riverne-Site_A01/Zone.lua
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ end;

function onZoneIn(player,prevZone)
local cs = -1;

if (player:getXPos() == 0 and player:getYPos() == 0 and player:getZPos() == 0) then
if (player:getCurrentMission(COP) == dsp.mission.id.cop.ANCIENT_VOWS and player:getCharVar("PromathiaStatus") == 1) then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

outer parenthesis is not needed. a lot of older scripts still have it and we haven't cleaned all of them yet, sorry for the numerous bad examples.

Also instead of making this the 1st check followed by an else, we probably need this to just be its own check after the original ends. That position 0 check is a safety for landing in the zone without a legit position. If you met the requirements for this conditional but somehow still landed with invalid pos data, you'd get stuck. (I'm aware of your change in the other file setting the pos - but a GM could teleport themselves in without triggering that, as just one example)

player:startEvent(100);
elseif (player:getXPos() == 0 and player:getYPos() == 0 and player:getZPos() == 0) then
player:setPos(732.55,-32.5,-506.544,90); -- {R}
end

return cs;
end;

Expand All @@ -39,4 +39,7 @@ function onEventUpdate(player,csid,option)
end;

function onEventFinish(player,csid,option)
if csid == 100 then
player:setCharVar("PromathiaStatus",2);
end
end;