Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[LUA/SQL] Add Carpenters' Landing barge #5790

Open
wants to merge 1 commit into
base: base
Choose a base branch
from

Conversation

ampitere
Copy link
Contributor

I affirm:

  • I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
  • I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
  • I have read and understood the Contributing Guide and the Code of Conduct.
  • I have tested my code and the things my code has changed since the last commit in the PR and will test after any later commits.

What does this pull request do?

Adds Carpenters' Landing barge interactions and transport records. Based on a combination of ASB's implementation of the barge, manaclipper.lua, and retail captures:

https://www.youtube.com/watch?v=1Mxu0rIvjC8
https://www.youtube.com/watch?v=JER9lZEIQrA

https://www.bg-wiki.com/ffxi/Phanauet_Channel

Each trip removes 1 use/ticket regardless of landing, if you have no ticket you'll get booted and a unique cutscene will play depending on which landing you're at. The docking order is as follows: Central > South > North > Central > South. Upon arriving at the North or South Landings the boat will drop passengers off and then exit without letting anybody on. A new boat will then appear and allow players to get on coming from the same direction that the previous boat left.

Timings could be a bit better but this is a good start. NPCs on the boat still need work as do the NMs, although one seems to be implemented already.

Resolves #97

Steps to test these changes

North Landing !pos -302 -2 505 2
Central Landing !pos -137 -2 60 2
South Landing !pos 230 -2 -530 2

  1. Use one of the landing positions
  2. Wait for the boat
  3. Get on boat, get kicked off for not having a ticket
  4. Buy a ticket
  5. Get on boat again, cutscene should play and you should zone into Phanauet Channel
  6. Ride the boat, cutscene will play once you zone out and you should be placed at the proper landing

@ampitere ampitere force-pushed the add_carpenters_landing_barge branch from 9d0780a to 3de21f5 Compare May 20, 2024 16:27
local ID = zones[xi.zone.PHANAUET_CHANNEL]

return {
['Eunirange'] = { messageSpecial = ID.text.ARE_WE_THERE_YET },
Copy link
Contributor Author

@ampitere ampitere May 20, 2024

Choose a reason for hiding this comment

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

These lines of text should be spoken by the NPC but I couldn't figure out what event to use.

Currently looks like:
image

But should look like:
image

As well as Riche:
image

image

Copy link
Contributor

Choose a reason for hiding this comment

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

If its an event it would be in the capture.

Copy link
Contributor Author

@ampitere ampitere May 20, 2024

Choose a reason for hiding this comment

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

image

Interesting it doesn't seem to have an event, it's just called NPC chat and provides the text ID.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Woops that was the other tonberry but it's the same regardless:

image

Copy link
Contributor

Choose a reason for hiding this comment

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

npc:showText(7217) or something similar. Using the variable instead of a magic number of course

Copy link
Contributor

Choose a reason for hiding this comment

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

Sorry based on this you probably want

player:showText(npc, 7217, timeLeft) etc

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That does work, it turns them towards you and they get stuck in that direction but it's better than nothing I suppose.

player:addKeyItem(xi.ki.BARGE_TICKET)
player:messageSpecial(ID.text.KEYITEM_OBTAINED, xi.ki.BARGE_TICKET)
else
player:messageSpecial(7440) -- too poor
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The proper message when you don't have enough gil is this message but I couldn't get the NPC to respond with it in the event so this currently looks like:

image

But the NPC should only respond with the too poor message. It should also come from the NPC similar to the Riche and Eunirange messages.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Was able to get the NPC to say it using player:showText() but you still get the thank you message before the too poor message.

Copy link
Contributor

Choose a reason for hiding this comment

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

I am not at a computer to check, but it could be due to default actions being called because the onTrigger isn't starting an event

@ampitere
Copy link
Contributor Author

ampitere commented May 20, 2024

It seems like some of the timings for leaving the barge/channel zone don't line up exactly with retail (when it triggers the transport event), is there any way to tweak that? This mostly affects arriving at the North and South landings when the boat is out of service and restarts.

@ampitere ampitere force-pushed the add_carpenters_landing_barge branch from 3de21f5 to 1133165 Compare May 20, 2024 16:42
@Frankie-hz
Copy link
Contributor

Frankie-hz commented May 20, 2024

It seems like some of the timings for leaving the barge/channel zone don't line up exactly with retail (when it triggers the transport event), is there any way to tweak that? This mostly affects arriving at the North and South landings when the boat is out of service and restarts.

I did the barge for ASB (over 1.5 years ago at this point) and trying to get anything to line up, even with proper captures is very difficult. Its all in the sqls with time offsets, waiting, anim arrive, anim depart. I got them as close as I could but if you can get them even better more power to ya 💪

@ampitere ampitere force-pushed the add_carpenters_landing_barge branch from 1133165 to 9ef0979 Compare May 20, 2024 19:15
Co-authored-by: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com>
Co-authored-by: Abdiah <62350957+dallano@users.noreply.github.com>
@ampitere ampitere force-pushed the add_carpenters_landing_barge branch from 9ef0979 to 7fbf0f4 Compare May 21, 2024 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Carpenters' Landing Barge does not function correctly
3 participants