68 lines
2.1 KiB
Plaintext
68 lines
2.1 KiB
Plaintext
|
quest ride begin
|
||
|
state start begin
|
||
|
function Ride( vnum, remain_time )
|
||
|
ride_info = {
|
||
|
[71114] = { 20110, 5*60, apply.DEF_GRADE_BONUS, 75, 75, true },
|
||
|
[71115] = { 20110, 24*60, apply.DEF_GRADE_BONUS, 100, 75, false },
|
||
|
[71116] = { 20111, 5*60, apply.DEF_GRADE_BONUS, 100, 80, true },
|
||
|
[71117] = { 20111, 24*60, apply.DEF_GRADE_BONUS, 150, 80, false },
|
||
|
[71118] = { 20112, 5*60, apply.DEF_GRADE_BONUS, 125, 85, true },
|
||
|
[71119] = { 20112, 24*60, apply.DEF_GRADE_BONUS, 200, 85, false },
|
||
|
[71120] = { 20113, 5*60, apply.ATT_GRADE_BONUS, 200, 85, true },
|
||
|
[71121] = { 20113, 24*60, apply.ATT_GRADE_BONUS, 300, 85, false },
|
||
|
[71171] = { 20227, item.get_socket(2)*60, apply.MOV_SPEED, 60, 1, false, false, false},
|
||
|
[71172] = { 20226, item.get_socket(2)*60, apply.MOV_SPEED, 60, 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 <= 71113 or vnum >71121 then
|
||
|
return
|
||
|
end
|
||
|
if 0 != vnum then
|
||
|
ride.Ride(vnum, remain_time)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
when 71114.use or 71115.use or 71116.use or 71117.use or 71118.use or 71119.use or 71120.use or 71121.use
|
||
|
or 71171.use or 71172.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.Ride(item.vnum, 0)
|
||
|
else
|
||
|
say("")
|
||
|
say(gameforge.ride._030_say)
|
||
|
say("")
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|