
Fire Bolt
Attacks an enemy with fire arrows from the sky, dealing (M.Atk1500%) fire M.Dmg and low real M.Dmg
Aesir Effects
Skill Levels
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk1400%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk1300%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk1200%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk1100%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk1000%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk900%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk800%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk700%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk600%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk500%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk400%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk300%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk200%) fire M.Dmg and low real M.Dmg
• Attacks an enemy with fire arrows from the sky, dealing (M.Atk100%) fire M.Dmg and low real M.Dmg
Formula
1function CommonFun.calcDamage_35(srcUser, targetUser, params, damageParam, logger)
2 local Int = srcUser:GetProperty("Int")
3 local Vit = srcUser:GetProperty("Vit")
4 local MAtk = srcUser:GetProperty("MAtk")
5 local MAtkPer = srcUser:GetProperty("MAtkPer")
6 local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
7 local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
8 if 1 <= IgnoreMDef then
9 IgnoreMDef = 1
10 end
11 local Num1 = srcUser:GetRunePoint(22006_AESIR_FIRE_BOLT_HAS_A_8_CHANCE_TO_BECOME_HIGH_ENERGY_DEALING_10_TOTAL_DAMAGE)
12 local RuneRate = 0
13 if 0 < Num1 then
14 RuneRate = 8
15 end
16 local RuneDamage = Num1 * 0.1 + 1
17 local Num2 = srcUser:GetRunePoint(22160_AESIR_INCREASES_THE_DAMAGE_OF_FIRE_BOLT_COLD_BOLT_LIGHTNING_BOLT_AND_CHRONOLOGY_BOLT_BY_10)
18 local Num3 = srcUser:GetRunePoint(22161_AESIR_INCREASES_THE_DAMAGE_OF_FIRE_BOLT_COLD_BOLT_LIGHTNING_BOLT_AND_CHRONOLOGY_BOLT_BY_10)
19 local RuneDamage1 = (Num2 + Num3) * 0.1 + 1
20 local MRefine = srcUser:GetProperty("MRefine")
21 local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
22 local targetDefElement = targetUser:GetProperty("DefAttr")
23 local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
24 local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
25 local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
26 local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
27 local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
28 local MDef2 = targetUser:GetProperty("MDef")
29 local MDefPer2 = targetUser:GetProperty("MDefPer")
30 local Vit2 = targetUser:GetProperty("Vit")
31 local VitPer2 = targetUser:GetProperty("VitPer")
32 local Int2 = targetUser:GetProperty("Int")
33 local IntPer2 = targetUser:GetProperty("IntPer")
34 local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
35 local RefineMDamReduc = CommonFun.calcRefineMDamReduc(srcUser, targetUser)
36 local damChangePer = damageParam.damChangePer
37 local damChangePer1 = damageParam.damChangePer1
38 local BaseMAtk = Int + math.floor(Int * Int / 100)
39 local MAtkFinal = ((MAtk - BaseMAtk) * (1 + MAtkPer) + BaseMAtk) * raceparam * bossparam * bossparam2
40 local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
41 local BaseLvDamage = 0
42 local IBaseLv = srcUser.BaseLv
43 if srcUser:HasBuffID(42110_FLUORESCENCE_:MAX_STACK_0) then
44 BaseLvDamage = IBaseLv * 15
45 end
46 if srcUser:HasBuffID(42120_MJOLNIR_SPELLBOOK_:MAX_STACK_0) then
47 BaseLvDamage = IBaseLv * 15
48 end
49 local taozhuang1 = 1
50 if srcUser:HasBuffID(91000470_SAGE_S_BOOK_TELEKINETIC_ORB_:MAX_STACK_0) or srcUser:HasBuffID(91000770_SAGE_S_HANDBOOK_TELEKINETIC_ORB_:MAX_STACK_0) or srcUser:HasBuffID(91001490_SAGE_S_BOOK_CONTRACT_JEWELERY_:MAX_STACK_0) or srcUser:HasBuffID(91001500_SAGE_S_HANDBOOK_CONTRACT_JEWELERY_:MAX_STACK_0) then
51 taozhuang1 = 1.15
52 end
53 if srcUser:HasBuffID(90004514_SAGE_S_HANDBOOK_1_TIER_5_:MAX_STACK_0) then
54 taozhuang1 = taozhuang1 + 0.15
55 end
56 local Ring1 = srcUser:GetEquipedID(7_WEAPON)
57 local RefineLv = srcUser:GetEquipedRefineLv(7_WEAPON)
58 if Ring1 == 63440_SAGE_S_HANDBOOK_1 or Ring1 == 163440_SAGE_S_HANDBOOK_2 then
59 taozhuang1 = RefineLv * 0.01 + taozhuang1
60 end
61 local GemValue = srcUser:GetGemValue(82071_FIRE_BOLT_DMG_PERCENTAGE)
62 local GemDam = 1 + GemValue / 100000
63 local A = ((MAtkFinal * MDefReduc * (1 - MDamReduc2) + MRefine) * (1 - RefineMDamReduc) * damChangePer * (1 + MDamIncrease) * CommonFun.calcMagicElement(srcUser, targetUser, params, damageParam) * elementparam2 - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2) + damChangePer1) * RuneDamage1 * taozhuang1 * GemDam + BaseLvDamage
64 if CommonFun.IsInRate(RuneRate, srcUser:GetRandom()) then
65 return A * RuneDamage, CommonFun.DamageType.Crit
66 end
67 if A <= 1 then
68 return 1
69 end
70 return A
71end