Skip to content

Conversation

@wccbuck
Copy link
Contributor

@wccbuck wccbuck commented Apr 24, 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?

Currently in LSB, all the "Circle" abilities (Holy/Arcane/Warding/Ancient Circle) simply add a certain amount of "Killer" property to every party member in range. (Killer Instinct isn't implemented yet.) However, this SE release outlining the July 21, 2009 FFXI update describes a change to how "Circle" abilities work.

Here's the relevant tidbit:

"The following Circle-type abilities have had their effects adjusted and will now grant enhanced resistance, defense, and attack against the specified monster family to party members within their area of effect.
Holy Circle / Arcane Circle / Warding Circle / Ancient Circle / Killer Instinct"

The value of this attack/defense bonus has been determined by the community to be about equal to the power of the added "Killer" effect. Example testing:

  • Killer Effects + Circles, FFXIAH user Braden, 2016: user observes +15% damage dealt, -15% damage taken, and +15% killer effect when using circles against regular mobs, or 10% against NMs. This thread also supports the idea that the "flinch" chance is reduced by 1/3 when the enemy is an NM, which I have also included in this PR.
  • Holy Circle bg user Martel, 2011, part 1: user observes a 17% damage increase from Holy Circle, is confused. Part 2: user realizes he had Gallant Leggings equipped, which added +2 to the base 15% potency of Holy Circle
  • Arcane Circle, bg user Byrthnoth, 2011: user observes a 15% base damage increase when using Arcane Circle as main job DRK, and 5% increase when it is used as subjob.
  • Killer Instinct, bg user Byrthnoth, 2011: user tests the damage reduction component of Killer Instinct, and finds it is a separate multiplicative modifier on top of "damage taken"
  • Misc testing, bg user Byrthnoth, 2011: This user describes using a subjob DRK to use arcane circle and seeing a 5% damage increase, while using Killer Instinct as a main-job BST and seeing a 15% damage increase

Sidebar: At first glance, that last thread seemed to show some evidence that Killer Instinct gave bonus damage/dt based on total killer effect. But that was only because they were wearing a Gausape which explicitly converts Killer effects to damage boost/damage taken, so we can consider that a completely unrelated detail.

In support of these findings, the japanese FFXI wiki describes Circle effects like so:

(Translated)
"Both damage up and damage reduction are effective against all types of damage , whether physical or magical . The effective value is the same as the race defense. The reduction when fighting NM is also the same. Damage reduction is multiplied separately from damage cut equipment , so for example, if you use a circle while your damage is -50% with cut equipment , the damage cut will be -50% x -15%, or -57.5%."

The Holy Circle page goes on to say that the holy circle damage bonus applies to all damage dealt, even damage from Atonement.

In summary, this change makes LSB's implementation of "Circle" abilities align with documented and tested retail behavior as it been since 2009. This can eventually be expanded to include all the different types of killer effects you can get from Killer Instinct, once that ability is implemented.

NOTE: I know a lot of this stuff is being migrated out of c++ and into lua, but as of now, this seemed to be the most straightforward approach to implementing this change. I'm happy to try a different approach, like move circleDmgAdjust to globals.utils, or to the new "xi.combat.utilities" once that's a thing, and assist with the migration however I can.

Steps to test these changes

Test all four circles (pld, sam, drg, and drk) to ensure they affect the potency of the following actions:

  • Auto attacks (damage boost when attacking, damage reduced when defending)
  • Weaponskills
  • Damaging spells
  • Drain/Drain II
  • Spikes (I tested with Reprisal)
  • Enspells (I tested with Enlight)
  • Chi blast (it uses weird separate logic, test this on mnk/pld against a skeleton)

Repeat the main tests above (attacks, weaponskills, spells) with the appropriate AF piece that augments your circle, and see its potency increase by 2.

Repeat the main tests above (attacks, weaponskills, spells) against an NM instead of a standard mob, and see your potency decrease to 10 (down from 15). If you have your AF equipped, it should be 11 (down from 17).

Repeat the main tests above (attacks, weaponskills, spells) with pld, sam, drg, or drk as your subjob, and confirm your circle ability potency drops to 5%.

@Xaver-DaRed Xaver-DaRed added the hold On hold, pending further action/info label Apr 24, 2025
@wccbuck wccbuck force-pushed the implement_circle_ability_bonus_dmg_def branch 3 times, most recently from 8bbe0c8 to ba79d3b Compare April 24, 2025 22:56
@wccbuck wccbuck force-pushed the implement_circle_ability_bonus_dmg_def branch from ba79d3b to d341208 Compare April 24, 2025 23:02
@zach2good zach2good added the squash Reminder to squash commits before/on merge (you can do this, or maintainers will do this for you) label Apr 30, 2025
@WinterSolstice8
Copy link
Contributor

can you rebase? looks fine to me

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

Labels

hold On hold, pending further action/info squash Reminder to squash commits before/on merge (you can do this, or maintainers will do this for you)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants