local mountItems = {
[1111] = {targetCreature = "cat", rewardMounts = {
[{1, 1}] = {rewardMount = 111}, -- between numbers 1 - 1 (aka, 1%) (1)
[{2, 4}] = {rewardMount = 111}, -- between numbers 2 - 4 (aka, 3%) (2, 3, 4)
[{5, 9}] = {rewardMount = 111} -- between numbers 5 - 9 (aka, 5%) (5, 6, 7, 8, 9)
-- between numbers 10 - 100 (aka, 91%) (do nothing, cuz not in table.)
}
},
[2222] = {targetCreature = "deer", rewardMounts = {
[{1, 1}] = {rewardMount = 111}, -- between numbers 1 - 1 (aka, 1%) (1)
[{2, 4}] = {rewardMount = 111}, -- between numbers 2 - 4 (aka, 3%) (2, 3, 4)
[{5, 9}] = {rewardMount = 111} -- between numbers 5 - 9 (aka, 5%) (5, 6, 7, 8, 9)
-- between numbers 10 - 100 (aka, 91%) (do nothing, cuz not in table.)
}
}
}
local action = Action()
function action.onUse(player, item, fromPosition, target, toPosition, isHotkey)
if not target:isMonster() then
return true
end
local index = mountItems[item:getId()]
if not target:getName():lower() == index.targetCreature then
return true
end
local rand = math.random(100)
for v, k in pairs(index.rewardMounts) do
if v[1] <= rand and v[2] >= rand then
if player:hasMount(k.rewardMount) then
return true
end
player:addMount(k.rewardMount)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have received a mount.")
target:remove()
return true
end
end
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Failed to capture?")
return true
end
for v, k in pairs(mountItems) do
action:id(v)
end
action:register()