summaryrefslogtreecommitdiff
path: root/world/map/npc/functions/ferry.txt
blob: 8cc6de474bd5d88b4dcc1198196725d7e1462dfb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
// The ferry system

017-9.gat,27,28,0|script|#FerryConfig|-1
{
    end;

OnInit:
    disablenpc "Hurnscald Koga";
    disablenpc "Candor Koga";
    disablenpc "Nivalis Koga";
    disablenpc "Tulimshar North Koga";
    disablenpc "Tulimshar South Koga";
    set $@MainCurrentDock, 0;
    set $@CandorCurrentDock, 0;
    set $@DockTickCount, 0;
    set $@DockLeaveCount, 1;
    setarray $@MainDocks$, "Hurnscald", "Nivalis", "Tulimshar South";
    setarray $@CandorDocks$, "Candor", "Tulimshar North";
    cmdothernpc "#"+$@MainDocks$[$@MainCurrentDock]+"Dock", "Arrive";
    cmdothernpc "#"+$@CandorDocks$[$@CandorCurrentDock]+"Dock", "Arrive";
    if (debug >= 2) end;
    initnpctimer;
    end;

L_NextDock:
    set $@MainLastDock, $@MainCurrentDock;
    set $@CandorLastDock, $@CandorCurrentDock;
    set $@MainCurrentDock, $@MainCurrentDock + 1;
    set $@CandorCurrentDock, $@CandorCurrentDock + 1;
    if($@MainCurrentDock == getarraysize($@MainDocks$))
        set $@MainCurrentDock, 0;
    if($@CandorCurrentDock == getarraysize($@CandorDocks$))
        set $@CandorCurrentDock, 0;
    set $@DockTickCount, 0;
    cmdothernpc "#"+$@MainDocks$[$@MainLastDock]+"Dock", "Warp";
    cmdothernpc "#"+$@MainDocks$[$@MainCurrentDock]+"Dock", "Arrive";
    cmdothernpc "#"+$@CandorDocks$[$@CandorLastDock]+"Dock", "Warp";
    cmdothernpc "#"+$@CandorDocks$[$@CandorCurrentDock]+"Dock", "Arrive";
    
    cmdothernpc "#k1sound", "Ding";
    cmdothernpc "#k2sound", "Ding";
  
    //mapannounce "035-2.tmx", " Koga - Main:* Now arriving in "+$@MainDocks$[$@MainCurrentDock]+".", 0;
    //mapannounce "036-2.tmx", " Koga - Candor:* Now arriving in "+$@CandorDocks$[$@CandorCurrentDock]+".", 0;
    initnpctimer;
    
    if($@MainCurrentDock == 2) goto L_k1city1;
    if($@MainCurrentDock == 0) goto L_k1city2;
    if($@MainCurrentDock == 1) goto L_k1city3;
    end;

OnTimer10000:
    if ($@DockTickCount > $@DockLeaveCount)
        goto L_NextDock;
    //mapannounce "035-2.tmx", "Koga - Main:* Now docked in "+$@MainDocks$[$@MainCurrentDock]+", Departing soon", 0;
    //mapannounce "036-2.tmx", "Koga - Candor:* Now docked in "+$@CandorDocks$[$@CandorCurrentDock]+", Departing soon", 0;
    set $@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|FerryManifest
{
    mes "Which Ferry do you want to check the schedule for?";
    menu
        "World Ferry.", L_WorldFerry,
        "Candor Ferry.", L_CandorFerry;

L_CandorFerry:
    mes "The ferry is currently at "+$@CandorDocks$[$@CandorCurrentDock];
    next;
    set @NextDock, ($@CandorCurrentDock + 1);
    if(@NextDock == getarraysize($@CandorDocks$))
        set @NextDock, 0;
    mes "The ferry will be arriving at "+$@CandorDocks$[@NextDock]+" next";
    goto L_Close;

L_WorldFerry:
    mes "The ferry is currently at "+$@MainDocks$[$@MainCurrentDock];
    next;
    set @NextDock, ($@MainCurrentDock + 1);
    if(@NextDock == getarraysize($@MainDocks$))
        set @NextDock, 0;
    mes "The ferry will be arriving at "+$@MainDocks$[@NextDock]+" next";
    goto L_Close;

L_Close:
    close;
}

function|script|BoardFerry
{
    mes "Board the ferry?";
    menu
        "yes.", L_Board,
        "no.", L_Return;

L_Board:
    warp "035-2.tmx",39,29;
    goto L_Return;

L_Return:
    return;
}

function|script|BoardCandorFerry
{
    mes "Board the ferry?";
    menu
        "yes.", L_Board,
        "no.", L_Return;

L_Board:
    if (BaseLevel < 40) goto L_TooYoung;
    warp "036-2.tmx",39,29;
    goto L_Return;

L_TooYoung:
    mes "This area is too dangerous for your low level.";
    goto L_Return;

L_Return:
    return;
}