Module:Stab bonus: Difference between revisions
From Ashenzari's Archive
More actions
imported>Ge0ff m The most effective stabs are called top-tier stabs in the source code, see mons_looks_stabbable() in mon-util.cc |
m top-tier -> high-tier |
||
| Line 27: | Line 27: | ||
! colspan=2 | Others | ! colspan=2 | Others | ||
|- | |- | ||
! | ! High-Tier | ||
! Low-Tier | ! Low-Tier | ||
! | ! High-Tier | ||
! Low-Tier | ! Low-Tier | ||
|- | |- | ||
Revision as of 02:57, 19 August 2023
local p = {}
-- This function is based on player_stab_weapon_bonus in attack.cc local function stab_weapon(skill, weapon, tier)
local damage = 1 if weapon ~= "Others" then damage = damage * (1 + skill / (tier * 10)) end
damage = damage*(1 + skill / (tier*12)) return 100*(damage-1)
end
local function stab_bonus(skill, weapon)
local bonuses = {}
for _, tier in ipairs({1, 4,}) do
table.insert(bonuses, stab_weapon(skill, weapon, tier))
end
return bonuses
end
function p.stab_table(frame)
local ret = [=[{| class="prettytable" style="border:none; margin:0; padding:0;"
|- ! rowspan=2 | Stealth/Weapon skill average ! colspan=2 | Short Blades ! colspan=2 | Others |- ! High-Tier ! Low-Tier ! High-Tier ! Low-Tier |- ]=]
for i = 1, 27 do
ret = ret .. ("| %d\n"):format(i)
for _, bonus in ipairs(stab_bonus(i, "Short Blades")) do
ret = ret .. ("| %+.1f%%\n"):format(bonus)
end
for _, bonus in ipairs(stab_bonus(i, "Others")) do
ret = ret .. ("| %+.1f%%\n"):format(bonus)
end
ret = ret .. "|-\n"
end
ret = ret .. "|}\n"
return ret
end
return p