summaryrefslogtreecommitdiff
path: root/npc/functions/ferry.txt
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-04-09 13:33:57 -0300
committerJesusaves <cpntb1@ymail.com>2021-04-09 13:33:57 -0300
commitcf18ce071c79ae37e14ea38943e0b1d88da70a7b (patch)
treef9159c9b60b3018300dd22ffba0d797bc5e828e5 /npc/functions/ferry.txt
parent8a4bf716002a017de77fe7df301ef8e4aaf00a2e (diff)
downloadserverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.tar.gz
serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.tar.bz2
serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.tar.xz
serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.zip
Override
Diffstat (limited to 'npc/functions/ferry.txt')
-rwxr-xr-xnpc/functions/ferry.txt135
1 files changed, 135 insertions, 0 deletions
diff --git a/npc/functions/ferry.txt b/npc/functions/ferry.txt
new file mode 100755
index 00000000..7feef2c5
--- /dev/null
+++ b/npc/functions/ferry.txt
@@ -0,0 +1,135 @@
+
+017-9,27,28,0 script #FerryConfig NPC32767,{
+ end;
+
+OnInit:
+ disablenpc "Hurnscald South Koga";
+ disablenpc "Candor Koga";
+ disablenpc "Nivalis Koga";
+ disablenpc "Hurnscald North Koga";
+ disablenpc "Tulimshar Koga";
+ $@MainCurrentDock = 0;
+ $@CandorCurrentDock = 0;
+ $@DockTickCount = 0;
+ $@DockLeaveCount = 1;
+ setarray $@MainDocks$, "Hurnscald North", "Nivalis", "Tulimshar";
+ setarray $@CandorDocks$, "Candor", "Hurnscald South";
+ donpcevent "#"+$@MainDocks$[$@MainCurrentDock]+"Dock::OnCommandArrive";
+ donpcevent "#"+$@CandorDocks$[$@CandorCurrentDock]+"Dock::OnCommandArrive";
+ .warp_delay = 430;
+ if (debug >= 2) end;
+ initnpctimer;
+ goto L_k1city2;
+
+L_NextDock:
+ $@MainLastDock = $@MainCurrentDock;
+ $@CandorLastDock = $@CandorCurrentDock;
+ $@MainCurrentDock = $@MainCurrentDock + 1;
+ $@CandorCurrentDock = $@CandorCurrentDock + 1;
+ if($@MainCurrentDock == getarraysize($@MainDocks$))
+ $@MainCurrentDock = 0;
+ if($@CandorCurrentDock == getarraysize($@CandorDocks$))
+ $@CandorCurrentDock = 0;
+ $@DockTickCount = 0;
+ donpcevent "#"+$@MainDocks$[$@MainLastDock]+"Dock::OnCommandWarp";
+ donpcevent "#"+$@MainDocks$[$@MainCurrentDock]+"Dock::OnCommandArrive";
+ donpcevent "#"+$@CandorDocks$[$@CandorLastDock]+"Dock::OnCommandWarp";
+ donpcevent "#"+$@CandorDocks$[$@CandorCurrentDock]+"Dock::OnCommandArrive";
+
+ donpcevent "#k1sound::OnCommandDing";
+ donpcevent "#k2sound::OnCommandDing";
+
+ initnpctimer;
+
+ if($@MainCurrentDock == 2) goto L_k1city1;
+ if($@MainCurrentDock == 0) goto L_k1city2;
+ if($@MainCurrentDock == 1) goto L_k1city3;
+ end;
+
+OnTimer5000:
+ if ($@DockTickCount > $@DockLeaveCount)
+ goto L_NextDock;
+ $@DockTickCount = $@DockTickCount + 1;
+ initnpctimer;
+ end;
+
+
+L_k1city1:
+ enablenpc "#k1city1e"; disablenpc "#k1city2e"; disablenpc "#k1city3e";
+ disablenpc "#k1city1d"; enablenpc "#k1city2d"; enablenpc "#k1city3d";
+ if($@CandorCurrentDock == 1) goto L_k2city1;
+ if($@CandorCurrentDock == 0) goto L_k2city2;
+end;
+
+L_k1city2:
+ disablenpc "#k1city1e"; enablenpc "#k1city2e"; disablenpc "#k1city3e";
+ enablenpc "#k1city1d"; disablenpc "#k1city2d"; enablenpc "#k1city3d";
+ if($@CandorCurrentDock == 1) goto L_k2city1;
+ if($@CandorCurrentDock == 0) goto L_k2city2;
+end;
+
+L_k1city3:
+ disablenpc "#k1city1e"; disablenpc "#k1city2e"; enablenpc "#k1city3e";
+ enablenpc "#k1city1d"; enablenpc "#k1city2d"; disablenpc "#k1city3d";
+ if($@CandorCurrentDock == 1) goto L_k2city1;
+ if($@CandorCurrentDock == 0) goto L_k2city2;
+end;
+
+L_k2city1:
+ enablenpc "#k2city1e"; disablenpc "#k2city2e";
+ disablenpc "#k2city1d"; enablenpc "#k2city2d";
+end;
+
+L_k2city2:
+ disablenpc "#k2city1e"; enablenpc "#k2city2e";
+ enablenpc "#k2city1d"; disablenpc "#k2city2d";
+end;
+}
+
+function script FerryHelp {
+ mes "\"You wait on the dock for the ship to come in. You'll be given a chance to board the boat when it comes into port.\"";
+ mes "\"It lingers in port to allow you some time to board in case you are running behind.\"";
+ mes "\"Once on the ship, it will sail to different ports and annouce where it is docking.\"";
+ mes "\"There are 2 Ferrys, both ferrys are free to ride.\"";
+ mes "\"The Main ferry travels from Argeas, Kaizei and Tonori. It docks in the major ports Hurnscald North, Nivalis and the Tulimshar Dock.\"";
+ mes "\"The Candor Ferry only travels betwen Candor and the Hurnscald South Dock.\"";
+ mes "\"Refreshments and supplies are offered aboard both ships during the voyage.\"";
+ mes "\"We also have some slot machines in case you get bored.\"";
+ return;
+}
+
+function script BoardFerry {
+ if ($@MainCurrentDock == 0 && getmapname() == "008-1") goto L_Board;
+ else if ($@MainCurrentDock == 1 && getmapname() == "031-1") goto L_Board;
+ else if ($@MainCurrentDock == 2 && getmapname() == "001-1") goto L_Board;
+
+ @NextDock = $@MainCurrentDock + 1;
+ if(@NextDock == getarraysize($@MainDocks$)) set @NextDock, 0;
+ message strcharinfo(0),
+ "Ferry : ##3The ferry is currently at ##B"+$@MainDocks$[$@MainCurrentDock]+"##b. "
+ +"It will be arriving at ##B"+$@MainDocks$[@NextDock]+"##b next.";
+ return;
+
+L_Board:
+ warp "035-2",32,29;
+ return;
+}
+
+function script BoardCandorFerry {
+ if ($@CandorCurrentDock == 0 && getmapname() == "029-1") goto L_Board;
+ else if ($@CandorCurrentDock == 1 && getmapname() == "008-1") goto L_Board;
+
+ @NextDock = $@CandorCurrentDock + 1;
+ if(@NextDock == getarraysize($@CandorDocks$)) set @NextDock, 0;
+ message strcharinfo(0),
+ "Ferry : ##3The ferry is currently at ##B"+$@CandorDocks$[$@CandorCurrentDock]+"##b. "
+ +"It will be arriving at ##B"+$@CandorDocks$[@NextDock]+"##b next.";
+ return;
+
+L_Board:
+ warp "036-2",32,29;
+ goto L_Return;
+
+L_Return:
+ return;
+}