
Space-Time Gaze
After selecting an area, begin channeling and release 【Magnetic Field Effect】 at the target area every second. Channeling can last for up to 10 seconds, and the release area can be adjusted during the channeling. Cooldown Time is fixed and cannot be reduced.
Skill Levels
• After selecting an area, begin channeling and release 【Magnetic Field Effect】 at the target area every second. Channeling can last for up to 9 seconds, and the release area can be adjusted during the channeling. Cooldown Time is fixed and cannot be reduced.
• After selecting an area, begin channeling and release 【Magnetic Field Effect】 at the target area every second. Channeling can last for up to 8 seconds, and the release area can be adjusted during the channeling. Cooldown Time is fixed and cannot be reduced.
• After selecting an area, begin channeling and release 【Magnetic Field Effect】 at the target area every second. Channeling can last for up to 7 seconds, and the release area can be adjusted during the channeling. Cooldown Time is fixed and cannot be reduced.
• After selecting an area, begin channeling and release 【Magnetic Field Effect】 at the target area every second. Channeling can last for up to 6 seconds, and the release area can be adjusted during the channeling. Cooldown Time is fixed and cannot be reduced.
Formula
1function CommonFun.calcDamage_82501(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 Str = srcUser:GetProperty("Str")
7 local NormalAtk = srcUser:GetProperty("NormalAtk")
8 NormalAtk = NormalAtk + 3 * Int
9 local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
10 local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
11 if 1 <= IgnoreMDef then
12 IgnoreMDef = 1
13 end
14 local MRefine = srcUser:GetProperty("MRefine")
15 local RangeDam = srcUser:GetProperty("RangeDam")
16 local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
17 local targetDefElement = targetUser:GetProperty("DefAttr")
18 local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
19 local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
20 local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
21 local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
22 local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
23 local MDef2 = targetUser:GetProperty("MDef")
24 local MDefPer2 = targetUser:GetProperty("MDefPer")
25 local Vit2 = targetUser:GetProperty("Vit")
26 local VitPer2 = targetUser:GetProperty("VitPer")
27 local Int2 = targetUser:GetProperty("Int")
28 local IntPer2 = targetUser:GetProperty("IntPer")
29 local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
30 local RefineMDamReduc = CommonFun.calcRefineMDamReduc(srcUser, targetUser)
31 local damChangePer = damageParam.damChangePer
32 local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
33 local BaseMAtk = Int + math.floor(Int * Int / 100)
34 local MAtkFinal = ((MAtk - BaseMAtk) * (1 + MAtkPer) + BaseMAtk) * raceparam * bossparam * bossparam2
35 local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
36 local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
37 if skillID == 4841_PHANTOM_DANCER:MAGNETIC_FIELD_EFFECTS and skillID == 4847_PHANTOM_DANCER:SPACE_TIME_GAZE then
38 RangeDam = 0
39 end
40 if skillID == 4847_PHANTOM_DANCER:SPACE_TIME_GAZE_PHANTOM_DANCER:SPACE_TIME_GAZE then
41 local skilllv_cichang = srcUser:GetLernedSkillLevel(4841_PHANTOM_DANCER:MAGNETIC_FIELD_EFFECTS)
42 damChangePer = skilllv_cichang * 1.6 + 12
43 end
44 local skilllv_paomo = srcUser:GetLernedSkillLevel(4850_PHANTOM_DANCER:TEMPORAL_EROSION_BUBBLE)
45 if skillID == 4855_PHANTOM_DANCER:TEMPORAL_EROSION_BUBBLE_PHANTOM_DANCER:TEMPORAL_EROSION_BUBBLE then
46 damChangePer = skilllv_paomo * 0.05 + 0.9
47 if targetUser:HasBuffID(141440_ETERNAL_REALM_:MAX_STACK_0) or targetUser:HasBuffID(141441_ETERNAL_REALM_STILLNESS_:MAX_STACK_0) or targetUser:HasBuffID(141851_TIME_DELAY_BLACK_HOLE_:MAX_STACK_0) or targetUser:HasBuffID(141852_TIME_DELAY_BLACK_HOLE_:MAX_STACK_0) then
48 damChangePer = damChangePer * 2
49 end
50 end
51 local GemValue = srcUser:GetGemValue(222101_MAGNETIC_FIELD_EFFECT_DAMAGE_PERCENTAGE)
52 local GemValue2 = srcUser:GetGemValue(222151_SILENT_SINGULARITY_DAMAGE_RATIO_AT_SETTLEMENT_PERCENTAGE)
53 if skillID == 4841_PHANTOM_DANCER:MAGNETIC_FIELD_EFFECTS or skillID == 4847_PHANTOM_DANCER:SPACE_TIME_GAZE_PHANTOM_DANCER:SPACE_TIME_GAZE then
54 damChangePer = damChangePer * (1 + GemValue / 100000)
55 end
56 local attackcharid = srcUser:GetGuid()
57 local wanxiang = 1
58 local RefineLv7 = srcUser:GetEquipedRefineLv(7_WEAPON)
59 if srcUser:HasBuffID(23411_OSCAR_WEAPON_1_:MAX_STACK_0) then
60 wanxiang = wanxiang * (1 + RefineLv7 * 0.01)
61 end
62 if srcUser:HasBuffID(23421_OSCAREQUIPMENT_USES_INFUSE_WEAPON_1_:MAX_STACK_0) then
63 wanxiang = wanxiang * (1 + RefineLv7 * 0.02)
64 end
65 if (skillID == 4857_PHANTOM_DANCER:SINGULARITY_OF_SILENCE_PHANTOM_DANCER:SINGULARITY_OF_SILENCE or skillID == 4858_PHANTOM_DANCER:SINGULARITY_OF_SILENCE_PHANTOM_DANCER:SINGULARITY_OF_SILENCE) and attackcharid ~= nil then
66 local paomo = targetUser:GetLossOfLifeTimes(attackcharid)
67 local skilllv_baopo = srcUser:GetLernedSkillLevel(4848_PHANTOM_DANCER:SINGULARITY_OF_SILENCE)
68 if paomo == 0 then
69 return 0, 0
70 else
71 damChangePer = (skilllv_paomo * 0.05 + 0.9) * (skilllv_baopo * 0.05 + GemValue2 / 100000) * paomo
72 end
73 if targetUser:HasBuffID(141440_ETERNAL_REALM_:MAX_STACK_0) or targetUser:HasBuffID(141441_ETERNAL_REALM_STILLNESS_:MAX_STACK_0) or targetUser:HasBuffID(141851_TIME_DELAY_BLACK_HOLE_:MAX_STACK_0) or targetUser:HasBuffID(141852_TIME_DELAY_BLACK_HOLE_:MAX_STACK_0) then
74 damChangePer = damChangePer * 2
75 end
76 end
77 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)
78 local zhuanwu = 1
79 if (skillID == 4857_PHANTOM_DANCER:SINGULARITY_OF_SILENCE_PHANTOM_DANCER:SINGULARITY_OF_SILENCE or skillID == 4858_PHANTOM_DANCER:SINGULARITY_OF_SILENCE_PHANTOM_DANCER:SINGULARITY_OF_SILENCE or skillID == 4855_PHANTOM_DANCER:TEMPORAL_EROSION_BUBBLE_PHANTOM_DANCER:TEMPORAL_EROSION_BUBBLE) and srcUser:HasBuffID(90007624_OSCAREQUIPMENT_USES_INFUSE_WEAPONS_1_TIER_5_:MAX_STACK_0) and targetUser:GetNpcID() ~= 0 then
80 A = A * 1.5
81 end
82 if skillID == 4848_PHANTOM_DANCER:SINGULARITY_OF_SILENCE then
83 A = A * wanxiang
84 end
85 if A <= 1 then
86 return 1
87 end
88 return A
89end