Level 20
Meteor (HP percentage lost)
Skill #159001
Form a huge cross-shaped sanctuary in the specified area. Enemies entering it will suffer holy attribute magical damage.
Level 20
Meteor (HP percentage lost)
Level 19
Meteor (HP percentage lost)
Level 18
Meteor (HP percentage lost)
Level 17
Meteor (HP percentage lost)
Level 16
Meteor (HP percentage lost)
Level 15
Meteor (HP percentage lost)
Level 14
Meteor (HP percentage lost)
Level 13
Meteor (HP percentage lost)
Level 12
Meteor (HP percentage lost)
Level 11
Meteor (HP percentage lost)
Level 10
Meteor (HP percentage lost)
Level 9
Meteor (HP percentage lost)
Level 8
Meteor (HP percentage lost)
Level 7
Meteor (HP percentage lost)
Level 6
Meteor (HP percentage lost)
Level 5
Meteor (HP percentage lost)
Level 4
Meteor (HP percentage lost)
Level 3
Meteor (HP percentage lost)
Level 2
Meteor (HP percentage lost)
Level 1
Meteor (HP percentage lost)
Formulas & functions
Formula source
function CommonFun.calcBuff_8110(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = 0
if srcUser:HasBuffID(90003444) then
A = 100
end
return A
endFormula source
function CommonFun.calcBuff_8160(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local A = b
if srcUser:HasBuffID(a) then
A = c
end
return A
endFormula source
function CommonFun.calcDamage_5103(srcUser, targetUser, params, damageParam, logger)
local Int = srcUser:GetProperty("Int")
local Vit = srcUser:GetProperty("Vit")
local Luk = srcUser:GetProperty("Luk")
local MAtk = srcUser:GetProperty("MAtk")
local MAtkPer = srcUser:GetProperty("MAtkPer")
local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
if 1 <= IgnoreMDef then
IgnoreMDef = 1
end
local MRefine = srcUser:GetProperty("MRefine")
local enemy = srcUser:IsEnemy(targetUser)
local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, params, damageParam)
local targetDefElement = targetUser:GetProperty("DefAttr")
local ElementRate = CommonFun.calcMagicElement(srcUser, targetUser, params, damageParam)
if srcAtkElement == 6 and targetDefElement == 7 then
local GemValue = srcUser:GetGemValue(51022)
ElementRate = ElementRate + GemValue / 100000
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 race2 = targetUser.race
if srcUser:HasBuffID(49320) and srcUser:HasBuffID(49325) then
elseif srcUser:HasBuffID(49320) then
race2 = 2
end
local DefAttr2 = targetUser:GetProperty("DefAttr")
local AttrEffect = srcUser:GetProperty("AttrEffect2")
local bits = CommonFun.getBits(AttrEffect)
local damChangePer = damageParam.damChangePer
local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
local BaseMAtk = Int + math.floor(Int * Int / 100)
local MAtkFinal = ((MAtk - BaseMAtk) * (1 + MAtkPer) + BaseMAtk) * raceparam * bossparam * bossparam2
local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
local BaseLvDamage = 0
local IBaseLv = srcUser.BaseLv
if srcUser:HasBuffID(42110) then
BaseLvDamage = IBaseLv * 20
end
local Num1 = srcUser:GetRunePoint(52037)
local RuneDamage = Num1 * 0.3
local qumo = 1
if bits[CommonFun.AttrEffect2.Shiziqumo] == 1 then
qumo = 1.2
end
local Weapon = srcUser:GetEquipedID(7)
local B = 0
if Weapon == 41521 or Weapon == 141521 or Weapon == 41568 or Weapon == 141568 then
B = Luk * 50
end
local weaponRefineLv = srcUser:GetEquipedRefineLv(7)
if (srcUser:HasBuffID(90001413) or srcUser:HasBuffID(41980)) and 12 <= weaponRefineLv then
B = B * 2
end
if srcUser:HasBuffID(90001413) then
qumo = weaponRefineLv * 0.01 + qumo
end
if srcUser:HasBuffID(41980) then
qumo = weaponRefineLv * 0.01 + qumo
end
local weaponRefineLv2 = srcUser:GetEquipedRefineLv(1)
if srcUser:HasBuffID(90001423) then
qumo = weaponRefineLv2 * 0.01 + qumo
end
local equipRing = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_SHIELD)
if equipRing.id == 42582 or equipRing.id == 142582 then
qumo = equipRing.refinelv * 0.01 + qumo
end
local equipRingSD = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_SHIELD)
if equipRingSD.id == 42582 or equipRingSD.id == 142582 then
qumo = equipRingSD.refinelv * 0.01 * equipRingSD.quench_per / 100 + qumo
end
if srcUser:HasBuffID(90004454) then
qumo = qumo + 0.1
end
local skilllv_1 = srcUser:GetLernedSkillLevel(160)
local SkillPer = 0
if 10 < skilllv_1 then
SkillPer = (skilllv_1 - 10) * 0.1
end
local GemValue1 = srcUser:GetGemValue(51092)
local GemDam = 1 + GemValue1 / 100000
local RangeDam = srcUser:GetProperty("RangeDam")
local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
local fengbao = 1
local skilllv_qumo = srcUser:GetLernedSkillLevel(159)
local skilllv_fengbao = srcUser:GetLernedSkillLevel(5910)
local skilllv_fengbao1 = srcUser:GetLernedSkillLevel(5913)
if skillID == 5910 or skillID == 5914 then
damChangePer = skilllv_qumo
fengbao = 0.6 + 0.04 * skilllv_fengbao
if skillID == 5914 then
fengbao = fengbao * (skilllv_fengbao1 * 0.1)
end
end
local A = ((MAtkFinal * MDefReduc * (1 - MDamReduc2) + MRefine) * (1 - RefineMDamReduc) * (damChangePer + RuneDamage + SkillPer) + B * MDefReduc * (1 - MDamReduc2) * (1 - RefineMDamReduc) - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2)) * (1 + MDamIncrease) * ElementRate * elementparam2 * qumo * GemDam * (1 + RangeDam) * fengbao + BaseLvDamage
local skilllv_qumo1 = srcUser:GetLernedSkillLevel(5911)
if DefAttr2 ~= 6 and (skillID == 5910 or skillID == 5914) then
A = A * (1 + skilllv_qumo1 * 0.06)
end
local enemy = srcUser:IsEnemy(targetUser)
if enemy == false then
return 0
end
if A <= 1 then
return 1
end
local Num2 = srcUser:GetRunePoint(52030)
local GemValue = srcUser:GetGemValue(51091)
if (skillID == 5910 or skillID == 5914) and (race2 == 3 or race2 == 5) then
return A * 1.2
end
if race2 == 3 or DefAttr2 == 9 or race2 == 2 and srcUser:GetBuffActive(90003444) or skillID == 5910 or skillID == 5914 then
return A
elseif 0 < Num2 or 0 < GemValue then
return A * (Num2 * 0.25 + GemValue / 100000)
else
return 0, 0
end
endSkill JSON (Level 20)
{
"id": 159020,
"NameZh": "十字驱魔攻击",
"Level": 20,
"Icon": "skill_159001",
"Cost": 1,
"PeakLevel": 10,
"Desc": [
{
"id": 159000,
"params": [
2000,
7,
1.5
]
}
],
"RollType": 2,
"DamageType": 2,
"SkillType": "Attack",
"Camps": "Enemy",
"Launch_Range": 6,
"Fire_EP": 3,
"Target_EP": 3,
"Attack_EP": 3,
"SkillCost": {
"1": {
"itemID": 12521,
"num": 1
},
"sp": 120
},
"DelayCD": 3.5,
"Lead_Type": {
"CCT": 0,
"FCT": 8,
"type": 2
},
"Logic": "SkillPointRange",
"Logic_Param": {
"count": 7,
"interval": 1.5,
"isCountTrap": 1,
"no_select": 1,
"range": 3,
"range_num": 10,
"trap_effect": "MagnusExorcismus,LowRange_B2"
},
"Damage": [
{
"damChangePer": 20,
"elementparam": 6,
"type": 5103
}
],
"DamTime": {
"type": 1,
"value": 10
},
"Buff": {
"enemy": [
90003445,
90004455
]
},
"Pvp_buff": {
"enemy": [
90003445,
90004455
]
},
"CastAct": "reading",
"AttackAct": [
"use_magic"
],
"SE_cast": "Common/Magic_cast",
"SE_attack": "Skill/MagnusExorcismus",
"SE_hit": "Skill/StormGust_hit",
"description": {
"chinesesimplified": "陨石(百分比削血)",
"english": "Meteor (HP percentage lost)",
"german": "Meteor (HP Prozentsatz verloren)",
"portuguese": "Meteorito (Porcentagem de corte de sangue)",
"spanish": "Meteorito (porcentaje de HP perdido)"
}
}