Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- quest itembonus begin
- state start begin
- function isBonusBlocked(bonus, list)
- if list == nil then
- return false
- end
- for _,v in pairs(list) do
- if v == bonus then
- return true
- end
- end
- return false
- end
- function alreadyExists(item, bonus)
- for _,var in pairs(item) do
- end
- return false
- end
- when 20016.chat."Quem és tu?" begin
- --[[
- say("---------------------------------------------------")
- ]]
- say_title("Ferreiro:")
- say("Eu sou o Ferreiro da cidade, estou certificado para")
- say("fazer qualquer tipo de alteração nos teus")
- say("equipamentos, no entanto, existem limites.")
- say("Trás um dos teus equipamentos até mim e eu digo-te")
- say("que alterações poderás fazer no mesmo.")
- say()
- say_reward("Dica: Arrasta um equipamento até ao ferreiro.")
- return
- end
- when 9007.take begin
- local listaDeBonus = {
- [1]={"Máx. VD", 2000},
- [2]={"Máx. MN", 300},
- [3]={"Vitalidade", 12},
- [4]={"Inteligência", 12},
- [5]={"Força", 12},
- [6]={"Destreza", 12},
- [7]={"Rapidez de Ataque", 8},
- [8]={"Rapidez de Movimento", 20},
- [9]={"Velocidade de Feitiço", 20},
- [10]={"Regeneração de VD", 30},
- [11]={"Regeneração de MN", 30},
- [12]={"Chance de Envenenamento", 8},
- [13]={"Chance de Atordoamento", 8},
- [14]={"Chance de Abrandamento", 8},
- [15]={"Chance de Golpes Críticos", 10},
- [16]={"Chance de Golpes Perfurantes", 10},
- [17]={"Forte contra Semi-Humanos", 10},
- [18]={"Forte contra Animais", 20},
- [19]={"Forte contra Orcs", 20},
- [20]={"Forte contra Esotéricos", 20},
- [21]={"Forte contra Mortos-Vivos", 20},
- [22]={"Forte contra Demónios", 20},
- [23]={"Danos serão absorvidos pela VD", 10},
- [24]={"Danos serão absorvidos pela MN", 10},
- [25]={"Chance de roubar MN", 10},
- [26]={"Chance de reaver MN", 10},
- [27]={"Chance de bloquear ataques físicos", 10},
- [28]={"Chance de Evitar Flechas", 15},
- [29]={"Defesa contra Espadas", 15},
- [30]={"Defesa contra Duas Mãos", 15},
- [31]={"Defesa contra Punhais", 15},
- [32]={"Defesa contra Campainhas", 15},
- [33]={"Defesa contra Leques", 15},
- [34]={"Defesa contra Flechas", 15},
- [35]={"Resistência contra o Fogo", 15},
- [36]={"Resistência contra Relampâgos", 15},
- [37]={"Resistência contra Magias", 15},
- [38]={"Resistência contra o Vento", 15},
- [39]={"Chance de reflectir ataques físicos", 15},
- [40]={"Chance de reflectir maldição", 0},
- [41]={"Resistência a Evenenamento", 15},
- [42]={"Chance de restaurar MN", 0},
- [43]={"Chance de EXP Bónus", 20},
- [44]={"Chance de receber Yang a dobrar", 20},
- [45]={"Chance de receber Itens a dobrar", 20},
- [46]={"Aumenta o efeito da poção", 0},
- [47]={"Chance de restaurar VD", 0},
- [48]={"Defesa contra Atordoamento", 1},
- [49]={"Defesa contra Abrandamento", 1},
- [50]={"Defesa contra Quedas", 1},
- [51]={"-", 0},
- [52]={"Arc Range", 0},
- [53]={"Valor de Ataque", 50},
- [54]={"Defesa", 0},
- [55]={"Valor de Ataque Mágico", 0},
- [56]={"Defesa Mágica", 0},
- [57]={"-", 0},
- [58]={"Máx. Resistência", 0},
- [59]={"Forte contra Guerreiros", 0},
- [60]={"Forte contra Ninjas", 0},
- [61]={"Strong against Sura", 0},
- [62]={"Forte contra Xamãs", 0},
- [63]={"Forte contra Monstros", 0},
- [64]={"ItemShop - Valor de Ataque(%)", 0},
- [65]={"ItemShop - Defesa(%)", 0},
- [66]={"ItemShop - Exp-Bonus(%)", 0},
- [67]={"ItemShop - ItemDrop-Bonus(%)", 0},
- [68]={"ItemShop - Yang-Bonus(%)", 0},
- [69]={"Max. TP (???)", 0},
- [70]={"Max. MP (???)", 0},
- [71]={"Dano de Habilidades", 15},
- [72]={"Dano Médio", 40},
- [73]={"Resistência contra Dano de Habilidades", 0},
- [74]={"Resistência contra Dano Médio", 0},
- [75]={"-", 0},
- [76]={"iCafe EXP-Bonus", 0},
- [77]={"iCafe Item-Bonus", 0},
- [78]={"Resistência a ataques de Guerreiros", 0},
- [79]={"Resistência a ataques de Ninjas", 0},
- [80]={"Resistência a ataques de Suras", 0},
- [81]={"Resistência a ataques de Xamãs", 0}
- }
- local armas = { 279, 4049, 7199, 289, 209, 5339 }
- local equipamentos = {
- -- Armaduras
- {11299, 11499, 11699, 11899},
- -- Elmos
- {12269, 12399, 12539, 12679},
- -- Escudos
- {13069, 13089, 13109, 13129, 13149},
- -- Pulseiras
- {14209, 16169},
- -- Sapatos
- {15209, 15419},
- -- Colar
- {16209, 16189},
- -- Brincos
- {17109, 17169, 17209}
- }
- local bonusArmas = {3, 4, 5, 6, 9, 12, 13, 14, 15, 16, 17}
- local bonusEquipamentos = {
- -- Armaduras
- {1, 2, 9, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 38, 53},
- -- Elmos
- {7, 10, 11, 12, 17, 28, 35, 36, 37, 38},
- -- Escudos
- {3, 4, 5, 6, 17, 27, 39, 48, 49},
- -- Pulseiras
- {1, 2, 16, 17, 23, 35, 36, 37, 38},
- -- Sapatos
- {1, 2, 7, 15, 16, 28, 29, 30, 31, 32, 33, 34},
- -- Colar
- {1, 2, 10, 15, 16, 28, 29, 30, 31, 32, 33, 34},
- -- Brincos
- {8, 17, 29, 30, 31, 32, 33, 34, 41}
- }
- local extrasBloqueados = {[3159]={17}, [16209]={16}}
- -- local menuDeBonus = {}
- -- local menuDeBonustxt = {}
- local iType = item.get_type()
- local iSubType = item.get_sub_type()
- local insertBufferid = {}
- local insertBuffertxt = {}
- if item.get_type() == 1 then -- Armas
- if not armas[item.get_vnum()] then
- say_title("Ferreiro:")
- say("Não posso fazer qualquer tipo de alteração nesta arma.")
- return
- end
- for i = 1,5 do
- local menuDeBonus = {}
- local menuDeBonustxt = {}
- say_title("Ferreiro:")
- for _,val in pairs(bonusArmas) do
- if not itembonus.isBonusBlocked(val, extrasBloqueados[item.get_vnum()]) and not insertBufferid[val] then
- table.insert(menuDeBonus, val)
- table.insert(menuDeBonustxt, listaDeBonus[val][1])
- end
- end
- table.insert(menuDeBonustxt, "Cancelar")
- local sel = select_table(menuDeBonustxt)
- if sel == table.getn(menuDeBonustxt) then
- return
- end
- local tst = menuDeBonus[sel]
- table.insert(insertBufferid, menuDeBonus[sel])
- table.insert(insertBuffertxt, listaDeBonus[tst][1])
- end
- say_title("Ferreiro:")
- say("O teu equipamento vai ficar com os seguintes bonus:")
- say()
- for k,v in pairs(insertBuffertxt) do
- local tst = insertBufferid[k]
- say(v..": "..listaDeBonus[tst][2].."%")
- item.set_value(k-1, tst, listaDeBonus[tst][2])
- end
- return
- elseif item.get_type() == 2 then -- Equipamentos
- if not equipamentos[item.get_sub_type()+1][item.get_vnum()] then
- say_title("Ferreiro:")
- say("Não posso fazer qualquer tipo de alteração neste item.")
- return
- end
- for i = 1,5 do
- local menuDeBonus = {}
- local menuDeBonustxt = {}
- say_title("Ferreiro:")
- for _,val in pairs(bonusEquipamentos[item.get_sub_type()+1]) do
- if not itembonus.isBonusBlocked(val, extrasBloqueados[item.get_vnum()]) and not insertBufferid[val] then
- table.insert(menuDeBonus, val)
- table.insert(menuDeBonustxt, listaDeBonus[val][1])
- end
- end
- table.insert(menuDeBonustxt, "Cancelar")
- local sel = select_table(menuDeBonustxt)
- if sel == table.getn(menuDeBonustxt) then
- return
- end
- local tst = menuDeBonus[sel]
- table.insert(insertBufferid, menuDeBonus[sel])
- table.insert(insertBuffertxt, listaDeBonus[tst][1])
- end
- say_title("Ferreiro:")
- say("O teu equipamento vai ficar com os seguintes bonus:")
- say()
- for k,v in pairs(insertBuffertxt) do
- local tst = insertBufferid[k]
- say(v..": "..listaDeBonus[tst][2].."%")
- item.set_value(k-1, tst, listaDeBonus[tst][2])
- end
- else
- say_title("Ferreiro:")
- say("Trás até mim apenas equipamentos ou armas.")
- end
- return
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement