Skip to content

Comments

Adding Enspell Damage Percent Multiplier Effect#9503

Open
lefneer311 wants to merge 5 commits intoLandSandBoat:basefrom
lefneer311:base
Open

Adding Enspell Damage Percent Multiplier Effect#9503
lefneer311 wants to merge 5 commits intoLandSandBoat:basefrom
lefneer311:base

Conversation

@lefneer311
Copy link
Contributor

@lefneer311 lefneer311 commented Feb 20, 2026

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?

Resolves bug #4518
This adds enspell damage % multiplier calculations, including the base effect from RDM JA Composure to battleutils.cpp, wires up the augment for enspell damage %+, and adds the modifier entries to mod.lua and modifier.h.

Steps to test these changes

Switch to RDM main (level 50+), use an enspell, engage a target and note the additional effect damage
Activate composure, engage a target and note the additional effect damage is 3x (+200%)
Use !additem with the augment ID 899 for +enspell dmg % on items and equip them
Note the additional effect damage multiplier scale

@github-actions
Copy link

✨ 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.

Line 814 had a double space after the comma before the comment.
Comment on lines +714 to +717
mult += (float)weaponPct / 100.0f;

// 4) Apply multiplier exactly once
damage = (int32)std::floor(damage * mult);
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit, but we don't like c-style casts on new code

Suggested change
mult += (float)weaponPct / 100.0f;
// 4) Apply multiplier exactly once
damage = (int32)std::floor(damage * mult);
mult += static_cast<float>(weaponPct) / 100.0f;
// 4) Apply multiplier exactly once
damage = std::floor<int32>(static_cast<float>(damage) * mult);

Copy link
Contributor Author

@lefneer311 lefneer311 Feb 24, 2026

Choose a reason for hiding this comment

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

Understood! I believe I understand the intent behind the suggested change.

What about this? Is this more closely aligned with the standard?

Suggested change
mult += (float)weaponPct / 100.0f;
// 4) Apply multiplier exactly once
damage = (int32)std::floor(damage * mult);
mult += static_cast<float>(weaponPct) / 100.0f;
// 4) Apply multiplier exactly once
damage = static_cast<int32>(std::floor(static_cast<float>(damage) * mult));

Thank you again for your help.

@WinterSolstice8
Copy link
Contributor

Other than that, looks fine but... what in retail uses that augment? Mostly curious (but I would like to verify the mod anyway)

@lefneer311
Copy link
Contributor Author

Other than that, looks fine but... what in retail uses that augment? Mostly curious (but I would like to verify the mod anyway)

Thank you for your feedback!

It's a rarely utilized modifier that's only present on a handful of items. Enspell damage builds aren't exactly meta, but they can be fun.

http://ffxidb.com/items/20614 - augmented rank 15 has 150%
http://ffxidb.com/items/20709 - augmented rank 15 has 50%
http://ffxidb.com/items/21625 - augmented rank 15 path C has 300%
http://ffxidb.com/items/21626 - augmented rank 15 path C has 400%
http://ffxidb.com/items/21627 - augmented rank 15 path C has 500%

With the current configuration, it's difficult to replicate the high percentage effects. The Mod (899) without a multiplier would allow for +~32%.

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