forked from metin2/server
246 lines
9.6 KiB
Plaintext
246 lines
9.6 KiB
Plaintext
quest new_quest_lv28 begin
|
||
|
||
state start begin
|
||
when login or levelup with pc.get_level() >= 28 begin
|
||
set_state(information)
|
||
end
|
||
end
|
||
-- yu-hwan is worried about ah-yu, want player to help her -----------------------------------------
|
||
state information begin
|
||
when login or enter begin
|
||
local v=find_npc_by_vnum(20017) -- Yu-Hwan
|
||
if 0==v then
|
||
else
|
||
target.vid("__TARGET__", v, gameforge.new_quest_lv28._010_target)
|
||
end
|
||
send_letter(gameforge.new_quest_lv28._024_set_title)
|
||
q.start()
|
||
q.set_title(gameforge.new_quest_lv28._024_set_title)
|
||
end
|
||
|
||
when button or info begin
|
||
say_title(gameforge.new_quest_lv28._024_set_title)
|
||
say(gameforge.new_quest_lv28._011_say)
|
||
end
|
||
|
||
when 20017.chat.gameforge.new_quest_lv28._015_npcChat begin
|
||
target.delete("__TARGET__")
|
||
say_title(gameforge.new_quest_lv28._020_say_title) -- yellow text headline
|
||
say(gameforge.new_quest_lv28._021_say) -- white font text
|
||
q.done()
|
||
local doquest = select(gameforge.new_quest_lv28._018_select, gameforge.subquest_12._50_select, gameforge.new_quest_lv75._290_2_select)
|
||
if doquest ==1 then
|
||
set_state(ask_ahyu)
|
||
elseif doquest == 3 then
|
||
say(gameforge.subquest_06._60_say)
|
||
local abortquest = select(gameforge.subquest_06._70_select, gameforge.subquest_06._80_select)
|
||
if abortquest == 1 then
|
||
set_state(__GIVEUP__)
|
||
else
|
||
say_title(gameforge.new_quest_lv28._020_say_title) -- yellow text headline
|
||
say(gameforge.subquest_11._80_say)
|
||
return
|
||
end
|
||
else
|
||
say_title(gameforge.new_quest_lv28._020_say_title) -- yellow text headline
|
||
say(gameforge.subquest_11._80_say)
|
||
return
|
||
end
|
||
end
|
||
|
||
end
|
||
-- ah-yu tells player, that she is blackmailed by yang-shin -----------------------------------------
|
||
state ask_ahyu begin
|
||
when enter or login begin
|
||
send_letter(gameforge.new_quest_lv28._015_npcChat) -- EDIT added by Arne 22sept09, Reason: no quest, no letter
|
||
q.start() -- EDIT added by Arne 22sept09, Reason: no quest, no letter
|
||
q.set_title(gameforge.new_quest_lv28._015_npcChat) -- EDIT added by Arne 22sept09, Reason: no quest, no letter
|
||
local v=find_npc_by_vnum(20003) -- Ah-Yu
|
||
if 0==v then
|
||
else
|
||
target.vid("__TARGET2__", v, gameforge.new_quest_lv28._015_npcChat)
|
||
end
|
||
new_quest_lv28_neededAmountDrop1 = 1
|
||
new_quest_lv28_dropProb1 = 100
|
||
new_quest_lv28_mob1 = 193 -- bera
|
||
new_quest_lv28_drop1 = 30174 -- B<>rentatze
|
||
end
|
||
|
||
-- BEGIN EDIT added by Arne 22sept09, Reason: no quest, no letter
|
||
when button or info begin
|
||
say_title(gameforge.new_quest_lv28._015_npcChat)
|
||
say(gameforge.new_quest_lv28._016_say)
|
||
say("")
|
||
say(string.format(gameforge.new_quest_lv28._017_say, get_map_name_by_number(1)))
|
||
end
|
||
-- END EDIT
|
||
|
||
when 20003.chat.gameforge.new_quest_lv28._015_npcChat begin
|
||
target.delete("__TARGET2__")
|
||
say_title(gameforge.new_quest_lv28._019_say_title)
|
||
say(gameforge.new_quest_lv28._022_say)
|
||
wait()
|
||
say_title(gameforge.new_quest_lv28._019_say_title)
|
||
say(gameforge.new_quest_lv28._023_say)
|
||
wait()
|
||
say_title(gameforge.new_quest_lv28._019_say_title)
|
||
say(gameforge.new_quest_lv28._030_say)
|
||
say_reward(string.format("%s x", new_quest_lv28_neededAmountDrop1))
|
||
say_item_vnum(new_quest_lv28_drop1) -- icon of item
|
||
say_reward(gameforge.new_quest_lv28._031_say_reward)
|
||
say(mob_name(new_quest_lv28_mob1))
|
||
set_state(hunting)
|
||
q.done()--EDIT added by Arne 22Sept09, Reason: see above
|
||
end
|
||
end
|
||
-- player has to hunt for bearfootskin+ because yang-shin wants it from ah-yu ----------------------
|
||
state hunting begin
|
||
when enter or login begin
|
||
new_quest_lv28_neededAmountDrop1 = 1
|
||
new_quest_lv28_dropProb1 = 100
|
||
new_quest_lv28_mob1 = 193 -- bera
|
||
new_quest_lv28_drop1 = 30174 -- B<>rentatze
|
||
send_letter(gameforge.new_quest_lv28._040_npcChat) -- EDIT added by Arne 22sept09, Reason: no letter
|
||
q.start()
|
||
q.set_title(gameforge.new_quest_lv28._040_npcChat)
|
||
notice_multiline(gameforge.new_quest_lv28._025_notice, notice)
|
||
end
|
||
---------------- b<>renfusshaut+ ------------------------------------------------------
|
||
-- kill a 193#Bera
|
||
when 193.kill begin
|
||
if pc.count_item(new_quest_lv28_drop1) < new_quest_lv28_neededAmountDrop1 then
|
||
if math.random(1,100) <= new_quest_lv28_dropProb1 then -- probability if s.th. drops
|
||
|
||
pc.give_item2(new_quest_lv28_drop1) -- b<>renfusshaut+
|
||
notice(gameforge.new_quest_lv28._026_notice)
|
||
if new_quest_lv28_neededAmountDrop1 == pc.count_item(new_quest_lv28_drop1) then
|
||
q.done()
|
||
notice_multiline(gameforge.new_quest_lv28._027_notice, notice)
|
||
set_state(goto_yangshin)
|
||
end
|
||
else
|
||
notice(gameforge.new_quest_lv28._028_notice)
|
||
end
|
||
end
|
||
end
|
||
-- BEGIN EDIT added by Arne 22sept09, Reason: no quest, no letter
|
||
when info or button begin
|
||
say_title(gameforge.new_quest_lv28._040_npcChat)
|
||
say(gameforge.new_quest_lv28._032_say)
|
||
if new_quest_lv28_neededAmountDrop1 > pc.count_item(new_quest_lv28_drop1) then
|
||
say_reward(string.format(gameforge.new_quest_lv28._032_say_reward, new_quest_lv28_neededAmountDrop1-pc.count_item(new_quest_lv28_drop1), item_name(new_quest_lv28_drop1), mob_name(new_quest_lv28_mob1)))
|
||
end
|
||
end
|
||
--END EDIT
|
||
|
||
end
|
||
------ bring bearfootskin+ to yangshin ------------------------------------------------------------------------------------------------------
|
||
state goto_yangshin begin
|
||
when enter or login begin
|
||
new_quest_lv28_neededAmountDrop1 = 1
|
||
new_quest_lv28_dropProb1 = 100
|
||
new_quest_lv28_mob1 = 193 -- bera
|
||
new_quest_lv28_drop1 = 30174 -- B<>rentatze
|
||
-- BEGIN EDIT added by Arne 22sept09, Reason: no quest, no letter
|
||
send_letter(gameforge.new_quest_lv28._040_npcChat)
|
||
q.start()
|
||
q.set_title(gameforge.new_quest_lv28._040_npcChat)
|
||
local v=find_npc_by_vnum(20019) -- Yang-Shin
|
||
if 0==v then
|
||
else
|
||
target.vid("__TARGET5__", v, gameforge.new_quest_lv28._035_target)
|
||
end
|
||
end
|
||
|
||
when info or button begin
|
||
|
||
say_title(gameforge.new_quest_lv28._040_npcChat)
|
||
say(gameforge.new_quest_lv28._036_say)
|
||
say("")
|
||
say(string.format(gameforge.new_quest_lv28._037_say, get_map_name_by_number(3)))
|
||
end
|
||
--END EDIT
|
||
|
||
when 20019.chat.gameforge.new_quest_lv28._040_npcChat begin
|
||
target.delete("__TARGET5__")
|
||
say_title(gameforge.new_quest_lv28._038_say_title)
|
||
if pc.count_item(new_quest_lv28_drop1) >= new_quest_lv28_neededAmountDrop1 then
|
||
say(gameforge.new_quest_lv28._042_say)
|
||
say(gameforge.new_quest_lv28._043_say)
|
||
pc.remove_item(new_quest_lv28_drop1, pc.count_item(new_quest_lv28_drop1))
|
||
set_state(back_to_ahyu)
|
||
return
|
||
else
|
||
-- this happens, if the player sold or dropped needed items:
|
||
say(gameforge.new_quest_lv28._044_say)
|
||
say(gameforge.new_quest_lv28._045_say_reward )
|
||
set_state(hunting)
|
||
end
|
||
end
|
||
end
|
||
-- tell ah-yu that yang-shin will stop to blackmail her---------------------------------------------
|
||
state back_to_ahyu begin
|
||
when login or enter begin
|
||
new_quest_lv28_neededAmountDrop1 = 1
|
||
new_quest_lv28_dropProb1 = 100
|
||
new_quest_lv28_mob1 = 193 -- bera
|
||
new_quest_lv28_drop1 = 30174 -- B<>rentatze
|
||
-- BEGIN EDIT added by Arne 22sept09, Reason: no quest, no letter
|
||
send_letter(gameforge.new_quest_lv28._040_npcChat)
|
||
q.start()
|
||
q.set_title(gameforge.new_quest_lv28._040_npcChat)
|
||
new_quest_lv28_RewardXP=500000
|
||
new_quest_lv28_RewardXP2=850000
|
||
new_quest_lv28_RewardCash=40000
|
||
-- END EDIT
|
||
local v=find_npc_by_vnum(20003) -- Ah-Yu
|
||
if 0==v then
|
||
else
|
||
target.vid("__TARGET4__", v, gameforge.new_quest_lv28._015_npcChat)
|
||
end
|
||
end
|
||
|
||
-- BEGIN EDIT added by Arne 22sept09, Reason: no quest, no letter
|
||
when info or button begin
|
||
say_title(gameforge.new_quest_lv28._040_npcChat)
|
||
say(gameforge.new_quest_lv28._046_say)
|
||
say("")
|
||
say(string.format(gameforge.new_quest_lv28._017_say, get_map_name_by_number(1)))
|
||
end
|
||
|
||
when 20003.chat.gameforge.new_quest_lv28._040_npcChat begin
|
||
target.delete("__TARGET4__")
|
||
say_title(gameforge.new_quest_lv28._019_say_title) -- yellow text headline
|
||
say(gameforge.new_quest_lv28._051_say) -- white font text
|
||
-- select to options buttons:
|
||
local b= select(gameforge.new_quest_lv28._055_1_select, gameforge.new_quest_lv28._055_2_select)
|
||
-- option 1: the player takes the money (not much) and gets some xp
|
||
if b==1 then
|
||
say_title(gameforge.new_quest_lv28._019_say_title)
|
||
say(gameforge.new_quest_lv28._056_say)
|
||
say_reward(string.format(gameforge.new_quest_lv28._059_say_reward, new_quest_lv28_RewardXP))
|
||
say_reward(string.format(gameforge.new_quest_lv28._058_say_reward, new_quest_lv28_RewardCash))
|
||
q.done() -- EDIT added by Arne 22Sept09, Reason: see above
|
||
pc.give_exp2( new_quest_lv28_RewardXP )-- EDIT added by Arne 22Sept09, Reason: keep balance values in variables
|
||
pc.change_money( new_quest_lv28_RewardCash )-- EDIT added by Arne 22Sept09, Reason: keep balance values in variables
|
||
set_state(__COMPLETE__)
|
||
end
|
||
-- option 2: the player refuses to take the money, gets more EXP and ah-yus gratitude
|
||
if b==2 then
|
||
say_title(gameforge.new_quest_lv28._019_say_title)
|
||
say(gameforge.new_quest_lv28._057_say)
|
||
pc.give_exp2(new_quest_lv28_RewardXP2)-- EDIT added by Arne 22Sept09, Reason: keep balance values in variables
|
||
say_reward(string.format(gameforge.new_quest_lv28._059_say_reward, new_quest_lv28_RewardXP2))
|
||
q.done() -- EDIT added by Arne 22Sept09, Reason: see above
|
||
set_state(__COMPLETE__)
|
||
end
|
||
end
|
||
end
|
||
------ give up ------------------------------------------------------------------------------------------------------
|
||
state __GIVEUP__ begin
|
||
end
|
||
------ complete ------------------------------------------------------------------------------------------------------
|
||
state __COMPLETE__ begin
|
||
end
|
||
end
|