
All-round Attack - Wind
Lv 10BuffMagic
Deals (Atk100%) Dmg to the target
Range: 5
Formula
1function CommonFun.calcDamage_16304(srcUser, targetUser, params, damageParam, logger)
2 local Luk = srcUser:GetProperty("Luk")
3 local Int = srcUser:GetProperty("Int")
4 local Vit = srcUser:GetProperty("Vit")
5 local MAtk = srcUser:GetProperty("MAtk")
6 local MAtkPer = srcUser:GetProperty("MAtkPer")
7 local RangeDam = srcUser:GetProperty("RangeDam")
8 local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
9 local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
10 if 1 <= IgnoreMDef then
11 IgnoreMDef = 1
12 end
13 local MRefine = srcUser:GetProperty("MRefine")
14 local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
15 local targetDefElement = targetUser:GetProperty("DefAttr")
16 local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
17 local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
18 local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
19 local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
20 local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
21 local MDef2 = targetUser:GetProperty("MDef")
22 local MDefPer2 = targetUser:GetProperty("MDefPer")
23 local Vit2 = targetUser:GetProperty("Vit")
24 local VitPer2 = targetUser:GetProperty("VitPer")
25 local Int2 = targetUser:GetProperty("Int")
26 local IntPer2 = targetUser:GetProperty("IntPer")
27 local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
28 local RefineMDamReduc = CommonFun.calcRefineMDamReduc(srcUser, targetUser)
29 local damChangePer = damageParam.damChangePer
30 local BaseMAtk = Int + math.floor(Int * Int / 100)
31 local MAtkFinal = ((MAtk - BaseMAtk) * (1 + MAtkPer) + BaseMAtk) * raceparam * bossparam * bossparam2
32 local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
33 local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
34 local skilllv = srcUser:GetLernedSkillLevel(2028_SNIPER:NINJUTSU_CULTIVATION)
35 local Sp = srcUser:GetProperty("Sp")
36 local Mskilllv = 0
37 local MSp = 0
38 local Master = srcUser:GetMasterUser()
39 if Master ~= nil then
40 Mskilllv = Master:GetLernedSkillLevel(2028_SNIPER:NINJUTSU_CULTIVATION)
41 MSp = Master:GetProperty("Sp")
42 end
43 local NinjaDam = 1
44 if 10 < skilllv or 10 < Mskilllv then
45 MDamReduc2 = MDamReduc2 - (math.max(skilllv, Mskilllv) - 10) * math.max(Sp, MSp) / 100 * 5.0E-4
46 end
47 if targetUser:HasBuffID(133290_ALL_ROUND_ATTACK_SPELL_:MAX_STACK_0) then
48 local GemValue2 = srcUser:GetGemValue(163002_NINJUTSU_ALL_ROUND_ATTACK_INCREASES_THE_TARGET_S_RECEIVED_NINJUTSU_AND_PSYCHIC_SPELL_DMG_BY_PERCENTAGE_FOR_S_SECONDS)
49 NinjaDam = NinjaDam * (1 + GemValue2 / 100000)
50 end
51 local CardTLS = 1
52 if srcUser:HasBuffID(55110_NINJUTSU_AND_SUMMONING_CARDS_:MAX_STACK_0) then
53 CardTLS = 1.06
54 end
55 local A = ((MAtkFinal * MDefReduc * (1 - MDamReduc2) + MRefine) * damChangePer * (1 - RefineMDamReduc) * (1 + MDamIncrease) * CommonFun.calcMagicElement(srcUser, targetUser, params, damageParam) * elementparam2 - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2)) * NinjaDam * (1 + RangeDam) * CardTLS
56 if skillID == 2906_MERCHANT:ALL_ROUND_ATTACK_WIND or skillID == 2907_MERCHANT:ALL_ROUND_ATTACK_EARTH or skillID == 2908_MERCHANT:ALL_ROUND_ATTACK_WATER or skillID == 2909_MERCHANT:ALL_ROUND_ATTACK_FIRE then
57 local GemValue = srcUser:GetGemValue(163001_SKILL_NINJUTSU_ALL_ROUND_ATTACK_OBTAINED_BASED_ON_THE_ATTRIBUTE_AURA_YOU_ARE_CARRYING_INFLICT_MAGIC_DMG_OF_THE_SAME_ATTRIBUTE_OF_M_ATK_PERCENTAGE_ON_THE_TARGET_RANGE_AND_CREATE_A_MAGIC_ARRAY_OF_THE_SAME_ATTRIBUTE)
58 damChangePer = GemValue / 100000
59 A = ((MAtkFinal * MDefReduc * (1 - MDamReduc2) + MRefine) * damChangePer * (1 - RefineMDamReduc) * (1 + MDamIncrease) * CommonFun.calcMagicElement(srcUser, targetUser, params, damageParam) * elementparam2 - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2)) * NinjaDam * (1 + RangeDam) * CardTLS
60 end
61 if skillID == 2033_SNIPER:NINJUTSU_ICICLE_DROP then
62 local Rune = srcUser:GetRunePoint(163018_AESIR_NINJUTSU_ICICLE_DROP_DMG_6)
63 A = A * (1 + Rune * 0.06)
64 end
65 if A <= 1 then
66 return 1
67 end
68 return A
69endPreserved HTML snapshot from ROM Handbook
