@verb #7148:":1* :2* :3* :4* :5* :6* :7* :8* :9*" this none this rxdo #7951
@program #7148:":1* :2* :3* :4* :5* :6* :7* :8* :9*" this none this
{p} = args
n = toint(verb)
p:tell("<Move>
Warping to Sector ", n, "
")
if (this.location == this.universe.sectors[n])
return p:tell("
You are already in that sector!")
endif
if (n in this.location.warps)
this:warp(this.universe.sectors[n])
else
p:tell("That Warp Lane is not adjacent.
")
path = this.location:find_path(p, this.universe.sectors[n])
p:tell("Computed.
")
p:tell("The shortest path (", length(path) - 1, ", ", (length(path) - 1) * this.class.turns_per_warp, " turns) from sector ", this.location:num(), " to sector ", n, " is:")
pathdesc = {tostr("", this.location:num(), "")}
for x in (path)
if (p:explored(x))
pathdesc = {@pathdesc, tostr("", x:num(), "")}
else
pathdesc = {@pathdesc, tostr("(", x:num(), ")")}
endif
endfor
p:tell($string_utils:from_list(pathdesc, " > "))
auto = $command_utils:y_or_n("Engage the Autopilot?", 1, {"Y", "N", "Single step", "Express"})
if (auto != "N")
p:tell("<Auto Pilot Engaging>
")
for x in (path)
p:tell("Auto Warping to sector ", path[1]:num(), "
")
this:warp(x)
while (1)
opts = {"Y", "N", "E", "I", "R", "S", "B", "P", "?"}
cont = $command_utils:y_or_n("Stop in this sector?", "N", opts)
if (cont == "y")
break x
elseif (cont == "n")
break
elseif (cont == "i")
p.location:info(p)
elseif (cont == "p")
p.location:p(p)
endif
endwhile
endfor
endif
endif
"Last modified by Dax (#789) on Tue May 3 14:09:36 2005 MDT."
.