Skip to content

raidboss: add support for The Merchant's Tale (Advanced)#1071

Open
ForestSageSarah wants to merge 10 commits into
OverlayPlugin:mainfrom
ForestSageSarah:pari-of-plenty-raidboss
Open

raidboss: add support for The Merchant's Tale (Advanced)#1071
ForestSageSarah wants to merge 10 commits into
OverlayPlugin:mainfrom
ForestSageSarah:pari-of-plenty-raidboss

Conversation

@ForestSageSarah

Copy link
Copy Markdown

Adds initial raidboss support for Pari of Plenty in The Merchant's Tale (Advanced).

Included:

  • Heat Burst raidwide
  • Scouring Scorn raidwide
  • Fire of Victory tankbuster
  • Sun Circlet raidwide w/ Safe Spot
  • Doubling / False Flame North/South Safe Spots
  • Charmed Chains tether partner callout & Center positioning reminder (on Doubling cast)

ToDo

  • Left/Right Fireflight Safe Spots
  • Fiery Bauble Safe Spots
  • Four Long Nights Tether Order/Safe Spots

@JLGarber JLGarber left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks so much for putting all this together. I don't know how much the regular maintainers here do the Variant/Criterion content, so we really appreciate anyone else willing to work on it. Do you know whether you're likely to be able to put all the timelines for Advanced together? I can check through my logs to see whether there's anything useful there.

Can you clarify the source of your translations? I can read enough French/German to be comfortable with those, but I don't read our other supported languages. If you speak all of them, that's perfectly fine, but if any are machine-translated, let's leave those out and let the community translators handle them instead.

We appreciate your contribution!

Comment thread ui/raidboss/data/07-dt/dungeon/the_merchants_tale_advanced.ts Outdated
Comment thread ui/raidboss/data/07-dt/dungeon/the_merchants_tale_advanced.ts Outdated
Comment thread ui/raidboss/data/07-dt/dungeon/the_merchants_tale_advanced.txt Outdated
Comment thread ui/raidboss/data/07-dt/dungeon/the_merchants_tale_advanced.ts Outdated
@github-actions github-actions Bot removed the needs-review Awaiting review label Jun 4, 2026
@ForestSageSarah

Copy link
Copy Markdown
Author

@JLGarber

Thanks so much for putting all this together. I don't know how much the regular maintainers here do the Variant/Criterion content, so we really appreciate anyone else willing to work on it. Do you know whether you're likely to be able to put all the timelines for Advanced together? I can check through my logs to see whether there's anything useful there.

Thanks so much! I am planning on completing all three fights (Pari / Seamaid / Swordmaster) - would it have been better to wait until I had the baseline done for the other 3 to PR?

Can you clarify the source of your translations? I can read enough French/German to be comfortable with those, but I don't read our other supported languages. If you speak all of them, that's perfectly fine, but if any are machine-translated, let's leave those out and let the community translators handle them instead.

They are a mix of ML and directionals I grabbed from the Aloalo Island file I used as a template - definitely better for the community to translate instead then!

Co-authored-by: Jonathan Garber <linkthevaliant@gmail.com>
@github-actions github-actions Bot added the needs-review Awaiting review label Jun 4, 2026
ForestSageSarah and others added 2 commits June 4, 2026 09:17
Co-authored-by: Jonathan Garber <linkthevaliant@gmail.com>
Co-authored-by: Jonathan Garber <linkthevaliant@gmail.com>
@JLGarber

JLGarber commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

@ForestSageSarah

Thanks so much! I am planning on completing all three fights (Pari / Seamaid / Swordmaster) - would it have been better to wait until I had the baseline done for the other 3 to PR?

Typically we do try to make non-Ultimate pieces of content one self-contained package, or "one trigger package/one timeline package" etc, but if you're actively planning to handle the other bosses it probably doesn't matter too much. This is especially true for Advanced Variant, where bosses are encountered in a non-fixed order. That being said, I'll tag in @xiashtra here to assist with clarifying, since this isn't a situation we come across as much and I don't want to give an answer that's my opinion but doesn't fully align with the docs.

