quest training_mount begin
state start begin
		function no_level()
			say_title(""..mob_name(20349).."")
			say(gameforge.training_mount._01_say)
		end

		function no_item()
			say_title(""..mob_name(20349).."")
			say(gameforge.training_mount._02_say)
		end	
		function fail_msg()
			say_title(""..mob_name(20349).."")
			say(".............")
			say(gameforge.training_mount._03_say)
		end

		when 20349.chat.gameforge.training_mount._04_say begin
			say_title(""..mob_name(20349).."")
			say(gameforge.training_mount._05_say)
			say("")
			wait()
			say_title(""..mob_name(20349).."")
			say(gameforge.training_mount._06_say)
			say("")
			wait()
			say_title(""..mob_name(20349).."")
			say(gameforge.training_mount._07_say)
			say("")
			set_state(main_point)
		end
	end

	state main_point begin
		when 20349.chat.gameforge.training_mount._08_say begin
			say_title(""..mob_name(20349).."")
			say(gameforge.training_mount._09_say)
			say("")
			wait()
			say_title(""..mob_name(20349).."")
			say(gameforge.training_mount._10_say)
			say("")
			wait()
			say_title(""..mob_name(20349).."")
			say(gameforge.training_mount._11_say)

			local s=select(gameforge.training_mount._12_say,gameforge.training_mount._13_say)

			if 2==s then
				return
			end
			if pc.count_item(50067) >0  or pc.count_item(50068)>0 then 
				say_title(""..mob_name(20349).."")
				say(gameforge.training_mount._14_say)
			else 
					training_mount.no_item()
					return
			end

			local s=select(gameforge.training_mount._15_say,gameforge.training_mount._15_2_say,gameforge.training_mount._16_say)
			if 1==s  then 
				if pc.count_item(50067) == 0    then 
					training_mount.no_item()
				elseif pc.level <25 then
					training_mount.no_level()
				else
					say_title(""..mob_name(20349).."")
					say(""..item_name(50067)..gameforge.training_mount._17_say)
				end
			elseif 2==s   then
				if  pc.count_item(50068) == 0 then 
					training_mount.no_item()
				elseif pc.level <45 then
					training_mount.no_level()
				else
					say_title(""..mob_name(20349).."")
					say(gameforge.training_mount._18_say)
				end
			elseif 3==s then
				say_title(""..mob_name(20349).."")
				say(gameforge.training_mount._19_say)
				say("")
				return
			end
		end --when


		when 20349.take with 52001 == item.vnum or 
							52016 == item.vnum or 
							52031 == item.vnum or 
							52046 == item.vnum or 
							52061 == item.vnum or
							52076 == item.vnum begin

				if pc.is_riding() == true then 
					say (locale.traning_mount_cannot_upgrade)
					return
				end
				if pc.count_item(50067) > 0  then
					if pc.level <25 then
						training_mount.no_level(25)
						return
					end
					say_title(""..mob_name(20349).."")
					say(gameforge.training_mount._20_say)
					wait()
					say(gameforge.training_mount._20_1_say)
					
					-- here we decide about, which bonus the player whiches for the mount
					local bonus_selected = select("ATTBONUS_MONSTER","MALL_EXPBONUS","MAX_HP","DEF_GRADE_BONUS","ATT_GRADE_BONUS", "Abort")
					
					if 6==bonus_selected  then
						return
					else
						pc.setqf("upgrade_bonus", bonus_selected)
						pc.setqf("upgrade_level", 1)
					end
					
					local remain_time =item.get_socket(0)
					pc.give_item2_select(item.get_refine_vnum,1)
					item.set_socket(0,remain_time)
					item.set_socket(1,bonus_selected)
					pc.remove_item (item.get_vnum(),1)
					pc.remove_item (500675,1)
				
				else
					training_mount.no_item()
				end
			end
			when 20349.take with 52006 == item.vnum  or
								52021 == item.vnum or 
								52036 == item.vnum or 
								52051 == item.vnum or
								52066 == item.vnum or 
								52081 == item.vnum begin
								
				if pc.is_riding() == true then 
					say (locale.traning_mount_cannot_upgrade)
					return
				end

				if  pc.count_item(50068) > 0 then
					if pc.level <45 then
						training_mount.no_level()
						return
					end	
					say_title(""..mob_name(20349).."")
					say(gameforge.training_mount._21_say)
					wait()
					say(gameforge.training_mount._22_say)
					
					-- here we save the new upgrade level for mapping in the ride.quest
					pc.setqf("upgrade_level", 2)
					
					local remain_time = item.get_socket(0)
					local upgrade_bonus = item.get_socket(1)
					pc.give_item2_select(item.get_refine_vnum,1)
					item.set_socket(0,remain_time)
					item.set_socket(1,bonus_selected)
					pc.remove_item (item.get_vnum(),1)
					pc.remove_item (50068,1)
				else
					training_mount.no_item()
				end
			end
				


when 20349.chat.gameforge.training_mount._23_say  begin
			say_title(""..mob_name(20349).."")
			say("")
			say(gameforge.training_mount._24_say)
			wait()
			say_title(""..mob_name(20349).."")
			say("")
			say(gameforge.training_mount._25_say)
			wait()
			say_title(""..mob_name(20349).."")
			say("")
			say(gameforge.training_mount._26_say)
			local s=select(locale.yes,locale.no)
			if 2==s then
				return
			end
			say_title(""..mob_name(20349).."")
			say("")
			say(gameforge.training_mount._27_say)
			say("")
			wait()
			if pc.count_item(50068) >0  then
				if horse.get_level()>1 then 
					say_title(""..mob_name(20349).."")
					say("")
					say(gameforge.training_mount._28_say)
					wait()
					say(gameforge.training_mount._29_say)
				else 
					say_title(""..mob_name(20349).."")
					say("")
					say(gameforge.training_mount._30_say)
					return
				end
			else
				say_title(""..mob_name(20349).."")
				say("")
				say(gameforge.training_mount._31_say)
				return
			end	
		end
	end
end
