forked from metin2/server
287 lines
9.9 KiB
Plaintext
287 lines
9.9 KiB
Plaintext
quest event_mystery_box begin
|
|
state start begin
|
|
|
|
function drop_box(operator, mob)
|
|
if game.get_event_flag("mystery_box_drop") != 1 then
|
|
return
|
|
end
|
|
|
|
local prob = game.get_event_flag("mystery_box_prob")
|
|
local box_vnum = game.get_event_flag("mystery_box_vnum")
|
|
local logging = game.get_event_flag("mystery_box_logging")
|
|
|
|
if box_vnum == 0 then
|
|
return
|
|
end
|
|
|
|
prob = math.floor(prob*operator)
|
|
|
|
local s = number(1, prob)
|
|
if s == 1 then
|
|
game.drop_item_with_ownership(box_vnum, 1)
|
|
if logging == 1 then
|
|
char_log(mob, 'EVENT_MB_DROP_SUCCESS', box_vnum ..' box dropped with prob:'.. prob)
|
|
end
|
|
else
|
|
if logging == 1 then
|
|
char_log(mob, 'EVENT_MB_DROP_FAIL', box_vnum ..' box not dropped with prob:'.. prob)
|
|
end
|
|
end
|
|
end
|
|
|
|
when login or enter begin
|
|
set_state(go_sleep)
|
|
end
|
|
end
|
|
|
|
state go_sleep begin
|
|
|
|
when login or enter with game.get_event_flag("mystery_box_drop") == 1 begin
|
|
set_state(run_state)
|
|
end
|
|
|
|
end
|
|
|
|
state run_state begin
|
|
|
|
when login or enter with game.get_event_flag("mystery_box_drop") != 1 begin
|
|
set_state(go_sleep)
|
|
end
|
|
|
|
when 8001.kill with pc.get_level() >=1 and pc.get_level() <= 10 begin
|
|
local operator = 1
|
|
event_mystery_box.drop_box(operator,8001)
|
|
end
|
|
when 8002.kill with pc.get_level() >=5 and pc.get_level() <= 15 begin
|
|
local operator = 1
|
|
event_mystery_box.drop_box(operator,8002)
|
|
end
|
|
when 8003.kill with pc.get_level() >=10 and pc.get_level() <= 20 begin
|
|
local operator = 2.5
|
|
event_mystery_box.drop_box(operator,8003)
|
|
end
|
|
when 8004.kill with pc.get_level() >=15 and pc.get_level() <= 25 begin
|
|
local operator = 0.3
|
|
event_mystery_box.drop_box(operator,8004)
|
|
end
|
|
when 8005.kill with pc.get_level() >=20 and pc.get_level() <= 30 begin
|
|
local operator = 17
|
|
event_mystery_box.drop_box(operator,8005)
|
|
end
|
|
when 8006.kill with pc.get_level() >=25 and pc.get_level() <= 35 begin
|
|
local operator = 13
|
|
event_mystery_box.drop_box(operator,8006)
|
|
end
|
|
when 8007.kill with pc.get_level() >=30 and pc.get_level() <= 40 begin
|
|
local operator = 13
|
|
event_mystery_box.drop_box(operator,8007)
|
|
end
|
|
when 8008.kill with pc.get_level() >=35 and pc.get_level() <= 45 begin
|
|
local operator = 0.2
|
|
event_mystery_box.drop_box(operator,8008)
|
|
end
|
|
when 8009.kill with pc.get_level() >=40 and pc.get_level() <= 50 begin
|
|
local operator = 1
|
|
event_mystery_box.drop_box(operator,8009)
|
|
end
|
|
when 8010.kill with pc.get_level() >=45 and pc.get_level() <= 55 begin
|
|
local operator = 0.3
|
|
event_mystery_box.drop_box(operator,8010)
|
|
end
|
|
when 8011.kill with pc.get_level() >=50 and pc.get_level() <= 60 begin
|
|
local operator = 0.2
|
|
event_mystery_box.drop_box(operator,8011)
|
|
end
|
|
when 8012.kill with pc.get_level() >= 55 and pc.get_level() <= 65 begin
|
|
local operator = 100
|
|
event_mystery_box.drop_box(operator,8012)
|
|
end
|
|
when 8013.kill with pc.get_level() >= 60 and pc.get_level() <= 70 begin
|
|
local operator = 0.3
|
|
event_mystery_box.drop_box(operator,8013)
|
|
end
|
|
when 8014.kill with pc.get_level() >= 65 and pc.get_level() <= 75 begin
|
|
local operator = 0.25
|
|
event_mystery_box.drop_box(operator,8014)
|
|
end
|
|
when 8024.kill with pc.get_level() >=70 and pc.get_level() <= 80 begin
|
|
local operator = 0.3
|
|
event_mystery_box.drop_box(operator,8024)
|
|
end
|
|
when 8025.kill with pc.get_level() >=75 and pc.get_level() <= 85 begin
|
|
local operator = 0.3
|
|
event_mystery_box.drop_box(operator,8025)
|
|
end
|
|
when 8026.kill with pc.get_level() >=85 and pc.get_level() <= 95 begin
|
|
local operator = 0.5
|
|
event_mystery_box.drop_box(operator,8026)
|
|
end
|
|
when 8051.kill with pc.get_level() >=90 and pc.get_level() <= 100 begin
|
|
local operator = 2.5
|
|
event_mystery_box.drop_box(operator,8051)
|
|
end
|
|
when 8052.kill with pc.get_level() >=90 and pc.get_level() <= 100 begin
|
|
local operator = 2.5
|
|
event_mystery_box.drop_box(operator,8052)
|
|
end
|
|
when 8053.kill with pc.get_level() >=95 and pc.get_level() <= 105 begin
|
|
local operator = 2.5
|
|
event_mystery_box.drop_box(operator,8053)
|
|
end
|
|
when 8054.kill with pc.get_level() >=95 and pc.get_level() <= 105 begin
|
|
local operator = 2.5
|
|
event_mystery_box.drop_box(operator,8054)
|
|
end
|
|
when 8055.kill with pc.get_level() >=100 begin
|
|
local operator = 2.5
|
|
event_mystery_box.drop_box(operator,8055)
|
|
end
|
|
when 8056.kill with pc.get_level() >=100 begin
|
|
local operator = 2.5
|
|
event_mystery_box.drop_box(operator,8056)
|
|
end
|
|
when 8027.kill with pc.get_level() >=90 begin
|
|
local operator = 0.5
|
|
event_mystery_box.drop_box(operator,8027)
|
|
end
|
|
when 5161.kill with pc.get_level() <= 30 begin
|
|
local operator = 1
|
|
event_mystery_box.drop_box(operator,5161)
|
|
end
|
|
when 591.kill with pc.get_level() <= 35 begin
|
|
local operator = 1
|
|
event_mystery_box.drop_box(operator,591)
|
|
end
|
|
when 5162.kill with pc.get_level() <= 40 begin
|
|
local operator = 1
|
|
event_mystery_box.drop_box(operator,5162)
|
|
end
|
|
when 691.kill with pc.get_level() <= 45 begin
|
|
local operator = 1.25
|
|
event_mystery_box.drop_box(operator,691)
|
|
end
|
|
when 5163.kill with pc.get_level() <= 60 begin
|
|
local operator = 1
|
|
event_mystery_box.drop_box(operator,5163)
|
|
end
|
|
when 2091.kill with pc.get_level() <= 65 begin
|
|
local operator = 1.25
|
|
event_mystery_box.drop_box(operator,2091)
|
|
end
|
|
when 792.kill with pc.get_level() <= 65 begin
|
|
local operator = 0.5
|
|
event_mystery_box.drop_box(operator,792)
|
|
end
|
|
when 793.kill with pc.get_level() <= 75 begin
|
|
local operator = 0.5
|
|
event_mystery_box.drop_box(operator,793)
|
|
end
|
|
when 2191.kill with pc.get_level() <= 65 begin
|
|
local operator = 0.5
|
|
event_mystery_box.drop_box(operator,2191)
|
|
end
|
|
when 1901.kill with pc.get_level() <= 75 begin
|
|
local operator = 1
|
|
event_mystery_box.drop_box(operator,1901)
|
|
end
|
|
when 2206.kill with pc.get_level() <= 85 begin
|
|
local operator = 10
|
|
event_mystery_box.drop_box(operator,2206)
|
|
end
|
|
when 1091.kill with pc.get_level() <= 75 begin
|
|
local operator = 10
|
|
event_mystery_box.drop_box(operator,1091)
|
|
end
|
|
when 1092.kill with pc.get_level() <= 75 begin
|
|
local operator = 10
|
|
event_mystery_box.drop_box(operator,1092)
|
|
end
|
|
when 1304.kill with pc.get_level() <= 80 begin
|
|
local operator = 0.5
|
|
event_mystery_box.drop_box(operator,1304)
|
|
end
|
|
when 1093.kill with pc.get_level() <= 95 begin
|
|
local operator = 0.2
|
|
event_mystery_box.drop_box(operator,1093)
|
|
end
|
|
|
|
|
|
|
|
-- now the bosses
|
|
when 5002.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,5002)
|
|
end
|
|
when 2092.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,2092)
|
|
end
|
|
when 1192.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,1192)
|
|
end
|
|
when 2291.kill begin
|
|
local operator = 2.5
|
|
event_mystery_box.drop_box(operator,2291)
|
|
end
|
|
when 2307.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,2307)
|
|
end
|
|
when 2306.kill begin
|
|
local operator = 15
|
|
event_mystery_box.drop_box(operator,2306)
|
|
end
|
|
|
|
when 3091.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3091)
|
|
end
|
|
|
|
when 3191.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3191)
|
|
end
|
|
|
|
when 3291.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3291)
|
|
end
|
|
|
|
when 3391.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3391)
|
|
end
|
|
|
|
when 3491.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3491)
|
|
end
|
|
|
|
when 3591.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3591)
|
|
end
|
|
|
|
when 3595.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3595)
|
|
end
|
|
|
|
when 3691.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3691)
|
|
end
|
|
|
|
when 3791.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3791)
|
|
end
|
|
|
|
when 3891.kill begin
|
|
local operator = 2
|
|
event_mystery_box.drop_box(operator,3891)
|
|
end
|
|
end
|
|
end
|