diff options
Diffstat (limited to 'npc/marine')
-rw-r--r-- | npc/marine/_import.txt | 4 | ||||
-rw-r--r-- | npc/marine/_mobs.txt | 3 | ||||
-rw-r--r-- | npc/marine/saluc.txt | 137 |
3 files changed, 144 insertions, 0 deletions
diff --git a/npc/marine/_import.txt b/npc/marine/_import.txt new file mode 100644 index 00000000..6ab1ff31 --- /dev/null +++ b/npc/marine/_import.txt @@ -0,0 +1,4 @@ +// Map marine: La Marine +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/marine/_mobs.txt", +"npc/marine/saluc.txt", diff --git a/npc/marine/_mobs.txt b/npc/marine/_mobs.txt new file mode 100644 index 00000000..57623607 --- /dev/null +++ b/npc/marine/_mobs.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map marine: La Marine mobs +marine,31,26,9,4 monster Piou 1002,2,30000,20000 diff --git a/npc/marine/saluc.txt b/npc/marine/saluc.txt new file mode 100644 index 00000000..dc3b9897 --- /dev/null +++ b/npc/marine/saluc.txt @@ -0,0 +1,137 @@ +// 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; +} + |