Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- [[ Poison Crossbow ]] --
- local combatPoison = createCombatObject()
- setCombatParam(combatPoison, COMBAT_PARAM_BLOCKARMOR, 1)
- setCombatParam(combatPoison, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
- setCombatParam(combatPoison, COMBAT_PARAM_DISTANCEEFFECT, 18)
- setCombatFormula(combatPoison, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
- local poison = createConditionObject(CONDITION_POISON)
- setConditionParam(poison, CONDITION_PARAM_DELAYED, true)
- for i = 1, 26 do
- addDamageCondition(poison, 1, 2000, (-27) + i)
- end
- setCombatCondition(combatPoison, poison)
- -- [[ Poison Crossbow ]] --
- -- [[ Fire Crossbow ]] --
- local combatFire = createCombatObject()
- setCombatParam(combatFire, COMBAT_PARAM_BLOCKARMOR, 1)
- setCombatParam(combatFire, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
- setCombatParam(combatFire, COMBAT_PARAM_DISTANCEEFFECT, 22)
- setCombatFormula(combatFire, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
- local fire = createConditionObject(CONDITION_FIRE)
- setConditionParam(fire, CONDITION_PARAM_DELAYED, true)
- for i = 1, 26 do
- addDamageCondition(fire, 1, 2000, (-27) + i)
- end
- setCombatCondition(combatFire, fire)
- -- [[ Fire Crossbow ]] --
- -- [[ Energy Crossbow ]] --
- local combatEnergy = createCombatObject()
- setCombatParam(combatEnergy, COMBAT_PARAM_BLOCKARMOR, 1)
- setCombatParam(combatEnergy, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
- setCombatParam(combatEnergy, COMBAT_PARAM_DISTANCEEFFECT, 13)
- setCombatFormula(combatEnergy, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
- local energy = createConditionObject(CONDITION_ENERGY)
- setConditionParam(energy, CONDITION_PARAM_DELAYED, true)
- for i = 1, 26 do
- addDamageCondition(energy, 1, 2000, (-27) + i)
- end
- setCombatCondition(combatEnergy, energy)
- -- [[ Energy Crossbow ]] --
- -- [[ Death Crossbow ]] --
- local combatDeath = createCombatObject()
- setCombatParam(combatDeath, COMBAT_PARAM_BLOCKARMOR, 1)
- setCombatParam(combatDeath, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
- setCombatParam(combatDeath, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
- setCombatParam(combatDeath, COMBAT_PARAM_DISTANCEEFFECT, 26)
- setCombatFormula(combatDeath, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
- local death = createConditionObject(COMBAT_PHYSICALDAMAGE)
- setConditionParam(death, CONDITION_PARAM_DELAYED, 1)
- setCombatCondition(combatDeath, death)
- -- [[ Death Crossbow ]] --
- local combatNormal = createCombatObject()
- setCombatParam(combatNormal, COMBAT_PARAM_BLOCKARMOR, 1)
- setCombatParam(combatNormal, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
- setCombatParam(combatNormal, COMBAT_PARAM_DISTANCEEFFECT, 1)
- setCombatFormula(combatNormal, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
- local normal = createConditionObject(COMBAT_PHYSICALDAMAGE)
- setConditionParam(normal, CONDITION_PARAM_DELAYED, 1)
- setCombatCondition(combatNormal, normal)
- function onUseWeapon(cid, var)
- local ListCrossBowPoison = {5651}
- local ListCrossBowFire = {5653}
- local ListCrossBowEnergy = {5652}
- local ListCrossBowDeath = {6433}
- for index, id in ipairs(ListCrossBowPoison) do
- if getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == id or getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == id then
- if getCreatureCondition(getCreatureTarget(cid), CONDITION_POISON) then
- return doCombat(cid, combatNormal, var)
- else
- return doCombat(cid, combatPoison, var)
- end
- end
- end
- for index, id in ipairs(ListCrossBowFire) do
- if getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == id or getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == id then
- if getCreatureCondition(getCreatureTarget(cid), CONDITION_FIRE) then
- return doCombat(cid, combatNormal, var)
- else
- return doCombat(cid, combatFire, var)
- end
- end
- end
- for index, id in ipairs(ListCrossBowEnergy) do
- if getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == id or getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == id then
- if getCreatureCondition(getCreatureTarget(cid), CONDITION_ENERGY) then
- return doCombat(cid, combatNormal, var)
- else
- return doCombat(cid, combatEnergy, var)
- end
- end
- end
- for index, id in ipairs(ListCrossBowDeath) do
- if getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == id or getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == id then
- return doCombat(cid, combatDeath, var)
- end
- end
- return doCombat(cid, combatNormal, var)
- end
Add Comment
Please, Sign In to add comment