Skip to content

[lua, sql] Mobskill Rework: Magical Skills#8360

Merged
WinterSolstice8 merged 6 commits intoLandSandBoat:basefrom
UmeboshiXI:Mobskills_Magical_Oct25
Feb 15, 2026
Merged

[lua, sql] Mobskill Rework: Magical Skills#8360
WinterSolstice8 merged 6 commits intoLandSandBoat:basefrom
UmeboshiXI:Mobskills_Magical_Oct25

Conversation

@UmeboshiXI
Copy link
Copy Markdown
Contributor

@UmeboshiXI UmeboshiXI commented Oct 8, 2025

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 support to mobMagicalMove:

  • Absorb/Nullification functionality with proper ordering (Nullify takes priority).
  • wSC modifiers (Used for avatar Blood Pacts)
  • fTP for bonus MACC/MATT
  • Option to ignore damage multiplier steps (MDB, Shell, etc)
  • dStat Multipliers. Not all skills use this but if defined then it will calculate it.
  • Option to define which stat attributes are compared in resist and dStat calculations. Its usually INT but there are some outliers that use MND for example.

Other changes:

  • Converts avatar blood pacts to use this new system.

  • Eliminates usage of mobFinalAdjustments() for magical mob skills/avatar skills.

  • Applies Jimmayus's data when applicable (Newer PRs have been taken into account and integrated).

  • Follows ordering in scripts: Apply Damage -> Then Apply Status Effects

  • Status Effects have been found to apply even when elemental damage is absorbed/nullified.

  • Applies research I have done over past months on magical based drain moves.
    -- Multiple HP drains across different expansions seem to ignore MDB and are also unaspected(No resists or absorbs). Using this logic pattern as a base line for all magic HP Drains since its very common. Outliers can be adjusted once we get captures.
    -- MP/TP Drains are not affected by MDB/% Modifiers like Shell.
    -- MP Drains have been found to often use Level - 2 as a base damage.

  • Rename Behemoth skill "shock_wave" to reduce confusion with greatsword skill "shockwave"

  • Renamed Gorger skill "Spirit_Absorption" to "Spirit_Absorption_Gorger" for clarity.

  • Corrects skill name "hydro_cannon" (Was previously "hydro_canon")

  • Eliminated skills prefixed with pl_ and pw_. These have now been consolidated into their normal script counterparts since regular mobs were using these as well.

  • Removed "Fire_Arrow.lua". This is not a skill with this name in the database. Its likely a redundant file meant to be "Flame_Arrow" which is an Orc Warmachine skill that is constantly mislabeled as "Fire Arrow" in EN language wikis.

Steps to test these changes

Hand testing pending. Need to write XI Tests as well.

@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch from cb9a7a9 to 9284999 Compare October 8, 2025 21:00
Comment thread scripts/actions/mobskills/fireball.lua Outdated
Comment thread scripts/actions/mobskills/fireball.lua Outdated
Comment thread scripts/actions/mobskills/fireball.lua Outdated
@almuth150
Copy link
Copy Markdown

re: Nether Blast, if it's like the player version, it does breath damage rather than magic damage. So I'm not sure if it fits into the magical mob move category, even though it uses a different calculation for breath damage than others.

Fwiw, there's an open issue for the player version of Nether Blast, since it's not being handled properly either, but I'm not going to link it here since you've been working on separating player BPs from mob skills.

@UmeboshiXI
Copy link
Copy Markdown
Contributor Author

re: Nether Blast, if it's like the player version, it does breath damage rather than magic damage. So I'm not sure if it fits into the magical mob move category, even though it uses a different calculation for breath damage than others.

Fwiw, there's an open issue for the player version of Nether Blast, since it's not being handled properly either, but I'm not going to link it here since you've been working on separating player BPs from mob skills.

I'll wait and see if Frank can chime in, He probably knows more about avatar calcs. @Frankie-hz

@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch from 9284999 to e28436a Compare October 9, 2025 00:14
@Frankie-hz
Copy link
Copy Markdown
Contributor