As for the translations, anything that's directly sourced from another file in the repository is fine, to be clear, so long as the mechanical handling matches exactly. (For example, if there's a specialized translation for a normal-mode raid's output strings, it is fine and expected to re-use that for Savage if it's unchanged mechanically.) What we generally want to avoid is machine translations for new text content.

@xiashtra

xiashtra commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator

Thanks so much! I am planning on completing all three fights (Pari / Seamaid / Swordmaster) - would it have been better to wait until I had the baseline done for the other 3 to PR?

Typically we do try to make non-Ultimate pieces of content one self-contained package, or "one trigger package/one timeline package" etc, but if you're actively planning to handle the other bosses it probably doesn't matter too much. This is especially true for Advanced Variant, where bosses are encountered in a non-fixed order. That being said, I'll tag in @xiashtra here to assist with clarifying, since this isn't a situation we come across as much and I don't want to give an answer that's my opinion but doesn't fully align with the docs.

Either one PR for the entire instance or one PR per boss should be fine. It can be preferable to submit one PR per boss if it will take a while to finish all of them, so that they can be checked/approved and released incrementally.

netRegex: { effectId: '301' },
condition: Conditions.targetIsYou(),
suppressSeconds: 2,
response: Responses.breakChains(),

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
response: Responses.breakChains(),
response: Responses.breakChains(),

This will resolve the lint error. You should use the lint and test scripts locally to check your PR before submitting.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

To follow up on this, most linting errors can be fixed automatically with npm run lintfix. Other npm run <foo>fix targets exist for other linting types as well.

@github-actions github-actions Bot removed the needs-review Awaiting review label Jun 12, 2026

@JLGarber JLGarber left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Sorry it's taken me so long to get any feedback going. June has been utterly slammed for me. I don't have time tonight to do a full review, but I thought I would start with the Swordmaster timeline at least so you have something to look at. In the meantime I'll work through reviews for the other sections as I have time.

Thank you once again for getting things rolling on Advanced!

Comment on lines +227 to +228
2060.8 "Near/Far to Heaven" Ability { id: ["B9CA", "B9CC"], source: "Lone Swordmaster" }
2062.8 "Heavens' Confluence" Ability { id: "B649", source: "Lone Swordmaster" }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2060.8 "Near/Far to Heaven" Ability { id: ["B9CA", "B9CC"], source: "Lone Swordmaster" }
2062.8 "Heavens' Confluence" Ability { id: "B649", source: "Lone Swordmaster" }
2060.8 "Heavens' Confluence (in/out)" Ability { id: ["B646", "B647"], source: "Lone Swordmaster" }
2060.8 "Near to Heaven/Far from Heaven (castbar)" Ability { id: ["B9CA", "B9CB", "B9CC", "B9CD"], source: "Lone Swordmaster" }
2062.8 "Heavens' Confluence (out/in)" Ability { id: ["B648", "B649"], source: "Lone Swordmaster" }
2062.8 "Near to Heaven/Far from Heaven (damage)" Ability { id: ["B642", "B643", "B644", "B645"], source: "Lone Swordmaster" }

A very common pattern we see when Square designs 50/50 mechanics like this is that each iteration of an ability will have its own separate skill. The 4x abilities for Near/Far are for the different stack/spread versions paired with in/out, so we need to list them all, here and elsewhere. (This includes the sets at timeline times 2106, 2179, 2228, 2304, 2350, 2423, and 2472.)

