Formula
CommonFun.CalcCrit
formula.lua
1function CommonFun.CalcCrit(srcUser, targetUser, skillParams)
2 local CriDamPer = srcUser:GetProperty("CriDamPer")
3 local CriDefPer2 = targetUser:GetProperty("CriDefPer")
4 local targetRace = targetUser.race
5 if targetUser:HasBuffID(139410_TWO_FACE_DEMON_KING_HUMAN_:MAX_STACK_0) then
6 targetRace = 3
7 end
8 if srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) and srcUser:HasBuffID(49325_RACIAL_ANCIENT_RELICS_CD_:MAX_STACK_0) then
9 elseif srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) then
10 targetRace = 2
11 end
12 local Weapon = srcUser:GetEquipedID(7_WEAPON)
13 local scale = 1.5 + CriDamPer - CriDefPer2
14 if targetRace == 3 and (Weapon == 41815_SABBATH_1 or Weapon == 141815_SABBATH_2) then
15 scale = 1.75 + CriDamPer - CriDefPer2
16 end
17 local Buff = srcUser:HasBuffID(80000300_GOBLIN_ARCHER_CARD_DEPOSITE_:MAX_STACK_0)
18 if targetRace == 5 and Buff == true then
19 scale = 1.55 + CriDamPer - CriDefPer2
20 end
21 local Buff = srcUser:HasBuffID(80000310_STEAM_GOBLIN_CARD_DEPOSITE_:MAX_STACK_0)
22 if targetRace == 6 and Buff == true then
23 scale = 1.55 + CriDamPer - CriDefPer2
24 end
25 local CardKapok = srcUser:GetEquipCardNum(7, 23247)
26 local CardKapok1 = srcUser:GetEquipCardNum(7, 23388)
27 if targetRace == 1 and (srcUser:HasBuffID(56650_ALIEN_BOMBAX_CARD_:MAX_STACK_0) or srcUser:HasBuffID(58300_ALIEN_COTTON_CARD_:MAX_STACK_0)) then
28 scale = 1.5 + CardKapok * 0.15 + CardKapok1 * 0.15 + CriDamPer - CriDefPer2
29 end
30 if targetRace == 9 and (srcUser:HasBuffID(56650_ALIEN_BOMBAX_CARD_:MAX_STACK_0) or srcUser:HasBuffID(58300_ALIEN_COTTON_CARD_:MAX_STACK_0)) then
31 scale = 1.5 + CardKapok * 0.15 + CardKapok1 * 0.15 + CriDamPer - CriDefPer2
32 end
33 local Cri = srcUser:GetProperty("Cri")
34 local CriRes = targetUser:GetProperty("CriRes")
35 local Gem = srcUser:GetGemValue(31021_WHEN_CALCULATING_CRIT_DMG_ADD_EXTRA_CRIT_DMG_CASTER_S_CRIT_ENEMY_S_CRIT_RES_PERCENTAGE)
36 scale = scale + (Cri - CriRes) * Gem / 100000
37 if srcUser:HasBuffID(64710_3915_:MAX_STACK_0) then
38 scale = scale - 0.25
39 end
40 scale = CommonFun.Clamp(scale, 1, 100)
41 return scale
42endFormula Graph
Connected Archive Data
See which cards, equipment, headwears, buffs, and other archived records connect to this formula.
Loading graph filters
CommonFun.CalcCrit
commonfun-calccrit
Nodes
0
Edges
0
Related Nodes
Select at least one node type.
