forked from metin2/server
877 lines
35 KiB
Groff
877 lines
35 KiB
Groff
-- Chuseok Events
|
|
quest harvest_festival begin
|
|
state start begin
|
|
function kill_action()
|
|
local kill_count = pc.getqf("mob_kill2_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(2)
|
|
pc.setqf("mob_kill2_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_2403", 60 - kill_count);
|
|
|
|
if kill_count >= 60 or kill_count < 0 then
|
|
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()
|
|
set_state(information)
|
|
|
|
end -- end of if
|
|
|
|
end
|
|
|
|
|
|
function get_random_rice(type)
|
|
if (type == 1) then
|
|
if (pc.get_level() >= 90) then
|
|
random_rice = number(3, 6)
|
|
elseif (pc.get_level() >= 70) then
|
|
random_rice = number(2, 5)
|
|
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(4, 8)
|
|
elseif (pc.get_level() >= 70) then
|
|
random_rice = number(3, 7)
|
|
elseif (pc.get_level() >= 50) then
|
|
random_rice = number(3, 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
|
|
|
|
|
|
-- 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._130_select,
|
|
gameforge.harvest_festival._140_select,
|
|
gameforge.harvest_festival._150_select,
|
|
gameforge.harvest_festival._160_select,
|
|
gameforge.harvest_festival._170_select)
|
|
if harvest_item_set == 9 then
|
|
return
|
|
end -- end of if
|
|
|
|
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 = 30
|
|
elseif harvest_item_set == 2 then
|
|
harvest_item_name = gameforge.harvest_festival._100_select
|
|
harvest_rice_count = 45
|
|
elseif harvest_item_set == 3 then
|
|
harvest_item_name = gameforge.harvest_festival._110_select
|
|
harvest_rice_count = 50
|
|
elseif harvest_item_set == 4 then
|
|
harvest_item_name = gameforge.harvest_festival._120_select
|
|
harvest_rice_count = 55
|
|
elseif harvest_item_set == 5 then
|
|
harvest_item_name = gameforge.harvest_festival._130_select
|
|
harvest_rice_count = 60
|
|
elseif harvest_item_set == 6 then
|
|
harvest_item_name = gameforge.harvest_festival._140_select
|
|
harvest_rice_count = 70
|
|
elseif harvest_item_set == 7 then
|
|
harvest_item_name = gameforge.harvest_festival._150_select
|
|
harvest_rice_count = 75
|
|
elseif harvest_item_set == 8 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 == 5 then
|
|
pc.setqf("rice_count", rice_count - harvest_rice_count)
|
|
pc.give_item2("50112", 1)
|
|
elseif harvest_item_set == 6 then
|
|
pc.setqf("rice_count", rice_count - harvest_rice_count)
|
|
pc.give_item2("72724", 1)
|
|
elseif harvest_item_set == 7 then
|
|
pc.setqf("rice_count", rice_count - harvest_rice_count)
|
|
pc.give_item2("50114", 1)
|
|
elseif harvest_item_set == 8 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(gameforge.harvest_festival._360_say)
|
|
|
|
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_select)
|
|
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)
|
|
end -- end of when
|
|
|
|
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 if
|
|
|
|
say(gameforge.harvest_festival._520_sendLetter)
|
|
say(string.format(gameforge.harvest_festival._530_say, mob1_info))
|
|
|
|
local gogo_set = select(gameforge.harvest_festival._540_select,gameforge.harvest_festival._550_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._600_say
|
|
elseif pc.get_level() >= 81 then
|
|
pc.setqf("mob2_info", 7)
|
|
mob2_name = gameforge.harvest_festival._610_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
|
|
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 1137.kill with pc.getf("harvest_festival","mob1_info") == 6 begin
|
|
local kill_count = pc.getqf("mob_kill1_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(1)
|
|
pc.setqf("mob_kill1_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_1137", 30 - kill_count)
|
|
|
|
if kill_count >= 30 or kill_count < 0 then
|
|
notice_multiline(string.format(gameforge.harvest_festival._560_notice, random_rice), notice)
|
|
-- How many dishes are needed
|
|
pc.setqf("cake_count", random_rice)
|
|
clear_letter()
|
|
|
|
end
|
|
end
|
|
|
|
when 2202.kill with pc.getf("harvest_festival","mob1_info") == 5 begin
|
|
local kill_count = pc.getqf("mob_kill1_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(1)
|
|
pc.setqf("mob_kill1_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_2202", 30 - kill_count)
|
|
|
|
if kill_count >= 30 or kill_count < 0 then
|
|
notice_multiline(string.format(gameforge.harvest_festival._560_notice, random_rice), notice)
|
|
-- How many dishes are needed
|
|
pc.setqf("cake_count", random_rice)
|
|
clear_letter()
|
|
end
|
|
|
|
end
|
|
|
|
when 701.kill with pc.getf("harvest_festival","mob1_info") == 4 begin
|
|
local kill_count = pc.getqf("mob_kill1_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(1)
|
|
pc.setqf("mob_kill1_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_701", 30 - kill_count)
|
|
|
|
if kill_count >= 30 or kill_count < 0 then
|
|
notice_multiline(string.format(gameforge.harvest_festival._560_notice, random_rice), notice)
|
|
-- How many dishes are needed
|
|
pc.setqf("cake_count", random_rice)
|
|
clear_letter()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
when 501.kill with pc.getf("harvest_festival","mob1_info") == 3 begin
|
|
local kill_count = pc.getqf("mob_kill1_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(1)
|
|
pc.setqf("mob_kill1_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_501", 30 - kill_count)
|
|
|
|
if kill_count >= 30 or kill_count < 0 then
|
|
notice_multiline(string.format(gameforge.harvest_festival._560_notice, random_rice), notice)
|
|
-- How many dishes are needed
|
|
pc.setqf("cake_count", random_rice)
|
|
clear_letter()
|
|
|
|
end
|
|
end
|
|
|
|
when 301.kill with pc.getf("harvest_festival","mob1_info") == 2 begin
|
|
local kill_count = pc.getqf("mob_kill1_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(1)
|
|
pc.setqf("mob_kill1_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_301", 30 - kill_count)
|
|
|
|
if kill_count >= 30 or kill_count < 0 then
|
|
notice_multiline(string.format(gameforge.harvest_festival._560_notice, random_rice), notice)
|
|
-- How many dishes are needed
|
|
pc.setqf("cake_count", random_rice)
|
|
clear_letter()
|
|
end
|
|
end -- end of when
|
|
|
|
when 105.kill with pc.getf("harvest_festival","mob1_info") == 1 begin
|
|
local kill_count = pc.getqf("mob_kill1_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(1)
|
|
pc.setqf("mob_kill1_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_105", 30 - kill_count)
|
|
|
|
if kill_count >= 30 or kill_count < 0 then
|
|
notice_multiline(string.format(gameforge.harvest_festival._560_notice, random_rice), notice)
|
|
-- How many dishes are needed
|
|
pc.setqf("cake_count", random_rice)
|
|
clear_letter()
|
|
end
|
|
end -- end of when
|
|
|
|
|
|
end -- end of state
|
|
|
|
|
|
state mob_kill2 begin
|
|
|
|
when letter begin
|
|
send_letter(gameforge.harvest_festival._520_sendLetter)
|
|
end -- end of when
|
|
|
|
when info or button begin
|
|
local mob2_info = pc.getqf("mob2_info")
|
|
if mob2_info == 8 then
|
|
mob2_name = gameforge.harvest_festival._600_say
|
|
elseif mob2_info == 7 then
|
|
mob2_name = gameforge.harvest_festival._610_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(gameforge.harvest_festival._780_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._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 113.kill with pc.getf("harvest_festival","mob2_info") == 1 and party.is_party() begin
|
|
local kill_count = pc.getqf("mob_kill2_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(2)
|
|
pc.setqf("mob_kill2_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_113", 60 - kill_count);
|
|
|
|
if kill_count >= 60 or kill_count < 0 then
|
|
|
|
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()
|
|
set_state(information)
|
|
|
|
end -- end of if
|
|
end -- end of when
|
|
|
|
when 502.kill with pc.getf("harvest_festival","mob2_info") == 2 and party.is_party() begin
|
|
local kill_count = pc.getqf("mob_kill2_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(2)
|
|
pc.setqf("mob_kill2_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_502", 60 - kill_count);
|
|
|
|
if kill_count >= 60 or kill_count < 0 then
|
|
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()
|
|
set_state(information)
|
|
|
|
end -- end of if
|
|
end -- end of when
|
|
|
|
when 703.kill with pc.getf("harvest_festival","mob2_info") == 3 and party.is_party() begin
|
|
local kill_count = pc.getqf("mob_kill2_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(2)
|
|
pc.setqf("mob_kill2_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_703", 60 - kill_count);
|
|
|
|
if kill_count >= 60 or kill_count < 0 then
|
|
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()
|
|
set_state(information)
|
|
|
|
end -- end of if
|
|
end -- end of when
|
|
|
|
when 707.kill with pc.getf("harvest_festival","mob2_info") == 4 and party.is_party() begin
|
|
local kill_count = pc.getqf("mob_kill2_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(2)
|
|
pc.setqf("mob_kill2_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_707", 60 - kill_count);
|
|
|
|
if kill_count >= 60 or kill_count < 0 then
|
|
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()
|
|
set_state(information)
|
|
|
|
end -- end of if
|
|
end -- end of when
|
|
|
|
when 1305.kill with pc.getf("harvest_festival","mob2_info") == 5 and party.is_party() begin
|
|
local kill_count = pc.getqf("mob_kill2_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(2)
|
|
pc.setqf("mob_kill2_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_1305", 60 - kill_count);
|
|
|
|
if kill_count >= 60 or kill_count < 0 then
|
|
|
|
|
|
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()
|
|
set_state(information)
|
|
|
|
end -- end of if
|
|
end -- end of when
|
|
|
|
when 2205.kill with pc.getf("harvest_festival","mob2_info") == 6 and party.is_party() begin
|
|
local kill_count = pc.getqf("mob_kill2_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(2)
|
|
pc.setqf("mob_kill2_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_2205", 60 - kill_count);
|
|
|
|
if kill_count >= 60 or kill_count < 0 then
|
|
|
|
|
|
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()
|
|
set_state(information)
|
|
|
|
end -- end of if
|
|
end -- end of when
|
|
|
|
when 2401.kill with pc.getf("harvest_festival","mob2_info") == 7 and party.is_party() begin
|
|
local kill_count = pc.getqf("mob_kill2_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(2)
|
|
pc.setqf("mob_kill2_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_2401", 60 - kill_count);
|
|
|
|
if kill_count >= 60 or kill_count < 0 then
|
|
|
|
|
|
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()
|
|
set_state(information)
|
|
|
|
end -- end of if
|
|
end -- end of when
|
|
|
|
when 2403.kill with pc.getf("harvest_festival","mob2_info") == 8 and party.is_party() begin
|
|
harvest_festival.kill_action(2403,2)
|
|
local kill_count = pc.getqf("mob_kill2_count") + 1
|
|
local random_rice = harvest_festival.get_random_rice(2)
|
|
pc.setqf("mob_kill2_count", kill_count)
|
|
|
|
if kill_count < 0 then
|
|
return
|
|
end -- end of if
|
|
|
|
q.set_counter("remaining_2403", 60 - kill_count);
|
|
|
|
if kill_count >= 60 or kill_count < 0 then
|
|
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()
|
|
set_state(information)
|
|
|
|
end -- end of if
|
|
end -- end of when
|
|
end -- end of state
|
|
end -- end of quest
|
|
|