forked from metin2/server
1
0
Fork 0
server/gamefiles/locale/english/quest/harvest_festival.quest.1

830 lines
30 KiB
Groff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Chuseok Events
quest harvest_festival begin
state start begin
function get_random_rice()
if (pc.get_level() >= 56) then
random_rice = number(4, 7)
elseif (pc.get_level() >= 40) then
random_rice = number(3, 7)
elseif (pc.get_level() > 30) then
random_rice = number(3, 5)
else
random_rice = number(2, 3)
end -- end of if
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, "Wondarim")
end
end
-- Glutinous rice in exchange for a gift
when 20087.chat."Glutinous Rice Gets Lost?" with game.get_event_flag("harvest_festival")>0 begin
local rice_count = pc.getqf("rice_count")
say("Handueop: ")
say("You have "..rice_count.." Glutinous rice!")
say("")
say("Not all of them are good, some are sticky!")
say("")
local reward_set = select("Ill try it!","Ill get used glutinous rice raseo..")
if reward_set == 2 then
say("Handueop: ")
say("You can come back again when you change your mind..")
say("")
return
end -- end of if
say("Handueop: ")
say("glutinous rice can give different gifts..")
say("Would you like to exchange it for something?")
say("")
local harvest_item_set = select("15x Glut", "15x Gl","35x Perle","35x Gluttrank","35x Gltes","Maybe later")
if harvest_item_set == 6 then
say("Handueop: ")
say("Come back when you made up your mind.")
say("")
return
end -- end of if
local harvest_item_name = ""
local harvest_rice_count = 0
if harvest_item_set == 1 then
harvest_item_name = " Thief Gloves (10h)"
harvest_rice_count = 15
elseif harvest_item_set == 2 then
harvest_item_name = " Experience Ring (10h)"
harvest_rice_count = 15
elseif harvest_item_set == 3 then
harvest_item_name = "1x Weiße Perle "
harvest_rice_count = 35
elseif harvest_item_set == 4 then
harvest_item_name = "10x Geschwindigkeitstrank "
harvest_rice_count = 35
elseif harvest_item_set == 5 then
harvest_item_name = "200x Schriftrolle des Ortes "
harvest_rice_count = 35
end -- end of if
-- Check glutinous rice amount
if rice_count < harvest_rice_count then
say("Handueop: ")
say("You dont have enough glutinous rice..")
say("Please collect more!")
say("")
return
end -- end of if
say("Handueop: ")
say("You choose a good gift..")
say("")
say("Want to trade "..harvest_rice_count.." for "..harvest_item_name)
say("Do you want to make the exchange?")
say("")
local item_get_set = select("Exchange the rice for the gifts!", "Ill come back later..")
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("72004", 1)
elseif harvest_item_set == 2 then
pc.setqf("rice_count", rice_count - harvest_rice_count)
pc.give_item2("72001", 1)
elseif harvest_item_set == 3 then
pc.setqf("rice_count", rice_count - harvest_rice_count)
pc.give_item2("27992", 1)
elseif harvest_item_set == 4 then
pc.setqf("rice_count", rice_count - harvest_rice_count)
pc.give_item2("71050", 10)
elseif harvest_item_set == 5 then
pc.setqf("rice_count", rice_count - harvest_rice_count)
pc.give_item2("22010", 200)
end -- end of if
say_reward(harvest_item_name.." was the item that you got!")
say("")
say("I like this gift..")
say("You should come back when you collect more rice !!")
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."Find the lost Rice Cake!" 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("Wondarim: ")
say("Thank you for bringing me this dish")
say("")
say("Have a good Thanksgiving..")
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("Wondarim: ")
say("Oh, got to stop getting this dish back!!")
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("You have "..cake_count.."Glutinous Rice!")
say("")
say("Wondarim: ")
say("In return for this dish, I'm here..")
say("Glutinous am here..")
say("Uncle reportedly handueop ")
say("Glutinous Rice told me seek...")
say("Please visit again later ")
say("")
wait()
if quest_count >= 10 then
char_log(0, "EVENT_RECORD", "harvest_festival clear")
say("Wondarim: ")
say("Meanwhile, Been so many things...")
say("I think the occasion gonna stay enough")
say("")
return
else
say("Wondarim: ")
say("By the way ... I ")
say("Still, the lack otto..")
say("Thank you once again do not think?")
say("")
end -- end of if
local replay_set = select("WHILE you're starting to help him continue to UD..","Ill help you later")
if replay_set == 2 then
return
end -- end of if
local current_count = quest_count + 1
say("Wondarim: ")
say("I believe I'm going to wait.!")
say("Please get you back ~")
say("")
say("Current Progress"..current_count)
say("")
say("Info> This quest can be repeated 10x.")
say("")
set_state(mob_kill1)
return
end -- end of if
-- If you stop and do the quest again
if quest_count > 0 then
say("Wondarim: ")
say("By the way ... I ")
say("Dish, still lacks ")
say("Would you mind once again keep up the excellent work?")
say("")
say("Please gather more..")
say("")
local replay_set = select("Continue to help him..","Ill help you later")
if replay_set == 2 then
return
end -- end of if
local current_count = quest_count + 1
say("Wondarim: ")
say("I believe I'm going to wait.!")
say("Please get you back")
say("")
say("Current Progress"..current_count)
say("")
say("Info> This quest can be repeated 10x.")
say("")
set_state(mob_kill1)
return
end -- end of if
-- When you start for the 1st time
say("Wondarim: ")
say("Could you please do me a favor?")
say("")
say("The tigers came back to the village on the past days.")
say("They have stolen all ingredients for our meal")
say("")
say("With those ingredients, we would be able to do our famous dish,")
say("we can give you a little bit as a reward..")
say("")
say("Will you help us?")
say("")
local main_set = select("Of course!.. Ill find it!!","Im very busy. Have a nice Thanks Giving day.")
if main_set == 2 then
say("Wondarim:")
say("Oh, ok.")
say("Thank you and nice Thanksgiving day")
return
end -- end of if
if pc.get_level() < 20 then
say("Wondarim: ")
say("You need to improve your power before..")
say("")
say("You will need more than 20 minutes to solve our mistake.")
say("")
return
end -- end of if
local current_count = quest_count + 1
say("Wondarim: ")
say("I think Im going to wait!")
say("Please, return")
say(current_count.." Quest Progress")
set_state(mob_kill1)
end -- end of when
end -- end of state
state mob_kill1 begin
when letter begin
send_letter("Please, get the dish back!")
end -- end of when
when info or button begin
say(locale.NOTICE_COLOR.." Get the dish back from the tigers!"..locale.NORMAL_COLOR)
say("")
say("Slay tigers to recover")
say("30 rice cakes and deliver them to Wondarim!")
say("")
local gogo_set = select("Accept!","Give up!")
if gogo_set == 2 then
clear_letter()
set_state(information)
end -- end of if
end -- end of when
when 20086.click with game.get_event_flag("harvest_festival")>0 begin
say("Wondarim:")
say("Please, get the dish back..")
say("")
end -- end of when
when 20087.click with game.get_event_flag("harvest_festival")>0 begin
say("Handueop:")
say("I want to make glutinous rice cakes..")
say("")
say("Help out Wondarim to find the rice cakes")
say("And she will reward you accordingly!")
say("")
end -- end of when
when 114.kill begin
local kill_count = pc.getqf("mob_kill1_count") + 1
local random_rice = 0
pc.setqf("mob_kill1_count", kill_count)
if kill_count < 0 then
return
end -- end of if
q.set_counter("tigers_remaining", 30 - kill_count);
if kill_count >= 30 or kill_count < 0 then
if (pc.get_level() >= 56) then
random_rice = number(2, 3)
elseif (pc.get_level() >= 40) then
random_rice = number(1, 3)
elseif (pc.get_level() > 30) then
random_rice = number(1, 2)
else
random_rice = 1
end -- end of if
local mob2_name = ""
if pc.get_level() >= 91 then
pc.setqf("mob2_info", 8)
mob2_name = "Setaou-Seherin (2403)"
elseif pc.get_level() >= 81 then
pc.setqf("mob2_info", 7)
mob2_name = "Setaou-Kämpfer (2401)"
elseif pc.get_level() >= 71 then
pc.setqf("mob2_info", 6)
mob2_name = "Flame Warrior"
elseif pc.get_level() >= 61 then
pc.setqf("mob2_info", 5)
mob2_name = "Bullfrog General"
elseif pc.get_level() >= 51 then
pc.setqf("mob2_info", 4)
mob2_name = "Dark Summoner"
elseif pc.get_level() >= 41 then
pc.setqf("mob2_info", 3)
mob2_name = "Esoteric Arahan Fighter"
elseif pc.get_level() >= 31 then
pc.setqf("mob2_info", 2)
mob2_name = "Savage Minion"
elseif pc.get_level() >= 20 then
pc.setqf("mob2_info", 1)
mob2_name = "Brown Bear"
end -- end of if
say("Tiger: ")
say("What was the name ...")
say("of the monster that attacked us...")
say("not so long ago?"..mob2_name.."!!")
say("It looked very menacing...")
say("And they took most of the rice cakes!")
say("")
say("And I couldnt do much since Im alone..")
say("")
wait()
-- How many dishes are needed
pc.setqf("cake_count", random_rice)
-- Check the second monster hunt
say_title("The tigers looted everything, including "..random_rice.."!")
say("")
say("Hum.. I think someone is tricking us..")
say("")
say("Catch some"..mob2_name)
say("To get one more dish..")
say("")
local sub_set = select("Return to find more Rice Cakes..","Give it to Wondarim..")
pc.setqf("harvest_festival_mob_complete", 1)
if sub_set == 2 then
say_pc_name()
say("Return to Wondarim with the dish")
say("Ill replace it with glutinous rice")
say("That will bring us good luck for Thanksgiving..")
say("")
set_state(information)
return
end
say("Tiger: ")
say("Go now for "..mob2_name.."!")
say("Find a party..")
say("")
say("Dont understand this")
say("")
set_state(mob_kill2)
end
end -- end of when
end -- end of state
state mob_kill2 begin
when letter begin
local mob2_info = pc.getqf("mob2_info")
if mob2_info == 8 then
mob2_name = "Fvdfdf"
elseif mob2_info == 7 then
mob2_name = "ibla"
elseif mob2_info == 6 then
mob2_name = "Flame Warrior"
elseif mob2_info == 5 then
mob2_name = "Bullfrog General"
elseif mob2_info == 4 then
mob2_name = "Dark Summoner"
elseif mob2_info == 3 then
mob2_name = "Esoteric Arahan Fighter"
elseif mob2_info == 2 then
mob2_name = "Savage Minion"
elseif mob2_info == 1 then
mob2_name = "Brown Bear"
end -- end of if
send_letter("??? ???!")
end -- end of when
when info or button begin
local mob2_info = pc.getqf("mob2_info")
if mob2_info == 8 then
mob2_name = "BlaBloub"
elseif mob2_info == 7 then
mob2_name = "faaa"
elseif mob2_info == 6 then
mob2_name = "Flame Warrior"
elseif mob2_info == 5 then
mob2_name = "Bullfrog General"
elseif mob2_info == 4 then
mob2_name = "Dark Summoner"
elseif mob2_info == 3 then
mob2_name = "Esoteric Arahan Fighter"
elseif mob2_info == 2 then
mob2_name = "Savage Minion"
elseif mob2_info == 1 then
mob2_name = "Brown Bear"
end -- end of if
say_title("Recover the dish!")
say("")
say("Slay 60 "..mob2_name)
say("Recover the rice cake for Wondarim!")
say("")
if party.is_party() then
say("It was a good idea to form a party..")
say("")
else
say("It is a condition to form up a party")
say("As we talked previously, youll have to find party members..")
say("")
end -- end of if
local gogo_set = select("I will continue!","I will give up!")
if gogo_set == 2 then
clear_letter()
set_state(information)
end -- end of if
end -- end of when
when 20086.chat."Find it" 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("Wondarim: ")
say("Thank you for comming back with the dishes")
say("Enjoy your Thanksgiving..")
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("Wondarim: ")
say("Oh, you have to stop returning this dish!")
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("Ive got "..cake_count.." glutinous rice!")
say("Wondarim: ")
say("Im here so that you can return this dish.")
wait()
if quest_count >= 10 then
char_log(0, "EVENT_RECORD", "harvest_festival clear")
say("Wondarim: ")
say("Youve already so many things...")
say("I think that for now it is enough?")
set_state(information)
return
else
say("Wondarim: ")
say("We still need for you to do some things..")
say("Would you mind the trouble once again?")
end -- end of if
local replay_set = select("Continue helping","Il help you later")
if replay_set == 2 then
set_state(information)
return
end -- end of if
local current_count = quest_count + 1
say("Wondarim: ")
say("I believe Im going to wait!")
say("Please come back later")
say("Quest Progress: "..current_count..". ")
say("tip This quest can be finished up to 10 times.")
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("Handueop:")
say("Im looking to create Glutinous rice cakes..")
say("As a favor to Wondarim")
say("I will get your glutinous rice... since it is the good stuff!!")
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()
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("You have defeated the target Mob, you receive %s rice.[ENTER]Go back with this dish and tell Wondarim", 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()
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("You have defeated the target Mob, you receive %s rice.[ENTER]Go back with this dish and tell Wondarim", 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()
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("You have defeated the target Mob, you receive %s rice.[ENTER]Go back with this dish and tell Wondarim", 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()
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("You have defeated the target Mob, you receive %s rice.[ENTER]Go back with this dish and tell Wondarim", 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()
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("You have defeated the target Mob, you receive %s rice.[ENTER]Go back with this dish and tell Wondarim", 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()
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("You have defeated the target Mob, you receive %s rice.[ENTER]Go back with this dish and tell Wondarim", 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()
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("You have defeated the target Mob, you receive %s rice.[ENTER]Go back with this dish and tell Wondarim", 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
local kill_count = pc.getqf("mob_kill2_count") + 1
local random_rice = harvest_festival.get_random_rice()
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("You have defeated the target Mob, you receive %s rice.[ENTER]Go back with this dish and tell Wondarim", 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