• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua [Request] fix my burst arrow damage

dudie

Member
Joined
May 23, 2016
Messages
128
Reaction score
12
Someone could help me to fix my burst arrow damage?

Code:
[17:31:01.655] [Error - Weapon Interface]
[17:31:01.655] In a callback: data/weapons/scripts/burst_arrow.lua:onGetFormulaValues
[17:31:01.656] (Unknown script file)
[17:31:01.656] Description:
[17:31:01.656] data/weapons/scripts/burst_arrow.lua:18: attempt to perform arithmetic on upvalue 'atk' (a nil value)

[17:31:04.120] [Error - Weapon Interface]
[17:31:04.120] In a callback: data/weapons/scripts/burst_arrow.lua:onGetFormulaValues
[17:31:04.120] (Unknown script file)
[17:31:04.120] Description:
[17:31:04.120] data/weapons/scripts/burst_arrow.lua:18: attempt to perform arithmetic on upvalue 'atk' (a nil value)

burst arrow.lua
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 0)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)

local atk

function onGetFormulaValues(cid, level, skill, attack, factor)
   min = (attack * 10.0) * -1
   max = (attack * 10.0) * -1
   return atk
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onGetFormulaValues(cid, level, maglevel)
   min = ( (((maglevel * 1) * 0.5) + ( atk ) )) * -1
   max = ( (((maglevel * 1) * 1.0) + ( atk ) )) * -1
   return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local area = createCombatArea({
   {1, 1, 1},
   {1, 3, 1},
   {1, 1, 1}
})

setCombatArea(combat, area)

function onUseWeapon(cid, var)
   return doCombat(cid, combat, var)
end
 
EDIT: This probably won't happen without source edits or some complex scripting, cause you're asking for a script that counts extraAttack, and the functions that check item attrs are broken (unless they're fixed in 0.4, in which case my testing stops for now cause I don't have an 0.4 test server set up)

I'm using 0.4 all the time...

About extraAttack, but i set attack not extra attack...
Code:
  <item id="2456" article="a" name="bow">
     <attribute key="weight" value="3100" />
     <attribute key="weaponType" value="distance" />
     <attribute key="slotType" value="two-handed" />
     <attribute key="ammoType" value="arrow" />
     <attribute key="range" value="6" />
     <attribute key="attack" value="1" />
   </item>


getItemInfo not work i think i made a mistake
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 0)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)

function onGetFormulaValues(cid, level, skill, attack, factor)
  -- get magic level
  local magic = getPlayerMagLevel(cid)
  -- get weapon attack
  local item1 = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
  local item2 = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
  local atk, atk1, atk2 = 0, 0, 0
  if item1.uid ~= 0 then
  atk1 = getItemInfo(item1.uid).attack
  end
  if item2.uid ~= 0 then
  atk2 = getItemInfo(item2.uid).attack
  end
  if atk1 > atk2 then
  atk = atk1
  else
  atk = atk2
  end
  -- get min / max
  min = (atk * 1 + magic * 1) * -1
  max = (atk * 1 + magic * 1) * -1
  return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local area = createCombatArea({
  {1, 1, 1},
  {1, 3, 1},
  {1, 1, 1}
})

setCombatArea(combat, area)

function onUseWeapon(cid, var)
  return doCombat(cid, combat, var)
end

Code:
[13:42:32.705] [Error - Weapon Interface]
[13:42:32.705] In a callback: data/weapons/scripts/burst_arrow.lua:onGetFormulaValues
[13:42:32.705] (Unknown script file)
[13:42:32.705] Description:
[13:42:32.705] data/weapons/scripts/burst_arrow.lua:16: attempt to index a boolean value
 
Last edited:
I'm using 0.4 all the time...

