82 lines
1.9 KiB
Plaintext
82 lines
1.9 KiB
Plaintext
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
|
|
|