
Blackhole
Create a Vacuous Void on the ground and inflict Neutral Magic Damage equivalent to M.Atk *100%% to a maximum of 5 targets and such them into the Vacuum. Enemies in the Blackhole are unable to perform any action but also unable to take Dmg for 6 sec. Has no effect against MINI or MVP,CD is fixed and can’t be reduced
Skill Levels
• Create a Vacuous Void on the ground and inflict Neutral Magic Damage equivalent to M.Atk *100%% to a maximum of 4 targets and such them into the Vacuum. Enemies in the Blackhole are unable to perform any action but also unable to take Dmg for 5.5 sec. Has no effect against MINI or MVP,CD is fixed and can’t be reduced
• Create a Vacuous Void on the ground and inflict Neutral Magic Damage equivalent to M.Atk *100%% to a maximum of 3 targets and such them into the Vacuum. Enemies in the Blackhole are unable to perform any action but also unable to take Dmg for 5 sec. Has no effect against MINI or MVP,CD is fixed and can’t be reduced
• Create a Vacuous Void on the ground and inflict Neutral Magic Damage equivalent to M.Atk *100%% to a maximum of 2 targets and such them into the Vacuum. Enemies in the Blackhole are unable to perform any action but also unable to take Dmg for 4.5 sec. Has no effect against MINI or MVP,CD is fixed and can’t be reduced
• Create a Vacuous Void on the ground and inflict Neutral Magic Damage equivalent to M.Atk *100%% to a maximum of 1 targets and such them into the Vacuum. Enemies in the Blackhole are unable to perform any action but also unable to take Dmg for 4 sec. Has no effect against MINI or MVP,CD is fixed and can’t be reduced
Formula
1function CommonFun.calcDamage_8202(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 MRefine = srcUser:GetProperty("MRefine")
12 local RangeDam = srcUser:GetProperty("RangeDam")
13 local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
14 local targetDefElement = targetUser:GetProperty("DefAttr")
15 local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
16 local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
17 local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
18 local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
19 local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
20 local MDef2 = targetUser:GetProperty("MDef")
21 local MDefPer2 = targetUser:GetProperty("MDefPer")
22 local Vit2 = targetUser:GetProperty("Vit")
23 local VitPer2 = targetUser:GetProperty("VitPer")
24 local Int2 = targetUser:GetProperty("Int")
25 local IntPer2 = targetUser:GetProperty("IntPer")
26 local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
27 local RefineMDamReduc = CommonFun.calcRefineMDamReduc(srcUser, targetUser)
28 local damChangePer = damageParam.damChangePer
29 local BaseMAtk = Int + math.floor(Int * Int / 100)
30 local MAtkFinal = ((MAtk - BaseMAtk) * (1 + MAtkPer) + BaseMAtk) * raceparam * bossparam * bossparam2
31 local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
32 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)) * (1 + RangeDam)
33 local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
34 local skilllv_ele = srcUser:GetLernedSkillLevel(1333_ASSASSIN:SUMMON_ELEMENTAL)
35 local ElementNpc = srcUser:getCurElementElfID()
36 if skillID == 1330_ASSASSIN:EARTH_GRAVE and ElementNpc == 580030 then
37 A = A * (1 + skilllv_ele * 0.03)
38 end
39 if skillID == 1328_ASSASSIN:DIAMOND_DUST then
40 local Num_xc = srcUser:GetRunePoint(82031_AESIR_DIAMOND_DUST_DMG_8)
41 local GemValue1 = srcUser:GetGemValue(82022_DIAMOND_STARDUST_DMG_PERCENTAGE)
42 local GemValue2 = srcUser:GetGemValue(82052_DIAMOND_STARDUST_DMG_PERCENTAGE)
43 local GemDam = 1 + GemValue1 / 100000 + GemValue2 / 100000
44 A = A * (1 + Num_xc * 0.08) * GemDam
45 if ElementNpc == 580020 then
46 A = A * (1 + skilllv_ele * 0.01)
47 end
48 local RefineLv = srcUser:GetEquipedRefineLv(7_WEAPON)
49 local Ring1 = srcUser:GetEquipedID(7_WEAPON)
50 if Ring1 == 63433_SPELL_BOOK_OF_ICE_1 or Ring1 == 163433_MAGIC_BOOK_OF_ICE_2 then
51 A = A * (RefineLv * 0.02 + 1)
52 end
53 if Ring1 == 63444_FROST_BOOK_1 or Ring1 == 163444_FROST_BOOK_2 then
54 A = A * (RefineLv * 0.02 + 1)
55 end
56 end
57 if skillID == 1305_ASSASSIN:EARTHQUAKE then
58 local Num_dz = srcUser:GetRunePoint(82002_AESIR_EARTH_SPIKE_DMG_10)
59 A = A * (1 + Num_dz * 0.1)
60 end
61 if A <= 1 then
62 return 1
63 end
64 return A
65end