
Cart Tornado
Lvl: 10
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 106
Range: 5
Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x100%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Lvl: 9
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 99
Range: 5
• Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x95%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Lvl: 8
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 92
Range: 5
• Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x90%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Lvl: 7
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 85
Range: 5
• Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x85%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Lvl: 6
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 78
Range: 5
• Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x80%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Lvl: 5
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 71
Range: 5
• Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x75%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Lvl: 4
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 64
Range: 5
• Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x70%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Lvl: 3
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 57
Range: 5
• Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x65%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Lvl: 2
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 50
Range: 5
• Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x60%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Lvl: 1
Attack
Physical
CD: 2 sec
Skill Delay: 2 sec
SP: 43
Range: 5
• Spin the cart to create a tornado in the designated area, and cause Wind Physical DMG ([Cart Attack] x55%) to all enemies within 3 meters per second. The tornado lasts for 4 seconds. Carts must be quipped to cast.
Formula
function CommonFun.calcDamage_6101(srcUser, targetUser, params, damageParam, logger)
local Str = srcUser:GetProperty("Str")
local Dex = srcUser:GetProperty("Dex")
local Luk = srcUser:GetProperty("Luk")
local Atk = srcUser:GetProperty("Atk")
local AtkPer = srcUser:GetProperty("AtkPer")
local DamIncrease = srcUser:GetProperty("DamIncrease")
local IgnoreDef = 0
local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
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 damChangePer = damageParam.damChangePer
local skilllv_1 = srcUser:GetLernedSkillLevel(266_LORD_KNIGHT:ENHANCED_CART)
local skilllv_2 = srcUser:GetLernedSkillLevel(1479_GUILLOTINE_CROSS:ENHANCED_CART)
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 AtkFinal = ((Atk - BaseAtk + skilllv_1 * 15 + skilllv_2 * 15) * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
local LongRangeDamReduc2 = targetUser:GetProperty("LongRangeDamReduc")
local BaseLvDamage = 0
local IBaseLv = srcUser.BaseLv
if srcUser:HasBuffID(42180_OLD_PAL_:MAX_STACK_0) then
BaseLvDamage = IBaseLv * 20
end
if srcUser:HasBuffID(42210_UNGRATEFUL_SOUL_:MAX_STACK_0) then
BaseLvDamage = IBaseLv * 20
end
if srcUser:HasBuffID(43790_1735_:MAX_STACK_0) or srcUser:HasBuffID(44000_1819_:MAX_STACK_0) or srcUser:HasBuffID(43580_ACADEMY_AXE_:MAX_STACK_0) then
BaseLvDamage = IBaseLv * 50
end
local num, numMax = srcUser:GetCartNums()
local Num1 = srcUser:GetRunePoint(61006_AESIR_EACH_SLOT_OF_THE_CART_INCREASES_0_5_CART_ATTACK_DAMAGE_AND_5_CART_ATTACK_SP_COST)
local Num2 = srcUser:GetRunePoint(61007_AESIR_EACH_SLOT_OF_THE_CART_INCREASES_1_CART_ATTACK_DAMAGE_AND_5_CART_ATTACK_SP_COST)
local Num3 = srcUser:GetRunePoint(61008)
local Num4 = srcUser:GetRunePoint(61009)
local Num5 = srcUser:GetRunePoint(61010)
local RuneDamage = (Num1 * 0.005 + Num2 * 0.01 + Num3 * 0.01 + Num4 * 0.005 + Num5 * 0.01) * numMax + 1
local Num6 = srcUser:GetRunePoint(130010_AESIR_DAMAGE_OF_CART_ATTACK_10)
local Num7 = srcUser:GetRunePoint(143027_AESIR_DAMAGE_OF_CART_ATTACK_6)
local RuneDamage2 = Num6 * 0.1 + Num7 * 0.06 + 1
local Numjs = srcUser:GetRunePoint(143024_AESIR_CART_ATTACK_DAMAGE_0_2_FOR_EACH_1_INCREASE_TO_YOUR_MOVE_SPD)
local MoveSpd = srcUser:GetProperty("MoveSpd")
local MoveRatio = 1 + (math.max(MoveSpd, 1) - 1) * 0.2 * Numjs
local GemValue1 = srcUser:GetGemValue(61082_CART_ATTACK_DMG_PERCENTAGE)
local GemValue2 = srcUser:GetGemValue(143022_CART_ATTACK_DMG_PERCENTAGE)
local GemValue3 = srcUser:GetGemValue(143062_CART_ATTACK_DMG_PERCENTAGE)
local GemDam = 1 + GemValue1 / 100000 + GemValue2 / 100000 + GemValue3 / 100000
if srcUser:HasBuffID(21430100_IGNORE_DEF_IN_OVER_THRUST_STATUS_:MAX_STACK_0) and srcUser:HasBuffID(96150_OVER_THRUST_:MAX_STACK_0) then
DefReduc = 1
end
local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
if skillID == 4400_CHRONOMANCER:CART_TORNADO or skillID == 4429_ROGUE:CART_TORNADO then
local skilllv_stc = srcUser:GetLernedSkillLevel(1478_GUILLOTINE_CROSS:CART_ATTACK)
local skilllv_ljf = srcUser:GetLernedSkillLevel(4400_CHRONOMANCER:CART_TORNADO)
local GemValueNew = srcUser:GetGemValue(143141_CART_TORNADO_DMG_PERCENTAGE)
damChangePer = (skilllv_stc * 0.5 + 2.5) * (skilllv_ljf * 0.05 + 0.5) * (1 + GemValueNew / 100000)
end
local A = ((AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * damChangePer * (1 - RefineDamReduc) * (1 + DamIncrease - LongRangeDamReduc2) - Vit2 * (1 + VitPer2)) * RuneDamage * RuneDamage2 * MoveRatio * GemDam + BaseLvDamage
local Weapon = srcUser:GetEquipedID(7_WEAPON)
local RefineLv7 = srcUser:GetEquipedRefineLv(7_WEAPON)
local beike = 0
if srcUser:HasBuffID(90000677_VECER_AXE_1_R8_:MAX_STACK_0) then
if 10 <= RefineLv7 and RefineLv7 < 15 then
beike = (RefineLv7 - 10) * 0.02
elseif 15 <= RefineLv7 then
beike = (RefineLv7 - 10) * 0.02 + 0.05
end
end
if srcUser:HasBuffID(41920_DESTROYER_S_WAR_AXE_:MAX_STACK_0) and 5 <= RefineLv7 then
beike = (RefineLv7 - 5) * 0.02
end
if Weapon == 41835_VECER_AXE_1 or Weapon == 141835_VECER_AXE_2 or Weapon == 41867_DESTROYER_S_WAR_AXE_1 or Weapon == 141867_DESTROYER_S_WAR_AXE_2 then
return A * (1.15 + beike)
end
if A <= 1 then
return 1
end
return A
end
Self
{
"id": 131701,
"BuffDesc": "Wind Dmg Up",
"BuffIcon": "skillbuff_commonbuff",
"BuffName": "Cart Tornado (wind Element Damage)",
"BuffRate": {
"Odds": 100
},
"BuffType": {
"isgain": 1,
"isdisperse": 1
},
"IconType": 1,
"BuffEffect": {
"type": "AttrChange",
"WindAtk": {
"a": 0,
"b": 0,
"c": 143142,
"type": 5020
}
}
}
Team
{
"id": 131701,
"BuffDesc": "Wind Dmg Up",
"BuffIcon": "skillbuff_commonbuff",
"BuffName": "Cart Tornado (wind Element Damage)",
"BuffRate": {
"Odds": 100
},
"BuffType": {
"isgain": 1,
"isdisperse": 1
},
"IconType": 1,
"BuffEffect": {
"type": "AttrChange",
"WindAtk": {
"a": 0,
"b": 0,
"c": 143142,
"type": 5020
}
}
}
Enemy
{
"id": 131700,
"BuffDesc": "Decrease moving speed",
"BuffIcon": "skillbuff_commonbuff",
"BuffName": "Cart Tornado (Slow)",
"BuffRate": {
"Odds": 100
},
"BuffType": {
"isgain": 0,
"isdisperse": 1
},
"IconType": 1,
"BuffEffect": {
"type": "AttrChange",
"MoveSpdPer": {
"a": 4420,
"b": -0.1,
"c": 0,
"type": 8
}
}
}
Formula
{
"CD": 2,
"id": 4429010,
"Buff": {
"self": [
131701
],
"team": [
131701
],
"enemy": [
131700
]
},
"Cost": 1,
"Desc": [
{
"id": 4400000,
"params": [
100
]
}
],
"Icon": "skill_4400001",
"Camps": "Enemy",
"Level": 10,
"Logic": "SkillSelfRange",
"Damage": [
{
"type": 6101,
"damChangePer": 0,
"elementparam": 1
}
],
"DescId": "##171554",
"NameZh": "##169635",
"DamTime": {
"type": 1,
"value": 1
},
"DelayCD": 2,
"Fire_EP": 3,
"SE_cast": "Common/Magic_cast",
"Pvp_buff": {
"self": [
131701
],
"team": [
131701
],
"enemy": [
131700
]
},
"RollType": 1,
"AttackAct": [
"use_skill"
],
"Attack_EP": 0,
"SE_attack": "Skill/Guardian_shoutuiche",
"SkillCost": {
"sp": 106
},
"SkillType": "Attack",
"Target_EP": 3,
"E_Attack_On": 1,
"Logic_Param": {
"count": 4,
"range": 3,
"interval": 1,
"no_select": 1,
"range_num": 15,
"follow_user": 1,
"isCountTrap": 1
},
"Launch_Range": 5,
"PreCondition": [
{
"type": 2,
"itemtype": 91
}
]
}