68 lines
2.5 KiB
Plaintext
68 lines
2.5 KiB
Plaintext
|
quest ride_mystery_boxes begin
|
||
|
state start begin
|
||
|
function Ride( vnum, remain_time )
|
||
|
ride_info = {
|
||
|
[71124] = { 20114, item.get_socket(2)*60, apply.MOV_SPEED, 0, 1, false },
|
||
|
[71125] = { 20115, item.get_socket(2)*60, apply.ATTBONUS_MONSTER, 20, 20, false },
|
||
|
[71126] = { 20116, item.get_socket(2)*60, apply.CRITICAL_PCT, 10, 20, false },
|
||
|
[71127] = { 20117, item.get_socket(2)*60, apply.CRITICAL_PCT, 10, 20, false },
|
||
|
[71128] = { 20118, item.get_socket(2)*60, apply.MALL_DEFBONUS, 10, 20, false },
|
||
|
[71137] = { 20120, item.get_socket(2)*60, apply.MOV_SPEED, 0, 1, false, false, false},
|
||
|
[71138] = { 20121, item.get_socket(2)*60, apply.MOV_SPEED, 0, 1, false, false, false},
|
||
|
[71139] = { 20122, item.get_socket(2)*60, apply.MOV_SPEED, 0, 1, false, false, false},
|
||
|
[71140] = { 20123, item.get_socket(2)*60, apply.MOV_SPEED, 0, 1, false, false, false},
|
||
|
[71141] = { 20124, item.get_socket(2)*60, apply.MOV_SPEED, 0, 1, false, false, false},
|
||
|
[71142] = { 20125, item.get_socket(2)*60, apply.MOV_SPEED, 0, 1, false, false, false},
|
||
|
}
|
||
|
|
||
|
if pc.level < ride_info[vnum][5] then
|
||
|
say("")
|
||
|
say(gameforge.ride._010_say)
|
||
|
say("")
|
||
|
else
|
||
|
if 112 == pc.get_map_index() then
|
||
|
return
|
||
|
end
|
||
|
if ride_info[vnum][2] == 0 and remain_time != 0 then
|
||
|
pc.mount( ride_info[vnum][1], remain_time*60 )
|
||
|
pc.mount_bonus( ride_info[vnum][3], ride_info[vnum][4], remain_time*60 )
|
||
|
else
|
||
|
pc.mount( ride_info[vnum][1], ride_info[vnum][2] )
|
||
|
pc.mount_bonus( ride_info[vnum][3], ride_info[vnum][4], ride_info[vnum][2] )
|
||
|
end
|
||
|
|
||
|
if true == ride_info[vnum][6] then
|
||
|
pc.remove_item(vnum, 1)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
when login begin
|
||
|
local vnum, remain_time = pc.get_special_ride_vnum()
|
||
|
if vnum != 71124 and vnum != 71125 and vnum != 71126 and vnum != 71127 and vnum != 71128 and vnum != 71137 and vnum != 71138 and vnum !=71139 and vnum !=71140 and vnum !=71141 and vnum !=71142 then
|
||
|
return
|
||
|
end
|
||
|
if 0 != vnum then
|
||
|
ride_mystery_boxes.Ride(vnum, remain_time)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
when 71124.use or 71125.use or 71126.use or 71127.use or 71128.use or 71137.use or 71138.use or 71139.use or 71140.use or 71141.use or 71142.use begin
|
||
|
if pc.is_polymorphed() then
|
||
|
say("")
|
||
|
say(gameforge.ride._020_say)
|
||
|
say("")
|
||
|
elseif false == pc.is_riding() then
|
||
|
if true == horse.is_summon() then
|
||
|
horse.unsummon()
|
||
|
end
|
||
|
ride_mystery_boxes.Ride(item.vnum, 0)
|
||
|
else
|
||
|
say("")
|
||
|
say(gameforge.ride._030_say)
|
||
|
say("")
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|