CommonFun.calcBuff_100197 mapped buffs · 18 skills
function CommonFun.calcBuff_100(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local SilenceAtk = srcUser:GetProperty("SilenceAtk")
local SilenceDef2 = targetUser:GetProperty("SilenceDef")
local SlienceDam = 1 + SilenceAtk - SilenceDef2
if SlienceDam <= 0 then
SlienceDam = 0
end
local StateAtk = srcUser:GetProperty("StateAtk")
local StateDef2 = targetUser:GetProperty("StateDef")
local StateDam = 1 + StateAtk - StateDef2
if StateDam <= 0 then
StateDam = 0
end
local A = (lv * a + b) * SlienceDam * StateDam * CommonFun.calcAttrSilenceRate(srcUser, targetUser)
if A <= 0 then
return 0
end
return A
end
CommonFun.calcBuff_10000 mapped uses
function CommonFun.calcBuff_1000(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local SilenceAtk = srcUser:GetProperty("SilenceAtk")
local SilenceDef2 = targetUser:GetProperty("SilenceDef")
local SlienceDam = 1 + SilenceAtk - SilenceDef2
if SlienceDam <= 0 then
SlienceDam = 0
end
local StateAtk = srcUser:GetProperty("StateAtk")
local StateDef2 = targetUser:GetProperty("StateDef")
local StateDam = 1 + StateAtk - StateDef2
if StateDam <= 0 then
StateDam = 0
end
local A = (lv * a + b) * SlienceDam * StateDam * CommonFun.calcAttrSilenceTime(srcUser, targetUser)
if A <= 0 then
return 0
end
return A
end
CommonFun.calcBuff_10001020 mapped buffs · 1 skills
function CommonFun.calcBuff_100010(srcUser, targetUser, a, b, c, d, lv, damage)
if srcUser == nil or targetUser == nil then
return 0
end
local skilllv_1 = srcUser:GetLernedSkillLevel(5002)
local skilllv_2 = srcUser:GetLernedSkillLevel(1161)
local A = 20 + skilllv_1 * 6 + skilllv_2 * 10
return A
end
CommonFun.calcBuff_1000200 mapped uses
function CommonFun.calcBuff_100020(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local skilllv_1 = srcUser:GetLernedSkillLevel(1163)
local skilllv_2 = srcUser:GetLernedSkillLevel(5003)
local RefineLv = srcUser:GetEquipedRefineLv(7)
local A = math.min(0.1, skilllv_1 * 0.02)
if 10 <= RefineLv and 1 <= skilllv_1 then
A = A + (RefineLv - 10) * 0.01
end
if 0 <= skilllv_2 then
A = A * skilllv_2 * 0.05
end
return A
end
CommonFun.calcBuff_1000300 mapped uses
function CommonFun.calcBuff_100030(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local Attr = srcUser:GetProperty(CommonFun.GetAttrName(c))
local RefineLv1 = srcUser:GetEquipedRefineLv(7)
local skilllv_1 = srcUser:GetLernedSkillLevel(5102)
local A = Attr * (b * lv) / a + d
return A
end
CommonFun.calcBuff_1000400 mapped uses
function CommonFun.calcBuff_100040(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local Attr = srcUser:GetProperty(CommonFun.GetAttrName(c))
local RefineLv1 = srcUser:GetEquipedRefineLv(7)
local skilllv_1 = srcUser:GetLernedSkillLevel(5102)
local A = math.floor(Attr / a * 1000) * (b * lv) / 1000 + d
return A
end
CommonFun.calcBuff_1000500 mapped uses
function CommonFun.calcBuff_100050(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local skilllv_1 = srcUser:GetLernedSkillLevel(356)
local skilllv_2 = srcUser:GetLernedSkillLevel(5402)
local A = skilllv_1 * 4 + skilllv_2 * 2 + 10
return A
end
CommonFun.calcBuff_1000600 mapped uses
function CommonFun.calcBuff_100060(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local Luk = srcUser:GetProperty("Luk")
local skilllv_1 = srcUser:GetLernedSkillLevel(5503)
local skilllv_2 = srcUser:GetLernedSkillLevel(5553)
local A = math.floor(Luk / 10) + skilllv_1 + skilllv_2
return A
end
CommonFun.calcBuff_10007020 mapped buffs · 1 skills
function CommonFun.calcBuff_100070(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local targetRace = targetUser.race
local A = 0
if targetRace == 3 or targetRace == 5 then
A = 100
end
return A
end
CommonFun.calcBuff_1000800 mapped uses
function CommonFun.calcBuff_100080(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 5
local wuqi = srcUser:GetEquipTypeByPos(7)
local skilllv_1 = srcUser:GetLernedSkillLevel(6101)
local Num2 = 0
if wuqi == 250 then
Num2 = skilllv_1
end
A = A + Num2
return A
end
CommonFun.calcBuff_1000900 mapped uses
function CommonFun.calcBuff_100090(srcUser, targetUser, a, b, c, d, lv, damage)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skilllv_1 = srcUser:GetLernedSkillLevel(6103)
A = -damage * skilllv_1 * 0.025
return A
end
CommonFun.calcBuff_1001000 mapped uses
function CommonFun.calcBuff_100100(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local Num = srcUser:GetRunePoint(c)
local skill_lv = srcUser:GetLernedSkillLevel(5101)
local A = skill_lv * a + b + Num * d
return A
end
CommonFun.calcBuff_1001102 mapped buffs · 1 skills
function CommonFun.calcBuff_100110(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local skill_lv1 = srcUser:GetLernedSkillLevel(a)
local skill_lv2 = srcUser:GetLernedSkillLevel(b)
local A = (skill_lv1 + skill_lv2) * c + d
return A
end
CommonFun.calcBuff_10012022 mapped buffs · 1 skills
function CommonFun.calcBuff_100120(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local m = 0
if targetUser:GetNpcID() ~= 0 and srcUser:HasBuffID(1004041) then
m = 1
end
local skill_lv1 = srcUser:GetLernedSkillLevel(5401)
local A = skill_lv1 * m * 20
return A
end
CommonFun.calcBuff_1001300 mapped uses
function CommonFun.calcBuff_100130(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skill_lv1 = srcUser:GetLernedSkillLevel(5902)
local shengguang = 1
if srcUser:HasBuffID(1009002) then
shengguang = 3
end
local WeaponType = srcUser:GetEquipedWeaponType()
if WeaponType == 220 then
A = skill_lv1 * shengguang * 2
end
return A
end
CommonFun.calcBuff_1001400 mapped uses
function CommonFun.calcBuff_100140(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skill_lv1 = srcUser:GetLernedSkillLevel(6101)
local WeaponType = srcUser:GetEquipedWeaponType()
if WeaponType == 250 and 1 <= skill_lv1 then
A = 100
end
return A
end
CommonFun.calcBuff_1001500 mapped uses
function CommonFun.calcBuff_100150(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
if targetUser:HasBuffID(a) then
A = 100
end
return A
end
CommonFun.calcBuff_10016080 mapped buffs · 1 skills
function CommonFun.calcBuff_100160(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local WeaponType = srcUser:GetEquipedWeaponType()
if WeaponType == 220 then
A = 100
end
return A
end
CommonFun.calcBuff_10017040 mapped buffs · 1 skills
function CommonFun.calcBuff_100170(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local WeaponType = srcUser:GetEquipedWeaponType()
if WeaponType == 190 then
A = 100
end
return A
end
CommonFun.calcBuff_1001800 mapped uses
function CommonFun.calcBuff_100180(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skilllv_1 = srcUser:GetLernedSkillLevel(5703)
if targetUser:IsBuffFrom(1007000, srcUser:GetGuid()) and 1 <= skilllv_1 then
A = 100
end
return A
end
CommonFun.calcBuff_1001900 mapped uses
function CommonFun.calcBuff_100190(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skilllv_1 = srcUser:GetLernedSkillLevel(5702)
A = skilllv_1 * 0.1
return A
end
CommonFun.calcBuff_1002000 mapped uses
function CommonFun.calcBuff_100200(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 2500
local skilllv_1 = srcUser:GetLernedSkillLevel(5600)
local skilllv_2 = srcUser:GetLernedSkillLevel(5602)
A = (2500 - skilllv_1 * 100) * (1 - skilllv_2 * 0.06)
return A
end
CommonFun.calcBuff_1002100 mapped uses
function CommonFun.calcBuff_100210(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local Num = srcUser:GetRunePoint(c)
local RefineLv = srcUser:GetEquipedRefineLv(7)
local Ring1 = srcUser:GetEquipedID(7)
local diary = 0
local StateEffect = targetUser:GetProperty("StateEffect")
local bits = CommonFun.getBits(StateEffect)
if Ring1 == 63440 or Ring1 == 163440 or Ring1 == 63417 or Ring1 == 163417 then
diary = RefineLv
end
local card = 0
if srcUser:HasBuffID(53340) then
card = 3
end
if (bits[CommonFun.StateEffect.Poison] == 1 or bits[CommonFun.StateEffect.Blood] == 1 or bits[CommonFun.StateEffect.Burn] == 1 or bits[CommonFun.StateEffect.Dizzy] == 1 or bits[CommonFun.StateEffect.Freeze] == 1 or bits[CommonFun.StateEffect.Stone] == 1 or bits[CommonFun.StateEffect.Sleep] == 1 or bits[CommonFun.StateEffect.Fear] == 1 or bits[CommonFun.StateEffect.NoMove] == 1 or bits[CommonFun.StateEffect.Silence] == 1 or bits[CommonFun.StateEffect.Curse] == 1 or bits[CommonFun.StateEffect.Dark] == 1) and (srcUser:HasBuffID(43110) or srcUser:HasBuffLayer(43110, EBUFFERLAYER_SHADOW)) and srcUser:HasBuffID(42240) then
card = card + 5
end
if srcUser:HasBuffID(90004514) and srcUser:HasBuffID(90004515) then
card = card + 5
end
local skilllv_dashi = srcUser:GetLernedSkillLevel(5102)
local dashi = skilllv_dashi * 2
local A = lv * a + b + Num * d + diary * 0.3 + card + dashi
local skilllv_1 = srcUser:GetLernedSkillLevel(5103)
A = A * skilllv_1 * 0.1
return A
end
CommonFun.calcBuff_10022060 mapped buffs · 1 skills
function CommonFun.calcBuff_100220(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skilllv_1 = srcUser:GetLernedSkillLevel(a)
A = skilllv_1 * b + c
local Profession = targetUser:GetProfressionID()
if Profession == 82 or Profession == 83 or Profession == 84 then
A = 0
end
return A
end
CommonFun.calcBuff_1002300 mapped uses
function CommonFun.calcBuff_100230(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skilllv_1 = srcUser:GetLernedSkillLevel(a)
A = skilllv_1 * b + c
if srcUser:HasBuffID(1002004) then
A = A * 5
end
return A
end
CommonFun.calcBuff_1002400 mapped uses
function CommonFun.calcBuff_100240(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 1
local skilllv_1 = srcUser:GetLernedSkillLevel(6011)
if skilllv_1 == 1 or skilllv_1 == 2 then
A = 2
end
if skilllv_1 == 3 or skilllv_1 == 4 then
A = 3
end
if skilllv_1 == 5 then
A = 4
end
return A
end
CommonFun.calcBuff_1002500 mapped uses
function CommonFun.calcBuff_100250(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skilllv_1 = srcUser:GetLernedSkillLevel(6010)
local skilllv_2 = srcUser:GetLernedSkillLevel(6011)
local layer1 = srcUser:GetBuffLayer(1010201)
local layer2 = srcUser:GetBuffLayer(1010211)
local layer3 = srcUser:GetBuffLayer(1010221)
local layer = math.max(layer1, layer2, layer3)
A = (skilllv_1 * a + b) * (1 + (layer - 1) * (skilllv_2 * 0.05 + 0.15))
return A
end
CommonFun.calcBuff_1002600 mapped uses
function CommonFun.calcBuff_100260(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local RefineLv = srcUser:GetEquipedRefineLv(7)
local skilllv_1 = srcUser:GetLernedSkillLevel(5811)
local A = RefineLv * a * skilllv_1
return A
end
CommonFun.calcBuff_1002700 mapped uses
function CommonFun.calcBuff_100270(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local skilllv_1 = srcUser:GetLernedSkillLevel(1151)
local skilllv_2 = srcUser:GetLernedSkillLevel(5812)
local chaoxi = 0
local skillID = srcUser:GetCopySkillID()
if skillID == 93 or skillID == 81 or skillID == 78 or skillID == 82 or skillID == 1331 or skillID == 1329 or skillID == 800 then
chaoxi = skilllv_2 * 2
end
local A = (skilllv_1 * 2 + 3 + chaoxi) * (0.5 + 0.1 * skilllv_2)
return A
end
CommonFun.calcBuff_1002800 mapped uses
function CommonFun.calcBuff_100280(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local skilllv_1 = srcUser:GetLernedSkillLevel(1151)
local skilllv_2 = srcUser:GetLernedSkillLevel(5812)
local chaoxi = 0
local skillID = srcUser:GetCopySkillID()
if skillID == 93 or skillID == 81 or skillID == 78 or skillID == 82 or skillID == 1331 or skillID == 1329 then
chaoxi = skilllv_2 * 2
end
local A = skilllv_1 * 2 + 3 + chaoxi
return A
end
CommonFun.calcBuff_10029060 mapped buffs · 4 skills
function CommonFun.calcBuff_100290(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local StateEffect = targetUser:GetProperty("StateEffect")
local bits3 = CommonFun.getBits(StateEffect)
if bits3[CommonFun.StateEffect.Poison] == 1 then
A = 100
end
return A
end
CommonFun.calcBuff_1003000 mapped uses
function CommonFun.calcBuff_100300(srcUser, targetUser, a, b, c, d, lv)
local Int = srcUser:GetProperty("Int")
local Vit = srcUser:GetProperty("Vit")
local MAtk = srcUser:GetProperty("MAtk")
local MAtkPer = srcUser:GetProperty("MAtkPer")
local MaxHp = targetUser:GetProperty("MaxHp")
local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
if 1 <= IgnoreMDef then
IgnoreMDef = 1
end
local MRefine = srcUser:GetProperty("MRefine")
local RangeDam = srcUser:GetProperty("RangeDam")
local MDef2 = targetUser:GetProperty("MDef")
local MDefPer2 = targetUser:GetProperty("MDefPer")
local Vit2 = targetUser:GetProperty("Vit")
local VitPer2 = targetUser:GetProperty("VitPer")
local Int2 = targetUser:GetProperty("Int")
local IntPer2 = targetUser:GetProperty("IntPer")
local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
local RefineMDamReduc = targetUser:GetProperty("RefineMDamReduc")
local raceparam = 1
local srcRace = srcUser.race
local targetRace = targetUser.race
if srcUser:HasBuffID(49320) and srcUser:HasBuffID(49325) then
elseif srcUser:HasBuffID(49320) then
targetRace = 2
end
if targetUser:HasBuffID(49320) and targetUser:HasBuffID(49325) then
elseif targetUser:HasBuffID(49320) then
srcRace = 2
end
if nil == CommonFun.RaceProps[targetRace] then
return 0
end
if nil == CommonFun.RaceProps[srcRace] then
return 0
end
local raceInc = srcUser:GetProperty(CommonFun.RaceProps[targetRace][1])
local raceRed = targetUser:GetProperty(CommonFun.RaceProps[srcRace][2])
local raceparam = 1 + raceInc - raceRed
local mapid, maptype = srcUser:GetMapInfo()
if maptype == 2 or maptype == 4 then
local B = raceRed - raceInc
B = B < -1 and -1 or 1 < B and 1 or B
B = math.floor(B * 1000) / 1000
B = B + 0.3 * (1 - math.sin(B * 3.14 / 2))
raceparam = 1 - B
end
if raceparam <= 0.1 then
raceparam = 0.1
end
local srcAtkElement = 10
local targetDefElement = targetUser:GetProperty("DefAttr")
local ElementRate = CommonFun.GetElementRate(srcUser, srcAtkElement, targetUser, targetDefElement)
if (srcUser:HasBuffID(69650) or srcUser:HasBuffID(71090)) and 1 < ElementRate then
ElementRate = ElementRate * 1.1
end
if targetUser:HasBuffID(49130) then
ElementRate = math.min(ElementRate, 1)
end
if srcUser:HasBuffID(49210) then
ElementRate = ElementRate + 0.15
end
if srcUser:HasBuffID(77480) then
ElementRate = ElementRate + 0.1
end
if nil == CommonFun.NatureProps[srcAtkElement] or nil == CommonFun.NatureProps[targetDefElement] or nil == targetDefElement then
return 0
end
local elementRed = targetUser:GetProperty(CommonFun.NatureProps[srcAtkElement][2])
local elementAtk = srcUser:GetProperty(CommonFun.NatureProps[srcAtkElement][3])
local elementThrough = srcUser:GetProperty(CommonFun.NatureProps[srcAtkElement][4])
local elementResistance = targetUser:GetProperty(CommonFun.NatureProps[srcAtkElement][5])
if 0 <= elementRed then
elementRed = elementRed * math.max(1 - elementThrough, 0)
end
if 0 <= elementAtk then
elementAtk = elementAtk * math.max(1 - elementResistance, 0)
end
local elementparam = ElementRate
local elementparam2 = 1 + elementAtk - elementRed
local mapid, maptype = srcUser:GetMapInfo()
if maptype == 2 or maptype == 4 then
local B = elementRed - elementAtk
B = B < -1 and -1 or 1 < B and 1 or B
B = math.floor(B * 1000) / 1000
B = B + 0.3 * (1 - math.sin(B * 3.14 / 2))
elementparam2 = 1 - B
end
if elementparam2 <= 0.1 then
elementparam2 = 0.1
end
if elementparam2 <= 0.1 then
elementparam2 = 0.1
end
local ele = elementparam * elementparam2
if targetDefElement == nil or ElementRate == nil or elementRed == nil or elementAtk == nil then
ele = 1
end
local skilllv_1 = srcUser:GetLernedSkillLevel(5110)
local NpcParam = CommonFun.NpcParam(srcUser, targetUser, params, damageParam, logger)
local BaseMAtk = Int + math.floor(Int * Int / 100)
local MAtkFinal = ((MAtk - BaseMAtk) * (1 + MAtkPer) + BaseMAtk) * ele * raceparam * NpcParam
local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
local A = -((MAtkFinal * MDefReduc * (1 - MDamReduc2) + MRefine) * (skilllv_1 * 0.7 + 2.6) * (1 - RefineMDamReduc) * (1 + MDamIncrease) - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2)) * (1 + RangeDam)
if targetUser:GetNpcID() ~= 0 then
A = A * 2
end
local AttrFunction = srcUser:GetProperty("AttrFunction")
local bitfunc = CommonFun.getBits(AttrFunction)
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
A = 0
end
if CommonFun.checkAttrFunctionMiss(targetUser, srcUser) then
A = 0
end
if targetUser.boss and targetUser.zoneType == 22 and CommonFun.CheckStormBossMiss(targetUser, srcUser) then
A = 0
end
if targetUser:GetNpcID() == 30043 or targetUser:GetNpcID() == 280303 or targetUser:GetNpcID() == 56008 or targetUser:GetNpcID() == 56009 or targetUser:GetNpcID() == 56010 or targetUser:GetNpcID() == 56011 or targetUser:GetNpcID() == 56012 or targetUser:GetNpcID() == 56013 then
A = -1
end
if targetUser:DamageAlways1() then
A = -1
end
return A
end
CommonFun.calcBuff_1003100 mapped uses
function CommonFun.calcBuff_100310(srcUser, targetUser, a, b, c, d, lv)
local Int = srcUser:GetProperty("Int")
local Vit = srcUser:GetProperty("Vit")
local MAtk = srcUser:GetProperty("MAtk")
local MAtkPer = srcUser:GetProperty("MAtkPer")
local MaxHp = targetUser:GetProperty("MaxHp")
local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
if 1 <= IgnoreMDef then
IgnoreMDef = 1
end
local MRefine = srcUser:GetProperty("MRefine")
local RangeDam = srcUser:GetProperty("RangeDam")
local MDef2 = targetUser:GetProperty("MDef")
local MDefPer2 = targetUser:GetProperty("MDefPer")
local Vit2 = targetUser:GetProperty("Vit")
local VitPer2 = targetUser:GetProperty("VitPer")
local Int2 = targetUser:GetProperty("Int")
local IntPer2 = targetUser:GetProperty("IntPer")
local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
local RefineMDamReduc = targetUser:GetProperty("RefineMDamReduc")
local raceparam = 1
local srcRace = srcUser.race
local targetRace = targetUser.race
if srcUser:HasBuffID(49320) and srcUser:HasBuffID(49325) then
elseif srcUser:HasBuffID(49320) then
targetRace = 2
end
if targetUser:HasBuffID(49320) and targetUser:HasBuffID(49325) then
elseif targetUser:HasBuffID(49320) then
srcRace = 2
end
if nil == CommonFun.RaceProps[targetRace] then
return 0
end
if nil == CommonFun.RaceProps[srcRace] then
return 0
end
local raceInc = srcUser:GetProperty(CommonFun.RaceProps[targetRace][1])
local raceRed = targetUser:GetProperty(CommonFun.RaceProps[srcRace][2])
local raceparam = 1 + raceInc - raceRed
local mapid, maptype = srcUser:GetMapInfo()
if maptype == 2 or maptype == 4 then
local B = raceRed - raceInc
B = B < -1 and -1 or 1 < B and 1 or B
B = math.floor(B * 1000) / 1000
B = B + 0.3 * (1 - math.sin(B * 3.14 / 2))
raceparam = 1 - B
end
if raceparam <= 0.1 then
raceparam = 0.1
end
local srcAtkElement = 10
local targetDefElement = targetUser:GetProperty("DefAttr")
local ElementRate = CommonFun.GetElementRate(srcUser, srcAtkElement, targetUser, targetDefElement)
if (srcUser:HasBuffID(69650) or srcUser:HasBuffID(71090)) and 1 < ElementRate then
ElementRate = ElementRate * 1.1
end
if targetUser:HasBuffID(49130) then
ElementRate = math.min(ElementRate, 1)
end
if srcUser:HasBuffID(49210) then
ElementRate = ElementRate + 0.15
end
if srcUser:HasBuffID(77480) then
ElementRate = ElementRate + 0.1
end
if nil == CommonFun.NatureProps[srcAtkElement] or nil == CommonFun.NatureProps[targetDefElement] or nil == targetDefElement then
return 0
end
local elementRed = targetUser:GetProperty(CommonFun.NatureProps[srcAtkElement][2])
local elementAtk = srcUser:GetProperty(CommonFun.NatureProps[srcAtkElement][3])
local elementThrough = srcUser:GetProperty(CommonFun.NatureProps[srcAtkElement][4])
local elementResistance = targetUser:GetProperty(CommonFun.NatureProps[srcAtkElement][5])
if 0 <= elementRed then
elementRed = elementRed * math.max(1 - elementThrough, 0)
end
if 0 <= elementAtk then
elementAtk = elementAtk * math.max(1 - elementResistance, 0)
end
local elementparam = ElementRate
local elementparam2 = 1 + elementAtk - elementRed
local mapid, maptype = srcUser:GetMapInfo()
if maptype == 2 or maptype == 4 then
local B = elementRed - elementAtk
B = B < -1 and -1 or 1 < B and 1 or B
B = math.floor(B * 1000) / 1000
B = B + 0.3 * (1 - math.sin(B * 3.14 / 2))
elementparam2 = 1 - B
end
if elementparam2 <= 0.1 then
elementparam2 = 0.1
end
if elementparam2 <= 0.1 then
elementparam2 = 0.1
end
local ele = elementparam * elementparam2
if targetDefElement == nil or ElementRate == nil or elementRed == nil or elementAtk == nil then
ele = 1
end
local skilllv_1 = srcUser:GetLernedSkillLevel(5110)
local skilllv_2 = srcUser:GetLernedSkillLevel(5111)
local NpcParam = CommonFun.NpcParam(srcUser, targetUser, params, damageParam, logger)
local BaseMAtk = Int + math.floor(Int * Int / 100)
local MAtkFinal = ((MAtk - BaseMAtk) * (1 + MAtkPer) + BaseMAtk) * ele * raceparam * NpcParam
local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
local A = -((MAtkFinal * MDefReduc * (1 - MDamReduc2) + MRefine) * (skilllv_1 * 0.7 + 3.6) * (1 - RefineMDamReduc) * (1 + MDamIncrease) - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2)) * (1 + RangeDam) * (0.1 * skilllv_2 + 0.5)
if targetUser:GetNpcID() ~= 0 then
A = A * 2
end
local AttrFunction = srcUser:GetProperty("AttrFunction")
local bitfunc = CommonFun.getBits(AttrFunction)
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
A = 0
end
if CommonFun.checkAttrFunctionMiss(targetUser, srcUser) then
A = 0
end
if targetUser.boss and targetUser.zoneType == 22 and CommonFun.CheckStormBossMiss(targetUser, srcUser) then
A = 0
end
if targetUser:GetNpcID() == 30043 or targetUser:GetNpcID() == 280303 or targetUser:GetNpcID() == 56008 or targetUser:GetNpcID() == 56009 or targetUser:GetNpcID() == 56010 or targetUser:GetNpcID() == 56011 or targetUser:GetNpcID() == 56012 or targetUser:GetNpcID() == 56013 then
A = -1
end
if targetUser:DamageAlways1() then
A = -1
end
return A
end
CommonFun.calcBuff_1003200 mapped uses
function CommonFun.calcBuff_100320(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local Skilllv = srcUser:GetLernedSkillLevel(5613)
local A = (math.ceil(Skilllv / 2) * 0.05 + 0.25) * -1
return A
end
CommonFun.calcBuff_1003300 mapped uses
function CommonFun.calcBuff_100330(srcUser, targetUser, a, b, c, d, lv, damage)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skilllv_1 = srcUser:GetLernedSkillLevel(5313)
A = -damage * skilllv_1 * 0.04
return A
end
CommonFun.calcBuff_1003400 mapped uses
function CommonFun.calcBuff_100340(srcUser, targetUser, a, b, c, d, lv, damage)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 3
local Agi = srcUser:GetProperty("Agi")
local skilllv_leishe = srcUser:GetLernedSkillLevel(5611)
if 1 <= skilllv_leishe then
A = math.floor(Agi / (65 - 5 * skilllv_leishe)) + 3
end
return A
end
CommonFun.calcBuff_100350120 mapped buffs · 1 skills
function CommonFun.calcBuff_100350(srcUser, targetUser, a, b, c, d, lv, damage)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
if targetUser:HasBuffID(1007103) then
A = 100
end
return A
end
CommonFun.calcBuff_1003600 mapped uses
function CommonFun.calcBuff_100360(srcUser, targetUser, a, b, c, d, lv, damage)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
if targetUser:HasBuffID(1007103) then
local skill_shenmang = targetUser:GetBuffLevel(1007103)
A = skill_shenmang * 0.06
end
return A
end
CommonFun.calcBuff_1003700 mapped uses
function CommonFun.calcBuff_100370(srcUser, targetUser, a, b, c, d, lv, damage)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skilllv_1 = srcUser:GetLernedSkillLevel(5212)
A = -damage * skilllv_1 * 0.02
return A
end
CommonFun.calcBuff_1003802 mapped buffs · 1 skills
function CommonFun.calcBuff_100380(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
local skilllv_1 = srcUser:GetLernedSkillLevel(5510)
local skilllv_2 = srcUser:GetLernedSkillLevel(5560)
if targetUser:IsBuffFrom(1005100, srcUser:GetGuid()) and (1 <= skilllv_1 or 1 <= skilllv_2) then
A = 100
end
return A
end
CommonFun.calcBuff_10039020 mapped buffs · 1 skills
function CommonFun.calcBuff_100390(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 100
local Profession = targetUser:GetProfressionID()
if Profession == 72 or Profession == 73 or Profession == 74 then
A = 0
end
return A
end
CommonFun.calcBuff_1004000 mapped uses
function CommonFun.calcBuff_100400(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local skill = srcUser:GetLernedSkillLevel(422)
local skilllv_1 = srcUser:GetLernedSkillLevel(432)
local skilllv_2 = srcUser:GetLernedSkillLevel(464)
local skilllv_3 = srcUser:GetLernedSkillLevel(5311)
local Luk = srcUser:GetProperty("Luk")
local Dex = srcUser:GetProperty("Dex")
local Rate = skill
local effect = 0
if 0 < skilllv_1 and skilllv_1 <= 10 then
effect = 10 + 5 * skilllv_1
elseif 10 < skilllv_1 then
effect = 60 + (skilllv_1 - 10) * 2
end
Rate = skill + math.min(effect, (Luk + Dex) / 5) + skilllv_3 * 2
local Weapon = srcUser:GetEquipedID(7)
if Weapon == 41545 or Weapon == 141545 or Weapon == 41567 or Weapon == 141567 then
Rate = Rate + 5
end
if srcUser:HasBuffID(53370) then
Rate = Rate + 5
end
local pos = 0
if CommonFun.IsInRate(Rate, srcUser:GetRandom()) then
pos = 7
if 0 < skilllv_2 and CommonFun.IsInRate(skilllv_2 * 10 + skilllv_3 * 2, srcUser:GetRandom()) then
pos = 107
end
end
return pos
end
CommonFun.calcBuff_1004100 mapped uses
function CommonFun.calcBuff_100410(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local skill = srcUser:GetLernedSkillLevel(422)
local skilllv_1 = srcUser:GetLernedSkillLevel(432)
local skilllv_2 = srcUser:GetLernedSkillLevel(463)
local skilllv_3 = srcUser:GetLernedSkillLevel(5311)
local Luk = srcUser:GetProperty("Luk")
local Dex = srcUser:GetProperty("Dex")
local Rate = skill
local effect = 0
if 0 < skilllv_1 and skilllv_1 <= 10 then
effect = 10 + 5 * skilllv_1
elseif 10 < skilllv_1 then
effect = 60 + (skilllv_1 - 10) * 2
end
Rate = skill + math.min(effect, (Luk + Dex) / 5) + skilllv_3 * 2
local Weapon = srcUser:GetEquipedID(7)
if Weapon == 41545 or Weapon == 141545 or Weapon == 41567 or Weapon == 141567 then
Rate = Rate + 5
end
if srcUser:HasBuffID(53370) then
Rate = Rate + 5
end
local pos = 0
if CommonFun.IsInRate(Rate, srcUser:GetRandom()) then
pos = 2
if 0 < skilllv_2 and CommonFun.IsInRate(skilllv_2 * 10 + skilllv_3 * 2, srcUser:GetRandom()) then
pos = 208
end
end
return pos
end
CommonFun.calcBuff_1004200 mapped uses
function CommonFun.calcBuff_100420(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local Int = srcUser:GetProperty("Int")
local MaxHp = targetUser:GetProperty("MaxHp")
local skilllv_1 = srcUser:GetLernedSkillLevel(1281)
local Num = srcUser:GetRunePoint(64020)
local mapid, maptype = srcUser:GetMapInfo()
local pvpRatio = 1
if maptype == 2 or maptype == 4 then
local GemValue = srcUser:GetGemValue(61012)
pvpRatio = 0.25 * (1 + GemValue / 100000)
end
local A = MaxHp * ((skilllv_1 * 0.02 + 0.02) * (1 + Int / 100) * (1 + 0.05 * Num) * pvpRatio)
local AttrEffect = targetUser:GetProperty("AttrEffect2")
local bits = CommonFun.getBits(AttrEffect)
if bits[CommonFun.AttrEffect2.BeMagicMachine] ~= 1 and targetUser:HasBuffID(132350) == false then
A = 0
end
local HealtoDam = targetUser:GetBuffLevel(129100)
local DamRatio = 1
if targetUser:HasBuffID(129100) then
DamRatio = -0.1 * HealtoDam
end
local HealReduce = targetUser:GetBuffLevel(136500)
if targetUser:HasBuffID(136500) then
DamRatio = 1 - (0.2 + 0.03 * HealReduce)
end
return A * DamRatio
end
CommonFun.calcBuff_10043022 mapped buffs · 1 skills
function CommonFun.calcBuff_100430(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local m = 1
if targetUser:GetNpcID() ~= 0 then
m = 0
end
local skill_lv1 = srcUser:GetLernedSkillLevel(5401)
local A = skill_lv1 * m * 4
return A
end
CommonFun.calcBuff_1004400 mapped uses
function CommonFun.calcBuff_100440(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 12000
local skilllv_1 = srcUser:GetLernedSkillLevel(5201)
A = A - skilllv_1 * 2000
return A
end
CommonFun.calcBuff_1004500 mapped uses
function CommonFun.calcBuff_100450(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = a * lv + b
if srcUser:HasBuffID(95307) then
A = 0
end
return A
end