Formula

CommonFun.calcBuff_3021

formula.lua
1function CommonFun.calcBuff_3021(srcUser, targetUser, a, b, c, d, lv)
2  if srcUser == nil or targetUser == nil then
3    return 0
4  end
5  local PoisonAtk = srcUser:GetProperty("PoisonAtk")
6  local PoisonDef2 = targetUser:GetProperty("PoisonDef")
7  local PoisonDam = 1 + PoisonAtk - PoisonDef2
8  if PoisonDam <= 0 then
9    PoisonDam = 0
10  end
11  local StateAtk = srcUser:GetProperty("StateAtk")
12  local StateDef2 = targetUser:GetProperty("StateDef")
13  local StateDam = (1 + StateAtk) * (1 - StateDef2)
14  if StateDam <= 0 then
15    StateDam = 0
16  end
17  local skilllv_1 = srcUser:GetLernedSkillLevel(1103_ARCANE_MASTER:POISONOUS_SMOKE)
18  local skilllv_2 = srcUser:GetLernedSkillLevel(1102_ARCANE_MASTER:NEW_POISON_RESEARCH)
19  skilllv_1 = math.min(skilllv_1, 10)
20  local A = (10 + skilllv_1 * 4 + skilllv_2) * PoisonDam * StateDam * CommonFun.calcAttrPoisonRate(srcUser, targetUser)
21  if targetUser:HasBuffID(20610050_ANTI_GRAVITY_ARMOR_FLEE_HELL_PLANT_:MAX_STACK_0) and targetUser:HasBuffID(117860_HOVER_:MAX_STACK_0) or targetUser:HasBuffID(20610050_ANTI_GRAVITY_ARMOR_FLEE_HELL_PLANT_:MAX_STACK_0) and targetUser:HasBuffID(184020_ANTI_GRAVITY_ARMOR_FLEE_HELL_PLANT_:MAX_STACK_0) then
22    A = 0
23  end
24  if srcUser:HasBuffID(140080_PURE_SIN_:MAX_STACK_0) then
25    A = 0
26  end
27  if A <= 0 then
28    return 0
29  end
30  return A
31end
Formula Graph

Connected Archive Data

See which cards, equipment, headwears, buffs, and other archived records connect to this formula.

Loading graph filters

CommonFun.calcBuff_3021

commonfun-calcbuff_302

Nodes

0

Edges

0

Related Nodes

Select at least one node type.