LandSandBoat / server

:sailboat: LandSandBoat - a server emulator for Final Fantasy XI. Just an X-34 landspeeder out for a drive.

Home Page:https://landsandboat.github.io/server/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ› Additional Effects missing data

MowFord opened this issue Β· comments

I affirm:

  • I understand that if I do not agree to the following points by completing the checkboxes my issue will be ignored.
  • I have read and understood the Contributing Guide and the Code of Conduct.
  • I have searched existing issues to see if the issue has already been opened, and I have checked the commit log to see if the issue has been resolved since my server was last updated.

OS / platform the server is running (if known)

Branch affected by issue

base

Steps to reproduce

I noticed this on TP_DRAIN and was going to PR but it seems to be more encompassing than just that. Basically, there's no failsafe for AE metadata on a weapon.

image

If some things in that list aren't included the AE will either yell (in the case of element missing), or silently fail to either proc or show message. I'm not sure if this is by design or an oversight.

The actionable item that I have a PR ready for is TP_DRAIN missing element and subeffect, but I notice a great deal of items with an AE but missing subeffect, meaning they would quietly proc and nothing would happen in the chat log or animation.

Expected behavior

that would be because I get burnt out having to rebase my work, and its not intended to have any failsafe for when somebody fails to add a modifier to items they add. that whole if/else tree is going bye bye so I'd rather nobody touch it so that when I am not dead tired I can finish converting it to a neat modular [thing] = stuff we do format that brings down the complexity rating while only executing the blocks relevant to the type of effect.

And drains element? We've had it wrong for years and bloody bolts aren't dark magical. I've got a huge backlog of documentation and research to handle still.

Ah, good info. Yea specifically I was noticing errors in the server log for TP Drain effects because they are missing an element. Would you recommend we just make a module to resolve it on our side or would you like a PR to at least get them using the possibly-wrong dark element until later?

Ah, good info. Yea specifically I was noticing errors in the server log for TP Drain effects because they are missing an element. Would you recommend we just make a module to resolve it on our side or would you like a PR to at least get them using the possibly-wrong dark element until later?

if a drain (any type of drain) is missing an element, its ok to add the modifier for dark for now as I'll be mass find+replacing that later. Ideally tho:

  • addBonusesAbility(attacker, element, defender, damage, params)
  • applyResistanceAddEffect(attacker, defender, element, 0)
  • adjustForTarget(defender, damage, element)

should all be capable of handling a nil element (and use ELEMENT_NONE) anyway.

One of the major changes I need to do is to move entirely away from using the element array and over to using the damage type instead, so that we can support physical types (Excalibur and several other items need this)