Advertisement
Guest User

food_special.lua

a guest
Mar 13th, 2015
317
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 9.70 KB | None | 0 0
  1. local conditions = {
  2.    CONDITION_POISON, CONDITION_FIRE, CONDITION_ENERGY,
  3.    CONDITION_PARALYZE, CONDITION_DRUNK, CONDITION_DROWN,
  4.    CONDITION_FREEZING, CONDITION_DAZZLED, CONDITION_CURSED,
  5.    CONDITION_BLEEDING
  6. }
  7. local condition_shield = createConditionObject(CONDITION_ATTRIBUTES)
  8. setConditionParam(condition_shield, CONDITION_PARAM_SUBID, 3)
  9. setConditionParam(condition_shield, CONDITION_PARAM_BUFF_SPELL, 1)
  10. setConditionParam(condition_shield, CONDITION_PARAM_TICKS, 60 * 60 * 1000)
  11. setConditionParam(condition_shield, CONDITION_PARAM_SKILL_SHIELD, 10)
  12. setConditionParam(condition_shield, CONDITION_PARAM_FORCEUPDATE, true)
  13. local condition_ml = createConditionObject(CONDITION_ATTRIBUTES)
  14. setConditionParam(condition_ml, CONDITION_PARAM_SUBID, 4)
  15. setConditionParam(condition_ml, CONDITION_PARAM_BUFF_SPELL, 1)
  16. setConditionParam(condition_ml, CONDITION_PARAM_TICKS, 60 * 60 * 1000)
  17. setConditionParam(condition_ml, CONDITION_PARAM_STAT_MAGICPOINTS, 5)
  18. setConditionParam(condition_ml, CONDITION_PARAM_FORCEUPDATE, true)
  19. local condition_melee = createConditionObject(CONDITION_ATTRIBUTES)
  20. setConditionParam(condition_melee, CONDITION_PARAM_SUBID, 5)
  21. setConditionParam(condition_melee, CONDITION_PARAM_BUFF_SPELL, 1)
  22. setConditionParam(condition_melee, CONDITION_PARAM_TICKS, 60 * 60 * 1000)
  23. setConditionParam(condition_melee, CONDITION_PARAM_SKILL_MELEE, 10)
  24. setConditionParam(condition_melee, CONDITION_PARAM_FORCEUPDATE, true)
  25. local condition_dist = createConditionObject(CONDITION_ATTRIBUTES)
  26. setConditionParam(condition_dist, CONDITION_PARAM_SUBID, 6)
  27. setConditionParam(condition_dist, CONDITION_PARAM_BUFF_SPELL, 1)
  28. setConditionParam(condition_dist, CONDITION_PARAM_TICKS, 60 * 60 * 1000)
  29. setConditionParam(condition_dist, CONDITION_PARAM_SKILL_DISTANCE, 10)
  30. setConditionParam(condition_dist, CONDITION_PARAM_FORCEUPDATE, true)
  31. local condition_f = createConditionObject(CONDITION_ATTRIBUTES)
  32. setConditionParam(condition_f, CONDITION_PARAM_SUBID, 6)
  33. setConditionParam(condition_f, CONDITION_PARAM_BUFF_SPELL, 1)
  34. setConditionParam(condition_f, CONDITION_PARAM_TICKS, 60 * 60 * 1000)
  35. setConditionParam(condition_f, CONDITION_PARAM_SKILL_FISHING, 50)
  36. setConditionParam(condition_f, CONDITION_PARAM_FORCEUPDATE, true)
  37. local condition_speed = createConditionObject(CONDITION_HASTE)
  38. setConditionParam(condition_speed, CONDITION_PARAM_TICKS, 60 * 60 * 1000)
  39. setConditionParam(condition_speed, CONDITION_PARAM_SPEED, 600)
  40. local combat_i = createCombatObject()
  41. setCombatParam(combat_i, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
  42. setCombatParam(combat_i, COMBAT_PARAM_AGGRESSIVE, 0)
  43. local condition_i = createConditionObject(CONDITION_INVISIBLE)
  44. setConditionParam(condition_i, CONDITION_PARAM_TICKS, 600000)
  45. setCombatCondition(combat_i, condition_i)
  46. local iid = {[9992] = 0, [9993] = 1, [9994] = 2, [9995] = 3, [9996] = 4, [9997] = 5, [9998] = 6, [9999] = 7, [10000] = 8, [10001] = 9, [12540] = 10, [12542] = 11, [12543] = 12, [12544] = 13}
  47.  
  48. function onUse(player, item, frompos, item2, topos)
  49. local cid = player:getId()
  50.    if getPlayerStorageValue(cid,17110 + iid[item.itemid]) > os.time() then
  51.    doPlayerSendCancel(cid, "You are full.")
  52.    return true
  53.    end
  54.    setPlayerStorageValue(cid,17110 + iid[item.itemid],os.time() + (15 * 60) )
  55.    
  56.    if item.itemid == 9992 then
  57.      doRemoveItem(item.uid, 1)
  58.      Creature(cid):addHealth(getCreatureMaxHealth(cid) - getCreatureHealth(cid))
  59.      doCreatureSay(cid, "Gulp.", TALKTYPE_ORANGE_1)
  60.      player:sendTextMessage(MESSAGE_INFO_DESCR, "Your health has been refilled.")
  61.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  62.      return true
  63.    elseif item.itemid == 9993 then
  64.      doRemoveItem(item.uid, 1)
  65.      for i = 1, #conditions do
  66.        doRemoveCondition(cid, conditions[i])
  67.      end
  68.      doCreatureSay(cid, "Chomp.", TALKTYPE_ORANGE_1)
  69.      player:sendTextMessage(MESSAGE_INFO_DESCR, "You feel better body condition.")
  70.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  71.      return true
  72.    elseif item.itemid == 9994 then
  73.      doRemoveItem(item.uid, 1)
  74.      doAddCondition(cid, condition_shield)
  75.      doCreatureSay(cid, "Chomp.", TALKTYPE_ORANGE_1)
  76.      player:sendTextMessage(MESSAGE_INFO_DESCR, "You feel less vulnerable.")
  77.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  78.      return true
  79.    elseif item.itemid == 9995 then
  80.      doRemoveItem(item.uid, 1)
  81.      doAddCondition(cid, condition_ml)
  82.      doCreatureSay(cid, "Chomp.", TALKTYPE_ORANGE_1)
  83.      player:sendTextMessage(MESSAGE_INFO_DESCR, "You feel smarter.")
  84.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  85.      return true
  86.    elseif item.itemid == 9996 then
  87.      doRemoveItem(item.uid, 1)
  88.      doCreatureSay(cid, "Slurp.", TALKTYPE_ORANGE_1)
  89.      player:sendTextMessage(MESSAGE_INFO_DESCR, "You don't really know what this did to you, but suddenly you feel very happy.")
  90.      doSendMagicEffect(getThingPos(cid), CONST_ME_HEARTS)
  91.      return true
  92.    elseif item.itemid == 9997 then
  93.      doRemoveItem(item.uid, 1)
  94.      doAddCondition(cid, condition_melee)
  95.      doCreatureSay(cid, "Yum.", TALKTYPE_ORANGE_1)
  96.      player:sendTextMessage(MESSAGE_INFO_DESCR, "You feel stronger.")
  97.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  98.      return true
  99.    elseif item.itemid == 9998 then
  100.      doRemoveItem(item.uid, 1)
  101.      doAddCondition(cid, condition_speed)
  102.      doCreatureSay(cid, "Munch.", TALKTYPE_ORANGE_1)
  103.      player:sendTextMessage(MESSAGE_INFO_DESCR, "Your speed has been increased.")
  104.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  105.      return true
  106.    elseif item.itemid == 9999 then
  107.      doRemoveItem(item.uid, 1)
  108.      Creature(cid):addMana(Creature(cid):getMaxMana() - Creature(cid):getMana())
  109.      doCreatureSay(cid, "Chomp.", TALKTYPE_ORANGE_1)
  110.      player:sendTextMessage(MESSAGE_INFO_DESCR, "Your mana has been refilled.")
  111.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  112.      return true
  113.    elseif item.itemid == 10000 then
  114.      doRemoveItem(item.uid, 1)
  115.      doAddCondition(cid, condition_dist)
  116.      doCreatureSay(cid, "Mmmm.", TALKTYPE_ORANGE_1)
  117.      player:sendTextMessage(MESSAGE_INFO_DESCR, "You feel more focused.")
  118.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  119.      return true
  120.    elseif item.itemid == 10001 then
  121.      doRemoveItem(item.uid, 1)
  122.      doAddCondition(cid, condition_f)
  123.      doCreatureSay(cid, "Smack.", TALKTYPE_ORANGE_1)
  124.      player:sendTextMessage(MESSAGE_INFO_DESCR, "You felt fishing inspiration.")
  125.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  126.      return true
  127.    elseif item.itemid == 12540 then
  128.      doRemoveItem(item.uid, 1)
  129.      setPlayerStorageValue(cid,17100,os.time() + 86400 )
  130.      doCreatureSay(cid, "Yum.", TALKTYPE_ORANGE_1)
  131.      player:sendTextMessage(MESSAGE_INFO_DESCR, "Underwater walking speed increased.")
  132.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  133.      return true
  134.    elseif item.itemid == 12542 then
  135.      if math.random(1,5) == 5 then
  136.      doRemoveItem(item.uid, 1)
  137.      player:sendTextMessage(MESSAGE_INFO_DESCR, "You take the last gulp from the large bowl. No leftovers!")
  138.      else
  139.      player:sendTextMessage(MESSAGE_INFO_DESCR, "You take a gulp from the large bowl, but there's still some blackjack in it.")
  140.      end
  141.      Creature(cid):addHealth(getCreatureMaxHealth(cid) - getCreatureHealth(cid))
  142.      doCreatureSay(cid, "Gulp.", TALKTYPE_ORANGE_1)
  143.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  144.      return true
  145.    elseif item.itemid == 12543 then
  146.      doRemoveItem(item.uid, 1)
  147.      local c = {condition_shield,condition_ml,condition_melee,condition_dist,condition_speed}
  148.      local r = math.random(1,4)
  149.      if r == 1 then
  150.        doAddCondition(cid, c[math.random(1, #c)])
  151.        player:sendTextMessage(MESSAGE_INFO_DESCR, "You feel stronger, but you have no idea what was increased.")
  152.      elseif r == 2 then
  153.        doSetCreatureLight(cid, 15, 154, 60*60*1000)
  154.        player:sendTextMessage(MESSAGE_INFO_DESCR, "You feel enlightened.")
  155.      elseif r == 3 then
  156.        doAddCondition(cid, condition_i)
  157.        player:sendTextMessage(MESSAGE_INFO_DESCR, "You became invisible.")
  158.      elseif r == 4 then
  159.        Creature(cid):addHealth(getCreatureMaxHealth(cid) - getCreatureHealth(cid))
  160.        Creature(cid):addMana(Creature(cid):getMaxMana() - Creature(cid):getMana())
  161.        player:sendTextMessage(MESSAGE_INFO_DESCR, "Your vitality has been restored.")
  162.      end
  163.      doCreatureSay(cid, "Smack.", TALKTYPE_ORANGE_1)
  164.      doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED)
  165.      return true
  166.    elseif item.itemid == 12544 then
  167.      local ring = getPlayerSlotItem(cid, CONST_SLOT_RING)
  168.      local r_t = {
  169.      [2211] = 2208,
  170.      [2212] = 2209,
  171.      [6301] = 6300,
  172.      [2215] = 2213,
  173.      [2204] = 2167,
  174.      [2205] = 2168,
  175.      [2164] = 2164,
  176.      [2203] = 2166,
  177.      [18528] = 18408,
  178.      [2216] = 2214,
  179.      [13826] = 13825,
  180.      [2202] = 2165,
  181.      [2210] = 2207,
  182.      [2206] = 2169}
  183.      if(ring.itemid == 0) then
  184.        player:sendTextMessage(MESSAGE_INFO_DESCR, "No ring equipped.")
  185.        doSendMagicEffect(fromPosition, CONST_ME_POFF)
  186.        return true
  187.      end
  188.      
  189.      if r_t[ring.itemid] ~= nil then
  190.        doRemoveItem(item.uid, 1)
  191.        if ring.itemid == r_t[ring.itemid] then
  192.        r_m_am = 20
  193.        else
  194.        r_m_am = 1
  195.        end
  196.        
  197.        for i = 1, 10 do
  198.          doPlayerAddItem(cid, r_t[ring.itemid], r_m_am)
  199.        end
  200.        player:sendTextMessage(MESSAGE_INFO_DESCR, "Your ring has been multiplied.")
  201.        doCreatureSay(cid, "Slurp!", TALKTYPE_ORANGE_1)
  202.        return true
  203.      else
  204.        player:sendTextMessage(MESSAGE_INFO_DESCR, "This ring cannot be multiplied.")
  205.        doSendMagicEffect(fromPosition, CONST_ME_POFF)    
  206.        return true
  207.      end
  208.    end
  209. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement