forked from metin2/server
1
0
Fork 0
server/gamefiles/locale/english/quest/mystery_key.quest

67 lines
1.5 KiB
Plaintext

quest mystery_key begin
state start begin
function get_master_key()
return 50156
end
function get_key_for_chest(chest_vnum)
local chest_table = {
[50132] = 50150,
[50133] = 50151,
[50134] = 50152,
[50135] = 50153,
[50136] = 50154,
[50137] = 50155,
}
return chest_table[chest_vnum]
end
function get_reward_for_chest(chest_vnum)
local reward_table = {
[50132] = {
{71126, 1, 20},
{71094, 1},
{71085, 2},
{70039, 2},
{71032, 3},
{70024, 3},
{25040, 5},
{71044, 7},
{71083, 8},
{71030, 10},
{71027, 10},
{71012, 12}
}
}
return get_random_vnum_from_table(reward_table[chest_vnum])
end
function open_chest(chest_vnum, key_vnum)
say(gameforge.mystery_key._010_say)
local s= select(gameforge.mystery_key._020_select, gameforge.mystery_key._030_select)
if s==2 then
return
end
local reward = mystery_key.get_reward_for_chest(chest_vnum)
item.remove()
pc.remove_item(key_vnum, 1)
pc.give_item2(reward)
end
when 50132.use begin
local key_vnum = mystery_key.get_key_for_chest(item.vnum)
local master_key_vnum = mystery_key.get_master_key()
say_title(item_name(item.vnum) .. ": ")
if pc.count_item(key_vnum) >= 1 then
mystery_key.open_chest(item.vnum, key_vnum)
elseif pc.count_item(master_key_vnum) >= 1 then
mystery_key.open_chest(item.vnum, master_key_vnum)
else
say(gameforge.mystery_key._040_say)
end
end
end
end