Formula
CommonFun.CalcSuckBlood
formula.lua
1function CommonFun.CalcSuckBlood(srcUser, damage, skillid)
2 local skillParams = Table_Skill[skillid]
3 if skillParams == nil or skillParams.Logic_Param == nil then
4 return 0
5 end
6 local Num1 = srcUser:GetRunePoint(42130_AESIR_SHARP_SHOOTING_CAST_TIME_0_3_HEALING_EFFECT_1_BUT_SKILL_CD_0_3_SEC)
7 local RuneDamage = 0.01 * Num1
8 local skilllv_1 = srcUser:GetLernedSkillLevel(1168_THIEF:HP_ABSORB)
9 local GemValue = srcUser:GetGemValue(41082_SHARP_SHOOTING_DMG_CONVERTION_RATE_PERCENTAGE)
10 if skillParams.Logic_Param.isSuckSkill then
11 if math.floor(skillid / 1000) == 130 and skillid % 100 <= 5 then
12 return damage * (0.15 + RuneDamage + GemValue / 100000)
13 end
14 if math.floor(skillid / 1000) == 130 and skillid % 100 > 5 then
15 return damage * (0.3 + RuneDamage + GemValue / 100000)
16 end
17 if math.floor(skillid / 1000) == 1168 then
18 return damage * (0.25 + math.min(skilllv_1, 5) * 0.05)
19 end
20 if math.floor(skillid / 1000) == 810 then
21 local GemValue = srcUser:GetGemValue(51132_YOU_ARE_HEALED_FOR_SHADOW_WAVE_DAMAGE_DEALT_XPERCENTAGE)
22 local HealEncPer = srcUser:GetProperty("HealEncPer")
23 local HealDam = 1
24 if srcUser:HasBuffID(20510130_HEALING_BONUS_AFFECTS_SHADOW_WAVE_:MAX_STACK_0) then
25 HealDam = 1 + HealEncPer
26 end
27 return damage * GemValue / 100000 * HealDam
28 end
29 if skillid == 73210002 then
30 return damage
31 end
32 if skillid == 73580001 then
33 return damage
34 end
35 if skillid == 78440001 then
36 return damage
37 end
38 if skillid == 77360001 then
39 return damage * 20
40 end
41 if skillid == 78945001 then
42 return damage * 20
43 end
44 if skillid == 79012001 then
45 return damage * 10
46 end
47 if math.floor(skillid / 1000) == 81013 then
48 return damage * 0.5
49 end
50 if math.floor(skillid / 1000) == 2441 then
51 local skilllv = srcUser:GetLernedSkillLevel(2451_PRIEST:FULLMOON_KICK_MOON_SPLENDOR)
52 return damage * skilllv * 0.02
53 end
54 if math.floor(skillid / 1000) == 2637 or math.floor(skillid / 1000) == 2639 then
55 local skilllv = srcUser:GetLernedSkillLevel(2620_ARCHBISHOP:RABIES_VACCINATION)
56 return damage * skilllv * 0.005
57 end
58 if math.floor(skillid / 1000) == 2080 and srcUser:HasBuffID(51400_KOBOLD_LEADER_CARD_:MAX_STACK_0) then
59 return damage * 0.05
60 end
61 end
62 return 0
63endFormula Graph
Connected Archive Data
See which cards, equipment, headwears, buffs, and other archived records connect to this formula.
Loading graph filters
CommonFun.CalcSuckBlood
commonfun-calcsuckblood
Nodes
0
Edges
0
Related Nodes
Select at least one node type.
