darkstar
darkstar copied to clipboard
Berserker's torque should not kill player
I have:
- [x] searched existing issues (http://github.com/darkstarproject/darkstar/issues/) to see if the issue I am posting has already been addressed or opened by another contributor
- [x] checked the commit log to see if my issue has been resolved since my server was last updated
Client Version (type /ver
in game) not a client issue
Server Version (type @revision
in game) I looked at the sql files
Source Branch (master/stable) :
Additional Information (Steps to reproduce/Expected behavior) :
EDIT: issue completely re-written:
The rune weapons have a latent param for LATENT_WEAPON_DRAWN_MP_OVER which lets them function correctly. There is no LATENT_WEAPON_DRAWN_HP_OVER latent which would be a necessary check for the Berserker's Torque to not kill the player. (The latent param in this case would be 50)
I think I understand what you are saying (when you give the Rune Chopper example, I assume you mean that's how it works on retail - the post isn't very clear and I'm not familiar with the weapon).
Both proposed solutions have their own problems, though. The first one can explode in complexity in a bad way if it's not careful. For the second one, I don't want to add any more bindings unless we really need it for a core mechanic. I don't really see how it would fix the problem though (adding an mp drain latent when weapon is drawn? It seems not very intuitive, compared to the rest).
I'll try to clarify:
~~The way the latent effects are currently setup, rune weapons will give positive effects as long as the weapons are drawn. On retail to achieve this effect you would have had to have refresh of some sort active because the positive effects checked both MP >0 and "Is Weapon Drawn?".~~
~~I agree neither solution is great. I think the first solution may be superior as it would only take I believe two additional latent effect types (one where latentparam checks mp for rune weapons, one where latentparam checks hp for Berserker's Torque).~~
~~The second solution could handle it by means of:~~
~~--item Berserker's Torque function onWeaponEngage(target) if (target:getHP()> 50) then target:addMod(MOD_REGAIN, 10) target:addMod(MOD_REGEN, -50) end end;~~
~~I guess you might need a second function for onWeaponDisengage to delete the effects? I'm not sure this would handle all instances such as dieing, zoning, deleveling and losing weapon etc. Probably makes this the inferior solution.~~
~~Edit: Maybe the function would have to check it each tick like onmobfight and just not give any effects otherwise?~~
Edit 2: I'm an idiot, they work fine outside of the .9 haste instead of 9 haste on rune chopper. Berserker's torque issue still at large
Well, it would also have the exact same problem that you're reporting here, so it's definitely the inferior one :)
on tick checking is going to be bad, too.
Ideally - a way to compose latent effect trigger conditions such that a stat can require multiple conditions to be met before being active. Probably not that hard to implement, either, now that I think about it.
from wiki it says it can kill you "Drains 50 Hit Points in exchange for 10 TP each tick. This effect will cause death if HP is at or below 50 while the effect is active."
https://ffxiclopedia.fandom.com/wiki/Berserker's_Torque