Explore ROM internal Lua formulas

1,812 formulas archived

CommonFun.AccurateFloor

Lua
function CommonFun.AccurateFloor(number)
  return math.floor((number * 1000 + 0.5) / 1000)
end
3 linesView Formula

CommonFun.CalcBaseDamage

Lua
function CommonFun.CalcBaseDamage(srcUser, targetUser, params, logger)
  if nil == srcUser then
    logger.error(string.format("srcUser is nil"))
    return 0, CommonFun.DamageType.None
  end
519 linesView Formula

CommonFun.CalcBattlePassExpByStat

Lua
function CommonFun.CalcBattlePassExpByStat(statid, statnum)
  local A = 0
  if statid == 1 then
    if 200 <= statnum then
      A = A + 100
182 linesView Formula

CommonFun.CalcBeatBackRate

Lua
function CommonFun.CalcBeatBackRate(tUser, skillid)
  return 0
end
3 linesView Formula

CommonFun.CalcBodyParam

Lua
function CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
  local bodyInc = 0
  local bodyRed = 0
  local srcShape = srcUser.shape
  local targetShape = targetUser.shape
16 linesView Formula

CommonFun.CalcBodyParam2

Lua
function CommonFun.CalcBodyParam2(srcUser, targetUser, params, damageParam, logger)
  local bodyInc = 0
  local bodyRed = 0
  local srcShape = srcUser.shape
  local targetShape = targetUser.shape
13 linesView Formula

CommonFun.CalcBossParam

Lua
function CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
  local bossInc = 0
  local NpcDamPer = 0
  local MonsterDamPer = 0
  local NpcResPer = 0
21 linesView Formula

CommonFun.CalcBossParam2

Lua
function CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
  local bossRed = 0
  local MonsterResPer = 0
  if srcUser.boss or srcUser.mini then
    bossRed = targetUser:GetProperty("BossResPer")
15 linesView Formula

CommonFun.CalcBossSceneEquipRefineLv

Lua
function CommonFun.CalcBossSceneEquipRefineLv()
  local a = {
    [0] = 4500,
    [5] = 2800,
    [6] = 1600,
21 linesView Formula

CommonFun.CalcCrackEquipRefineLv

Lua
function CommonFun.CalcCrackEquipRefineLv()
  local a = {
    [0] = 3000,
    [1] = 1500,
    [2] = 1500,
27 linesView Formula

CommonFun.CalcCrit

Lua
function CommonFun.CalcCrit(srcUser, targetUser, skillParams)
  local CriDamPer = srcUser:GetProperty("CriDamPer")
  local CriDefPer2 = targetUser:GetProperty("CriDefPer")
  local targetRace = targetUser.race
  if targetUser:HasBuffID(139410_TWO_FACE_DEMON_KING_HUMAN_:MAX_STACK_0) then
42 linesView Formula

CommonFun.CalcCritRate

Lua
function CommonFun.CalcCritRate(srcUser, targetUser, skillParams)
  local Cri = srcUser:GetProperty("Cri")
  local CriRes2 = targetUser:GetProperty("CriRes")
  local Hp = targetUser:GetProperty("Hp")
  local MaxHp = targetUser:GetProperty("MaxHp")
117 linesView Formula

CommonFun.CalcDamage

Lua
function CommonFun.CalcDamage(srcUser, targetUser, params, logger)
  local damage, damagetype = CommonFun.CalcBaseDamage(srcUser, targetUser, params, logger)
  local TaichiSecretLandGemLv = targetUser:GetSecretLandGemLv(384009)
  if (TaichiSecretLandGemLv ~= 0 or targetUser:HasBuffID(59570_23446_OSCAR_CARD_:MAX_STACK_0)) and 0 < damage then
    local reduceRatio = TaichiSecretLandGemLv * 0.002 + math.max(TaichiSecretLandGemLv - 30, 0) * 0.001 + math.max(TaichiSecretLandGemLv - 60, 0) * 0.002
65 linesView Formula

CommonFun.CalcDef

Lua
function CommonFun.CalcDef(srcUser, targetUser, params)
  local Buff = srcUser:HasBuffID(24700_STELLER_S_AXE_:MAX_STACK_0)
  local targetRace = targetUser.race
  if targetUser:HasBuffID(139410_TWO_FACE_DEMON_KING_HUMAN_:MAX_STACK_0) then
    targetRace = 3
122 linesView Formula

CommonFun.CalcElementParam

Lua
function CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
  local elementInc = 0
  local elementRed = 0
  local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
  local targetDefElement = targetUser:GetProperty("DefAttr")
28 linesView Formula

CommonFun.CalcElementParam2

Lua
function CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
  local elementInc = 0
  local elementRed = 0
  local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
  local targetDefElement = targetUser:GetProperty("DefAttr")
70 linesView Formula

CommonFun.CalcExpRaidBaseExp

Lua
function CommonFun.CalcExpRaidBaseExp(lv, maxlv, killNum, monthcard)
  local baseparam = {
    [20] = 598752,
    [21] = 603029,
    [22] = 607306,
141 linesView Formula

CommonFun.CalcExpRaidJobExp

Lua
function CommonFun.CalcExpRaidJobExp(lv, maxlv, killNum, monthcard)
  local jobparam = {
    [20] = 399168,
    [21] = 332640,
    [22] = 403920,
137 linesView Formula

CommonFun.CalcExpRaidMaterial

Lua
function CommonFun.CalcExpRaidMaterial(killNum, monthcard)
  local monthpara = 1
  if monthcard == true then
    monthpara = 1.33
  end
27 linesView Formula

CommonFun.CalcFleeRate

Lua
function CommonFun.CalcFleeRate(srcUser, targetUser, skillParams)
  local Hit = srcUser:GetProperty("Hit")
  local Flee2 = targetUser:GetProperty("Flee")
  local rate = 0
  rate = CommonFun.Clamp(rate, 0, 100)
7 linesView Formula