Code

// Remaps all scores - where a score of SCORE_MOD is the average dmg of this character.
SCORE_MOD										100.0
BASE_NEARBY_SCORE								0.2

....

function GetModifier(value)
    return math.floor((value - 10) / 2)
end



The logic used in BG3 testing environment to compute several values in a normalised fashion (damage might be among them).

There's a trick though, after several manipulations, they take the floor of a value from a range (note score_mod is manipulated) because the probability of a point that is one unit less than another is higher for any point greater than or equal to the mean.

I would guess then that since 2d6 offers 7 and 1d12 offers 6(.5 is not taken into account) then 2d6 is def better.


There is...however the matter with this snippet of code:


Code

 //2. operator | will calculate chance of either left or right to be trigger. Formula is 1-(1-leftSuccessChance)*(1-rightSuccessChance)
...
function invert(n)
    local absolute = math.abs(n)
    if absolute <= 1 and absolute >= 0
        then return (1 - absolute)
        else return n
    end
end
...
    __bor = function(a, b) -- | operator
        local r = (type(b) == "boolean") and boolToNum(b) or b
        return invert(invert(a)*invert(r));
    end,





Which makes me believe that if damage is a range from neg to 0 then taking the floor of -6.5 is -7, and invert is 7.

Which means that 2d6 offers no advantage of 1d12.

I'll look into this further

Last edited by SecSea; 13/10/20 08:29 PM.