Level 10
##5400000
Skill #5400001
Level 10
##5400000
Level 9
##5400000
Level 8
##5400000
Level 7
##5400000
Level 6
##5400000
Level 5
##5400000
Level 4
##5400000
Level 3
##5400000
Level 2
##5400000
Level 1
##5400000
Formulas & functions
Formula source
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
endFormula source
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
endFormula source
function CommonFun.calcDamage_7402(srcUser, targetUser, params, damageParam, logger)
local Str = srcUser:GetProperty("Str")
local Dex = srcUser:GetProperty("Dex")
local Luk = srcUser:GetProperty("Luk")
local Int = srcUser:GetProperty("Int")
local Atk = srcUser:GetProperty("Atk")
local AtkPer = srcUser:GetProperty("AtkPer")
local DamIncrease = srcUser:GetProperty("DamIncrease")
local MAtk = srcUser:GetProperty("MAtk")
local MAtkPer = srcUser:GetProperty("MAtkPer")
local IgnoreDef = 0
local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
local WeaponType = srcUser:GetEquipedWeaponType()
if targetUser.boss or targetUser.mini then
IgnoreDef = IgnoreDef1
else
IgnoreDef = IgnoreDef1 + IgnoreDef2
end
if 1 <= IgnoreDef then
IgnoreDef = 1
end
local Refine = srcUser:GetProperty("Refine")
local Def2 = targetUser:GetProperty("Def")
local DefPer2 = targetUser:GetProperty("DefPer")
local Vit2 = targetUser:GetProperty("Vit")
local VitPer2 = targetUser:GetProperty("VitPer")
local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
local RefineDamReduc = targetUser:GetProperty("RefineDamReduc")
local MRefine = srcUser:GetProperty("MRefine")
local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
if 1 <= IgnoreMDef then
IgnoreMDef = 1
end
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 damChangePer = damageParam.damChangePer
local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
local bodyparam = CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
local elementparam = CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
local bodyparam2 = CommonFun.CalcBodyParam2(srcUser, targetUser, params, damageParam, logger)
local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
local BaseAtk = Str * 2 + math.floor(Str * Str / 100) + math.floor(Dex / 5) + math.floor(Luk / 5)
local HpAtk = 0
local Hp = srcUser:GetProperty("Hp")
if srcUser:HasBuffID(56420) and srcUser:HasBuffID(56430) == false then
HpAtk = math.min(Hp * 0.05, Atk * (1 + AtkPer))
elseif srcUser:HasBuffID(56430) then
HpAtk = math.min(Hp * 0.05, Atk * (1 + AtkPer) + MAtk * (1 + MAtkPer))
end
local AtkFinal = (((Atk - BaseAtk) * (1 + AtkPer) + HpAtk) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
local ShortRangeDamReduc2 = targetUser:GetProperty("ShortRangeDamReduc")
local Najia = 0
local RefineLv = srcUser:GetEquipedRefineLv(1)
if srcUser:HasBuffID(90001267) then
Najia = 1 + RefineLv / 100 * 20
end
local equipRing = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_SHIELD)
if equipRing.id == 42583 or equipRing.id == 142583 then
Najia = 1 + equipRing.refinelv / 100 * 20
end
local equipRingSD = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_SHIELD)
if equipRingSD.id == 42583 or equipRingSD.id == 142583 then
Najia = 1 + equipRingSD.refinelv / 100 * 20 * equipRingSD.quench_per / 100
end
local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
local gsz = 1
local Fifth = 1
local skilllv_xsz = srcUser:GetLernedSkillLevel(1182)
if skillID == 3808 then
local skilllv_xsz = srcUser:GetLernedSkillLevel(1182)
local skilllv_gsz = srcUser:GetLernedSkillLevel(3808)
damChangePer = 5.2 + skilllv_xsz * 0.8
local GemValue = srcUser:GetGemValue(72151)
local GemDam = 1 + GemValue / 100000
gsz = (1 + skilllv_gsz * 0.05) * GemDam
if srcUser:HasBuffID(90004234) then
Fifth = Fifth + 0.15
end
end
if skillID == 5400 or skillID == 5404 then
damChangePer = 4.6 + skilllv_xsz * 1.4
end
local BaseMAtk = Int + math.floor(Int * Int / 100)
local MAtkFinal = ((MAtk - BaseMAtk) * (1 + MAtkPer) * elementparam * elementparam2 + BaseMAtk) * raceparam * bossparam * bossparam2
local A = ((AtkFinal + MAtkFinal) * DefReduc * (1 - DamReduc2) + Refine) * (damChangePer + Najia) * (1 + DamIncrease - ShortRangeDamReduc2) * (1 - RefineDamReduc) - Vit2 * (1 + VitPer2)
if A <= 1 then
A = 1
end
local Num = srcUser:GetRunePoint(74030)
local RuneDamage = 1 + Num * 0.07
local Card = 1
if srcUser:HasBuffID(52790) then
Card = 1.1
end
local EquipDamage = 1
if srcUser:HasBuffID(41770) then
EquipDamage = EquipDamage + 0.3
end
if srcUser:HasBuffID(90001253) and srcUser:HasBuffID(90001267) then
EquipDamage = EquipDamage + 0.1
end
if srcUser:HasBuffID(41770) and srcUser:HasBuffID(90001267) then
EquipDamage = EquipDamage + 0.1
end
if srcUser:HasBuffID(90001253) and srcUser:HasBuffID(43300) then
EquipDamage = EquipDamage + 0.1
end
if srcUser:HasBuffID(41770) and srcUser:HasBuffID(43300) then
EquipDamage = EquipDamage + 0.1
end
if equipRingSD.id ~= 0 then
if srcUser:HasBuffID(90001253) and srcUser:HasBuffLayer(43300, EBUFFERLAYER_SHADOW) then
EquipDamage = EquipDamage + 0.1
end
if srcUser:HasBuffID(41770) and srcUser:HasBuffLayer(43300, EBUFFERLAYER_SHADOW) then
EquipDamage = EquipDamage + 0.1
end
end
local equipRingarmour = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_ARMOUR)
if equipRingarmour.id == 42088 or equipRingarmour.id == 142088 then
EquipDamage = EquipDamage + 0.1
end
local equipRingSDarmour = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_ARMOUR)
if equipRingSDarmour.id == 42088 or equipRingSDarmour.id == 142088 then
EquipDamage = EquipDamage + 0.1 * equipRingSDarmour.quench_per / 100
end
local RefineLv_wq = srcUser:GetEquipedRefineLv(7)
if srcUser:HasBuffID(40380) or srcUser:HasBuffID(41770) then
EquipDamage = EquipDamage + 0.02 * RefineLv_wq
end
local GemValue = srcUser:GetGemValue(72041)
local GemDam = 1 + GemValue / 100000
local cj = 1
local hasbuff = false
if srcUser.isServerCall then
hasbuff = srcUser:GetBuffActive(130071)
else
hasbuff = srcUser:HasBuffID(130071)
end
if hasbuff == true then
local skilllv_qh = srcUser:GetLernedSkillLevel(3828)
cj = 1.3 + skilllv_qh * 0.06
if srcUser.isServerCall then
srcUser:AddBuff(130072, srcUser:GetGuid())
end
end
local zhanji = 1
local Weapon = srcUser:GetEquipedID(7)
local RefineLv = srcUser:GetEquipedRefineLv(7)
local HolyEquip = 1
if Weapon == 40319 or Weapon == 140319 then
HolyEquip = 1 + 0.05 * RefineLv
end
if Weapon == 40360 or Weapon == 140360 then
HolyEquip = 1 + 0.05 * RefineLv
end
if skillID == 5400 or skillID == 5404 then
local skilllv_zhanji = srcUser:GetLernedSkillLevel(5400)
local skilllv_zhanji3 = srcUser:GetLernedSkillLevel(5403)
local count = params.hitedCount
local CriDamPer = srcUser:GetProperty("CriDamPer")
local Cri = srcUser:GetProperty("Cri")
local EquipASPD = srcUser:GetProperty("EquipASPD")
local AtkSpd = srcUser:GetProperty("AtkSpd")
zhanji = (0.8 + 0.04 * skilllv_zhanji) * (math.floor((CriDamPer * 100 + Cri + (AtkSpd - 1) * 50) / 5) * skilllv_zhanji3 * 0.001 + 1) * (count * 0.05 + 0.95)
end
local Result = A * RuneDamage * Card * EquipDamage * GemDam * gsz * cj * Fifth * zhanji
if (srcUser:HasBuffID(115090) or srcUser:HasBuffID(115091)) and skillID == 5404 then
elementparam = 5
local Hp = srcUser:GetProperty("Hp")
local MaxHp = srcUser:GetProperty("MaxHp")
local skilllv_1 = srcUser:GetLernedSkillLevel(361)
local Hp_ratio = 1
if srcUser:HasBuffID(22001140) then
Hp_ratio = 1 + (MaxHp - Hp) / (3 * MaxHp)
end
local mapid, maptype = srcUser:GetMapInfo()
local pvpRatio = 1
if maptype == 2 or maptype == 4 then
pvpRatio = 0.25
end
local dam = 0
if srcUser:HasBuffID(90004914) then
DefReduc = 1
end
if 5 < skilllv_1 then
dam = ((AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * (skilllv_1 - 5) * 0.3 * (1 - RefineDamReduc) * (1 + DamIncrease) - Vit2 * (1 + VitPer2)) * HolyEquip
end
if Hp > MaxHp * 0.09 then
local DamGem = srcUser:GetGemValue(72161)
local Fifth = 1
if srcUser:HasBuffID(90004914) then
Fifth = 1.15
end
Result = (MaxHp * 0.09 * (1 + math.max((skilllv_1 - 1) * 0.1, 0.4)) * pvpRatio * (1 - RefineDamReduc) + dam) * (1 + DamGem / 100000) * Fifth * Hp_ratio
end
end
return Result
endSkill JSON (Level 10)
{
"id": 5400010,
"NameZh": "瞬间斩击",
"Level": 10,
"Icon": "skill_5400001",
"Cost": 1,
"Desc": [
{
"id": 5400000,
"params": [
120
]
}
],
"RollType": 1,
"DamageType": 1,
"SkillType": "Attack",
"Camps": "Enemy",
"Launch_Range": 3,
"Fire_EP": 3,
"Target_EP": 2,
"Attack_EP": 2,
"CD": 1,
"FixCD": 1,
"SkillCost": {
"sp": 25
},
"DelayCD": 1,
"Logic": "SkillTargetPoint",
"Logic_Param": {
"count": 1,
"effect": "sfx_shizijun_DS_SJZJ_Hit_prf,LowRange_B2",
"fieldarea_cannot_immune": 1,
"hideClientDamage": 1,
"interval": 1,
"isCountTrap": 1,
"loop": false,
"noAttackSpeed": 1,
"no_select": 1,
"range": 3
},
"Damage": [
{
"damChangePer": 1,
"type": 7402
}
],
"DamTime": {
"type": 1,
"value": 1
},
"Buff": {
"enemy": [
1004020,
1004021
]
},
"Pvp_buff": {
"enemy": [
1004020,
1004021
]
},
"AttackAct": [
"attack"
],
"SE_attack": "Skill/sfx_skill_master_chop_crusade_attack_01",
"SE_hit": "Skill/sfx_skill_master_chop_crusade_hit_01",
"description": {
"chinesesimplified": "##5400000",
"english": "##5400000",
"german": "##5400000",
"portuguese": "##5400000",
"spanish": "##5400000"
}
}