quest find_senior_soldier begin
    state start begin
		when 20300.chat.gameforge.find_senior_soldier._10_npcChat or 20301.chat.gameforge.find_senior_soldier._10_npcChat or 20302.chat.gameforge.find_senior_soldier._10_npcChat or 20303.chat.gameforge.find_senior_soldier._10_npcChat or 20304.chat.gameforge.find_senior_soldier._10_npcChat or 20305.chat.gameforge.find_senior_soldier._10_npcChat or 20306.chat.gameforge.find_senior_soldier._10_npcChat or 20307.chat.gameforge.find_senior_soldier._10_npcChat or 20320.chat.gameforge.find_senior_soldier._10_npcChat or 20321.chat.gameforge.find_senior_soldier._10_npcChat or 20322.chat.gameforge.find_senior_soldier._10_npcChat or 20323.chat.gameforge.find_senior_soldier._10_npcChat or 20324.chat.gameforge.find_senior_soldier._10_npcChat or 20325.chat.gameforge.find_senior_soldier._10_npcChat or 20326.chat.gameforge.find_senior_soldier._10_npcChat or 20327.chat.gameforge.find_senior_soldier._10_npcChat or 20340.chat.gameforge.find_senior_soldier._10_npcChat or 20341.chat.gameforge.find_senior_soldier._10_npcChat or 20342.chat.gameforge.find_senior_soldier._10_npcChat or 20343.chat.gameforge.find_senior_soldier._10_npcChat or 20344.chat.gameforge.find_senior_soldier._10_npcChat or 20345.chat.gameforge.find_senior_soldier._10_npcChat or 20346.chat.gameforge.find_senior_soldier._10_npcChat or 20347.chat.gameforge.find_senior_soldier._10_npcChat with pc_is_novice() and npc_is_same_empire() and npc_is_same_job() and pc.get_level()<=10 begin
			if not next_time_is_now() then
				say_title(gameforge.find_senior_soldier._20_sayTitle)
				say(gameforge.find_senior_soldier._30_say)
				else
				say(gameforge.find_senior_soldier._40_say)
				wait()
				say_title(gameforge.find_senior_soldier._20_sayTitle)
				say(gameforge.find_senior_soldier._50_say)
				find_senior_soldier.save_target_cond()
				next_time_set(time_hour_to_sec(1), 10)
				set_state(find)
			end
		end
    end
    state failure begin
		when letter begin
			send_letter(gameforge.find_senior_soldier._60_sendLetter)
		end
		when button or info begin
			----"12345678901234567890123456789012345678901234567890"|
			say_title(gameforge.buy_fishrod._210_sayTitle)
			say(gameforge.find_senior_soldier._70_sayReward)
			say_reward(gameforge.find_senior_soldier._80_sayReward)
			restart_quest()
		end
    end
    state find begin
		when letter begin
			local v=find_senior_soldier.find_target()
			test_chat(string.format(gameforge.find_senior_soldier._90_chat, v))
			if v==0 then 
			set_state(failure)
			else
			target.vid("__TARGET__", v, gameforge.find_senior_soldier._100_targetVid) 
			send_letter(gameforge.find_senior_soldier._100_targetVid)
			end
		end
		when button or info begin
			-----------"12345678901234567890123456789012345678901234567890"|
			say_title(gameforge.find_senior_soldier._110_sayTitle)
					say_reward(gameforge.find_senior_soldier._120_sayReward)
				end
		when __TARGET__.target.die begin
			----------"12345678901234567890123456789012345678901234567890"|
			say_title(gameforge.buy_fishrod._210_sayTitle)
					say_reward(gameforge.find_senior_soldier._130_sayReward)
					say_reward(gameforge.find_senior_soldier._80_sayReward)
					restart_quest()
		end
		when __TARGET__.target.click begin
			----------"12345678901234567890123456789012345678901234567890"|
			say_title(gameforge.find_senior_soldier._140_sayTitle)
					say_reward(gameforge.find_senior_soldier._150_sayReward)
			say(gameforge.find_senior_soldier._160_say)
			target.delete("__TARGET__")
			find_senior_soldier.clear_target_cond()
			set_state(reward)
		end
    end
    state reward begin
		when letter begin
			send_letter(gameforge.find_senior_soldier._170_sendLetter)
		end
		when button begin
			----------"12345678901234567890123456789012345678901234567890"|
			say_title(gameforge.find_senior_soldier._180_sayTitle)
			say(gameforge.find_senior_soldier._190_say)

			local funcList={
			function() find_senior_soldier.apply_affect(gameforge.find_senior_soldier._191_say, apply.MAX_HP, 100) end,
			function() find_senior_soldier.apply_affect(gameforge.find_senior_soldier._192_say, apply.HP_REGEN, 50) end,
			function() find_senior_soldier.apply_affect(gameforge.find_senior_soldier._193_say, apply.STR, 5) end,
			function() find_senior_soldier.apply_affect(gameforge.find_senior_soldier._194_say, apply.CON, 5) end,
			function() find_senior_soldier.apply_affect(gameforge.find_senior_soldier._195_say, apply.CRITICAL_PCT, 10) end,
			function() find_senior_soldier.apply_affect(gameforge.find_senior_soldier._196_say, apply.ATT_SPEED, 10) end,
			function() find_senior_soldier.apply_affect(gameforge.find_senior_soldier._197_say, apply.ATTBONUS_ANIMAL, 10) end,
			}	
			table_get_random_item(funcList)()
			restart_quest()
		end
    end
    state __FUNC__ begin
		function clear_target_cond()
			pc.setqf("Ziel_Beding", 0)
		end
		function save_target_cond()
			test_chat(string.format(gameforge.find_senior_soldier._200_chat, npc_get_job()))
			pc.setqf("Ziel_Beding", npc_get_job())
		end
		function find_target()
			return find_pc_cond(5, 100, pc.getqf("Ziel_Beding"))
		end
		function apply_affect(name, type, value)
			say_title(gameforge.blacksmith._40_sayTitle)
					say_reward(name)
			say_reward(gameforge.find_senior_soldier._210_sayReward)
					affect.add(type, value, 5*60)
		end
    end
end