Auto Attack

Auto Attack

Lv 1AttackPhysical

Deals Phy. DMG x 600%% Phy. DMG to every single enemy. Attack SPD remains 100%%. Unable to trigger Critical. Every 10 points of AGI will be converted to 1%% Move SPD. [Auto Attack] does not cause repel

Range: 2

Formula

1function CommonFun.calcDamage_100501(srcUser, targetUser, params, damageParam, logger)
2  local Str = srcUser:GetProperty("Str")
3  local Dex = srcUser:GetProperty("Dex")
4  local Luk = srcUser:GetProperty("Luk")
5  local Atk = srcUser:GetProperty("Atk")
6  local Int = srcUser:GetProperty("Int")
7  local AtkPer = srcUser:GetProperty("AtkPer")
8  local NormalAtk = srcUser:GetProperty("NormalAtk")
9  NormalAtk = NormalAtk + 5 * Str
10  local DamIncrease = srcUser:GetProperty("DamIncrease")
11  local IgnoreDef = 0
12  local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
13  local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
14  if targetUser.boss or targetUser.mini then
15    IgnoreDef = IgnoreDef1
16  else
17    IgnoreDef = IgnoreDef1 + IgnoreDef2
18  end
19  if 1 <= IgnoreDef then
20    IgnoreDef = 1
21  end
22  local Refine = srcUser:GetProperty("Refine")
23  local Def2 = targetUser:GetProperty("Def")
24  local DefPer2 = targetUser:GetProperty("DefPer")
25  local Vit2 = targetUser:GetProperty("Vit")
26  local VitPer2 = targetUser:GetProperty("VitPer")
27  local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
28  local RefineDamReduc = CommonFun.calcRefineDamReduc(srcUser, targetUser)
29  local damChangePer = damageParam.damChangePer
30  local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
31  local bodyparam = CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
32  local elementparam = CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
33  local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
34  local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
35  local bodyparam2 = CommonFun.CalcBodyParam2(srcUser, targetUser, params, damageParam, logger)
36  local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
37  local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
38  local BaseAtk = Str * 2 + math.floor(Str * Str / 100) + math.floor(Dex / 5) + math.floor(Luk / 5)
39  local AtkFinal = ((Atk - BaseAtk + NormalAtk) * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
40  local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
41  local ShortRangeDamReduc2 = targetUser:GetProperty("ShortRangeDamReduc")
42  local A = (AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * damChangePer * (1 - RefineDamReduc) * (1 + DamIncrease - ShortRangeDamReduc2) - Vit2 * (1 + VitPer2)
43  local skilllv_tx = srcUser:GetLernedSkillLevel(2561_HIGH_PRIEST:SUPREME_POWER)
44  local Str2 = targetUser:GetProperty("Str")
45  local B = (Str + Str2) * (skilllv_tx * 0.01 + 0.03) * AtkFinal * DefReduc * (1 - DamReduc2) * (1 - RefineDamReduc) * (1 + DamIncrease - ShortRangeDamReduc2)
46  local skilllv_ll = srcUser:GetLernedSkillLevel(2561_HIGH_PRIEST:SUPREME_POWER)
47  if 4 <= skilllv_ll then
48    B = B * 2
49  end
50  local Total = A + math.max(B, 0)
51  if Total <= 1 then
52    return 1
53  end
54  return Total
55end
Preserved HTML snapshot from ROM Handbook