// The ferry system
function|script|Ferry|{
if (BaseLevel < 20)
goto L_LowerCost;
set @cost_tulimshar, 500;
set @cost_hurnscald, 500;
L_Start:
set @cost_candor, 1500;
mes "Where would you like to go?";
next;
if (BaseLevel < 40)
goto L_PlainMenu;
goto L_MenuWithCandor;
L_PlainMenu:
menu
"Tulimshar (" + @cost_tulimshar + "GP)", L_Tulimshar,
"Hurnscald (" + @cost_hurnscald + "GP)", L_Hurnscald,
"Nevermind", -;
close;
L_MenuWithCandor:
menu
"Tulimshar (" + @cost_tulimshar + "GP)", L_Tulimshar,
"Hurnscald (" + @cost_hurnscald + "GP)", L_Hurnscald,
"Candor (" + @cost_candor + "GP)", L_Candor,
"Nevermind", -;
close;
L_Tulimshar:
if (@loc == DOCK_tulimshar)
goto L_AlreadyThere;
if (zeny < @cost_tulimshar)
goto L_NotEnoughGP;
set zeny, zeny - @cost_tulimshar;
warp "022-1.gat", 76, 72;
close;
L_Hurnscald:
if (@loc == DOCK_hurnscald)
goto L_AlreadyThere;
if (zeny < @cost_hurnscald)
goto L_NotEnoughGP;
set zeny, zeny - @cost_hurnscald;
warp "008-1.gat", 137, 64;
close;
L_Candor:
if (@loc == DOCK_candor)
goto L_AlreadyThere;
if (zeny < @cost_candor)
goto L_NotEnoughGP;
set zeny, zeny - @cost_candor;
warp "029-1.gat", 25, 37;
close;
L_AlreadyThere:
mes "You're already here!";
close;
L_NotEnoughGP:
mes "You don't have enough money to go there!";
close;
L_LowerCost:
set @cost_tulimshar, 250;
set @cost_hurnscald, 250;
goto L_Start;
}