define acient_rubbing 31001
define acient_doc 31002
----------------------------------
--	메인퀘스트 LV60
--  의외의 단서 : 을두지와 흑암국
--  2011.11.24 김용욱
----------------------------------
quest main_quest_lv60 begin
	state start begin
		when login or levelup or enter with pc.get_level() >= 60 begin
			if pc.getf("main_quest_lv55", "__status")==main_quest_lv55.__COMPLETE__ then
				set_state ( quest1_begin )
			end
		end
	end
	
	state run begin
		when login or levelup or enter with pc.get_level() >= 60 begin
			set_state ( quest1_begin )
		end
	end

	state quest1_begin begin
		when letter begin    --퀘스트편지1
			send_letter(gameforge.main_quest_lv60._10_sendLetter)
			
			-- 을두지를 가리킨다.
			local vid_20011 = find_npc_by_vnum(20011)
			if 0 != vid_20011 then
				target.vid("__TARGET__", vid_20011, mob_name(20011))
			end
		end

		when button or info begin  -- 퀘스트편지1 내용
			say_title(gameforge.main_quest_lv60._10_sendLetter)
			
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._20_say)
			say("")
			
		end
		
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._30_say)
			say("")
			wait()
			
			say_title(pc.getname())
			say(gameforge.main_quest_lv60._40_say)
			say("")
			wait()
			
			say_title(mob_name(20011))
			say(gameforge.main_quest_lv60._50_say)
			say("")

			set_state ( quest2_begin )
		end
	end

	state quest2_begin begin
		-----------퀘스트편지2------------
		when letter begin
			send_letter(gameforge.main_quest_lv60._60_sendLetter)

			-- 을두지를 가리킨다.
			local v = find_npc_by_vnum(20011)
			if 0 != v then
				target.vid("__TARGET__", v, mob_name(20011))
			end
		end

		when button or info begin
			say_title(gameforge.main_quest_lv60._60_sendLetter)
			say(gameforge.main_quest_lv60._70_say)
			say("")
		end

		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._80_say)
			say("")
			wait()
			
			say_title(mob_name(20011))
			say(gameforge.main_quest_lv60._90_say)
			say("")
			wait()
			
			say_title(pc.getname())
			say(gameforge.main_quest_lv60._100_say)
			say("")
			wait()
			
			say_title(mob_name(20011))  
			say(gameforge.main_quest_lv60._110_say)
			
			set_state (quest2_ongoing)
		end
	end
	
	state quest2_ongoing begin --을두지와 대화하고 탁본을 받아오라는 미션을 받았다.
		-----------퀘스트편지2------------
		when letter begin
			send_letter(gameforge.main_quest_lv60._60_sendLetter)

			-- 흑암국의 고대 비석을 가리킨다. (지금은 마을 npc를 가리킨다.)
			local v = find_npc_by_vnum(20371)
			if 0 != v then
				target.vid("__TARGET__", v, mob_name(20371))
			end
		end

		when button or info begin
			say_title(gameforge.main_quest_lv60._60_sendLetter)
			say(gameforge.main_quest_lv60._120_say)
			say("")
		end
		
		--을두지를 선택하면 해당 퀘스트에 관련된 대화를 나눌 수 있다.
		when 20011.gameforge.main_quest_lv60._60_sendLetter begin
			say_title(mob_name(20011))
			say(gameforge.main_quest_lv60._130_say)
			say("")
		end
		
		--흑암국의 고대 비석을 누르면. 
		when 20371.click begin
			target.delete("__TARGET__")
			say_reward(gameforge.main_quest_lv60._140_sayReward)
			pc.give_item2 ( acient_rubbing )
			say("")
			
			set_state (quest2_end)
		end
	end
		
	--고대 비석의 탁본을 얻었다.
	state quest2_end begin
		-----------퀘스트편지2------------
		when letter begin
			send_letter(gameforge.main_quest_lv60._60_sendLetter)

			-- 을두지를 가리킨다.
			local v = find_npc_by_vnum(20011)
			if 0 != v then
				target.vid("__TARGET__", v, mob_name(20011))
			end
		end

		when button or info begin
			say_title(gameforge.main_quest_lv60._60_sendLetter)
			say(gameforge.main_quest_lv60._150_say)
			say("")
		end
		
		when __TARGET__.target.click begin
			pc.remove_item ( acient_rubbing, 1 )
			target.delete("__TARGET__")
			
			say_title(mob_name(20011))
			say(gameforge.main_quest_lv60._160_say)
			say("")
			wait()
			
			say_title(mob_name(20011))
			say(gameforge.main_quest_lv60._170_say)
			say("")
			wait()
			
			say_title(mob_name(20011))
			say(gameforge.main_quest_lv60._180_say)
			say("")
			wait()
			
			say_title(locale.reward)
			say_reward(string.format(gameforge.main_quest_lv60._190_sayReward, 980000))
			say_reward(string.format(gameforge.main_quest_lv60._200_sayReward, 175000))
			say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(71001).." ".."10"..locale.count_postfix))
			say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(50721).." ".."10"..locale.count_postfix))
			say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(50725).." ".."10"..locale.count_postfix))
			say("")
			
			-- 보상 지급 -- 
			-- 이곳에 보상 지급을 구현한다.
			pc.give_exp2(980000)
			pc.change_money(175000)
			
			pc.give_item2(71001, 10) -- 주안술서
			pc.give_item2(50721, 10) -- 복숭아꽃
			pc.give_item2(50725, 10) -- 석창포
			
			
			
			set_state (quest3_begin)
		end
	
	end
	
	state quest3_begin begin
		-------퀘스트편지3---------
		when letter begin
			send_letter(gameforge.main_quest_lv60._220_sendLetter)

			-- 을두지를 가리킨다.
			local v = find_npc_by_vnum(20011)
			if 0 != v then
				target.vid("__TARGET__", v, mob_name(20011))
			end
		end

		when button or info begin
			say_title(gameforge.main_quest_lv60._220_sendLetter)
			say(gameforge.main_quest_lv60._230_say)
			say("")
		end
		
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._240_say)
			say("")
			
			set_state (quest3_ongoing1)
		end	
	end
	
	state quest3_ongoing1 begin
		-------퀘스트편지3---------
		when letter begin
			send_letter(gameforge.main_quest_lv60._220_sendLetter)

			-- 흑적귀목의 위치를 표시한다.--
			--------------------------------
			--------------------------------
		end

		when button or info begin
			say_title(gameforge.main_quest_lv60._220_sendLetter)
			say(gameforge.main_quest_lv60._230_say)
			say("")
		end

		--을두지를 선택하면 해당 퀘스트에 관련된 대화를 나눌 수 있다.
		when 20011.chat.gameforge.main_quest_lv60._220_sendLetter begin
			say_title(mob_name(20011))
			say(gameforge.main_quest_lv60._260_say)
			say("")
		end
		
		--흑적귀목을 잡았을때 1000분의 1 확률로 퀘스트 조건을 만족시켜 준다.
		when 2305.kill begin
			if	number (1,100) == 1 then	
				pc.give_item2 (acient_doc, 1 )	
				say_reward(gameforge.main_quest_lv60._270_sayReward)
				say("")
				
				--3.진행
				set_state (quest3_end1)
			end
		end
	end
	
	-- 고대문서를 하나 얻었다. 을두지에게 가져다줘야한다.
	state quest3_end1 begin
		-------퀘스트편지3---------
		when letter begin
			send_letter(gameforge.main_quest_lv60._220_sendLetter)

			-- 을두지를 가리킨다.
			local v = find_npc_by_vnum(20011)
			if 0 != v then
				target.vid("__TARGET__", v, mob_name(20011))
			end
		end

		when button or info begin
			say_title(gameforge.main_quest_lv60._220_sendLetter)
			say(gameforge.main_quest_lv60._230_say)
			say("")
		end
		
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._280_say)
			say("")
			wait()
			
			--@@@@@@@@@버그@@@@@@@@@@--
			--1. 다음의 내용이 뜨지 않는다.
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			pc.remove_item (acient_doc, 1 )	
			say(gameforge.main_quest_lv60._290_say)
			say("")
			
			set_state (quest3_ongoing2)
		end	
		
	end
	
	state quest3_ongoing2 begin
		--이 상태에 처음 들어오게 되면 '남은 고대의 문서' 퀘스트 플래그를 생성한다.
		-- 초기값은 9로 시작해서 몬스터를 잡을때마다 1씩 줄여 0까지 간다.
		-- 0이 되면 퀘스트 스테이트를 변화시킨다.
		when enter begin
			pc.setqf("remain_item",9)
		end
		
		--*************************--
		-------퀘스트편지3_1---------
		when letter begin
			send_letter(gameforge.main_quest_lv60._220_sendLetter)

			-- 흑적귀목의 위치를 표시한다.--
			--------------------------------
			--------------------------------
		end
		when button or info begin
			say_title(gameforge.main_quest_lv60._220_sendLetter)
			say(gameforge.main_quest_lv60._230_say)
			say("")
			q.set_counter(gameforge.main_quest_lv60._250_counter, pc.getqf("remain_item"))
		end
		-----------------------------
		--*************************--
		

		
		--흑적귀목을 잡았을때 1000분의 1 확률로 남은 고대 문서 수를 줄여준다.
		when 2305.kill begin
			if	number (1,100) == 1 then
				local remain_item_prev =  pc.getqf("remain_item")
				pc.setqf("remain_item",remain_item_prev-1)
			
				pc.give_item2 (acient_doc, 1 )	
				notice(string.format(gameforge.main_quest_lv60._300_say,pc.getqf("remain_item")))
				
				-- 모든 문서를 다 얻었으면 다음 퀘스트로 넘어간다.
				if pc.getqf("remain_item")==0 then
					-- 흑적귀목의 위치 표시를 없애준다 --
					-------------------------------------
					-------------------------------------
					set_state (quest3_end2)
				end
			end
		end
	end
	
	state quest3_end2 begin
		--*************************--
		-------퀘스트편지3_1---------
		when letter begin
			send_letter(gameforge.main_quest_lv60._220_sendLetter)

			-- 을두지를 가리킨다.
			local v = find_npc_by_vnum(20011)
			if 0 != v then
				target.vid("__TARGET__", v, mob_name(20011))
			end
		end
		when button or info begin
			say_title(gameforge.main_quest_lv60._220_sendLetter)
			say(gameforge.main_quest_lv60._230_say)
			say("")
			q.set_counter(gameforge.main_quest_lv60._250_counter, pc.getqf("remain_item"))
		end
		-----------------------------
		--*************************--
	
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			pc.remove_item (acient_doc, pc.count_item (acient_doc) )	
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._310_say)
			say("")
			wait()
			
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._320_say)
			say("")
			wait()
			
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._330_say)
			say("")
			wait()
			
			say_title(locale.reward)
			----"12345678901234567890123456789012345678901234567890"|
			say_reward(string.format(gameforge.main_quest_lv60._190_sayReward, 3300000))
			say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(71094).." ".."3"..locale.count_postfix))
			say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(30056)))
			say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(30025)))
			say("")
			
			
			-- 보상 지급 -- 
			pc.give_exp2(3300000)
			
			pc.give_item2(71094, 3) -- 선인의 교훈 * 3
			pc.give_item2(30056) -- 거미줄
			pc.give_item2(30025) -- 거미의 독주머니
			
			set_state (quest4_begin)
		end	
	end
	
	state quest4_begin begin
		--*************************--
		-------퀘스트편지4-----------
		when letter begin
			send_letter(gameforge.main_quest_lv60._340_sendLetter)

			-- 을두지를 가리킨다.
			local v = find_npc_by_vnum(20011)
			if 0 != v then
				target.vid("__TARGET__", v, mob_name(20011))
			end
		end
		when button or info begin
			say_title(gameforge.main_quest_lv60._340_sendLetter)
			say(gameforge.main_quest_lv60._350_say)
			say("")
		end
		-----------------------------
		--*************************--
	
	
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._360_say)
			say("")
			wait()
			
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._370_say)
			say("")
			wait()
			
			say_title(pc.getname())
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._380_say)
			say("")
			wait()
			
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._390_say)
			say("")
			wait()
			
			say_title(mob_name(20011))
			----"12345678901234567890123456789012345678901234567890"|
			say(gameforge.main_quest_lv60._400_say)
			say("")
			wait()
			
			----"12345678901234567890123456789012345678901234567890"|
			say_reward(gameforge.main_quest_lv60._410_sayReward)
			say("")
			
			--@@@ 버그 @@@--
			--1. 퀘스트 편지가 새로 나타난다.
			clear_letter()
			set_quest_state ("main_quest_lv66", "state_0")
			set_state (__COMPLETE__)
		end	
	end
	
	state __COMPLETE__ begin
		when enter begin
			q.done()
		end
	end
end