-- Chuseok Events
quest harvest_festival begin
    state start begin
	
		function reset_flags()
			if game.get_event_flag("harvest_festival") == 0 then
				q.setstate("information")
				pc.setqf("harvest_festival_count", 0)
				pc.setqf("harvest_festival_mob_complete", 0)
				pc.setqf("cake_count", 0)
				pc.setqf("rice_count", 0)
				pc.setqf("mob_kill1_count",0)
				pc.setqf("mob_kill2_count",0)
				pc.setqf("mob2_info", 0)
				pc.setqf("mob1_info", 0)
			end
		
		end
		
        function kill_action(mob_vnum, kill_state)
						local kill_count
            if kill_state == 1 then
                kill_count = pc.getqf("mob_kill1_count") + 1
                pc.setqf("mob_kill1_count", kill_count)
                kill_finish = 30
            else
                kill_count = pc.getqf("mob_kill2_count") + 1
                pc.setqf("mob_kill2_count", kill_count)
                kill_finish = 60
            end
            

            if kill_count < 0 then
                return
            end	-- end of if

       			if kill_count >= kill_finish then
              q.set_counter(gameforge.locale.levelup.remain_count, 0)
						else 
	            q.set_counter(gameforge.locale.levelup.remain_count, kill_finish - kill_count)
						end

            if kill_count == kill_finish then
								local random_rice = harvest_festival.get_random_rice(2)
                notice_multiline(string.format(gameforge.harvest_festival._560_notice, random_rice), notice)
                -- Getting the rice cake
                local cake_count = pc.getqf("cake_count") + random_rice
                pc.setqf("cake_count", cake_count)

                pc.setqf("harvest_festival_mob_complete", 1)
                clear_letter()
								if kill_state == 2 then
	                q.setstate("information")
								end

            end -- end of if
        
        end
        
        
        function get_random_rice(type)
            if (type == 1) then
                if (pc.get_level() >= 90) then
                    random_rice = number(4, 7)
                elseif (pc.get_level() >= 70) then
                    random_rice = number(3, 6)
                elseif (pc.get_level() >= 50) then
                    random_rice = number(2, 4)
                elseif (pc.get_level() >= 30) then
                    random_rice = number(1, 3)
                elseif (pc.get_level() >= 10) then
                    random_rice = number(1, 2)
                else
                    random_rice = number(1, 2)
                end -- end of if
            elseif (type == 2) then
                if (pc.get_level() >= 90) then
                    random_rice = number(7, 10)
                elseif (pc.get_level() >= 70) then
                    random_rice = number(6, 8)
                elseif (pc.get_level() >= 50) then
                    random_rice = number(4, 6)
                elseif (pc.get_level() >= 30) then
                    random_rice = number(2, 5)
                elseif (pc.get_level() >= 10) then
                    random_rice = number(2, 4)
                else
                    random_rice = number(2, 3)
                end -- end of if
            end
            
            return random_rice
            
        end

        when login with pc.get_level() > 0 begin
            set_state(information)
            pc.setqf("harvest_festival_count", 0)
            pc.setqf("harvest_festival_mob_complete", 0)
            pc.setqf("cake_count", 0)
            pc.setqf("rice_count", 0)
      end -- end of when
  end -- end of state

    
    -- Event Start
    state information begin	
        when letter with game.get_event_flag("harvest_festival")>0  begin
            local v= find_npc_by_vnum(20086)
            if 0==v then
            else
                target.vid("__TARGET__", v, gameforge.harvest_festival._010_targetVid)
            end
        end

		when login with game.get_event_flag("harvest_festival") == 0 begin
			harvest_festival.reset_flags()
		end

        -- Glutinous rice in exchange for a gift
        when 20087.chat.gameforge.harvest_festival._025_npcChat with game.get_event_flag("harvest_festival")>0 begin
            local rice_count = pc.getqf("rice_count")

            say_title(gameforge.harvest_festival._020_sayTitle)
            say(string.format(gameforge.harvest_festival._030_say, rice_count))
            local reward_set = select(gameforge.harvest_festival._040_select, gameforge.harvest_festival._050_select)

            if reward_set == 2 then
                say_title(gameforge.harvest_festival._020_sayTitle)
                say(gameforge.harvest_festival._060_say)
                return
            end -- end of if	
        
            say_title(gameforge.harvest_festival._020_sayTitle)
            say(gameforge.harvest_festival._070_say)

            -- local harvest_item_set = select("15x Glut",  "15x Gl","35x Perle","35x Gluttrank","35x Gltes","Maybe later")
            local harvest_item_set = select(gameforge.harvest_festival._090_select,
                                            gameforge.harvest_festival._100_select,
                                            gameforge.harvest_festival._110_select,
                                            gameforge.harvest_festival._120_select,
																						gameforge.harvest_festival._125_select,
																						gameforge.harvest_festival._170_select)

            if harvest_item_set == 6 then
                return
            end -- end of ifa

						local harvest_item_set_2 = 0	

						if harvest_item_set == 5 then
              harvest_item_set_2 = select(gameforge.harvest_festival._130_select,
                                            gameforge.harvest_festival._135_select,
                                            gameforge.harvest_festival._140_select,
                                            gameforge.harvest_festival._150_select,
                                            gameforge.harvest_festival._160_select,
                                            gameforge.harvest_festival._170_select)
						end

						if harvest_item_set_2 == 6 then
							return
						end

            local harvest_item_name = ""
            local harvest_rice_count = 0
            
            
            if harvest_item_set == 1 then
                harvest_item_name = gameforge.harvest_festival._090_select
                harvest_rice_count = 55 
            elseif harvest_item_set == 2 then
                harvest_item_name = gameforge.harvest_festival._100_select
                harvest_rice_count = 50 
            elseif harvest_item_set == 3 then
                harvest_item_name = gameforge.harvest_festival._110_select
                harvest_rice_count = 45
            elseif harvest_item_set == 4 then
                harvest_item_name = gameforge.harvest_festival._120_select
                harvest_rice_count = 30
            elseif harvest_item_set_2 == 1 then
                harvest_item_name = gameforge.harvest_festival._130_select
                harvest_rice_count = 65 
					 elseif harvest_item_set_2 == 2 then
								harvest_item_name = gameforge.harvest_festival._135_select
                harvest_rice_count = 75
           elseif harvest_item_set_2 == 3 then
                harvest_item_name = gameforge.harvest_festival._140_select
                harvest_rice_count = 60 
            elseif harvest_item_set_2 == 4 then
                harvest_item_name = gameforge.harvest_festival._150_select
                harvest_rice_count = 75
            elseif harvest_item_set_2 == 5 then
                harvest_item_name = gameforge.harvest_festival._160_select
                harvest_rice_count = 80
            end -- end of if	

            -- Check glutinous rice amount
            if rice_count < harvest_rice_count then
                say_title(gameforge.harvest_festival._020_sayTitle)
                say(gameforge.harvest_festival._180_say)
                return
            end -- end of if	

            say_title(gameforge.harvest_festival._020_sayTitle)
            say(gameforge.harvest_festival._190_say)
						say("")
            say(string.format(gameforge.harvest_festival._200_say,harvest_rice_count, harvest_item_name))
            say(gameforge.harvest_festival._210_say)

            local item_get_set = select(gameforge.harvest_festival._220_select, gameforge.harvest_festival._170_select)

            if item_get_set == 2 then
                return
            end -- end of if

            -- System to hand out the items
            if harvest_item_set == 1 then
                pc.setqf("rice_count", rice_count - harvest_rice_count)	
                pc.give_item2("50109", 1)
            elseif harvest_item_set == 2 then
                pc.setqf("rice_count", rice_count - harvest_rice_count)	
                pc.give_item2("50110", 1)
            elseif harvest_item_set == 3 then
                pc.setqf("rice_count", rice_count - harvest_rice_count)	
                pc.give_item2("72728", 1)
            elseif harvest_item_set == 4 then
                pc.setqf("rice_count", rice_count - harvest_rice_count)	
                pc.give_item2("50111", 1)
            elseif harvest_item_set_2 == 1 then
                pc.setqf("rice_count", rice_count - harvest_rice_count)
                pc.give_item2("50112", 1)
						elseif harvest_item_set_2 == 2 then
								pc.setqf("rice_count", rice_count - harvest_rice_count)
                pc.give_item2("50113", 1)
            elseif harvest_item_set_2 == 3 then
                pc.setqf("rice_count", rice_count - harvest_rice_count)	
                pc.give_item2("72724", 1)
            elseif harvest_item_set_2 == 4 then
                pc.setqf("rice_count", rice_count - harvest_rice_count)	
                pc.give_item2("50114", 1)
            elseif harvest_item_set_2 == 5 then
                pc.setqf("rice_count", rice_count - harvest_rice_count)	
                pc.give_item2("50115", 1)
            end -- end of if

            say_reward(string.format(gameforge.harvest_festival._230_say,harvest_item_name))
            say(gameforge.harvest_festival._240_say)
            
        end -- end of when
        
        when 20086.chat."Harvest Event Commands" with pc.get_gm_level() == 5 begin

            if game.get_event_flag("harvest_festival") == 0 then
             
                say("Current Status: ThanksGiving Event Results")
                say("")

                local s = select("Start Event", "Cancel")
                if 1==s then
                    game.set_event_flag("harvest_festival", 1) 
					return
				end
            else
                say("Current Status: The event is currently active")
                say("")
                local s = select("Stop the Event", "Cancel")
                if 1==s then
                    game.set_event_flag("harvest_festival", 0) 
                return
                end
            end
        end

        when 20086.chat.gameforge.harvest_festival._250_npcChat with game.get_event_flag("harvest_festival")>0 begin
            target.delete("__TARGET__")
            local quest_count = pc.getqf("harvest_festival_count")
            local quest_complete = pc.getqf("harvest_festival_mob_complete")

            -- When you finished all the quests
            if quest_count >= 10 then
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(gameforge.harvest_festival._270_say)

                return
            end -- end of if

            -- If you came back for this dish
            if quest_complete == 1 then
                pc.setqf("harvest_festival_count", quest_count + 1)
                pc.setqf("harvest_festival_mob_complete", 0)
                pc.setqf("mob_kill1_count", 0)
                pc.setqf("mob_kill2_count", 0)
                
                local quest_count = pc.getqf("harvest_festival_count")
                
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(gameforge.harvest_festival._280_say)
                wait()

                -- Getting the Glutinous Rice
                local rice_count = pc.getqf("rice_count")
                local cake_count = pc.getqf("cake_count")
                pc.setqf("rice_count", rice_count + cake_count)
                pc.setqf("cake_count", 0)
                
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(string.format(gameforge.harvest_festival._290_say, cake_count))
								wait()
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(gameforge.harvest_festival._300_say)
                wait()

                if quest_count >= 10 then
                    char_log(0, "EVENT_RECORD", "harvest_festival clear")
                    say_title(gameforge.harvest_festival._260_sayTitle)
                    say(gameforge.harvest_festival._310_say)

                    return
                else
                    say_title(gameforge.harvest_festival._260_sayTitle)
                    say(gameforge.harvest_festival._320_say)
                end -- end of if

                local replay_set = select(gameforge.harvest_festival._330_select, gameforge.harvest_festival._340_select)

                if replay_set == 2 then
                    return
                end	-- end of if

                local current_count = quest_count + 1

                say_title(gameforge.harvest_festival._260_sayTitle)
                say(gameforge.harvest_festival._350_say)
                say(string.format(gameforge.harvest_festival._360_say, current_count))
                
                set_state(mob_kill1)

                return
            end -- end of if

            -- If you stop and do the quest again
            if quest_count > 0 then
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(string.format(gameforge.harvest_festival._360_say, quest_count))

                local replay_set = select(gameforge.harvest_festival._380_select,gameforge.harvest_festival._390_select)

                if replay_set == 2 then
                    return
                end	-- end of if

                local current_count = quest_count + 1
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(string.format(gameforge.harvest_festival._400_say, current_count))
                set_state(mob_kill1)

                return
            end -- end of if

            -- here we must put the different mobnames
            if pc.get_level() >= 81 then
                pc.setqf("mob1_info", 6)
                mob1_name = gameforge.harvest_festival._410_say
            elseif pc.get_level() >= 61 then	
                pc.setqf("mob1_info", 5)
                mob1_name = gameforge.harvest_festival._420_say
            elseif pc.get_level() >= 41 then	
                pc.setqf("mob1_info", 4)
                mob1_name = gameforge.harvest_festival._430_say
            elseif pc.get_level() >= 21 then	
                pc.setqf("mob1_info", 3)
                mob1_name = gameforge.harvest_festival._440_say
            elseif pc.get_level() >= 11 then	
                pc.setqf("mob1_info", 2)
                mob1_name = gameforge.harvest_festival._450_say
            elseif pc.get_level() <= 10 then	
                pc.setqf("mob1_info", 1)
                mob1_name = gameforge.harvest_festival._460_say
            end -- end of if
            
					
			-- When you start for the 1st time
            say_title(gameforge.harvest_festival._260_sayTitle)
            say(gameforge.harvest_festival._470_say)
            say(string.format(gameforge.harvest_festival._480_say, mob1_name))

            local main_set = select(gameforge.harvest_festival._490_select,gameforge.harvest_festival._500_select)
            if main_set == 2 then
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(gameforge.harvest_festival._510_say)
                return
            end -- end of if

            local current_count = quest_count + 1

            say_title(gameforge.harvest_festival._260_sayTitle)
            say(string.format(gameforge.harvest_festival._400_say, current_count))
            set_state(mob_kill1)

        end -- end of when
    end -- end of state

    
    state mob_kill1 begin
        when letter begin
            send_letter(gameforge.harvest_festival._520_sendLetter)
						q.set_counter(gameforge.locale.levelup.remain_count, 30 -  pc.getqf("mob_kill1_count"))
        end -- end of when
		
		when login with game.get_event_flag("harvest_festival") == 0 begin
			harvest_festival.reset_flags()
		end
		
        when info or button begin
            local mob1_info = pc.getqf("mob1_info")
            if mob1_info == 6 then
                mob1_name = gameforge.harvest_festival._410_say
            elseif mob1_info == 5 then	
                mob1_name = gameforge.harvest_festival._420_say
            elseif mob1_info == 4 then	
                mob1_name = gameforge.harvest_festival._430_say
           elseif mob1_info == 3 then	
                mob1_name = gameforge.harvest_festival._440_say
            elseif mob1_info == 2 then	
                mob1_name = gameforge.harvest_festival._450_say
            elseif mob1_info == 1 then	
                mob1_name = gameforge.harvest_festival._460_say
            end -- end of ifa

       			say_title(gameforge.harvest_festival._520_sendLetter) 
            say(string.format(gameforge.harvest_festival._530_say, mob1_name))

            local gogo_set = select(gameforge.harvest_festival._330_select,gameforge.harvest_festival._540_select)

           if gogo_set == 2 then
                clear_letter()
                set_state(information)
            end -- end of if

        end -- end of when

        when 20086.chat.gameforge.harvest_festival._570_npcChat with game.get_event_flag("harvest_festival")>0 begin
            local kill_count = pc.getqf("mob_kill1_count")
            if kill_count < 30 then
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(gameforge.harvest_festival._580_say)
            else
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(gameforge.harvest_festival._590_say)
                local mob2_name = ""
                if pc.get_level() >= 91 then
                    pc.setqf("mob2_info", 8)
                    mob2_name = gameforge.harvest_festival._610_say
                elseif pc.get_level() >= 81 then
                    pc.setqf("mob2_info", 7)
                    mob2_name = gameforge.harvest_festival._600_say
                elseif pc.get_level() >= 71 then
                    pc.setqf("mob2_info", 6)
                    mob2_name = gameforge.harvest_festival._620_say
                elseif pc.get_level() >= 61 then	
                    pc.setqf("mob2_info", 5)
                    mob2_name = gameforge.harvest_festival._630_say
                elseif pc.get_level() >= 51 then	
                    pc.setqf("mob2_info", 4)
                    mob2_name = gameforge.harvest_festival._640_say
                elseif pc.get_level() >= 41 then	
                    pc.setqf("mob2_info", 3)
                    mob2_name = gameforge.harvest_festival._650_say
                elseif pc.get_level() >= 31 then	
                    pc.setqf("mob2_info", 2)
                    mob2_name = gameforge.harvest_festival._660_say
                elseif pc.get_level() >= 20 then	
                    pc.setqf("mob2_info", 1)
                    mob2_name = gameforge.harvest_festival._670_say
								elseif pc.get_level() >= 10 then
										pc.setqf("mob2_info", 9)
	                  mob2_name = gameforge.harvest_festival._810_say
								else
										pc.setqf("mob2_info", 10)
	                  mob2_name = gameforge.harvest_festival._820_say
                end -- end of if

                say(string.format(gameforge.harvest_festival._680_say, mob2_name))
                local sub_set = select(gameforge.harvest_festival._690_select,gameforge.harvest_festival._700_select)
                
                if sub_set == 2	then
                    say_title(gameforge.harvest_festival._260_sayTitle)
                    say(gameforge.harvest_festival._710_say)
                    set_state(information)
                    return
                end
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(string.format(gameforge.harvest_festival._715_say, mob2_name))
                set_state(mob_kill2)
            end
        end	-- end of when
        
        when 20087.click with game.get_event_flag("harvest_festival")>0 begin
            say_title(gameforge.harvest_festival._020_sayTitle)
            say(gameforge.harvest_festival._550_select)
        end	-- end of when
        
        when 2502.kill with pc.getf("harvest_festival","mob1_info") == 6 begin
           harvest_festival.kill_action(2502,1)		
        end
        
        when 2202.kill with pc.getf("harvest_festival","mob1_info") == 5 begin
            harvest_festival.kill_action(2202,1)		
        end
        
        when 701.kill with pc.getf("harvest_festival","mob1_info") == 4 begin
            harvest_festival.kill_action(701,1)		
        end
        
        when 501.kill with pc.getf("harvest_festival","mob1_info") == 3 begin
            harvest_festival.kill_action(501,1)		
        end
        
        when 301.kill with pc.getf("harvest_festival","mob1_info") == 2 begin
            harvest_festival.kill_action(301,1)
        end -- end of when
        
        when 105.kill with pc.getf("harvest_festival","mob1_info") == 1 begin
           harvest_festival.kill_action(105,1)		
        end -- end of when

        
    end -- end of state


    state mob_kill2 begin

        when letter begin
            send_letter(gameforge.harvest_festival._520_sendLetter)
						q.set_counter(gameforge.locale.levelup.remain_count, 60 -  pc.getqf("mob_kill2_count"))

        end -- end of when
		
		when login with game.get_event_flag("harvest_festival") == 0 begin
			harvest_festival.reset_flags()
		end
      
        when info or button begin
            local mob2_info = pc.getqf("mob2_info")
						if mob2_info == 10 then
								mob2_name = gameforge.harvest_festival._820_say
						elseif mob2_info == 9 then
								mob2_name = gameforge.harvest_festival._810_say
            elseif mob2_info == 8 then
                mob2_name = gameforge.harvest_festival._610_say
            elseif mob2_info == 7 then
                mob2_name = gameforge.harvest_festival._600_say
            elseif mob2_info == 6 then
                mob2_name = gameforge.harvest_festival._620_say
            elseif mob2_info == 5 then
                mob2_name = gameforge.harvest_festival._630_say
            elseif mob2_info == 4 then
                mob2_name = gameforge.harvest_festival._640_say
            elseif mob2_info == 3 then
                mob2_name = gameforge.harvest_festival._650_say
            elseif mob2_info == 2 then
                mob2_name = gameforge.harvest_festival._660_say
            elseif mob2_info == 1 then
                mob2_name = gameforge.harvest_festival._670_say
            end -- end of if

            say_title(gameforge.harvest_festival._520_sendLetter)
            say(string.format(gameforge.harvest_festival._720_say,mob2_name))

            if party.is_party() then
                say(gameforge.harvest_festival._730_say)
            else
                say(gameforge.harvest_festival._740_say)
            end -- end of if

            local gogo_set = select(gameforge.harvest_festival._380_select,gameforge.harvest_festival._540_select)

            if gogo_set == 2 then
                clear_letter()
                set_state(information)
            end -- end of if

        end -- end of when
     
     
        when 20086.chat.gameforge.harvest_festival._750_npcChat with game.get_event_flag("harvest_festival")>0 begin

            local quest_count = pc.getqf("harvest_festival_count")
            local quest_complete = pc.getqf("harvest_festival_mob_complete")

            -- When you have finished all the quests
            if quest_count >= 10 then
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(gameforge.harvest_festival._760_say)
                set_state(information)
                return
            end -- end of if

            -- If you come back for the dish
            if quest_complete == 1 then
                pc.setqf("harvest_festival_count", quest_count + 1)
                pc.setqf("harvest_festival_mob_complete", 0)
                pc.setqf("mob_kill1_count", 0)
                pc.setqf("mob_kill2_count", 0)
                
                local quest_count = pc.getqf("harvest_festival_count")
                
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(gameforge.harvest_festival._770_say)
                wait()

                -- Getting Glutinous Rice
                local rice_count = pc.getqf("rice_count")
                local cake_count = pc.getqf("cake_count")
                pc.setqf("rice_count", rice_count + cake_count)
                pc.setqf("cake_count", 0)
                
                say_title(gameforge.harvest_festival._260_sayTitle)
                say(string.format(gameforge.harvest_festival._780_say,rice_count))
                wait()
                
                if quest_count >= 10 then
                    char_log(0, "EVENT_RECORD", "harvest_festival clear")
                    say_title(gameforge.harvest_festival._260_sayTitle)
                    say(gameforge.harvest_festival._790_say)
                    set_state(information)
                    return
                else
                    say_title(gameforge.harvest_festival._260_sayTitle)
                    say(gameforge.harvest_festival._795_say)
                end -- end of if

                local replay_set = select(gameforge.harvest_festival._380_select,gameforge.harvest_festival._390_select)

                if replay_set == 2 then
                    set_state(information)
                    return
                end	-- end of if

                local current_count = quest_count + 1

                say_title(gameforge.harvest_festival._260_sayTitle)
                say(string.format(gameforge.harvest_festival._400_say,current_count))
                set_state(mob_kill1)
                return
            end -- end of if
        end -- end of when
        
        when 20087.click with game.get_event_flag("harvest_festival")>0 begin
            say(gameforge.harvest_festival._020_sayTitle)
            say(gameforge.harvest_festival._800_say)
        end -- end of when

				when 108.kill with pc.getf("harvest_festival","mob2_info") == 10 and party.is_party() begin
            harvest_festival.kill_action(108,2)
        end -- end of when

				when 109.kill with pc.getf("harvest_festival","mob2_info") == 9 and party.is_party() begin
            harvest_festival.kill_action(109,2)
        end -- end of when

        when 113.kill with pc.getf("harvest_festival","mob2_info") == 1 and party.is_party() begin
            harvest_festival.kill_action(113,2)
        end -- end of when	

        when 502.kill with pc.getf("harvest_festival","mob2_info") == 2  and party.is_party() begin
            harvest_festival.kill_action(502,2)
        end -- end of when	

        when 703.kill with pc.getf("harvest_festival","mob2_info") == 3 and party.is_party()  begin
            harvest_festival.kill_action(703,2)
        end -- end of when	

        when 707.kill with pc.getf("harvest_festival","mob2_info") == 4 and party.is_party()  begin
            harvest_festival.kill_action(707,2)
        end -- end of when	
            
        when 1305.kill with pc.getf("harvest_festival","mob2_info") == 5 and party.is_party()  begin
            harvest_festival.kill_action(1305,2)
        end -- end of when	
        
        when 2205.kill with pc.getf("harvest_festival","mob2_info") == 6  and party.is_party() begin
            harvest_festival.kill_action(2205,2)
        end -- end of when	
        
        when 2501.kill with pc.getf("harvest_festival","mob2_info") == 7  and party.is_party() begin
           harvest_festival.kill_action(2501,2)
        end -- end of when	

        when 2503.kill with pc.getf("harvest_festival","mob2_info") == 8  and party.is_party() begin
						notice("Zombie tot")
            harvest_festival.kill_action(2503,2)
        end -- end of when	
    end -- end of state	
end -- end of quest