Skip to content

Conversation

@Taurenkey
Copy link
Contributor

Adds each action's CRP version ID for the purposes of outputting as a list of IDs in the CLI for better compatibility across game languages (primarily for plugin usage).

@KonaeAkira
Copy link
Owner

One more thing: why always the CRP version of the action? Why not use the ID that corresponds to the job of the recipe?

@KonaeAkira
Copy link
Owner

Also, what's the advantage of using the action id over the action name? Can't plugins match the action names?

@Taurenkey
Copy link
Contributor Author

Taurenkey commented Aug 8, 2025

Also, what's the advantage of using the action id over the action name? Can't plugins match the action names?

It's ultimately easier to use an ID (which applies to all game languages) than try to parse names. Plus, there are some other mods that completely changes the language to one not actually supported officially (a Russian text mod). It just saves headaches with compatibility and worrying about SE making a mess of strings, which they do from time to time.

One more thing: why always the CRP version of the action? Why not use the ID that corresponds to the job of the recipe?

It just serves as the base for all actions, as going from CRP to another job is as simple as adding its ClassJob row - 8 (CRP is row 8, BSM is row 9, so to get a BSM equivalent it's adding +1 (9 - 8)). Needing all the other job equivalents was a bit of extra bloating imo since it can be calculated if required (which is how I've handled it for Artisan).

@Taurenkey Taurenkey requested a review from KonaeAkira August 8, 2025 16:17
@KonaeAkira KonaeAkira merged commit 48a97d0 into KonaeAkira:preview Aug 9, 2025
1 check passed
@KonaeAkira
Copy link
Owner

KonaeAkira commented Feb 1, 2026

Patch 7.41 added "Stellar Steady Hand" which Raphael plans to support. The problem is that "Stellar Steady Hand" is a TemporaryAction, not a CraftAction and thus has a completely invalid ID in the context of other CraftActions.

One solution would be to replace the current action IDs with stable strings or IDs that Raphael would define. This solves the issue of SE maybe breaking things by changing the action name as Raphael would be able to keep the names stable.

What are your thoughts?

Relevant PR: #307.

@Taurenkey
Copy link
Contributor Author

Patch 7.41 added "Stellar Steady Hand" which Raphael plans to support. The problem is that "Stellar Steady Hand" is a TemporaryAction, not a CraftAction and thus has a completely invalid ID in the context of other CraftActions.

One solution would be to replace the current action IDs with stable strings or IDs that Raphael would define. This solves the issue of SE maybe breaking things by changing the action name as Raphael would be able to keep the names stable.

What are your thoughts?

Relevant PR: #307.

The action is a static ID across all jobs (46843) and with my implementation in Artisan I only save the CRP versions of actions from the CLI output as Artisan macros aren't job specific. So would adding Action::StellarSteadyHand => 46843 to the end of the existing list work with how the PR is done?

@KonaeAkira
Copy link
Owner

The action is a static ID across all jobs (46843) and with my implementation in Artisan I only save the CRP versions of actions from the CLI output as Artisan macros aren't job specific. So would adding Action::StellarSteadyHand => 46843 to the end of the existing list work with how the PR is done?

Works for me :)

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.

2 participants