Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.22 KB | None | 0 0
  1. local t = {
  2. -- SWORDS
  3. [7390] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = nil},
  4. [8931] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = nil},
  5. [7747] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = nil},
  6. [2385] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = nil},
  7. [7382] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = nil},
  8. [7416] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = nil},
  9. [2446] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = nil},
  10. [7384] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = nil},
  11.  
  12. -- AXES
  13. [2428] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = nil},
  14. [7876] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = nil},
  15. [7436] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = nil},
  16. [7453] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = nil},
  17. [2431] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = nil},
  18. [7435] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = nil},
  19. [2441] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = nil},
  20. [7388] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = nil},
  21.  
  22. --CLUBS
  23. [2422] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = nil},
  24. [7422] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = nil},
  25. [2424] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = nil},
  26. [2452] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = nil},
  27. [2444] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = nil},
  28. [7427] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = nil},
  29. [7451] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = nil},
  30. [7437] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = nil},
  31.  
  32. -- DISTANCE
  33. [8858] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = CONST_ANI_SNIPERARROW},
  34. [8857] = {minBase = 3250000, maxBase = 3350000, min = 300000, max = 550000, effect = CONST_ANI_SNIPERARROW},
  35. [8857] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = CONST_ANI_INFERNALBOLT},
  36. [8849] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = CONST_ANI_FLASHARROW},
  37. [8851] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = CONST_ANI_INFERNALBOLT},
  38. [8854] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = CONST_ANI_SNIPERARROW},
  39. [5803] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = CONST_ANI_SMALLHOLY},
  40. [7438] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = CONST_ANI_SNIPERARROW},
  41. [2352] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = CONST_ANI_FLASHARROW},
  42. [8852] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = CONST_ANI_INFERNALBOLT},
  43. [8853] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = CONST_ANI_SMALLHOLY},
  44.  
  45. -- WANDS AND RODS
  46. [2363] = {minBase = 22670000, maxBase = 309000000, min = 200000, max = 500000, effect = CONST_ANI_SMALLICE},
  47. [7429] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = CONST_ANI_SUDDENDEATH},
  48. [8920] = {minBase = 20670000, maxBase = 23670000, min = 200000, max = 500000, effect = CONST_ANI_FLASHARROW},
  49. [2188] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = CONST_ANI_SMALLHOLY},
  50. [2185] = {minBase = 12670000, maxBase = 16670000, min = 200000, max = 500000, effect = CONST_ANI_ENERGYBALL},
  51. [2187] = {minBase = 5670000, maxBase = 8670000, min = 200000, max = 500000, effect = CONST_ANI_SUDDENDEATH},
  52. [2189] = {minBase = 2346000, maxBase = 3246000, min = 200000, max = 500000, effect = CONST_ANI_SMALLICE},
  53. [8921] = {minBase = 1346000, maxBase = 2219000, min = 200000, max = 500000, effect = CONST_ANI_SUDDENDEATH},
  54. [7958] = {minBase = 858000, maxBase = 1158000, min = 200000, max = 500000, effect = CONST_ANI_FLASHARROW},
  55. [7426] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = CONST_ANI_SUDDENDEATH},
  56. [7425] = {minBase = 558000, maxBase = 837000, min = 200000, max = 500000, effect = CONST_ANI_SMALLICE},
  57. [7735] = {minBase = 237600, maxBase = 356400, min = 200000, max = 500000, effect = CONST_ANI_ENERGYBALL}
  58. --
  59.  
  60. }
  61.  
  62. local weaponTypes = {
  63. [WEAPON_SWORD] = SKILL_SWORD,
  64. [WEAPON_CLUB] = SKILL_CLUB,
  65. [WEAPON_AXE] = SKILL_AXE,
  66. [WEAPON_DISTANCE] = SKILL_DISTANCE
  67. }
  68.  
  69. local combat = createCombatObject()
  70. setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
  71. setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
  72. setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
  73. setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
  74.  
  75. function getWepId(cid)
  76. local item1 = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
  77. local item2 = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
  78.  
  79. local hand1 = item1.uid ~= 0 and (item1.itemid) or 0
  80. local hand2 = item2.uid ~= 0 and (item2.itemid) or 0
  81. return (t[hand1]) and hand1 or hand2
  82. end
  83.  
  84. function onGetFormulaValues(cid, level, skill, attack, factor)
  85. local id = getWepId(cid)
  86. local skill = getPlayerSkillLevel(cid, weaponTypes[getItemInfo(id).weaponType] or SKILL_MAGLEVEL)
  87. local reb = getPlayerRebirth(cid)
  88. local minimum = (t[id].minBase + t[id].min * reb) + skill
  89. local maximum = (t[id].maxBase + t[id].max * reb) + skill
  90. return -minimum, -maximum
  91. end
  92.  
  93. setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
  94.  
  95. function onUseWeapon(cid, var)
  96. local target = getCreatureTarget(cid)
  97. if target ~= nil then
  98. local id = getWepId(cid)
  99. if (t[id].effect ~= nil) then
  100. doSendDistanceShoot(getThingPos(cid), getThingPos(target), t[id].effect)
  101. end
  102. end
  103. return doCombat(cid, combat, var)
  104. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement