server
server copied to clipboard
[Magic] Banish Spell Functionality
Implements Banish SDT Debuffs when used vs undead mobs. Implements Afflatus Misery functionality to Banish spells. Implements WHM Merit bonuses for Banish Spells. Implements gear bonuses for "Potency of Banish vs Undead"
I affirm:
- [x] I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
- [x] I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
- [x] I have read and understood the Contributing Guide and the Code of Conduct.
- [x] 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?
Implements various missing functionality for Banish series spells. See link for more details on specific SDT Values. https://www.bg-wiki.com/ffxi/Category:Banish_Spells
- Adds missing SDT debuff vs undead type mobs.
- Adds Afflatus Misery bonus for Banish series spells.
- Adds WHM Banish Merit bonuses.
- Adds gear modifiers for "Potency of Banish vs Undead" (BANISH_POTENCY)
Things that still need to be added: Duration resistance. Duration resistance should be independent of spell damage resists. (Currently unsure what all influences this)
Things to note:
- The SDT reduction can not go above 100% (Will never give bonus damage, only reduces resistance value like Tomahawk).
- Gear modifiers are calculated multiplicatively. Example: Banish 1 = -50% reduction to SDT resistance. Gear Mod = 10. Final Value would be -55%, not -60%.
Steps to test these changes
-
Find Skeleton.
-
Use
!getmod pierce_sdt
on mob. Note value as 500 (50% damage reduction). -
Cast banish spell on mob.
-
Use
!getmod pierce_sdt
on mob. See that the value has changed. -
Wait for effect to wear off, check once more and see that the value goes back to 500.
-
Use
!additem clerics_mitts
, equip item. Cast Banish again. -
Use
!getmod pierce_sdt
on mob. See that the value has changed from step 4. -
Banish Merits give +2 MATT to Banish spells and +2 seconds to the duration.
-
Afflatus Misery: Spell damage increases based on last damage instance. See: https://wiki.ffo.jp/html/1963.html
Do we really need a new status effect? Do tomahawk and this stack? Couldnt we just reuse/rework tomahawk status effect to work with this? The amount of status effects is limited, we cant use them willy nilly.
Also, logic should not under any circustance be present in those spell scripts.
Do we really need a new status effect? Do tomahawk and this stack? Couldnt we just reuse/rework tomahawk status effect to work with this? The amount of status effects is limited, we cant use them willy nilly.
Also, logic should not under any circustance be present in those spell scripts.
I'll try folding it into the Tomahawk effect.
For spells that add special enfeebling effects like Banish, Ancient Magic, BLM -Ja spells etc, where/how would you recommend we handle that logic going forward?
Plan was to create a function for this kind of cases (Non-resistable enfeebles) inside enfeeble_spell.lua and add a callback in the spell script, so no actual logic ever resides inside the spell scripts.
Besides, its the same piece of code repeated anyway.
Made adjustments. If you're okay with the function, I'll also port related spells to use it in future (Ninja Nukes, AM etc).
Also do you have any recommendations of ways/plugins for finding errors (Specifically whitespace). I'm always overlooking them.
I'll try folding it into the Tomahawk effect.
For spells that add special enfeebling effects like Banish, Ancient Magic, BLM -Ja spells etc, where/how would you recommend we handle that logic going forward?
So, my question was if it stacked or not. We need to go to retail and test if they do stack or not. If they do stach we do need a different status effect, after all.
The new function in enfeebling spells file seems fine.
The added modifier to gear looks fine aswell. Maybe could have been a different PR altoguether to unclutter this one.
As for the style checks, if whitespace is your issue, most coding programs, like VS and Notepad++ have a setting to display them in screen, so you can actually see them. In any case, CI catches us all. When that hapens, it tells you where the issue is.
Tomahawk does not stack with Banish. Banish can be overridden by higher tiers of banish (Banish 2 will overwrite Banish 1 but not the other way around)
I havent forgotten about this. Sorry.