Skip to content

Commit

Permalink
raidboss: UWU ActorSetPos Ifrit update (OverlayPlugin#88)
Browse files Browse the repository at this point in the history
Updates the Ifrit initial dash detection to use `ActorSetPos` instead of
`CombatantMemory`.
Also adds a trigger for Titan jumps, since it's now possible to detect
jump direction with consistency via `ActorMove`.

Posting as Draft/WIP until I can test it in-zone, but looking for
feedback on the `TODO` I left in the new trigger.
  • Loading branch information
valarnin authored Jan 28, 2025
1 parent 8a9dc61 commit 5f1de22
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions ui/raidboss/data/04-sb/ultimate/ultima_weapon_ultimate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,7 @@ const triggerSet: TriggerSet<Data> = {
netRegex: { id: '2B55', source: 'Garuda', capture: false },
// Run this after the initial Garuda trigger and just piggyback off its call to `getCombatants`
// We're just looking to pluck the four possible IDs from the array pre-emptively to avoid doing
// that filter on every `CombatantMemory` line
// that filter on every `SetActorPos` line
delaySeconds: 25,
run: (data) => {
data.possibleIfritIDs = data.combatantData
Expand All @@ -570,14 +570,14 @@ const triggerSet: TriggerSet<Data> = {
},
{
id: 'UWU Ifrit Initial Dash Collector',
type: 'CombatantMemory',
type: 'ActorSetPos',
// Filter to only enemy actors for performance
netRegex: { id: '4[0-9A-Fa-f]{7}', capture: true },
condition: (data, matches) => {
if (!data.possibleIfritIDs.includes(matches.id))
return false;
const posXVal = parseFloat(matches.pairPosX ?? '0');
const posYVal = parseFloat(matches.pairPosY ?? '0');
const posXVal = parseFloat(matches.x ?? '0');
const posYVal = parseFloat(matches.y ?? '0');

if (posXVal === 0 || posYVal === 0)
return false;
Expand All @@ -593,8 +593,8 @@ const triggerSet: TriggerSet<Data> = {
},
suppressSeconds: 9999,
infoText: (data, matches, output) => {
const posXVal = parseFloat(matches.pairPosX ?? '0');
const posYVal = parseFloat(matches.pairPosY ?? '0');
const posXVal = parseFloat(matches.x ?? '0');
const posYVal = parseFloat(matches.y ?? '0');

let ifritDir: DirectionOutputCardinal = 'unknown';

Expand Down

0 comments on commit 5f1de22

Please sign in to comment.