-- модуль  который генерирует случайные фразы
-- random_say._say_lists - список груп случаных фраз
-- фразы должны быть пронумерованы индексами [1] .. [N]
-- параметр prop_no_say - определеяет вероятность того чт овренется "" а не фраза из группы

random_say = {}

random_say._say_lists = {

	group_lohmatyi = {
		[1]=2493,
		[2]=2494,
		prop_no_say = 0.5
	},

	group_fruit = {
		[1]=2490,
		[2]=2491,
		[3]=2492,
		prop_no_say = 0.5
	},
	
	group_seashell = {
		[1]=2495,
		[2]=2496,
		[3]=2497,
		prop_no_say = 0.5
	},
	
	group_vase = {
		[1]=793,
		[2]=2501,
		[3]=2502,
		prop_no_say = 0
	},
	
	group_tr = {
		prop_no_say = 0.4
	},
	
}
--say_random("group_two")

function say_random(_group_id, _prop)
	local say_id = random_say.GetRandomSay(_group_id, _prop)
	if say_id ~= "" then
		pre_say(say_id)
	end
end 
-- получение сулчаной фразы
-- _group_id - идишник группы фраз
-- _prop - вероятность(необъязательный параметр) может перекрыть вероятность для группы
function random_say.GetRandomSay(_group_id, _prop)
	local say_group = random_say._say_lists[_group_id]
	-- проверяем что группа есть такая вообще
	if not say_group then
		__message("unknow group ".._group_id)
		return ""
	end
	-- смотрим вероятность пустой фразы
	local prop = _prop or say_group.prop_no_say
	if prop and math.random(10000)/10000 < prop then
		-- если она произошла то возвращаем пустую фразу
		return ""
	else
	    -- иначе берем случайную фразу из группы
		local group_size = #say_group
		-- если группа пустая то ругаемся и ничего не говорим
		if group_size <= 0 then
			__message("empty group ".._group_id)
			return ""
		end
		
		return say_group[math.random(1, group_size)]
	end
end
