Formula Source
function CommonFun.DoCalcStateEffectDam(srcUser, targetUser, params) local StateEffect = targetUser:GetProperty("StateEffect") local bits = CommonFun.getBits(StateEffect) local Weapon = srcUser:GetEquipedID(7) local RefineLv = srcUser:GetEquipedRefineLv(7) local Profession = srcUser:GetProfressionID() local Num1 = srcUser:GetRunePoint(31011) local Num2 = srcUser:GetRunePoint(31012) local Num3 = srcUser:GetRunePoint(31013) local Num4 = srcUser:GetRunePoint(31014) local Num5 = srcUser:GetRunePoint(31015) local RuneDamage1 = Num1 * 0.1 + Num2 * 0.05 + Num3 * 0.1 + Num4 * 0.05 + Num5 * 0.05 local Num6 = srcUser:GetRunePoint(41011) local Num7 = srcUser:GetRunePoint(41012) local Num8 = srcUser:GetRunePoint(41013) local RuneDamage2 = Num6 * 0.15 + Num7 * 0.1 + Num8 * 0.15 local Num9 = srcUser:GetRunePoint(62001) local Num10 = srcUser:GetRunePoint(62002) local Num11 = srcUser:GetRunePoint(62003) local Num12 = srcUser:GetRunePoint(62004) local Num13 = srcUser:GetRunePoint(62005) local RuneDamage3 = Num9 * 0.02 + Num10 * 0.04 + Num11 * 0.04 + Num12 * 0.02 + Num13 * 0.02 local Num14 = srcUser:GetRunePoint(120180) local RuneDamage4 = Num14 * 0.03 local Num16 = srcUser:GetRunePoint(120210) local RuneDamage6 = Num16 * 0.1 local Num17 = srcUser:GetRunePoint(90210) local RuneDamage7 = Num17 * 0.05 local Num18 = srcUser:GetRunePoint(90200) local RuneDamage8 = Num18 * 0.03 local Snatch = 0 local fromid = targetUser:GetBuffFromID(106131) local guid = srcUser:GetGuid() local Num19 = srcUser:GetRunePoint(90110) if fromid == guid then Snatch = 0.05 * Num19 end local DizzyRatio = 0 if srcUser:HasBuffID(80001480) and (srcUser:HasBuffID(51230) or srcUser:HasBuffID(600560) or srcUser:HasBuffID(600570) or srcUser:HasBuffID(600580) or srcUser:HasBuffID(600590) or srcUser:HasBuffID(51230)) or srcUser:HasBuffID(81002040) and srcUser:HasBuffID(56220) then DizzyRatio = 0.15 end if srcUser:HasBuffID(38010) then DizzyRatio = DizzyRatio + 0.1 end local CardNumzsj = srcUser:GetEquipCardNum(7, 24624) if srcUser:HasBuffID(54100) then DizzyRatio = DizzyRatio + 0.1 * CardNumzsj end local Ring5 = srcUser:GetEquipedID(5) local RefineLv5 = srcUser:GetEquipedRefineLv(5) local Ring6 = srcUser:GetEquipedID(6) local RefineLv6 = srcUser:GetEquipedRefineLv(6) local curse5 = 0 local curse6 = 0 if Ring5 == 44089 or Ring5 == 144089 then curse5 = RefineLv5 / 100 end if Ring6 == 44089 or Ring6 == 144089 then curse6 = RefineLv6 / 100 end local curse = curse5 + curse6 local skilllv_Rogue = srcUser:GetLernedSkillLevel(484) local Rogue = 0 if 0 < skilllv_Rogue then Rogue = 0.03 * skilllv_Rogue end local bloodrain = 0 local RefineLv7 = srcUser:GetEquipedRefineLv(7) if srcUser:HasBuffID(90001048) and 10 <= RefineLv7 then bloodrain = 0.15 end if srcUser:HasBuffID(41870) and 5 <= RefineLv7 then bloodrain = 0.2 end if srcUser:HasBuffID(44290) or srcUser:HasBuffID(44300) then bloodrain = RefineLv7 * 0.01 end if srcUser:HasBuffID(90004314) then bloodrain = 0.15 end if srcUser:HasBuffID(64350) then bloodrain = bloodrain + 0.1 end local skilllv_Zhuangtai = srcUser:GetLernedSkillLevel(1166) local skilllv_Zhuangtai2 = srcUser:GetLernedSkillLevel(1490) local skilllv_Zhuangtai3 = srcUser:GetLernedSkillLevel(1716) local skilllv_Zhuangtai4 = srcUser:GetLernedSkillLevel(1912) local skilllv_Zhuangtai5 = srcUser:GetLernedSkillLevel(62001) local Numfs = srcUser:GetRunePoint(24080) local Yishang = skilllv_Zhuangtai * 0.05 + Numfs * 0.03 + skilllv_Zhuangtai2 * 0.05 + skilllv_Zhuangtai3 * 0.05 + skilllv_Zhuangtai4 * 0.05 + skilllv_Zhuangtai5 * 0.005 local FrozenM = 0 local Card1 = srcUser:GetEquipCardNum(7, 20025) if 0 < Card1 and srcUser:HasBuffID(80000250) then FrozenM = 0.25 + FrozenM end if srcUser:HasBuffID(52180) and srcUser:HasBuffID(81000050) then FrozenM = 0.2 + FrozenM end if srcUser:HasBuffID(56250) and srcUser:HasBuffID(81003180) then FrozenM = 0.2 + FrozenM end if srcUser:HasBuffID(54930) and srcUser:HasBuffID(54910) then FrozenM = 0.1 + FrozenM end local BloodM = 0 if srcUser:HasBuffID(37540) then BloodM = 0.05 + BloodM end if bits[CommonFun.StateEffect.Poison] == 1 and (Weapon == 40909 or Weapon == 140909) then return 1 + bloodrain end if bits[CommonFun.StateEffect.Poison] == 1 and (Weapon == 40945 or Weapon == 140945) then return 1 + bloodrain end if bits[CommonFun.StateEffect.Poison] == 1 and (Weapon == 62819 or Weapon == 162819 or Weapon == 63153 or Weapon == 163153) then return 1 + bloodrain end if bits[CommonFun.StateEffect.Poison] == 1 and (Weapon == 40766 or Weapon == 140766) then return 1 + bloodrain end if bits[CommonFun.StateEffect.Poison] == 1 then return 1 + bloodrain end if targetUser:GetBuffFromID(106131) and fromid == guid and (Profession == 92 or Profession == 93 or Profession == 94 or Profession == 95) then return 1 + Snatch end if bits[CommonFun.StateEffect.Dizzy] == 1 and (Profession == 92 or Profession == 93 or Profession == 94 or Profession == 95) then return 1 + Rogue + RuneDamage7 + Snatch end if (bits[CommonFun.StateEffect.NoMove] == 1 or targetUser:HasBuffID(106151)) and (Profession == 92 or Profession == 93 or Profession == 94 or Profession == 95) then return 1 + Rogue + RuneDamage8 + Snatch end if (bits[CommonFun.StateEffect.Dark] == 1 or targetUser:HasBuffID(106151)) and (Profession == 92 or Profession == 93 or Profession == 94 or Profession == 95) then return 1 + Rogue + Snatch + curse end if (bits[CommonFun.StateEffect.Dizzy] == 1 or bits[CommonFun.StateEffect.NoMove] == 1 or bits[CommonFun.StateEffect.Dark] == 1 or targetUser:HasBuffID(106151)) and (Profession == 92 or Profession == 93 or Profession == 94 or Profession == 95) then return 1 + Rogue + Snatch end if bits[CommonFun.StateEffect.Dizzy] == 1 and (Weapon == 41813 or Weapon == 141813) then return 1.15 + RuneDamage1 + RuneDamage3 + RuneDamage6 + DizzyRatio + Rogue end if bits[CommonFun.StateEffect.Dizzy] == 1 and (Weapon == 41811 or Weapon == 141811) then return 1 + 0.05 * RefineLv + RuneDamage1 + RuneDamage3 + RuneDamage6 + DizzyRatio + Rogue end if bits[CommonFun.StateEffect.Dizzy] == 1 and (Profession == 61 or Profession == 62 or Profession == 63 or Profession == 64 or Profession == 65 or Profession == 31 or Profession == 32 or Profession == 33 or Profession == 34 or Profession == 35 or Profession == 213 or Profession == 214 or Profession == 215) then return 1 + RuneDamage1 + RuneDamage3 + DizzyRatio end if bits[CommonFun.StateEffect.Freeze] == 1 then return 1 + Yishang + FrozenM end if bits[CommonFun.StateEffect.NoMove] == 1 then return 1 + RuneDamage2 end if bits[CommonFun.StateEffect.Silence] == 1 and (Profession == 122 or Profession == 123 or Profession == 124 or Profession == 125) then return 1 + RuneDamage4 + curse end if bits[CommonFun.StateEffect.Dizzy] == 1 and (Profession == 122 or Profession == 123 or Profession == 124 or Profession == 125) then return 1 + RuneDamage6 + DizzyRatio end if srcUser:HasBuffID(80113) and bits[CommonFun.StateEffect.Blood] == 1 then local skilllv_1 = srcUser:GetLernedSkillLevel(25) if 10 < skilllv_1 then return 1 + (skilllv_1 - 10) * 0.05 + BloodM end end if bits[CommonFun.StateEffect.Blood] == 1 then return 1 + Yishang + BloodM end if bits[CommonFun.StateEffect.Dizzy] == 1 and (Profession == 24 or Profession == 25 or Profession == 144 or Profession == 145 or Profession == 204 or Profession == 205 or Profession == 224 or Profession == 225 or srcUser:HasBuffID(231010)) then return 1 + Yishang + DizzyRatio end if (bits[CommonFun.StateEffect.Freeze] == 1 or bits[CommonFun.StateEffect.Blood] == 1 or bits[CommonFun.StateEffect.Burn] == 1) and (Profession == 24 or Profession == 25 or Profession == 144 or Profession == 145 or Profession == 204 or Profession == 205 or Profession == 224 or Profession == 225 or srcUser:HasBuffID(231010)) then return 1 + Yishang end if bits[CommonFun.StateEffect.Dizzy] == 1 then return 1 + DizzyRatio end local GemValue = srcUser:GetGemValue(91061) local RuneNum_mjhw = srcUser:GetRunePoint(153041) if bits[CommonFun.StateEffect.Fear] == 1 then return 1 + GemValue / 100000 + RuneNum_mjhw * 0.03 + curse end if bits[CommonFun.StateEffect.Curse] == 1 or bits[CommonFun.StateEffect.Fear] == 1 or bits[CommonFun.StateEffect.Dark] == 1 or bits[CommonFun.StateEffect.Silence] == 1 then return 1 + curse end if targetUser:HasBuffID(106090) then return 1 + Rogue end return 1 end
No formula links