darkstar icon indicating copy to clipboard operation
darkstar copied to clipboard

BLU Magic Breath Spells are not HP based.

Open Dynas13 opened this issue 6 years ago • 4 comments

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) : 30180427_4

Source Branch (master/stable) : master

Additional Information (Steps to reproduce/Expected behavior) : All breath spells for BLU are using MND as a modifier for it's damage. This is incorrect. MND is used to determine the additional effect like silence, burn, frost, etc. The damage itself should be based on current HP. To reproduce just lower your current hp and use spell. Raise HP and use spell, spell damage is virtually the same.

Different breath spells have different HP modifiers. Heat Breath is 50% current HP Frost Breath is 33% current HP Flying Hip Press is 33% current HP Hecatomb Wave is 25% current HP Radiant Breath is 20% current HP Magnetite Cloud is 16% current HP Bad Breath is 12% current HP Poison Breath is 10% current HP

Dynas13 avatar Sep 08 '18 08:09 Dynas13

Some sample links to bg: https://www.bg-wiki.com/bg/Frost_Breath https://www.bg-wiki.com/bg/Hecatomb_Wave https://www.bg-wiki.com/bg/Heat_Breath

https://github.com/DarkstarProject/darkstar/blob/77dfdcdaebac7d4fdd4c1d630593eda3df5f56c8/scripts/globals/spells/bluemagic/heat_breath.lua#L44

from https://github.com/DarkstarProject/darkstar/blob/master/scripts/globals/bluemagic.lua lines 43-46

INT_BASED = 1;
CHR_BASED = 2;
MND_BASED = 3;

lines 199-210

    local statBonus = 0;
    local dStat = 0; -- Please make sure to add an additional stat check if there is to be a spell that uses neither INT, MND, or CHR. None currently exist.
    if (statMod == INT_BASED) then -- Stat mod is INT
        dStat = caster:getStat(dsp.mod.INT) - target:getStat(dsp.mod.INT)
        statBonus = (dStat)* params.tMultiplier;
    elseif (statMod == CHR_BASED) then -- Stat mod is CHR
        dStat = caster:getStat(dsp.mod.CHR) - target:getStat(dsp.mod.CHR)
        statBonus = (dStat)* params.tMultiplier;
    elseif (statMod == MND_BASED) then -- Stat mod is MND
        dStat = caster:getStat(dsp.mod.MND) - target:getStat(dsp.mod.MND)
        statBonus = (dStat)* params.tMultiplier;
    end

I haven't really gone through the rest of the source to be able to tell if this is something that could be achieved by adding a statMod of HP_BASED but maybe that'd be a place to start? The dmg formulas look like they might be a bit different for each spell but I'd think dsp has something to support the variants already. For example one of the notes in heat breath reads:

Base damage is equal to players current HP divided by 2, but is subject to fractional resists.

I'm guessing other spells are also subject to fractional resists? (is that the same as an elemental resist? or is it more extreme?)

hannahpi avatar Sep 08 '18 18:09 hannahpi

I believe the main problem with this is that the formulas for mob BLU breath spells aren't known. If they were to use the player formulas, they'd just one shot everyone with the spells.

Hozu avatar Sep 08 '18 22:09 Hozu

The formula is know not the resist and rates

On Sat, Sep 8, 2018, 5:14 PM Hozu [email protected] wrote:

I believe the main problem with this is that the formulas for mob BLU breath spells aren't known. If they were to use the player formulas, they'd just one shot everyone with the spells.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/DarkstarProject/darkstar/issues/5221#issuecomment-419676289, or mute the thread https://github.com/notifications/unsubscribe-auth/Ah94A5nqE9iqfvm3QAqsKtVaSke1V4UGks5uZEE0gaJpZM4WfxXv .

KnowOne134 avatar Sep 08 '18 22:09 KnowOne134

While the resistance rates may not be specifically known, can they not be generalized to help make this ability slightly more accurate?

hargrave81 avatar Apr 18 '19 11:04 hargrave81