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