LandSandBoat / server

:sailboat: LandSandBoat - a server emulator for Final Fantasy XI
https://landsandboat.github.io/server/
GNU General Public License v3.0
303 stars 614 forks source link

🐛 Mobskills refering to tryInterruptSpell that does not exist #2171

Open bope12 opened 2 years ago

bope12 commented 2 years ago

Branch affected by issue

base

Steps to reproduce

Have a mob use one of the following mobskills Dancing Edge, Evisceration, Impulse Drive, Penta Thrust, Shadowstitch, Skewer, Spiral Hell, Vorpal Scythe, Wheeling Thrust at the end of all of them it tries to call tryInterruptSpell but no such luaentity binding exists

Expected behavior

Not to error out on skill usage

EpicTaru commented 2 years ago

Looks like it may be a typo issue, I'll test and pr a fix after I return from lunch unless someone else does it before then.

EpicTaru commented 2 years ago

Actually, I'm not able to recreate this. Do you have a capture of that warning popping up in the console, @bope12?

claywar commented 2 years ago

Mobskills for the above items call target:tryInterruptSpell(mob, info.hitslanded) for which no binding exists. Looks like the intent is to make it to the equivalent battleutils function.

EpicTaru commented 2 years ago

Correct, but I see no warning or error at all in the map console when a mob uses one of the listed mobskills.

bope12 commented 2 years ago

Actually, I'm not able to recreate this. Do you have a capture of that warning popping up in the console, @bope12?

The log shows just exactly what I put, if you are not getting that error are you on a nonstock repo that has that method added? [06/26/22 19:32:20:884][map][error][error] luautils::onMobWeaponSkill (mobskill) ./scripts/globals/mobskills/wheeling_thrust.lua:30: attempt to call method 'tryInterruptSpell' (a nil value) stack traceback: ./scripts/globals/mobskills/wheeling_thrust.lua:30: in function <./scripts/globals/mobskills/wheeling_thrust.lua:17> (luautils::OnMobWeaponSkill:3553) is adding interrupt in the mobskill even needed or is that handled else where in the damage process