
Bio Explosion
Put biological bombs into the enemy's body, dealing Neutral M. DMG of 900% M.Atk per second to the enemy and all targets around. The effect lasts 9s, stackable
Skill Levels
• Put biological bombs into the enemy's body, dealing Neutral M. DMG of 720% M.Atk per second to the enemy and all targets around. The effect lasts 8s, stackable
• Put biological bombs into the enemy's body, dealing Neutral M. DMG of 540% M.Atk per second to the enemy and all targets around. The effect lasts 7s, stackable
• Put biological bombs into the enemy's body, dealing Neutral M. DMG of 360% M.Atk per second to the enemy and all targets around. The effect lasts 6s, stackable
• Put biological bombs into the enemy's body, dealing Neutral M. DMG of 180% M.Atk per second to the enemy and all targets around. The effect lasts 5s, stackable
Formula
1function CommonFun.calcBuff_59(srcUser, targetUser, a, b, c, d, lv)
2 if srcUser == nil or targetUser == nil then
3 return 0
4 end
5 local Int = srcUser:GetProperty("Int")
6 local Vit = srcUser:GetProperty("Vit")
7 local MAtk = srcUser:GetProperty("MAtk")
8 local skilllv_1 = srcUser:GetLernedSkillLevel(446_RUNEMASTER:BIO_EXPLOSION)
9 skillDamPer = skilllv_1 * 1.8
10 local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
11 local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
12 local srcAtkElement = 5
13 local targetDefElement = targetUser:GetProperty("DefAttr")
14 local MDef2 = targetUser:GetProperty("MDef")
15 local MDefPer2 = targetUser:GetProperty("MDefPer")
16 local Vit2 = targetUser:GetProperty("Vit")
17 local VitPer2 = targetUser:GetProperty("VitPer")
18 local Int2 = targetUser:GetProperty("Int")
19 local IntPer2 = targetUser:GetProperty("IntPer")
20 local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
21 local RefineMDamReduc = CommonFun.calcRefineMDamReduc(srcUser, targetUser)
22 local BaseMAtk = Int + math.floor(Int * Int / 100)
23 local MAtkFinal = MAtk
24 local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
25 local ResultDamInc = srcUser:GetProperty("ResultDamInc")
26 local ResultDamRes = targetUser:GetProperty("ResultDamRes")
27 local Master = srcUser:GetMasterUser()
28 if Master ~= nil and Master:HasBuffID(57200_DEMONIC_OVERSEER_CARD_:MAX_STACK_0) then
29 ResultDamInc = ResultDamInc + 0.15
30 end
31 local Result = 1 + ResultDamInc - ResultDamRes
32 Result = math.max(Result, 0.1)
33 local NeutralAtk = srcUser:GetProperty("NeutralAtk")
34 local BeNeutralDamPer = targetUser:GetProperty("BeNeutralDamPer")
35 local ele = 1 + NeutralAtk - BeNeutralDamPer
36 local A = (MAtkFinal * MDefReduc * (1 - MDamReduc2) - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2)) * CommonFun.GetElementRate(srcUser, srcAtkElement, targetUser, targetDefElement) * ele * skillDamPer * (1 + MDamIncrease) * (1 - RefineMDamReduc) * Result
37 local AttrFunction = srcUser:GetProperty("AttrFunction")
38 local bitfunc = CommonFun.getBits(AttrFunction)
39 if (targetUser.boss or targetUser.mini or targetUser.changelinepunish) and (targetUser.zoneType == 1 or targetUser.zoneType == 22) and targetUser.noPunishBoss == false and bitfunc[CommonFun.AttrFunction.JustInViceZone] == 1 and targetUser.isBossFromBranch == false then
40 A = 0
41 end
42 if CommonFun.checkAttrFunctionMiss(targetUser, srcUser) then
43 A = 0
44 end
45 if targetUser.boss and targetUser.zoneType == 22 and CommonFun.CheckStormBossMiss(targetUser, srcUser) then
46 A = 0
47 end
48 if targetUser:GetNpcID() == 30043_YEAR or targetUser:GetNpcID() == 280303_WILDNESS_SPIRIT_BEAST or targetUser:GetNpcID() == 56008_GOMORA or targetUser:GetNpcID() == 56009_BALTAN or targetUser:GetNpcID() == 56010_GOLZA or targetUser:GetNpcID() == 56011_BEMSTAR or targetUser:GetNpcID() == 56012_ELEKING or targetUser:GetNpcID() == 56013_KING_JOE then
49 A = 1
50 end
51 if targetUser:DamageAlways1() then
52 A = 1
53 end
54 if A <= 1 then
55 return -1
56 end
57 return -A
58end