// The Mana World scripts.
// Author:
// Jesusalva
// Description:
// Saluc Golden Beard, one of the greediest ship captains in Argaes.
// THIS IS A PLACEHOLDER!
// If you logout on instance, ensure TravelFix() can fix your position
marine mapflag nosave marine-2,40,32
// Ship captain
marine,25,24,0 script Saluc Golden Beard NPC_HAL,{
function confirmTravel;
function artisTravel;
if (.artis)
artisTravel();
mesn;
mesq l("Hello, adventurer! I am Saluc the Golden Beard!");
next;
mesn;
mesq l("No, I'm not a scammer! You'll get a ship travel with me, I just... charge a bit more for profit.");
next;
mesn;
mesq l("So, to where you want to go?");
mesc l("You are currently at %s.", LOCATION$);
menuint
rif(LOCATION$ != "Tulim", l("To Tulimshar")), TP_TULIM,
rif(LOCATION$ != "Hurns", l("To Hurnscald")), TP_HURNS,
rif(LOCATION$ != "Candor", l("To Candor")), TP_CANDOR,
l("No, I'll save my money."), TP_NONE;
mes "";
if (@menuret == TP_NONE)
close;
mesn;
mesq l("Excellent! Hehehe... That'll be %d E!", .price);
if (.artis)
mesc l("This travel option is NOT advised for new players."), 1;
if (Zeny < .price)
close;
next;
mesc l("Travel?");
if (askyesno() == ASK_NO || Zeny < .price)
close;
mesn;
mesq l("Hehehe... All aboard!");
next;
confirmTravel(.price);
close;
/* Special Artis dialog */
function artisTravel {
mesn;
mesq l("Hello, adventurer! I am William D. and I am the captain of this frigate!");
next;
mesn;
mesq l("Gema IV is a good trading ship, but the Legion has requisitioned it...");
next;
.@price=.price;
// NOT a typo; You can self-smuggle yourself w/o the commendation leter.
// ...For now.
if (getq(Artis_Legion_Progress) >= 6) {
mesn;
mesq l("Did Q'Anon sent you? Are you enrolled in the Argaes expedition? We're leaving soon so hurry up!");
.@price=0;
} else {
mesn;
mesq l("I'm providing transport to the Argaes expedition.");
mesc l("William looks around to make sure no one else is listening and continues.");
next;
mesn;
mesq l("Heh, are you curious with the new world? I can make room for an extra \"Crew\" member, if ya catch my drift...");
mesc l("NEW PLAYERS: This route is for veterans only."), 1;
}
next;
mesn;
mesq l("So, will you board?");
next;
menuint
l("To Argaes!"), TP_ARGAES,
l("No, I'll save my money."), TP_NONE;
mes "";
if (@menuret == TP_NONE)
close;
if (Zeny < .@price)
close;
next;
mesc l("Travel?");
if (.@price)
mesc l("This option is not advised."), 1;
if (askyesno() == ASK_NO || Zeny < .@price)
close;
mesn;
mesq l("Hehehe... All aboard!");
next;
confirmTravel(.@price);
close;
return;
}
/* Warp players to their travel */
function confirmTravel {
closeclientdialog;
Zeny-=getarg(0);
.@i=array_find($@LOCMASTER_TP, @menuret);
PC_DEST$=$@LOCMASTER_LOC$[.@i];
@timer_navio_running = 1;
addtimer (.artis ? 140000 : 50000), "#MarineShip::OnEvent"; // One minute
warp "marine-2", 40, 32;
return;
}
OnInit:
.distance = 4;
.price = 100; // Current a constant, but maybe... In future...
.artis = false;
end;
OnInstanceInit:
// Smart Replacement for Artis' version
if (instance_mapname("marine") == "marine@Arti") {
setnpcdisplay(instance_npcname(.name$), "William D.");
.price = 10000;
.artis = true;
}
end;
}
// Exit door
marine,42,25,0 script Exit#Marine NPC_HIDDEN,0,0,{
OnTouch:
ReturnLastTown();
end;
}