About extraAttack, but i set attack not extra attack...
Code:
  <item id="2456" article="a" name="bow">
     <attribute key="weight" value="3100" />
     <attribute key="weaponType" value="distance" />
     <attribute key="slotType" value="two-handed" />
     <attribute key="ammoType" value="arrow" />
     <attribute key="range" value="6" />
     <attribute key="attack" value="1" />
   </item>


getItemInfo not work i think i made a mistake
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 0)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)

function onGetFormulaValues(cid, level, skill, attack, factor)
  -- get magic level
  local magic = getPlayerMagLevel(cid)
  -- get weapon attack
  local item1 = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
  local item2 = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
  local atk, atk1, atk2 = 0, 0, 0
  if item1.uid ~= 0 then
  atk1 = getItemInfo(item1.uid).attack
  end
  if item2.uid ~= 0 then
  atk2 = getItemInfo(item2.uid).attack
  end
  if atk1 > atk2 then
  atk = atk1
  else
  atk = atk2
  end
  -- get min / max
  min = (atk * 1 + magic * 1) * -1
  max = (atk * 1 + magic * 1) * -1
  return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local area = createCombatArea({
  {1, 1, 1},
  {1, 3, 1},
  {1, 1, 1}
})

setCombatArea(combat, area)

function onUseWeapon(cid, var)
  return doCombat(cid, combat, var)
end

Code:
[13:42:32.705] [Error - Weapon Interface]
[13:42:32.705] In a callback: data/weapons/scripts/burst_arrow.lua:onGetFormulaValues
[13:42:32.705] (Unknown script file)
[13:42:32.705] Description:
[13:42:32.705] data/weapons/scripts/burst_arrow.lua:16: attempt to index a boolean value
Yes, I know it's not extraattack.
I said that cause it shows as a + in 0.4 instead of the regular value.
Use the script that I posted, it worked fine for me.
 
Yes, I know it's not extraattack.
I said that cause it shows as a + in 0.4 instead of the regular value.
Use the script that I posted, it worked fine for me.

I tried... Only damage to magic, not attack
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 0)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)

function onGetFormulaValues(cid, level, skill, attack, factor)
  local maglevel = getPlayerMagLevel(cid)
  min = (attack * 10) + (maglevel * 1)
  max = (attack * 10) + (maglevel * 1)
  return -min, -max
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local area = createCombatArea({
  {1, 1, 1},
  {1, 3, 1},
  {1, 1, 1}
})

setCombatArea(combat, area)

function onUseWeapon(cid, var)
  return doCombat(cid, combat, var)
end
 
Show me your items.xml and weapons.xml

Oh god i think my problem is in my weapons.xml but idk how to fix... Give me a light

