Jump to content
Toggle menu
  • 3.1K articles
  • 4.4K files
  • 18 users
  • 91.5K edits
Ashenzari's Archive
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Stab bonus

From Ashenzari's Archive
Revision as of 20:37, 6 January 2016 by imported>Edsrzf (Module to generate bonus table for Stabbing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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, 2, 4, 6}) 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=4 | Short Blades ! colspan=4 | Others |- ! Tier 1 ! Tier 2 ! Tier 3 ! Tier 4 ! Tier 1 ! Tier 2 ! Tier 3 ! Tier 4 ]=]

 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