(We list out all the Confluences and Near/Far as timeline text because the Confluence abilities are the actual in/outs, but the player will see a Near/Far castbar, so we need to keep it all visible. This will not always be the case everywhere, but here it's best.)

Comment on lines +230 to +233
2070.0 "Echoing Heat" Ability { id: "B64A", source: "Lone Swordmaster" }
2077.8 "Echoing Hush" Ability { id: "B69B", source: "Lone Swordmaster" }
2079.8 "Wolf's Crossing" Ability { id: "B64C", source: "Lone Swordmaster" }
2092.8 "Echoing Eight" Ability { id: "B64E", source: "Lone Swordmaster" }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2070.0 "Echoing Heat" Ability { id: "B64A", source: "Lone Swordmaster" }
2077.8 "Echoing Hush" Ability { id: "B69B", source: "Lone Swordmaster" }
2079.8 "Wolf's Crossing" Ability { id: "B64C", source: "Lone Swordmaster" }
2092.8 "Echoing Eight" Ability { id: "B64E", source: "Lone Swordmaster" }
2070.0 "Echoing Heat" Ability { id: "B64A", source: "Lone Swordmaster" }
2077.4 "Echoing Hush 1" Ability { id: "B69B", source: "Lone Swordmaster" }
2079.4 "Wolf's Crossing (castbar)" Ability { id: "B64C", source: "Lone Swordmaster" }
2084.8 "Echoing Hush 2" Ability { id: "B69B", source: "Lone Swordmaster" }
2084.8 "Wolf's Crossing (lines)" Ability { id: "B64D", source: "Lone Swordmaster" }
2092.4 "Echoing Hush 3" Ability { id: "B69B", source: "Lone Swordmaster" }
2092.5 "Echoing Eight (castbar)" Ability { id: "B64E", source: "Lone Swordmaster" }
2096.5 "Echoing Hush 4" Ability { id: "B64B", source: "Lone Swordmaster" }
2099.5 "Echoing Eight (lines)" Ability { id: "B64F", source: "Lone Swordmaster" }

It's not a hard and fast rule, but typically we do try to list out even "minor" mechanics that happen separately. Here, Echoing Hush, the puddle-dropping ability, does occur offset from the line mechanics, so it makes sense to list it out separately. As the timeline is displayed, the player will see the pairs of mechanics advancing together and be ready for them.


2124.7 "Malefic Alignment 1" Ability { id: "B650", source: "Lone Swordmaster" }
2130.7 "Malefic Alignment 2" Ability { id: "B650", source: "Lone Swordmaster" }
2137.5 "Cardinal Horizons" Ability { id: "B652", source: "Lone Swordmaster" }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2137.5 "Cardinal Horizons" Ability { id: "B652", source: "Lone Swordmaster" }
2137.5 "Cardinal Horizons" Ability { id: "B652", source: "Lone Swordmaster" }
2137.5 "Lash of Light 1" #Ability { id: "B63F", source: "Lone Swordmaster" }
2139.5 "Lash of Light 2" #Ability { id: "B63F", source: "Lone Swordmaster" }

These two Lashes are too close together to sync, but it's worth having them in the timeline for visibility.

Comment on lines +244 to +245
2148.5 "Echoing Heat" Ability { id: "B64A", source: "Lone Swordmaster" }
2148.8 "Will of the Underworld" Ability { id: "BA92", source: "Force of Will" }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2148.5 "Echoing Heat" Ability { id: "B64A", source: "Lone Swordmaster" }
2148.8 "Will of the Underworld" Ability { id: "BA92", source: "Force of Will" }
2148.5 "Echoing Heat" Ability { id: "B64A", source: "Lone Swordmaster" }
2148.8 "Will of the Underworld 1" Ability { id: "BA92", source: "Force of Will" }
2155.8 "Will of the Underworld 2" Ability { id: "BA92", source: "Force of Will" }
2155.8 "Echoing Hush 1" Ability { id: "B69B", source: "Lone Swordmaster" }
2162.8 "Will of the Underworld 3" Ability { id: "BA92", source: "Force of Will" }
2162.8 "Echoing Hush 2" Ability { id: "B69B", source: "Lone Swordmaster" }
2169.8 "Will of the Underworld 4" Ability { id: "BA92", source: "Force of Will" }
2169.8 "Echoing Hush 3" Ability { id: "B69B", source: "Lone Swordmaster" }

This is a whole mechanical sequence, so it makes sense to have it visible here.

2179.4 "Near/Far to Heaven" Ability { id: ["B9CA", "B9CB", "B9CC", "B9CD"], source: "Lone Swordmaster" }
2181.4 "Heavens' Confluence" Ability { id: ["B648", "B649"], source: "Lone Swordmaster" }
2188.5 "Sting of the Scorpion" Ability { id: "B636", source: "Lone Swordmaster" }
2201.8 "Waiting Wounds" Ability { id: "B653", source: "Lone Swordmaster" }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2201.8 "Waiting Wounds" Ability { id: "B653", source: "Lone Swordmaster" }
2201.8 "Waiting Wounds 1" #Ability { id: "B654", source: "Lone Swordmaster" }
2202.8 "Waiting Wounds 2" #Ability { id: "B654", source: "Lone Swordmaster" }
2203.8 "Waiting Wounds 3" #Ability { id: "B654", source: "Lone Swordmaster" }

Comment on lines +251 to +253
2208.0 "Silent Eight" Ability { id: "B655", source: "Lone Swordmaster" }
2213.0 "Resounding Silence" Ability { id: "B656", source: "Lone Swordmaster" }
2218.0 "Maw of the Wolf" Ability { id: "B657", source: "Lone Swordmaster" }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2208.0 "Silent Eight" Ability { id: "B655", source: "Lone Swordmaster" }
2213.0 "Resounding Silence" Ability { id: "B656", source: "Lone Swordmaster" }
2218.0 "Maw of the Wolf" Ability { id: "B657", source: "Lone Swordmaster" }
2208.0 "Silent Eight" Ability { id: "B655", source: "Lone Swordmaster" }
2213.0 "Resounding Silence" Ability { id: "B656", source: "Lone Swordmaster" }
2213.0 "--middle--"
2216.0 "Echoing Eight" Ability { id: "B64F", source: "Lone Swordmaster" }
2218.0 "Maw of the Wolf" Ability { id: "B657", source: "Lone Swordmaster" }

Comment on lines +267 to +268
#2260.6 "Lash of Light" #Ability { id: "B63F", source: "Lone Swordmaster" }
#2262.6 "Lash of Light" #Ability { id: "B63F", source: "Lone Swordmaster" }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
#2260.6 "Lash of Light" #Ability { id: "B63F", source: "Lone Swordmaster" }
#2262.6 "Lash of Light" #Ability { id: "B63F", source: "Lone Swordmaster" }
2260.6 "Lash of Light" #Ability { id: "B63F", source: "Lone Swordmaster" }
2262.6 "Lash of Light" #Ability { id: "B63F", source: "Lone Swordmaster" }

It's worth keeping these two visible but unsynced. (If we sync them, they will overlap and cause timeline jitter, so that's why the timeline utility auto-commented the syncs, but we do want to have the exact skill IDs recorded in-line.)

Comment on lines +272 to +274
2281.9 "Malefic Portent" Ability { id: "B63C", source: "Lone Swordmaster" }
# 2282.9 "Malefic Influence" #Ability { id: ["B638", "B639", "B63A", "B63B"], source: "Lone Swordmaster" }
2282.9 "Malefic Portent" Ability { id: "B63D", source: "Lone Swordmaster" }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2281.9 "Malefic Portent" Ability { id: "B63C", source: "Lone Swordmaster" }
# 2282.9 "Malefic Influence" #Ability { id: ["B638", "B639", "B63A", "B63B"], source: "Lone Swordmaster" }
2282.9 "Malefic Portent" Ability { id: "B63D", source: "Lone Swordmaster" }
2281.9 "Malefic Portent 1" Ability { id: "B63C", source: "Lone Swordmaster" }
2282.9 "Malefic Portent 2" Ability { id: "B63D", source: "Lone Swordmaster" }

It's fine to just entirely remove the Malefic Influence here if it's not going to be displayed to the player.

Comment on lines +284 to +285
2328.4 "Echoing Hush + Wolf's Crossing" Ability { id: "B69B", source: "Lone Swordmaster" }
#2328.4 "Wolf's Crossing" #Ability { id: "B64D", source: "Lone Swordmaster" }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2328.4 "Echoing Hush + Wolf's Crossing" Ability { id: "B69B", source: "Lone Swordmaster" }
#2328.4 "Wolf's Crossing" #Ability { id: "B64D", source: "Lone Swordmaster" }
2328.4 "Echoing Hush" Ability { id: "B69B", source: "Lone Swordmaster" }
2328.4 "Wolf's Crossing" #Ability { id: "B64D", source: "Lone Swordmaster" }

Here and elsewhere, it's fine to have simultaneous abilities going off at once in the timeline.

Comment on lines +214 to +215
# -p BC08:2009.1

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# -p BC08:2009.1
# -p BC08:2009.1
# -ii B638 B639 B63A B63B B63D B640 B641 B651 B653 B658

This is maybe not an exhaustive ignore list, but it's what I picked up from a quick pass through while I was writing up the other review comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants