server/gamefiles/locale/english/quest/collect_quest_reset.quest

215 lines
5.5 KiB
Plaintext

quest collect_quest_reset begin
state start begin
when login with pc.level >= 92 begin
if tostring(get_quest_state("collect_quest_lv92")) == "557528158" or
tostring(get_quest_state("collect_quest_lv94")) == "557528158" or
tostring(get_quest_state("collect_quest_lv96")) == "557528158" then
set_state( check_reset_able )
end
end
end
state check_reset_able begin
when 20091.chat."보상을 다시 받고 싶다고?!" begin
--- l
say("백선아평")
say("지난번에 받았던 보상을 다른 것으로 바꾸고 싶다고?")
say("흠....")
say("")
wait()
if get_time() < pc.getqf("duration") then
say("백선아평")
say("벌써 오다니..")
say("성격 참 급하군..")
say("아직 시간이안되었어!")
return
end
say("백선아평")
say("사실 안그래도 천옥이 필요해서")
say("자넬 다시 찾으려고 하고 있었네")
say("지난번에 구해왔던 보석 말고도")
say("천의 동굴에 가면 천옥을 구할수 있다고 하네")
say("그것을 5개만 구해다 주게나")
say("")
wait()
say("백선아평")
say("천옥을 5개 구해오면")
say("지난번에 받았던 보상중 한가지를")
say("다른 것으로 바꿔주도록 하겠네")
say("어떤가?")
say("")
local s = select("얼른 구해다 드릴께요", "생각 좀 해보구요")
if s == 1 then
say("백선아평")
say("어서 다녀오게나 기다리고 있겠네~")
say("")
set_state( find_jewel )
else
say("백선아평")
say("그러게나. 심사숙고해야 할것이야")
say("")
end
end
end
state find_jewel begin
when letter begin
send_letter("백선의 제안")
end
when button or info begin
say("")
say("승룡곡에 있는 백선아평에게")
say("천옥을 가져다 주고 보상을 바꾸자")
say("")
say_item_vnum( 30254 )
say_reward(" 현재 "..pc.getqf("collect_count").." 개를 백선에게 주었습니다")
say("")
end
when 2401.kill or 2402.kill or 2403.kill or 2404.kill begin
if number(1, 500) <= 3 then
pc.give_item2(30254, 1)
send_letter("천옥을 획득하였습니다")
end
end
when 2411.kill or 2412.kill or 2413.kill or 2414.kill begin
if number(1, 500) <= 5 then
pc.give_item2(30254, 1)
send_letter("천옥을 획득하였습니다")
end
end
when 20091.chat."천옥을 가져온겐가?" with pc.count_item(30254) > 0 begin
pc.remove_item( 30254 , 1 )
say("백선아평")
say("어디보세...")
setdelay(150)
say("..........")
resetdelay()
if number(1, 100) <= 20 then
say("이건 가짜야...")
say("다시 찾아보게나")
say("")
return
end
say("흠... 그래 이건 분명 천옥이야")
say("")
wait()
local count = pc.getqf( "collect_count" ) + 1
if count < 5 then
pc.setqf( "collect_count", count )
say("백선아평")
say("이제 " .. 5-count .. " 개만 더 구해다 주면 되네")
say("수고해주게나")
say("")
return
end
say("백선아평")
say("약속대로 자네에게 줬던 보상을 다른 것으로 바꿔 주겠네")
say("")
local selTab = {}
local pos = 1
if tostring(get_quest_state("collect_quest_lv92")) == "557528158" then
table.insert(selTab, pos, "홍천의보석 보상")
pos = pos + 1
end
if tostring(get_quest_state("collect_quest_lv94")) == "557528158" then
table.insert(selTab, pos, "백천의보석 보상")
pos = pos + 1
end
if tostring(get_quest_state("collect_quest_lv96")) == "557528158" then
table.insert(selTab, pos, "청천의보석 보상")
pos = pos + 1
end
local s = select_table( selTab )
if selTab[s] == "lv92 홍천의보석 보상" then
affect.remove_collect(1, 1000)
affect.remove_collect(apply.DEF_GRADE_BONUS, 120)
affect.remove_collect(apply.ATT_GRADE_BONUS, 51)
s = select("체력 +1000", "방어력 +120", "공격력 +51")
if s == 1 then
affect.add_collect(1, 1000, 60*60*24*365*60)
pc.setf("collect_quest_lv92","reward","1")
elseif s == 2 then
affect.add_collect(apply.DEF_GRADE_BONUS, 120, 60*60*24*365*60)
pc.setf("collect_quest_lv92","reward","2")
elseif s == 3 then
affect.add_collect(apply.ATT_GRADE_BONUS, 51, 60*60*24*365*60)
pc.setf("collect_quest_lv92","reward","3")
end
elseif selTab[s] == "lv94 백천의보석 보상" then
affect.remove_collect(1, 1100)
affect.remove_collect(apply.DEF_GRADE_BONUS, 140)
affect.remove_collect(apply.ATT_GRADE_BONUS, 60)
s = select("체력 +1100", "방어력 +140", "공격력 +60")
if s == 1 then
affect.add_collect(1, 1100, 60*60*24*365*60)
pc.setf("collect_quest_lv94","reward","1")
elseif s == 2 then
affect.add_collect(apply.DEF_GRADE_BONUS, 140, 60*60*24*365*60)
pc.setf("collect_quest_lv94","reward","2")
elseif s == 3 then
affect.add_collect(apply.ATT_GRADE_BONUS, 60, 60*60*24*365*60)
pc.setf("collect_quest_lv94","reward","3")
end
elseif selTab[s] == "lv96 청천의보석 보상" then
affect.remove_collect(1, 2000)
affect.remove_collect(apply.DEF_GRADE_BONUS, 700)
affect.remove_collect(apply.ATT_GRADE_BONUS, 300)
s = select("체력 +2000", "방어력 +700", "공격력 +300")
if s == 1 then
affect.add_collect(1, 2000, 60*60*24*365*60)
pc.setf("collect_quest_lv96","reward","1")
elseif s == 2 then
affect.add_collect(apply.DEF_GRADE_BONUS, 700, 60*60*24*365*60)
pc.setf("collect_quest_lv96","reward","2")
elseif s == 3 then
affect.add_collect(apply.ATT_GRADE_BONUS, 300, 60*60*24*365*60)
pc.setf("collect_quest_lv96","reward","3")
end
end
pc.setqf( "collect_count", 0 )
set_state( check_reset_able )
say("백선아평")
say("새로 고른 보상으로 바꿔 놓았네")
say("또 바꾸고 싶으면 일주일 후에 찾아오게나")
say("")
pc.setqf("duration", get_time()+60*60*24*7)
end
end
end