Combo Arrow

Combo Arrow

Lv 10AttackPhysical

Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x80% + [Triangle Shot] x150%)to a single enemy. Bows must be equipped to release this skill

CD: 1.5 sec
Range: 5

Skill Levels

Lvl: 9
Attack
Physical
CD: 1.5 sec
Skill Delay: 1.5 sec
SP: 76
Range: 5

• Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x77% + [Triangle Shot] x145%)to a single enemy. Bows must be equipped to release this skill

Lvl: 8
Attack
Physical
CD: 1.5 sec
Skill Delay: 1.5 sec
SP: 72
Range: 5

• Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x74% + [Triangle Shot] x140%)to a single enemy. Bows must be equipped to release this skill

Lvl: 7
Attack
Physical
CD: 1.5 sec
Skill Delay: 1.5 sec
SP: 68
Range: 5

• Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x71% + [Triangle Shot] x135%)to a single enemy. Bows must be equipped to release this skill

Lvl: 6
Attack
Physical
CD: 1.5 sec
Skill Delay: 1.5 sec
SP: 64
Range: 5

• Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x68% + [Triangle Shot] x130%)to a single enemy. Bows must be equipped to release this skill

Lvl: 5
Attack
Physical
CD: 1.5 sec
Skill Delay: 1.5 sec
SP: 60
Range: 5

• Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x65% + [Triangle Shot] x125%)to a single enemy. Bows must be equipped to release this skill

Lvl: 4
Attack
Physical
CD: 1.5 sec
Skill Delay: 1.5 sec
SP: 56
Range: 5

• Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x62% + [Triangle Shot] x120%)to a single enemy. Bows must be equipped to release this skill

Lvl: 3
Attack
Physical
CD: 1.5 sec
Skill Delay: 1.5 sec
SP: 52
Range: 5

• Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x59% + [Triangle Shot] x115%)to a single enemy. Bows must be equipped to release this skill

Lvl: 2
Attack
Physical
CD: 1.5 sec
Skill Delay: 1.5 sec
SP: 48
Range: 5

• Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x56% + [Triangle Shot] x110%)to a single enemy. Bows must be equipped to release this skill

Lvl: 1
Attack
Physical
CD: 1.5 sec
Skill Delay: 1.5 sec
SP: 44
Range: 5

• Shoot 5 arrows at the same time, deal Dmg ([Double Strafe] x53% + [Triangle Shot] x105%)to a single enemy. Bows must be equipped to release this skill

Formula

1function CommonFun.calcDamage_9201(srcUser, targetUser, params, damageParam, logger)
2  local Str = srcUser:GetProperty("Str")
3  local Dex = srcUser:GetProperty("Dex")
4  local Luk = srcUser:GetProperty("Luk")
5  local Atk = srcUser:GetProperty("Atk")
6  local AtkPer = srcUser:GetProperty("AtkPer")
7  local NormalAtk = srcUser:GetProperty("NormalAtk")
8  NormalAtk = NormalAtk + 3 * Dex
9  local DamIncrease = srcUser:GetProperty("DamIncrease")
10  local IgnoreDef = 0
11  local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
12  local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
13  if targetUser.boss or targetUser.mini then
14    IgnoreDef = IgnoreDef1
15  else
16    IgnoreDef = IgnoreDef1 + IgnoreDef2
17  end
18  if 1 <= IgnoreDef then
19    IgnoreDef = 1
20  end
21  local Refine = srcUser:GetProperty("Refine")
22  local AttrEffect = targetUser:GetProperty("AttrEffect")
23  local bits = CommonFun.getBits(AttrEffect)
24  local Def2 = targetUser:GetProperty("Def")
25  local DefPer2 = targetUser:GetProperty("DefPer")
26  local Vit2 = targetUser:GetProperty("Vit")
27  local VitPer2 = targetUser:GetProperty("VitPer")
28  local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
29  local LongRangeDamReduc2 = targetUser:GetProperty("LongRangeDamReduc")
30  local RefineDamReduc = CommonFun.calcRefineDamReduc(srcUser, targetUser)
31  local damChangePer = damageParam.damChangePer
32  local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
33  local bodyparam = CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
34  local elementparam = CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
35  local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
36  local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
37  local bodyparam2 = CommonFun.CalcBodyParam2(srcUser, targetUser, params, damageParam, logger)
38  local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
39  local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
40  local BaseAtk = Dex * 2 + math.floor(Dex * Dex / 100) + math.floor(Str / 5) + math.floor(Luk / 5)
41  local AtkFinal = ((Atk - BaseAtk) * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
42  local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
43  if skillID == 469_RUNEMASTER:STORM_GUST then
44    AtkFinal = ((Atk - BaseAtk + NormalAtk) * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
45  end
46  local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
47  local BaseLvDamage = 0
48  if skillID == 468_RUNEMASTER:DOUBLE_STRAFE_RUNEMASTER:DOUBLE_STRAFE then
49    local IBaseLv = srcUser.BaseLv
50    if srcUser:HasBuffID(42130_FREE_ARCHER_:MAX_STACK_0) then
51      BaseLvDamage = IBaseLv * 15
52    end
53  end
54  local targetid = targetUser:GetGuid()
55  local distance = srcUser:GetDistance(targetid)
56  local skilllv_1 = srcUser:GetLernedSkillLevel(478_RUNEMASTER:VULTURE_S_EYE)
57  local DisDam = 1
58  if 10 < skilllv_1 then
59    DisDam = 1 + distance / 7.5 * (skilllv_1 - 10) * 0.06
60    DisDam = math.min(DisDam, 1.6)
61  end
62  local fromid = targetUser:GetBuffFromID(116470_MARK_OF_DEATH_:MAX_STACK_0)
63  local guid = srcUser:GetGuid()
64  local BUffDam = 1
65  local skilllv_1 = srcUser:GetLernedSkillLevel(1147_ARCANE_MASTER:MARK_OF_DEATH)
66  local GemBiaoji = srcUser:GetGemValue(91121_MARK_OF_DEATH_DAMAGE_INCREASE_EFFECT_PERCENTAGE)
67  local Numxp = srcUser:GetRunePoint(94080_AESIR_MARK_OF_DEATH_EFFECT_2)
68  if fromid == guid or skillID == 4228_SORCERER:STORM_GUST_SORCERER:STORM_GUST_SORCERER:STORM_GUST_SORCERER:STORM_GUST and fromid ~= 0 then
69    BUffDam = 1 + skilllv_1 * 0.02 + Numxp * 0.02 + GemBiaoji / 100000
70  end
71  local GemValue = srcUser:GetGemValue(91052_DOUBLE_STRAFE_DMG_PERCENTAGE)
72  local GemDam = 1
73  if skillID == 468_RUNEMASTER:DOUBLE_STRAFE_RUNEMASTER:DOUBLE_STRAFE or skillID == 4203_SORCERER:COMBO_ARROW_SORCERER:COMBO_ARROW or skillID == 4228_SORCERER:STORM_GUST_SORCERER:STORM_GUST_SORCERER:STORM_GUST_SORCERER:STORM_GUST then
74    GemDam = 1 + GemValue / 100000
75  end
76  if skillID == 4203_SORCERER:COMBO_ARROW_SORCERER:COMBO_ARROW or skillID == 4228_SORCERER:STORM_GUST_SORCERER:STORM_GUST_SORCERER:STORM_GUST_SORCERER:STORM_GUST then
77    local skilllv_er = srcUser:GetLernedSkillLevel(468_RUNEMASTER:DOUBLE_STRAFE)
78    local skilllv_duo = srcUser:GetLernedSkillLevel(4203_SORCERER:COMBO_ARROW)
79    local skilllv_xjn = srcUser:GetLernedSkillLevel(4222_SORCERER:COMBO_ARROW_COMBO)
80    damChangePer = (0.3 * skilllv_er + 2.4) * (0.5 + skilllv_duo * 0.03) * (1 + skilllv_xjn * 0.04)
81    if skillID == 4228_SORCERER:STORM_GUST_SORCERER:STORM_GUST_SORCERER:STORM_GUST_SORCERER:STORM_GUST then
82      damChangePer = damChangePer * 1
83    end
84  end
85  local A = ((AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * damChangePer * (1 - RefineDamReduc) * (1 + DamIncrease - LongRangeDamReduc2) - Vit2 * (1 + VitPer2)) * DisDam * BUffDam * GemDam + BaseLvDamage
86  if A <= 1 then
87    return 1
88  end
89  return A
90end
Preserved HTML snapshot from ROM Handbook