weapons.xml
Code:
  <!-- Bows and Crossbows -->
   <!-- mage -->
   <distance id="8856" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- donate mage bow -->
     <vocation id="1"/>
     <vocation id="5" showInDescription="0"/>
     <vocation id="9" showInDescription="0"/>
     <vocation id="2"/>
     <vocation id="6" showInDescription="0"/>
     <vocation id="10" showInDescription="0"/>
   </distance>
   <!-- mage & paladin -->
   <distance id="2456" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua" /> <!-- bow -->
   <!-- paladin -->
   <distance id="2455" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- crossbow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="7438" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- elvish bow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="5803" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua" /> <!-- arbalest -->
   <distance id="5907" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua" /> <!-- slingshot -->
   <distance id="1294" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua" /> <!-- small stone -->
   
   <distance id="8849" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- Modified Crossbow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8850" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- Chain Bolter -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8853" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- Ironworker -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8852" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- Devileye -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8851" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- Royal Crossbow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8857" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- Silkweaver Bow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8855" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- Composite Hornbow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8858" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- Elethriel's Elemental Bow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8854" unproperly="1" swing="true" event="function" value="atkweaponandskill.lua"> <!-- Warsinger Bow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>

   <!-- Ammunition -->
   <distance id="2545" swing="true" event="script" value="poison_arrow.lua"/>
   <distance id="2546" swing="true" event="script" value="burst_arrow.lua"/>
   <distance id="7366" event="script" value="viper_star.lua"/>
   <distance id="7838" swing="true" type="energy" event="function" value="atkweaponandskill.lua"/>
   <distance id="7839" swing="true" type="ice" event="function" value="atkweaponandskill.lua"/>
   <distance id="7840" swing="true" type="fire" event="function" value="atkweaponandskill.lua"/>
   <distance id="7850" swing="true" type="earth" event="function" value="atkweaponandskill.lua"/>
   <distance id="3965" event="function" value="atkweaponandskill.lua"/> <!-- Hunting Spear -->
   <distance id="7378" event="function" value="atkweaponandskill.lua"/> <!-- Royal Spear -->
   <distance id="7367" event="function" value="atkweaponandskill.lua"/> <!-- Enchanted Spear -->
   <distance id="7368" event="function" value="atkweaponandskill.lua"/> <!-- Assassin Star -->
   <distance id="7364" swing="true" event="function" value="atkweaponandskill.lua"/> <!-- Sniper Arrow -->
   <distance id="7365" swing="true" event="function" value="atkweaponandskill.lua"/> <!-- Onyx Arrow -->
   <distance id="7363" swing="true" event="function" value="atkweaponandskill.lua"/> <!-- Piercing Bolt -->
   <distance id="2547" swing="true" event="function" value="atkweaponandskill.lua"/> <!-- Power Bolt -->
   <distance id="6529" swing="false" event="function" value="atkweaponandskill.lua"/> <!-- Infernal Bolt -->
   <distance id="2544" swing="true" event="function" value="atkweaponandskill.lua"/> <!-- Arrow -->
   <distance id="2543" swing="true" event="function" value="atkweaponandskill.lua"/> <!-- Bolt -->

atkweaponandskill.lua
Code:
function onGetFormulaValues(cid, level, skill, attack, factor)
  return 0, -(0.08 * attack * skill)
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
 
I've change to:
Code:
  <!-- Bows and Crossbows -->
   <!-- mage -->
   <distance id="8856" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- donate mage bow -->
     <vocation id="1"/>
     <vocation id="5" showInDescription="0"/>
     <vocation id="9" showInDescription="0"/>
     <vocation id="2"/>
     <vocation id="6" showInDescription="0"/>
     <vocation id="10" showInDescription="0"/>
   </distance>
   <!-- mage & paladin -->
   <distance id="2456" unproperly="1" swing="true" event="script" value="distance_damage.lua" /> <!-- bow -->
   <!-- paladin -->
   <distance id="2455" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- crossbow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="7438" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- elvish bow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="5803" unproperly="1" swing="true" event="script" value="distance_damage.lua" /> <!-- arbalest -->
   <distance id="5907" unproperly="1" swing="true" event="script" value="distance_damage.lua" /> <!-- slingshot -->
   <distance id="1294" unproperly="1" swing="true" event="script" value="distance_damage.lua" /> <!-- small stone -->
   
   <distance id="8849" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- Modified Crossbow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8850" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- Chain Bolter -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8853" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- Ironworker -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8852" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- Devileye -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8851" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- Royal Crossbow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8857" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- Silkweaver Bow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8855" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- Composite Hornbow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8858" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- Elethriel's Elemental Bow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>
   <distance id="8854" unproperly="1" swing="true" event="script" value="distance_damage.lua"> <!-- Warsinger Bow -->
     <vocation id="3"/>
     <vocation id="7" showInDescription="0"/>
     <vocation id="11" showInDescription="0"/>
   </distance>

   <!-- Ammunition -->
   <distance id="2545" swing="true" event="script" value="poison_arrow.lua"/>
   <distance id="2546" swing="true" event="script" value="burst_arrow.lua"/>
   <distance id="7366" swing="true" event="script" value="viper_star.lua"/>
   <distance id="7838" swing="true" type="energy" event="script" value="distance_damage.lua"/>
   <distance id="7839" swing="true" type="ice" event="script" value="distance_damage.lua"/>
   <distance id="7840" swing="true" type="fire" event="script" value="distance_damage.lua"/>
   <distance id="7850" swing="true" type="earth" event="script" value="distance_damage.lua"/>
   <distance id="3965" swing="true" event="script" value="distance_damage.lua"/> <!-- Hunting Spear -->
   <distance id="7378" swing="true" event="script" value="distance_damage.lua"/> <!-- Royal Spear -->
   <distance id="7367" swing="true" event="script" value="distance_damage.lua"/> <!-- Enchanted Spear -->
   <distance id="7368" swing="true" event="script" value="distance_damage.lua"/> <!-- Assassin Star -->
   <distance id="7364" swing="true" event="script" value="distance_damage.lua"/> <!-- Sniper Arrow -->
   <distance id="7365" swing="true" event="script" value="distance_damage.lua"/> <!-- Onyx Arrow -->
   <distance id="7363" swing="true" event="script" value="distance_damage.lua"/> <!-- Piercing Bolt -->
   <distance id="2547" swing="true" event="script" value="distance_damage.lua"/> <!-- Power Bolt -->
   <distance id="6529" swing="false" event="script" value="distance_damage.lua"/> <!-- Infernal Bolt -->
   <distance id="2544" swing="true" event="script" value="distance_damage.lua"/> <!-- Arrow -->
   <distance id="2543" swing="true" event="script" value="distance_damage.lua"/> <!-- Bolt -->

distance_damage.lua
Code:
local combat = createCombatObject()

function onGetFormulaValues(cid, level, skill, attack, factor)
   print(attack)
  min = (attack * 1)
  max = (attack * 1)
  return -min, -max
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onUseWeapon(cid, var)
  return doCombat(cid, combat, var)
end

- No damage
- Only exausted effect on monster
- Dont arrow effect (i think i will need one a one)
- Dont damage
- Dont print on console

What i supposed to do?
 
Weapons.xml
Code:
<distance id="2456" level="1" event="script" value="distance_damage.lua"/>

Items.xml
Code:
<item id="2456" article="a" name="bow">
        <attribute key="weight" value="5500" />
        <attribute key="weaponType" value="distance" />
        <attribute key="range" value="6" />
        <attribute key="hitChance" value="100" />
        <attribute key="attack" value="20" />
    </item>

Data/Weapons/distance_damage.lua
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 0)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)

function onGetFormulaValues(cid, level, skill, attack, factor)
    local maglevel = getPlayerMagLevel(cid)
   min = attack + maglevel
   max = attack + maglevel
   return -min, -max
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local area = createCombatArea({
   {1, 1, 1},
   {1, 3, 1},
   {1, 1, 1}
})

setCombatArea(combat, area)

function onUseWeapon(cid, var)
   return doCombat(cid, combat, var)
end
 
Weapons.xml
Code:
<distance id="2456" level="1" event="script" value="distance_damage.lua"/>

Items.xml
Code:
<item id="2456" article="a" name="bow">
        <attribute key="weight" value="5500" />
        <attribute key="weaponType" value="distance" />
        <attribute key="range" value="6" />
        <attribute key="hitChance" value="100" />
        <attribute key="attack" value="20" />
    </item>

Data/Weapons/distance_damage.lua
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 0)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)

function onGetFormulaValues(cid, level, skill, attack, factor)
    local maglevel = getPlayerMagLevel(cid)
   min = attack + maglevel
   max = attack + maglevel
   return -min, -max
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

local area = createCombatArea({
   {1, 1, 1},
   {1, 3, 1},
   {1, 1, 1}
})

setCombatArea(combat, area)

function onUseWeapon(cid, var)
   return doCombat(cid, combat, var)
end


Bow use arrow,onxy arrow,poison arrow,sniper arrow,earth arrow...
Not only burst arrow
 
Back
Top