forked from metin2/server
1
0
Fork 0
server/gamefiles/data/quest/cube_opener_list.quest

82 lines
1.9 KiB
Plaintext
Raw Permalink Normal View History

quest cube_opener_list begin
state start begin
when 20378.take begin
-- special case
local vnum = item.get_vnum()
local upgrade_list = {
[11299] = 20000,
[11499] = 20250,
[11699] = 20500,
[11899] = 20750,
}
local material_list = {
{
["vnum"] = 70031,
["count"] = 3,
},
{
["vnum"] = 51001,
["count"] = 100,
},
{
["vnum"] = 25040,
["count"] = 2,
},
}
local can_change = true
if 11299 == vnum or 11499 == vnum or 11699 == vnum or 11899 == vnum then
say_title(mob_name(20378))
say(string.format(gameforge.cube_opener_list._010_say, item_name(vnum)))
say_title(gameforge.cube_opener_list._020_sayTitle)
for i, material in ipairs(material_list) do
say(" " .. item_name(material.vnum) .. " " .. locale.count_prefix .. material.count .. " " .. locale.count_postfix .. "")
can_change = can_change and (material.count <= pc.count_item(material.vnum))
end
say("")
say_title(gameforge.cube_opener_list._030_say)
say_item_vnum(upgrade_list[vnum])
say("")
wait()
if true == can_change then
say_title(mob_name(20378))
say(string.format(gameforge.cube_opener_list._040_say, item_name(vnum),item_name(upgrade_list[vnum])))
say_reward(locale.reward)
say_item_vnum(upgrade_list[vnum])
say("")
local s = select(locale.yes, locale.no)
if s == 1 then
item.copy_and_give_before_remove(upgrade_list[vnum])
for i, material in ipairs(material_list) do
pc.remove_item(material.vnum, material.count)
end
end
return
else
say_title(mob_name(20378))
say(gameforge.cube_opener_list._050_say)
return
end
end
end
when
20383.take or
20018.take or
20017.take or
20015.take
begin
command("cube open")
end
end
end