464 lines
19 KiB
Plaintext
464 lines
19 KiB
Plaintext
|
quest new_quest_lv29 begin
|
||
|
state start begin
|
||
|
when login or levelup with pc.get_level() >= 29 begin
|
||
|
pc.setqf("hayIndex", 6)
|
||
|
pc.setqf("hayFromHarang", 1)
|
||
|
pc.setqf("hayFromTaurean", 1)
|
||
|
pc.setqf("hayFromStablemaster", 1)
|
||
|
pc.setqf("yonahspatience", 2)
|
||
|
pc.setqf("yonahHasHay", 0)
|
||
|
pc.setqf("dropProb", 80)
|
||
|
set_state(gotoyonah)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- Yonah is the entery point for this quest. He is highlited with a questarrow
|
||
|
state gotoyonah begin
|
||
|
when enter or login begin
|
||
|
local goto_npc = 20005 -- Yonah
|
||
|
local v=find_npc_by_vnum(goto_npc)
|
||
|
if 0!=v then
|
||
|
target.vid("__TARGET__", v, gameforge.new_quest_lv29._010_target) -- place questarrow
|
||
|
end
|
||
|
end
|
||
|
|
||
|
when 20005.chat.gameforge.new_quest_lv29._015_npcChat begin --EDIT Arne, 22Sept09, Reason: adapting all quest steps to choices
|
||
|
target.delete("__TARGET__") -- delete questarrow
|
||
|
say_title(gameforge.new_quest_lv29._020_say_title) -- displays headline of the conversation with Yonah
|
||
|
say(gameforge.new_quest_lv29._021_say)
|
||
|
say(gameforge.new_quest_lv29._022_say)
|
||
|
local goto_npc = 20005 -- Yonah
|
||
|
local accept = select(gameforge.new_quest_lv29._023_1_select,gameforge.new_quest_lv29._023_2_select)
|
||
|
if accept == 1 then
|
||
|
local v=find_npc_by_vnum(20014) -- find Taurean
|
||
|
if 0!=v then
|
||
|
target.vid("__TARGET2__", v, gameforge.new_quest_lv29._030_target) -- place questarrow
|
||
|
end
|
||
|
set_state(find_taurean)
|
||
|
else
|
||
|
say(gameforge.new_quest_lv29._024_say)
|
||
|
say(gameforge.subquest_06._60_say)
|
||
|
local abortquest = select(gameforge.subquest_06._70_select, gameforge.subquest_06._80_select)
|
||
|
if abortquest == 1 then
|
||
|
pc.setqf("hayIndex", 0)
|
||
|
pc.setqf("hayFromHarang", 0)
|
||
|
pc.setqf("hayFromTaurean", 0)
|
||
|
pc.setqf("hayFromStablemaster",0)
|
||
|
pc.setqf("yonahspatience", 0)
|
||
|
pc.setqf("yonahHasHay", 0)
|
||
|
pc.setqf("dropProb", 0)
|
||
|
set_state(__GIVEUP__)
|
||
|
else
|
||
|
local v=find_npc_by_vnum(goto_npc)
|
||
|
if 0!=v then
|
||
|
target.vid("__TARGET__", v, gameforge.new_quest_lv29._010_target) -- place questarrow
|
||
|
end
|
||
|
return
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- this state handles the conversation with Taurean after we talked to Yonah
|
||
|
state find_taurean begin
|
||
|
when enter or login begin
|
||
|
send_letter(gameforge.new_quest_lv29._015_npcChat)
|
||
|
q.start()
|
||
|
q.set_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
if is_destination_village(2) then --
|
||
|
local v=find_npc_by_vnum(20014) -- Taurean
|
||
|
if 0!=v then
|
||
|
target.vid("__TARGET2__", v, gameforge.new_quest_lv29._030_target) -- place questarrow on Taurean
|
||
|
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
when button or info begin -- this handles what is displayed in the quest-journal conversation window
|
||
|
say_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
say(gameforge.new_quest_lv29._031_say)
|
||
|
say("")
|
||
|
say(string.format(gameforge.new_quest_lv29._032_say, get_map_name_by_number(3)))
|
||
|
end
|
||
|
when 20014.chat.gameforge.new_quest_lv29._015_npcChat begin --EDIT Arne, 22Sept09, Reason: adapting all quest steps to choices -- When Taurean is clicked
|
||
|
target.delete("__TARGET2__") -- delete questarrow
|
||
|
say_title(gameforge.new_quest_lv29._033_say_title)
|
||
|
say(gameforge.new_quest_lv29._034_say_reward)
|
||
|
wait()
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._035_say_reward)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._033_say_title)
|
||
|
say(gameforge.new_quest_lv29._036_say_reward)
|
||
|
wait()
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._037_say_reward)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._033_say_title)
|
||
|
say(gameforge.new_quest_lv29._038_say_reward)
|
||
|
q.done()
|
||
|
set_state(witness_harang)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- here we talk to Harang which Taurean asked us to interview to prove her innocence
|
||
|
state witness_harang begin
|
||
|
|
||
|
when enter or login begin
|
||
|
send_letter(gameforge.new_quest_lv29._015_npcChat) --EDIT Arne, 22Sept09, Reason: quest starts now even without mapchange
|
||
|
q.start()
|
||
|
q.set_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
if is_destination_village(2) then
|
||
|
local v=find_npc_by_vnum(20024) -- Harang
|
||
|
if 0!=v then
|
||
|
target.vid("__TARGET3__", v, gameforge.new_quest_lv29._040_target) -- place questarrow on Harang
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
when button or info begin -- when clicked on the quest-journal this text will be displayed
|
||
|
say_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
say(gameforge.new_quest_lv29._041_say)
|
||
|
say("")
|
||
|
say(string.format(gameforge.new_quest_lv29._047_say, get_map_name_by_number(3))) --EDIT Arne, 22Sept09, Reason: mapname in desc
|
||
|
end
|
||
|
when 20024.chat.gameforge.new_quest_lv29._015_npcChat begin --EDIT Arne, 22Sept09, Reason: adapting all quest steps to choices
|
||
|
target.delete("__TARGET3__") -- delete questarrow
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._042_say_reward)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._043_say_title)
|
||
|
say(gameforge.new_quest_lv29._044_say_reward)
|
||
|
wait()
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._045_say_reward)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._043_say_title)
|
||
|
say(gameforge.new_quest_lv29._046_say_reward)
|
||
|
q.done()
|
||
|
set_state(fragile_china)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- conversation with stablemaster
|
||
|
state fragile_china begin
|
||
|
|
||
|
when enter or login begin
|
||
|
send_letter(gameforge.new_quest_lv29._015_npcChat)
|
||
|
q.start()
|
||
|
q.set_title(gameforge.new_quest_lv29._015_npcChat) -- updating the quest-journal title
|
||
|
if is_destination_village(3) then
|
||
|
local v=find_npc_by_vnum(20349) -- find the Stablemaster
|
||
|
if 0!=v then
|
||
|
target.vid("__TARGET4__", v, gameforge.new_quest_lv29._050_target) -- place questarrow on Stablemaster
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
when button or info begin -- this text will be displayed in the conversation window if the quest-journal is opened
|
||
|
say_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
say(gameforge.new_quest_lv29._051_say)
|
||
|
say("")
|
||
|
say(string.format(gameforge.new_quest_lv29._054_say, get_map_name_by_number(1), get_map_name_by_number(3))) --EDIT Arne, 22Sept09, Reason: mapname in desc
|
||
|
|
||
|
end
|
||
|
when 20349.chat.gameforge.new_quest_lv29._015_npcChat begin --EDIT Arne, 22Sept09, Reason: adapting all quest steps to choices
|
||
|
target.delete("__TARGET4__") -- delete questarrow
|
||
|
-- the stablemaster whats us to collect some hey for Yonah
|
||
|
say_title(gameforge.new_quest_lv29._082_say_title)
|
||
|
say(gameforge.new_quest_lv29._052_say)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._082_say_title)
|
||
|
say(gameforge.new_quest_lv29._053_say)
|
||
|
local hayCount = pc.count_item(50054) -- even the hay the player already has counts for this quest
|
||
|
if hayCount < 6 then -- usually the player will not have enough hay so he goes hunting
|
||
|
new_quest_lv29_neededAmountDrop = 6
|
||
|
q.done()
|
||
|
set_state(cutting_hay)
|
||
|
else -- shortcut if the player has the required amount of hay
|
||
|
say(gameforge.new_quest_lv29._065_1_say)
|
||
|
q.done()
|
||
|
set_state(calming_yonah)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
-- In this state the player gathers the hay for Yonah. The player may
|
||
|
-- ask the three people for help he talked to previously or slay mobs
|
||
|
-- with straw hats. He may even obtain the hay from other sources.
|
||
|
-- Only the last piece needs to be gathered by slaying a mob.
|
||
|
state cutting_hay begin
|
||
|
when login or enter begin
|
||
|
send_letter(gameforge.new_quest_lv29._015_npcChat)
|
||
|
q.start()
|
||
|
q.set_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
new_quest_lv29_mob1 = 501
|
||
|
new_quest_lv29_mob2 = 551
|
||
|
new_quest_lv29_drop = 50054 -- hay
|
||
|
new_quest_lv29_dropProb = pc.getqf("dropProb") -- recomment using a value of 100 which is 10% drop probability
|
||
|
|
||
|
-- ticket id: 0076498
|
||
|
if new_quest_lv29_dropProb == 0 then
|
||
|
pc.setqf("dropProb", 80)
|
||
|
end
|
||
|
|
||
|
new_quest_lv29_neededAmountDrop = 6
|
||
|
if pc.getqf("yonahspatience") < 2 then
|
||
|
pc.setqf("dropProb", new_quest_lv29_dropProb /10)
|
||
|
end
|
||
|
if new_quest_lv29_neededAmountDrop <= pc.count_item(new_quest_lv29_drop) or pc.getqf("hayIndex") == 0 then
|
||
|
q.done()
|
||
|
set_state(calming_yonah)
|
||
|
end
|
||
|
end
|
||
|
when button or info begin -- this is the text displayed in the conversation window when the quest-journal is opened
|
||
|
if new_quest_lv29_neededAmountDrop <= pc.count_item(new_quest_lv29_drop) or pc.getqf("hayIndex") == 0 then
|
||
|
say_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
say(string.format(gameforge.new_quest_lv29._091_say, get_map_name_by_number(1)))
|
||
|
q.done()
|
||
|
set_state(calming_yonah)
|
||
|
else
|
||
|
local sayMob1Name = mob_name(501)
|
||
|
local sayMob2Name = mob_name(551)
|
||
|
say_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
say(gameforge.new_quest_lv29._061_say)
|
||
|
say_reward(gameforge.new_quest_lv29._066_say)
|
||
|
say(gameforge.new_quest_lv29._066_1_say)
|
||
|
if pc.count_item(new_quest_lv29_drop) <= new_quest_lv29_neededAmountDrop then
|
||
|
say("")
|
||
|
say_reward(string.format(gameforge.new_quest_lv29._067_say_reward, pc.count_item(new_quest_lv29_drop), new_quest_lv29_neededAmountDrop))
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
when 501.kill begin -- Mob1 with straw hat
|
||
|
if pc.count_item(new_quest_lv29_drop) < new_quest_lv29_neededAmountDrop and pc.getqf("hayIndex") > 0 then
|
||
|
if math.random(1,1000) <= pc.getqf("dropProb") then -- probability if s.th. drops
|
||
|
pc.give_item2(new_quest_lv29_drop)
|
||
|
local qfindex = pc.getqf("hayIndex") -1
|
||
|
pc.setqf("hayIndex", qfindex)
|
||
|
notice_multiline(gameforge.new_quest_lv29._068_notice, notice)
|
||
|
if new_quest_lv29_neededAmountDrop <= pc.count_item(new_quest_lv29_drop) or pc.getqf("hayIndex") == 0 then
|
||
|
q.done()
|
||
|
set_state(calming_yonah)
|
||
|
end
|
||
|
else
|
||
|
notice_multiline(gameforge.new_quest_lv29._064_notice, notice)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
when 551.kill begin -- Mob2 with straw hat
|
||
|
if pc.count_item(new_quest_lv29_drop) < new_quest_lv29_neededAmountDrop and pc.getqf("hayIndex") > 0 then
|
||
|
if math.random(1,1000) <= pc.getqf("dropProb") then -- probability if s.th. drops
|
||
|
pc.give_item2(new_quest_lv29_drop)
|
||
|
local qfindex = pc.getqf("hayIndex") -1
|
||
|
pc.setqf("hayIndex", qfindex)
|
||
|
notice_multiline(gameforge.new_quest_lv29._068_notice, notice )
|
||
|
if new_quest_lv29_neededAmountDrop <= pc.count_item(new_quest_lv29_drop) or pc.getqf("hayIndex") == 0 then
|
||
|
q.done()
|
||
|
set_state(calming_yonah)
|
||
|
end
|
||
|
else
|
||
|
notice_multiline(gameforge.new_quest_lv29._064_notice, notice)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
-- The player may get hay from the npcs if he goes to them and asks.
|
||
|
-- When the player read the quest-texts he will gain the hay much easier then by slaying mobs.
|
||
|
-- However the last piece of hay must be hunted
|
||
|
when 20014.chat.gameforge.new_quest_lv29._015_npcChat begin -- Ask Taurean for help
|
||
|
if pc.count_item(new_quest_lv29_drop) < new_quest_lv29_neededAmountDrop and pc.getqf("hayFromTaurean") == 1 and pc.getqf("hayIndex") > 0 then
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._071_say_reward)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._033_say_title)
|
||
|
say(gameforge.new_quest_lv29._072_say_reward)
|
||
|
pc.setqf("hayFromTaurean", 0) -- Taurean will only give one piece of hay
|
||
|
pc.give_item2(new_quest_lv29_drop)
|
||
|
local qfindex = pc.getqf("hayIndex") -1
|
||
|
pc.setqf("hayIndex", qfindex)
|
||
|
notice_multiline(string.format(gameforge.new_quest_lv29._073_notice, new_quest_lv29_neededAmountDrop-pc.count_item(new_quest_lv29_drop)), notice)
|
||
|
if new_quest_lv29_neededAmountDrop <= pc.count_item(new_quest_lv29_drop) or pc.getqf("hayIndex") == 0 then
|
||
|
q.done()
|
||
|
set_state(calming_yonah)
|
||
|
end
|
||
|
else -- Taurean will not always give hay
|
||
|
say_title(gameforge.new_quest_lv29._033_say_title)
|
||
|
say(gameforge.new_quest_lv29._074_say_reward)
|
||
|
end
|
||
|
end
|
||
|
when 20024.chat.gameforge.new_quest_lv29._015_npcChat begin -- Ask Harang for help
|
||
|
if pc.count_item(new_quest_lv29_drop) < new_quest_lv29_neededAmountDrop and pc.getqf("hayFromHarang") == 1 and pc.getqf("hayIndex") > 0 then
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._075_say_reward)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._043_say_title)
|
||
|
say(gameforge.new_quest_lv29._076_say_reward)
|
||
|
wait()
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._077_say_reward)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._043_say_title)
|
||
|
say(gameforge.new_quest_lv29._078_say_reward )
|
||
|
pc.setqf("hayFromHarang", 0) -- Harang will only give one piece of hay
|
||
|
pc.give_item2(new_quest_lv29_drop)
|
||
|
local qfindex = pc.getqf("hayIndex") -1
|
||
|
pc.setqf("hayIndex", qfindex)
|
||
|
notice_multiline(string.format(gameforge.new_quest_lv29._085_notice, new_quest_lv29_neededAmountDrop-pc.count_item(new_quest_lv29_drop)), notice)
|
||
|
if new_quest_lv29_neededAmountDrop <= pc.count_item(new_quest_lv29_drop) or pc.getqf("hayIndex") == 0 then
|
||
|
q.done()
|
||
|
set_state(calming_yonah)
|
||
|
end
|
||
|
else -- Harang will not always give hay
|
||
|
say_title(gameforge.new_quest_lv29._043_say_title)
|
||
|
say(gameforge.new_quest_lv29._079_say_reward)
|
||
|
end
|
||
|
end
|
||
|
when 20349.chat.gameforge.new_quest_lv29._015_npcChat begin -- Ask the Stablemaster for help
|
||
|
if pc.count_item(new_quest_lv29_drop) < new_quest_lv29_neededAmountDrop and pc.getqf("hayFromStablemaster") == 1 and pc.getqf("hayIndex") > 0 then
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._081_say_reward)
|
||
|
wait()
|
||
|
say(gameforge.new_quest_lv29._082_say_title)
|
||
|
say(gameforge.new_quest_lv29._083_say_reward)
|
||
|
say(gameforge.new_quest_lv29._084_say_reward)
|
||
|
pc.setqf("hayFromStablemaster", 0) -- The Stablemaster will only give one piece of hay
|
||
|
pc.give_item2(new_quest_lv29_drop)
|
||
|
local qfindex = pc.getqf("hayIndex") -1
|
||
|
pc.setqf("hayIndex", qfindex)
|
||
|
notice_multiline(string.format(gameforge.new_quest_lv29._085_notice, new_quest_lv29_neededAmountDrop-pc.count_item(new_quest_lv29_drop)), notice)
|
||
|
if new_quest_lv29_neededAmountDrop <= pc.count_item(new_quest_lv29_drop) or pc.getqf("hayIndex") == 0 then
|
||
|
q.done()
|
||
|
set_state(calming_yonah)
|
||
|
end
|
||
|
else -- The Stablemaster will not always give hay
|
||
|
say(gameforge.new_quest_lv29._082_say_title)
|
||
|
say_reward(gameforge.new_quest_lv29._086_say_reward)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- Player returns to Yonah with or without hay and tries to calm him.
|
||
|
state calming_yonah begin
|
||
|
-- we need to check if the player is in the right map
|
||
|
|
||
|
when enter or login begin
|
||
|
new_quest_lv29_mob1 = 501
|
||
|
new_quest_lv29_mob2 = 551
|
||
|
new_quest_lv29_drop = 50054 -- hay
|
||
|
new_quest_lv29_dropProb = pc.getqf("dropProb") -- recomment using a value of 100 which is 10% drop probability
|
||
|
|
||
|
-- ticket id: 0076498
|
||
|
if new_quest_lv29_dropProb == 0 then
|
||
|
pc.setqf("dropProb", 80)
|
||
|
end
|
||
|
|
||
|
new_quest_lv29_neededAmountDrop = 6
|
||
|
if pc.getqf("yonahspatience") < 2 then
|
||
|
pc.setqf("dropProb", new_quest_lv29_dropProb /10)
|
||
|
end
|
||
|
send_letter(gameforge.new_quest_lv29._015_npcChat)--EDIT Arne, 22Sept09, Reason: no letter
|
||
|
q.start() --EDIT Arne, 22Sept09, Reason: quest now starts even on same map
|
||
|
q.set_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
if is_destination_village(1) then --
|
||
|
local position=find_npc_by_vnum(20005) -- Yonah
|
||
|
if 0!=v then
|
||
|
target.vid("__TARGET5__", position, gameforge.new_quest_lv29._010_target) -- place questarrow on Yonah
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
when button or info begin -- this event is triggered when the quest-journal for this quest is opened
|
||
|
say_title(gameforge.new_quest_lv29._015_npcChat)
|
||
|
say(string.format(gameforge.new_quest_lv29._091_say, get_map_name_by_number(1)))
|
||
|
end
|
||
|
when 20005.chat.gameforge.new_quest_lv29._015_npcChat begin -- Starting to talk to Yonah about the broken china
|
||
|
target.delete("__TARGET5__") -- delete questarrow
|
||
|
local hayCount = pc.count_item(50054) + pc.getqf("yonahHasHay")
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._101_say_reward)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._102_say_title)
|
||
|
say(gameforge.new_quest_lv29._103_say_reward)
|
||
|
wait()
|
||
|
say_pc_name()
|
||
|
say_reward(gameforge.new_quest_lv29._104_say_reward)
|
||
|
if hayCount >= 6 and pc.getqf("yonahspatience") > 0 then -- when the player retuns with all the hay he or she was ask for
|
||
|
say_reward(gameforge.new_quest_lv29._105_say_reward)
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._102_say_title)
|
||
|
say(gameforge.new_quest_lv29._106_say_reward)
|
||
|
say(gameforge.new_quest_lv29._107_say_reward )
|
||
|
say(string.format(gameforge.new_quest_lv29._115_say_reward, 38000))
|
||
|
pc.remove_item(50054, 6)
|
||
|
pc.change_money(38000)
|
||
|
pc.give_exp2(600000)
|
||
|
if pc.getqf("hayFromTaurean") == 0 and pc.getqf("hayFromHarang") == 0 and pc.getqf("hayFromStablemaster") == 0 then
|
||
|
local bonusxp = 0
|
||
|
-- when the player found all npcs with hay and did less fighting he gets bonus XP
|
||
|
if pc.getqf("yonahspatience") > 1 then
|
||
|
bonusxp = 820*4*3*1000/pc.getqf("dropProb")
|
||
|
-- 820 is the xp value of #501 and #551 at level 29;
|
||
|
-- *4 because they are never alone;
|
||
|
-- *3 because player did not kill the mobs for 3 hay;
|
||
|
-- multiplied by the approximated drop chance.
|
||
|
-- At a drop propability of 10% this would be a bonus of 98,400xp!
|
||
|
else
|
||
|
-- if the dropProb got lowered because the player lost some hay their should not be an additional bonus
|
||
|
bonusxp = 820*4*3*1000/pc.getqf("dropProb")/4
|
||
|
end
|
||
|
|
||
|
pc.give_exp2(bonusxp)
|
||
|
notice_multiline(string.format(gameforge.new_quest_lv29._108_notice, bonusxp), notice)
|
||
|
end
|
||
|
q.done()
|
||
|
clear_letter()
|
||
|
pc.setqf("hayIndex", 0)
|
||
|
pc.setqf("hayFromHarang", 0)
|
||
|
pc.setqf("hayFromTaurean", 0)
|
||
|
pc.setqf("hayFromStablemaster",0)
|
||
|
pc.setqf("yonahspatience", 0)
|
||
|
pc.setqf("yonahHasHay", 0)
|
||
|
pc.setqf("dropProb", 0)
|
||
|
set_state(__COMPLETE__)
|
||
|
elseif hayCount > 1 and hayCount < 6 and pc.getqf("yonahspatience") > 1 then -- when the player has lost some hay on the way Yonah asks for more and triggers the state above
|
||
|
say_reward(gameforge.new_quest_lv29._109_say_reward)
|
||
|
wait()
|
||
|
local bringMeMore = 6 - hayCount
|
||
|
local lowerpatience = pc.getqf("yonahspatience") -1
|
||
|
pc.setqf("yonahspatience", lowerpatience)
|
||
|
local new_quest_lv29_dropProb = pc.getqf("dropProb")
|
||
|
pc.setqf("dropProb", new_quest_lv29_dropProb/4) -- it will be damn hard to get more hay
|
||
|
pc.remove_item(50054, hayCount)
|
||
|
pc.setqf("yonahHasHay", hayCount)
|
||
|
say_title(gameforge.new_quest_lv29._102_say_title)
|
||
|
say(string.format(gameforge.new_quest_lv29._110_say_reward, bringMeMore))
|
||
|
say(gameforge.new_quest_lv29._111_say_reward)
|
||
|
new_quest_lv29_neededAmountDrop = bringMeMore
|
||
|
local qfindex = pc.getqf("hayIndex") + bringMeMore
|
||
|
pc.setqf("hayIndex", qfindex)
|
||
|
q.done()
|
||
|
clear_letter()
|
||
|
set_state(cutting_hay)
|
||
|
else -- when the player has lost all the hay or brings only 1 bunch the quest is completed with only 25% XP and Yang.
|
||
|
wait()
|
||
|
say_title(gameforge.new_quest_lv29._102_say_title)
|
||
|
say_reward(gameforge.new_quest_lv29._112_say_reward )
|
||
|
say_reward(gameforge.new_quest_lv29._113_say_reward)
|
||
|
say_reward(gameforge.new_quest_lv29._114_say_reward)
|
||
|
say(string.format(gameforge.new_quest_lv29._115_say_reward, 9500))
|
||
|
pc.change_money(9500)
|
||
|
pc.give_exp2(150000)
|
||
|
q.done()
|
||
|
clear_letter()
|
||
|
pc.setqf("hayIndex", 0)
|
||
|
pc.setqf("hayFromHarang", 0)
|
||
|
pc.setqf("hayFromTaurean", 0)
|
||
|
pc.setqf("hayFromStablemaster",0)
|
||
|
pc.setqf("yonahspatience", 0)
|
||
|
pc.setqf("yonahHasHay", 0)
|
||
|
pc.setqf("dropProb", 0)
|
||
|
set_state(__COMPLETE__)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
state __GIVEUP__ begin
|
||
|
end
|
||
|
state __COMPLETE__ begin
|
||
|
end
|
||
|
end
|