Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local t = {
- -- SWORDS
- [7390] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = nil},
- [8931] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = nil},
- [7747] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = nil},
- [2385] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = nil},
- [7382] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = nil},
- [7416] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = nil},
- [2446] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = nil},
- [7384] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = nil},
- -- AXES
- [2428] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = nil},
- [7876] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = nil},
- [7436] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = nil},
- [7453] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = nil},
- [2431] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = nil},
- [7435] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = nil},
- [2441] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = nil},
- [7388] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = nil},
- --CLUBS
- [2422] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = nil},
- [7422] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = nil},
- [2424] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = nil},
- [2452] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = nil},
- [2444] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = nil},
- [7427] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = nil},
- [7451] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = nil},
- [7437] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = nil},
- -- DISTANCE
- [8858] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = CONST_ANI_SNIPERARROW},
- [8857] = {minBase = 3250000, maxBase = 3350000, min = 300000, max = 550000, effect = CONST_ANI_SNIPERARROW},
- [8857] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = CONST_ANI_INFERNALBOLT},
- [8849] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = CONST_ANI_FLASHARROW},
- [8851] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = CONST_ANI_INFERNALBOLT},
- [8854] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = CONST_ANI_SNIPERARROW},
- [5803] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = CONST_ANI_SMALLHOLY},
- [7438] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = CONST_ANI_SNIPERARROW},
- [2352] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = CONST_ANI_FLASHARROW},
- [8852] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = CONST_ANI_INFERNALBOLT},
- [8853] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = CONST_ANI_SMALLHOLY},
- -- WANDS AND RODS
- [2363] = {minBase = 22670000, maxBase = 309000000, min = 200000, max = 500000, effect = CONST_ANI_SMALLICE},
- [7429] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = CONST_ANI_SUDDENDEATH},
- [8920] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = CONST_ANI_FLASHARROW},
- [2188] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = CONST_ANI_SMALLHOLY},
- [2185] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = CONST_ANI_ENERGYBALL},
- [2187] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = CONST_ANI_SUDDENDEATH},
- [2189] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = CONST_ANI_SMALLICE},
- [8921] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = CONST_ANI_SUDDENDEATH},
- [7958] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = CONST_ANI_FLASHARROW},
- [7426] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = CONST_ANI_SUDDENDEATH},
- [7425] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = CONST_ANI_SMALLICE},
- [7735] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = CONST_ANI_ENERGYBALL}
- --
- }
- local weaponTypes = {
- [WEAPON_SWORD] = SKILL_SWORD,
- [WEAPON_CLUB] = SKILL_CLUB,
- [WEAPON_AXE] = SKILL_AXE,
- [WEAPON_DISTANCE] = SKILL_DISTANCE
- }
- local combat = createCombatObject()
- setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
- setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
- setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
- setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
- function getWepId(cid)
- local item1 = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
- local item2 = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
- local hand1 = item1.uid ~= 0 and (item1.itemid) or 0
- local hand2 = item2.uid ~= 0 and (item2.itemid) or 0
- return (t[hand1]) and hand1 or hand2
- end
- function onGetFormulaValues(cid, level, skill, attack, factor)
- local id = getWepId(cid)
- local skill = getPlayerSkillLevel(cid, weaponTypes[getItemInfo(id).weaponType] or SKILL_MAGLEVEL)
- local reb = getPlayerRebirth(cid)
- local minimum = (t[id].minBase + t[id].min * reb) + skill
- local maximum = (t[id].maxBase + t[id].max * reb) + skill
- return -minimum, -maximum
- end
- setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
- function onUseWeapon(cid, var)
- local target = getCreatureTarget(cid)
- if target ~= nil then
- local id = getWepId(cid)
- if (t[id].effect ~= nil) then
- doSendDistanceShoot(getThingPos(cid), getThingPos(target), t[id].effect)
- end
- end
- return doCombat(cid, combat, var)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement