[lua] Add Campaign Teleport: Xarcabard [S] - #11209
Open
Davraena wants to merge 4 commits into
Open
Conversation
Wenonah (outbound) plus Xarcabard's own 4 return arbiters. Position, fee, and event/option encoding confirmed against a real capture (Wiggo). Proof of a pattern meant to extend to all 20 WOTG destinations and all 3 nations' outbound arbiters; this PR wires up one destination and one nation.
|
✨ Hello and thanks for the PR! ✨ 🤖: This is a friendly automated reminder that the maintainers won't look at your PR until you've properly completed all of the checkboxes in the pre-filled template. |
Xaver-DaRed
reviewed
Aug 22, 2026
| local entity = {} | ||
|
|
||
| local defaultEventId = 452 | ||
| local teleportEventId = 456 |
Contributor
There was a problem hiding this comment.
Please no. Create a table in the global campaign teleport file with the npc name as a key and define the events in it. Like we do in other places.
Xaver-DaRed
reviewed
Aug 22, 2026
| @@ -0,0 +1,212 @@ | |||
| ----------------------------------- | |||
Contributor
There was a problem hiding this comment.
we have a teleports folder. this file should go there
Move campaign_teleport.lua into scripts/globals/teleports/, and key zoneArbiterEvents by npc:getName() instead of passing event ids as function params -- matches eschan_portals.lua's portalData shape.
Confirmed in-client: picking "No" sends option 0, not the cancel sentinel, so it fell through the previous check and teleported anyway. Checking option == 1 (the only real confirm value) rejects both.
The pointer to campaign_teleport.lua's zoneArbiterEvents table is already obvious from the code below it.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements campaign teleports. Wenonah (Windurst's Campaign Arbiter) teleports to Xarcabard [S] for Allied Notes; Xarcabard has its own 4 return-trip arbiters, one per campaign-allegiance state.
Position, fee, and event/option encoding for the outgoing teleport confirmed against a real capture (credit: Wiggo, https://www.youtube.com/watch?v=png3EUxWE5E).
Fee formula (base cost by zone distance + control cost + foreign-arbiter surcharge) from https://ffxiclopedia.fandom.com/wiki/Allied_Notes.
Steps to test
!addkeyitem BRONZE_RIBBON_OF_SERVICE(return arbiters are gated on holding this or higher)!addcurrency allied_notes 200(need enough to cover the fees)!godmodesuggested -- Xarcabard has aggressive mobs (Amphiptere) near the arbiters!npchereon the other three), confirm the return trip works