Nerherblast is a fun one! It is indeed an unresisted breathe skill that has a static ftp of 5 and is effected by MAB/MDEF AND breathe damage taken. It will need a check on its own somewhere regardless because of the unresisted state.

@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch from e28436a to 2a7c498 Compare October 9, 2025 15:50
@UmeboshiXI
Copy link
Copy Markdown
Contributor Author

UmeboshiXI commented Oct 9, 2025

New update: Migrated Breath damage adjustments in mobBreathMove into their own function equivalent to TMDA in damageSpell. Used said function(xi.spells.damage.calculateTBDA) in mobBreathMove.

Also using this new function in mobMagicalMove for one off abilities like Nether Blast that use magic damage calcs but deal breath damage.

Also another note, would we want to eventually move modifiers like this to combat/damage_multipliers.lua?

@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch 2 times, most recently from fa4f421 to 7fef004 Compare October 21, 2025 11:32
@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch 2 times, most recently from 3e8319f to 84c1b98 Compare October 30, 2025 14:12
@UmeboshiXI UmeboshiXI changed the title [lua] Mobskill Rework: Magical Skills [lua, sql] Mobskill Rework: Magical Skills Oct 30, 2025
@sruon sruon added the needs tests Issue or PR is a good candidate for dedicated tests in xi_test label Oct 30, 2025
@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch from 84c1b98 to 0ab3475 Compare October 30, 2025 16:13
@sruon
Copy link
Copy Markdown
Contributor

sruon commented Oct 30, 2025

I realize I should have left a comment earlier. I added the tests tag mostly because of the sheer size of the PR.

You don't have to do anything at this point, I will write some tests when the PR is ready.

@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch 3 times, most recently from ab6acc1 to f1887c3 Compare October 30, 2025 20:02
Comment thread scripts/globals/mobskills.lua
Comment thread scripts/globals/mobskills.lua
@UmeboshiXI
Copy link
Copy Markdown
Contributor Author

Sorry, taking a bit longer than anticipated. Been on retail past few days capturing data/mechanics for HP/MP/TP Drain skills. Should have the rest of the skills converted sometime this week.

@github-actions
Copy link
Copy Markdown

This PR has been automatically marked as stale because
it has not had recent activity. It will be closed if no
further activity occurs.

@github-actions github-actions Bot added the stale label Nov 24, 2025
@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch from f1887c3 to 958563a Compare December 8, 2025 23:39
@github-actions github-actions Bot removed the stale label Dec 10, 2025
@github-actions
Copy link
Copy Markdown

This PR has been automatically marked as stale because
it has not had recent activity. It will be closed if no
further activity occurs.

@github-actions github-actions Bot added the stale label Dec 25, 2025
@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch 14 times, most recently from 0726462 to 759fb0f Compare February 15, 2026 02:38
@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch 2 times, most recently from 11c785b to dc4d4fd Compare February 15, 2026 02:50
@UmeboshiXI
Copy link
Copy Markdown
Contributor Author

Rebased/Updated as of Feb. 14th.

  • Hand tested all skills, all scripts fire with no errors, just waiting on xi tests.

@UmeboshiXI UmeboshiXI marked this pull request as ready for review February 15, 2026 02:55
@WinterSolstice8 WinterSolstice8 removed the hold On hold, pending further action/info label Feb 15, 2026
@UmeboshiXI UmeboshiXI force-pushed the Mobskills_Magical_Oct25 branch from dc4d4fd to d221090 Compare February 15, 2026 05:26
@sruon
Copy link
Copy Markdown
Contributor

sruon commented Feb 15, 2026

Feel free to merge the PR if it's good to go, I'll submit the tests a little later in a new PR.

@WinterSolstice8 WinterSolstice8 merged commit b072594 into LandSandBoat:base Feb 15, 2026
18 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs tests Issue or PR is a good candidate for dedicated tests in xi_test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants