root/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_dungeon.txt @ 1

Revision 1, 57.9 kB (checked in by jinshiro, 17 years ago)
Line 
1//===== eAthena Script =======================================
2//= Kafra Express - Dungeon Warps Module
3//===== By: ==================================================
4//= Skotlex
5//===== Current Version: =====================================
6//= 4.2
7//===== Compatible With: =====================================
8//= eAthena SVN R3424+, RO Episode 8+ (Hugel)
9//===== Description: =========================================
10//= Part of the Kafra Express Script Package.
11//= Offers warping to dungeons.
12//===== Additional Comments: =================================
13//= See config.txt for configuration.
14//= Flag values used for dungeons:
15//= 0x00000001 Abyss Lake
16//= 0x00000002 Amatsu
17//= 0x00000004 AntHell
18//= 0x00000008 Ayothaya
19//= 0x00000010 Byalan
20//= 0x00000020 Comodo
21//= 0x00000040 Clock tower
22//= 0x00000080 Coal Mines
23//= 0x00000100 Culvert
24//= 0x00000200 Einbech
25//= 0x00000400 Kiehl
26//= 0x00000800 Geffen
27//= 0x00001000 GlastHeim
28//= 0x00002000 Gon Ryun
29//= 0x00004000 Hidden Temple
30//= 0x00008000 Juperos
31//= 0x00010000 Lighthalzen
32//= 0x00020000 Lou Yang
33//= 0x00040000 Magma Caves
34//= 0x00080000 Orcs
35//= 0x00100000 Payon
36//= 0x00200000 Pyramid
37//= 0x00400000 Sphinx
38//= 0x00800000 Sunken Ship
39//= 0x01000000 Thanatos
40//= 0x02000000 Toy Factory
41//= 0x04000000 Turtle Island
42//= 0x08000000 Umbala
43//= 0x10000000 Odin Temple
44//= 0x20000000 Ice Cave
45//= 0x40000000 Rachel Temple
46//============================================================
47
48-       script  keInit_warpDungeon      -1,{
49OnInit: //Load Config
50        donpcevent "keConfig::OnLoadWarpDungeon";
51        end;
52}
53
54function        script  F_keDungeonWarps        {
55
56function SF_abyssLake;
57function SF_amatsu;
58function SF_antHell;
59function SF_ayothaya;
60function SF_byalan;
61function SF_comodo;
62function SF_clockTower;
63function SF_coalMine;
64function SF_culvert;
65function SF_einbech;
66function SF_gefenia;
67function SF_geffen;
68function SF_glastHeim;
69function SF_gonRyun;
70function SF_hiddenTemple;
71function SF_juperos;
72function SF_kiehl;
73function SF_iceCave;
74function SF_lightHalzen;
75function SF_louYang;
76function SF_magma;
77function SF_odin;
78function SF_orcs;
79function SF_payon;
80function SF_pyramid;
81function SF_rachel;
82function SF_sphinx;
83function SF_sunkenShip;
84function SF_thanatosTower;
85function SF_toyFactory;
86function SF_turtleIsland;
87function SF_umbala;
88        //Store player map, will be needed in any of the submenus.
89        set @map$, getarg(0);
90        do {
91                set @discount,callfunc("F_keCost",100,$@kewd_discount);
92                if ($@kewd_showOnline) {
93                        set @kmenu, select (
94                                "- Cancel",
95                                "- Abyss Lake ("+$@kewd_abyssLake*@discount/100+"z/"+(getmapusers("abyss_01")
96                                        +getmapusers("abyss_02")+getmapusers("abyss_03"))+" "+$@ked_users$+")",
97                                "- Amatsu Dungeon ("+$@kewd_amatsu*@discount/100+"z/"+(getmapusers("ama_dun01")
98                                        +getmapusers("ama_dun02")+getmapusers("ama_dun03"))+" "+$@ked_users$+")",
99                                "- Ant Hell ("+$@kewd_antHell*@discount/100+"z/"+(getmapusers("anthell01")
100                                        +getmapusers("anthell02"))+" "+$@ked_users$+")",
101                                "- Ayothaya Ancient Shrine ("+$@kewd_ayothaya*@discount/100+"z/"+(getmapusers("ayo_dun01")
102                                        +getmapusers("ayo_dun02"))+" "+$@ked_users$+")",
103                                "- Byalan Dungeon ("+$@kewd_byalan*@discount/100+"z/"+(getmapusers("iz_dun00")
104                                        +getmapusers("iz_dun01")+getmapusers("iz_dun02")+getmapusers("iz_dun03")
105                                        +getmapusers("iz_dun04"))+" "+$@ked_users$+")",
106                                "- Comodo Caves ("+$@kewd_comodo*@discount/100+"z/"+(getmapusers("beach_dun")
107                                        +getmapusers("beach_dun2")+getmapusers("beach_dun3"))+" "+$@ked_users$+")",
108                                "- Clock Tower ("+$@kewd_clockTower*@discount/100+"z/"+(getmapusers("c_tower1")
109                                        +getmapusers("c_tower2")+getmapusers("c_tower3")+getmapusers("c_tower4")
110                                        +getmapusers("alde_dun01")+getmapusers("alde_dun02")+getmapusers("alde_dun03")
111                                        +getmapusers("alde_dun04"))+" "+$@ked_users$+")",
112                                "- Coal Mine ("+$@kewd_coalMines*@discount/100+"z/"+(getmapusers("mjo_dun01")
113                                        +getmapusers("mjo_dun02")+getmapusers("mjo_dun03"))+" "+$@ked_users$+")",
114                                "- Culvert ("+$@kewd_culvert*@discount/100+"z/"+(getmapusers("prt_sewb1")+getmapusers("prt_sewb2")
115                                        +getmapusers("prt_sewb3")+getmapusers("prt_sewb4"))+" "+$@ked_users$+")",
116                                "- Einbroch Station ("+$@kewd_einbech*@discount/100+"z/"+(getmapusers("ein_dun01")
117                                        +getmapusers("ein_dun02"))+" "+$@ked_users$+")",
118                                "- Gefenia ("+$@kewd_gefenia*@discount/100+"z/"+(getmapusers("gefenia01")+getmapusers("gefenia02")
119                                        +getmapusers("gefenia03")+getmapusers("gefenia04"))+" "+$@ked_users$+")",
120                                "- Geffen Dungeon ("+$@kewd_geffen*@discount/100+"z/"+(getmapusers("gef_dun00")
121                                        +getmapusers("gef_dun01")+getmapusers("gef_dun02")+getmapusers("gef_dun03"))+" "+$@ked_users$+")",
122                                "- Glast Heim ("+$@kewd_glastHeim*@discount/100+"z/"+(getmapusers("gl_cas02")+getmapusers("gl_church")
123                                        +getmapusers("gl_chyard")+getmapusers("gl_dun01")+getmapusers("gl_dun02")
124                                        +getmapusers("gl_in01")+getmapusers("gl_knt01")+getmapusers("gl_knt02")
125                                        +getmapusers("gl_prison")+getmapusers("gl_prison1")+getmapusers("gl_sew01")
126                                        +getmapusers("gl_sew02")+getmapusers("gl_sew03")+getmapusers("gl_sew04")
127                                        +getmapusers("gl_step")+getmapusers("glast_01"))+" "+$@ked_users$+")",
128                                "- Gon Ryun Dungeon ("+$@kewd_gonRyun*@discount/100+"z/"+(getmapusers("gon_dun01")
129                                        +getmapusers("gon_dun02")+getmapusers("gon_dun03"))+" "+$@ked_users$+")",
130                                "- Hidden Temple ("+$@kewd_hiddenTemple*@discount/100+"z/"+(getmapusers("prt_maze01")
131                                        +getmapusers("prt_maze02")+getmapusers("prt_maze03"))+" "+$@ked_users$+")",
132                                "- Juperos ("+$@kewd_juperos*@discount/100+"z/"+(getmapusers("juperos_01")+getmapusers("juperos_02")
133                                        +getmapusers("jupe_area1")+getmapusers("jupe_area2")+getmapusers("jupe_core")
134                                        +getmapusers("jupe_gate")+getmapusers("jupe_area1"))+" "+$@ked_users$+")",
135                                "- Kiehl Doll Factory ("+$@kewd_kiehl*@discount/100+"z/"+(getmapusers("kh_dun01")
136                                        +getmapusers("kh_dun02"))+" "+$@ked_users$+")",
137                                "- Ice Cave("+$@kewd_iceCave*@discount/100+"z/"+(getmapusers("ice_dun01")
138                                        +getmapusers("ice_dun02")+getmapusers("ice_dun03"))+" "+$@ked_users$+")",
139                                "- LightHalzen Rekkenber ("+$@kewd_lightHalzen*@discount/100+"z/"+(getmapusers("lhz_dun01")
140                                        +getmapusers("lhz_dun02")+getmapusers("lhz_dun03"))+" "+$@ked_users$+")",
141                                "- Lou Yang Royal Tomb ("+$@kewd_louYang*@discount/100+"z/"+(getmapusers("lou_dun01")
142                                        +getmapusers("lou_dun02")+getmapusers("lou_dun03"))+" "+$@ked_users$+")",
143                                "- Magma Dungeon ("+$@kewd_magma*@discount/100+"z/"+(getmapusers("mag_dun01")
144                                        +getmapusers("mag_dun02"))+" "+$@ked_users$+")",
145                                "- Odin Temple ("+$@kewd_odin*@discount/100+"z/"+(getmapusers("odin_tem01")
146                                        +getmapusers("odin_tem02")+getmapusers("odin_tem03"))+" "+$@ked_users$+")",
147                                "- Orc Dungeon ("+$@kewd_orc*@discount/100+"z/"+(getmapusers("orcsdun01")
148                                        +getmapusers("orcsdun02"))+" "+$@ked_users$+")",
149                                "- Payon Dungeon ("+$@kewd_payon*@discount/100+"z/"+(getmapusers("pay_dun00")
150                                        +getmapusers("pay_dun01")+getmapusers("pay_dun02")+getmapusers("pay_dun03")
151                                        +getmapusers("pay_dun04"))+" "+$@ked_users$+")",
152                                "- Pyramid ("+$@kewd_pyramid*@discount/100+"z/"+(getmapusers("moc_pryd01")+getmapusers("moc_pryd02")
153                                        +getmapusers("moc_pryd03")+getmapusers("moc_pryd04")+getmapusers("moc_pryd05")
154                                        +getmapusers("moc_pryd06")+getmapusers("moc_prydb1"))+" "+$@ked_users$+")",
155                                "- Rachel Temple ("+$@kewd_rachel*@discount/100+"z/"+(getmapusers("ra_san01")
156                                        +getmapusers("ra_san02")+getmapusers("ra_san03")+getmapusers("ra_san04")
157                                        +getmapusers("ra_san05"))+" "+$@ked_users$+")",
158                                "- Sphinx ("+$@kewd_sphinx*@discount/100+"z/"+(getmapusers("in_sphinx1")
159                                        +getmapusers("in_sphinx2")+getmapusers("in_sphinx3")+getmapusers("in_sphinx4")
160                                        +getmapusers("in_sphinx5"))+" "+$@ked_users$+")",
161                                "- Sunken Ship ("+$@kewd_sunkenShip*@discount/100+"z/"+(getmapusers("treasure01")
162                                        +getmapusers("treasure02"))+" "+$@ked_users$+")",
163                                "- Thanatos Tower ("+$@kewd_thanatosTower*@discount/100+"z/"+(getmapusers("tha_t01")
164                                        +getmapusers("tha_t02")+getmapusers("tha_t03")+getmapusers("tha_t04")
165                                        +getmapusers("tha_t05")+getmapusers("tha_t06")+getmapusers("tha_t07")
166                                        +getmapusers("tha_t08")+getmapusers("tha_t09")+getmapusers("tha_t10")
167                                        +getmapusers("tha_t11")+getmapusers("tha_t12")+getmapusers("thana_step")
168                                        +getmapusers("thana_boss"))+" "+$@ked_users$+")",
169                                "- Toy Factory ("+$@kewd_toyFactory*@discount/100+"z/"+(getmapusers("xmas_dun01")
170                                        +getmapusers("xmas_dun02"))+" "+$@ked_users$+")",
171                                "- Turtle Island ("+$@kewd_turtleIsland*@discount/100+"z/"+(getmapusers("tur_dun01")
172                                        +getmapusers("tur_dun02")+getmapusers("tur_dun03")+getmapusers("tur_dun04")
173                                        +getmapusers("tur_dun05")+getmapusers("tur_dun06"))+" "+$@ked_users$+")",
174                                "- Umbala Dungeon ("+$@kewd_umbala*@discount/100+"z/"+(getmapusers("um_dun01")
175                                        +getmapusers("um_dun02"))+" "+$@ked_users$+")"
176                        );
177                } else {
178                        set @kmenu, select(
179                                "- Cancel",
180                                "- Abyss Lake ("+$@kewd_abyssLake*@discount/100+"z)",
181                                "- Amatsu Dungeon ("+$@kewd_amatsu*@discount/100+"z)",
182                                "- Ant Hell ("+$@kewd_antHell*@discount/100+"z)",
183                                "- Ayothaya Ancient Shrine ("+$@kewd_ayothaya*@discount/100+"z)",
184                                "- Byalan Dungeon ("+$@kewd_byalan*@discount/100+"z)",
185                                "- Comodo Caves ("+$@kewd_comodo*@discount/100+"z)",
186                                "- Clock Tower ("+$@kewd_clockTower*@discount/100+"z)",
187                                "- Coal Mine ("+$@kewd_coalMines*@discount/100+"z)",
188                                "- Culvert ("+$@kewd_culvert*@discount/100+"z)",
189                                "- Einbroch Mine ("+$@kewd_einbech*@discount/100+"z)",
190                                "- Gefenia ("+$@kewd_gefenia*@discount/100+"z)",
191                                "- Geffen Dungeon ("+$@kewd_geffen*@discount/100+"z)",
192                                "- Glast Heim ("+$@kewd_glastHeim*@discount/100+"z)",
193                                "- Gon Ryun Dungeon ("+$@kewd_gonRyun*@discount/100+"z)",
194                                "- Hidden Temple ("+$@kewd_hiddenTemple*@discount/100+"z)",
195                                "- Juperos ("+$@kewd_juperos*@discount/100+"z)",
196                                "- Kiehl Doll Factory ("+$@kewd_kiehl*@discount/100+"z)",
197                                "- Ice Cave ("+$@kewd_iceCave*@discount/100+"z)",
198                                "- LightHalzen Rekkenber ("+$@kewd_lightHalzen*@discount/100+"z)",
199                                "- Lou Yang Royal Tomb ("+$@kewd_louYang*@discount/100+"z)",
200                                "- Magma Dungeon ("+$@kewd_magma*@discount/100+"z)",
201                                "- Odin Temple ("+$@kewd_odin*@discount/100+"z)",
202                                "- Orcs Dungeon ("+$@kewd_orc*@discount/100+"z)",
203                                "- Payon Dungeon ("+$@kewd_payon*@discount/100+"z)",
204                                "- Pyramid ("+$@kewd_pyramid*@discount/100+"z)",
205                                "- Rachel Temple ("+$@kewd_rachel*@discount/100+"z)",
206                                "- Sphinx ("+$@kewd_sphinx*@discount/100+"z)",
207                                "- Sunken Ship ("+$@kewd_sunkenShip*@discount/100+"z)",
208                                "- Thanatos Tower ("+$@kewd_thanatosTower*@discount/100+"z)",
209                                "- Toy Factory ("+$@kewd_toyFactory*@discount/100+"z)",
210                                "- Turtle Island ("+$@kewd_turtleIsland*@discount/100+"z)",
211                                "- Umbala Dungeon ("+$@kewd_umbala*@discount/100+"z)"
212                        );
213                }
214                switch (@kmenu) {
215                case 2:
216                        SF_abyssLake();
217                        break;
218                case 3:
219                        SF_amatsu();
220                        break;
221                case 4:
222                        SF_antHell();
223                        break;
224                case 5:
225                        SF_ayothaya();
226                        break;
227                case 6:
228                        SF_byalan();
229                        break;
230                case 7:
231                        SF_comodo();
232                        break;
233                case 8:
234                        SF_clockTower();
235                        break;
236                case 9:
237                        SF_coalMine();
238                        break;
239                case 10:
240                        SF_culvert();
241                        break;
242                case 11:
243                        SF_einbech();
244                        break;
245                case 12:
246                        SF_gefenia();
247                        break;
248                case 13:
249                        SF_geffen();
250                        break;
251                case 14:
252                        SF_glastHeim();
253                        break;
254                case 15:
255                        SF_gonRyun();
256                        break;
257                case 16:
258                        SF_hiddenTemple();
259                        break;
260                case 17:
261                        SF_juperos();
262                        break;
263                case 18:
264                        SF_kiehl();
265                        break;
266                case 19:
267                        SF_iceCave();
268                        break;
269                case 20:
270                        SF_lightHalzen();
271                        break;
272                case 21:
273                        SF_louYang();
274                        break;
275                case 22:
276                        SF_magma();
277                        break;
278                case 23:
279                        SF_odin();
280                        break;
281                case 24:
282                        SF_orcs();
283                        break;
284                case 25:
285                        SF_payon();
286                        break;
287                case 26:
288                        SF_pyramid();
289                        break;
290                case 27:
291                        SF_rachel();
292                        break;
293                case 28:
294                        SF_sphinx();
295                        break;
296                case 29:
297                        SF_sunkenShip();
298                        break;
299                case 30:
300                        SF_thanatosTower();
301                        break;
302                case 31:
303                        SF_toyFactory();
304                        break;
305                case 32:
306                        SF_turtleIsland();
307                        break;
308                case 33:
309                        SF_umbala();
310                        break;
311                default:
312                        return;
313                }
314        } while (@kmenu > 1);
315        return;
316
317//Subfunction SF_check(flag, cost, floor-count, player-map, dungeon-map#, map#1, map#2, ...)
318//If kewd_travel is set, the flag needs to match to be to warp there.
319//Floor count is the amount of levels the dungeon needs a price for,
320//dungeon-map# is the number of maps passed that need to be checked against
321//the player's map to see if they are warping from within the entrance.
322
323function SF_check {
324        if ($@kewd_travel && !((kewd_travel|#kewd_travel)&getarg(0))) {
325                callfunc "F_keIntro", e_sry, "Sorry, but we can only warp you to dungeons you have saved in before.";
326                return 0;
327        }
328        set @cost, getarg(1);
329        set @discount,100;
330        set @map$, getarg(3);
331        set @mapI, getarg(4);
332
333        while (@mapI > 0)
334        {
335                if (@map$ == getarg(4+@mapI)) {
336                        set @discount,100-$@kewd_entryDiscount;
337                        break;
338                }
339                set @mapI, @mapI-1;
340        }
341        set @discountKP, callfunc("F_keCost",100,$@kewd_discount);
342        set @discount,@discount*@discountKP/100;
343       
344        set @cost,@cost*@discount/100;
345
346        //@discountKP is used to reverse the price to before the KP discount takes place
347        if (@discountKP == 0)
348                set @discountKP,1;
349        if ($@kewd_deep == 0)
350                return 1;
351
352        //Reuse temp variable to set floor costs.
353        set @mapI, getarg(2);
354        set @inc,@cost*$@kewd_levelCost/100;
355        while (@mapI > 1) {
356                setd "@cost"+@mapI, @cost+(@mapI-1)*@inc;
357                set @mapI, @mapI-1;
358        }
359        return 1;
360}
361
362function SF_abyssLake {
363        if (!(SF_check(0x1, $@kewd_abyssLake, 3, @map$, 1, "hu_fild05")))
364                return;
365        if ($@kewd_deep == 0)
366                set @submenu, 2;
367        else if ($@kewd_showOnline) {
368                set @submenu, select(
369                        "- Cancel warp to Abyss Lake",
370                        "- Entrance ("+@cost+"z/"+getmapusers("abyss_01")+" "+$@ked_users$+")",
371                        "- Level 2 ("+@cost2+"z/"+getmapusers("abyss_02")+" "+$@ked_users$+")",
372                        "- Level 3 ("+@cost3+"z/"+getmapusers("abyss_03")+" "+$@ked_users$+")"
373                );
374        } else {
375                set @submenu, select(
376                        "- Cancel warp to Abyss Lake",
377                        "- Entrance ("+@cost+"z)",
378                        "- Level 2 ("+@cost2+"z)",
379                        "- Level 3 ("+@cost3+"z)"
380                );
381        }
382        switch (@submenu) {
383        case 2:
384                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"hu_fild05",173,308;
385                break;
386        case 3:
387                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"abyss_02",272,270;
388                break;
389        case 4:
390                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"abyss_03",116,29;
391                break;
392        }
393}
394
395function SF_amatsu {
396        if (!(SF_check(0x2, $@kewd_amatsu, 3, @map$, 1, "ama_in02")))
397                return;
398        if ($@kewd_deep == 0)
399                set @submenu, 2;
400        else if ($@kewd_showOnline) {
401                set @submenu, select(
402                        "- Cancel warp to Amatsu Dungeon",
403                        "- Entrance ("+@cost+"z/"+getmapusers("ama_dun01")+" "+$@ked_users$+")",
404                        "- Level 2 ("+@cost2+"z/"+getmapusers("ama_dun02")+" "+$@ked_users$+")",
405                        "- Level 3 ("+@cost3+"z/"+getmapusers("ama_dun03")+" "+$@ked_users$+")"
406                );
407        } else {
408                set @submenu, select(
409                        "- Cancel warp to Amatsu Dungeon",
410                        "- Entrance ("+@cost+"z)",
411                        "- Level 2 ("+@cost2+"z)",
412                        "- Level 3 ("+@cost3+"z)"
413                );
414        }
415        switch (@submenu) {
416        case 2:
417                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ama_in02",120,181;
418                break;
419        case 3:
420                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ama_dun02",34,41;
421                break;
422        case 4:
423                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ama_dun03",119,14;
424                break;
425        }
426}
427
428function SF_antHell {
429        if (!(SF_check(0x4, $@kewd_antHell, 1, @map$, 2, "moc_fild04","moc_fild15")))
430                return;
431        if ($@kewd_showOnline) {
432                set @submenu, select(
433                        "- Cancel warp to Ant Hell",
434                        "- Northern Entrance ("+@cost+"z/"+getmapusers("anthell01")+" "+$@ked_users$+")",
435                        "- Southern Entrance ("+@cost+"z/"+getmapusers("anthell02")+" "+$@ked_users$+")"
436                );
437        } else {
438                set @submenu, select(
439                        "- Cancel warp to Ant Hell",
440                        "- Northern Entrance ("+@cost+"z)",
441                        "- Southern Entrance ("+@cost+"z)"
442                );
443        }
444        switch (@submenu) {
445        case 2:
446                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild04",201,327;
447                break;
448        case 3:
449                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild15",246,251;
450                break;
451        }
452}
453
454function SF_ayothaya {
455        if (!(SF_check(0x8, $@kewd_ayothaya, 2, @map$, 1, "ayo_fild02")))
456                return;
457        if ($@kewd_deep == 0)
458                set @submenu, 2;
459        else if ($@kewd_showOnline) {
460                set @submenu, select(
461                        "- Cancel warp to the Ancient Shrine",
462                        "- Entrance ("+@cost+"z/"+getmapusers("ayo_dun01")+" "+$@ked_users$+")",
463                        "- Level 2 ("+@cost2+"z/"+getmapusers("ayo_dun02")+" "+$@ked_users$+")"
464                );
465        } else {
466                set @submenu, select(
467                        "- Cancel warp to the Ancient Shrine",
468                        "- Entrance ("+@cost+"z)",
469                        "- Level 2 ("+@cost2+"z)"
470                );
471        }
472        switch (@submenu) {
473        case 2:
474                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ayo_fild02",273,150;
475                break;
476        case 3:
477                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ayo_dun02",24,28;
478                break;
479        }
480}
481
482function SF_byalan {
483        if (!(SF_check(0x10, $@kewd_byalan, 5, @map$, 1, "izlu2dun")))
484                return;
485        if ($@kewd_deep == 0)
486                set @submenu, 2;
487        else if ($@kewd_showOnline) {
488                set @submenu, select(
489                        "- Cancel warp to Undersea Tunnel",
490                        "- Entrance ("+@cost+"z/"+getmapusers("iz_dun00")+" "+$@ked_users$+")",
491                        "- Level 2 ("+@cost2+"z/"+getmapusers("iz_dun01")+" "+$@ked_users$+")",
492                        "- Level 3 ("+@cost3+"z/"+getmapusers("iz_dun02")+" "+$@ked_users$+")",
493                        "- Level 4 ("+@cost4+"z/"+getmapusers("iz_dun03")+" "+$@ked_users$+")",
494                        "- Level 5 ("+@cost5+"z/"+getmapusers("iz_dun04")+" "+$@ked_users$+")"
495                );
496        } else {
497                set @submenu, select(
498                        "- Cancel warp to Undersea Tunnel",
499                        "- Entrance ("+@cost+"z)",
500                        "- Level 2 ("+@cost2+"z)",
501                        "- Level 3 ("+@cost3+"z)",
502                        "- Level 4 ("+@cost4+"z)",
503                        "- Level 5 ("+@cost5+"z)"
504                );
505        }
506        switch (@submenu) {
507        case 2:
508                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"izlu2dun",114,84;
509                break;
510        case 3:
511                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun01",253,252;
512                break;
513        case 4:
514                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun02",236,204;
515                break;
516        case 5:
517                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun03",32,63;
518                break;
519        case 6:
520                callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun04",26,27;
521                break;
522        }
523}
524
525function SF_comodo {
526        if (!(SF_check(0x20, $@kewd_comodo, 1, @map$, 2, "comodo","cmd_fild01")))
527                return;
528
529        if ($@kewd_showOnline) {
530                set @submenu, select(
531                        "- Cancel warp to Comodo Caves",
532                        "- Mao, The Eastern Cave ("+@cost+"z/"+getmapusers("beach_dun3")+" "+$@ked_users$+")",
533                        "- Karu, The Western Cave ("+@cost+"z/"+getmapusers("beach_dun")+" "+$@ked_users$+")",
534                        "- Ruande, The Northern Cave ("+@cost+"z/"+getmapusers("beach_dun2")+" "+$@ked_users$+")"
535                );
536        } else {
537                set @submenu, select(
538                        "- Cancel warp to Comodo Caves",
539                        "- Mao, The Eastern Cave ("+@cost+"z)",
540                        "- Karu, The Western Cave ("+@cost+"z)",
541                        "- Ruande, The Northern Cave ("+@cost+"z)"
542                );
543        }
544        switch (@submenu) {
545        case 2:
546                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"cmd_fild01",34,325;
547                break;
548        case 3:
549                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"comodo",32,209;
550                break;
551        case 4:
552                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"comodo",180,352;
553                break;
554        }
555}
556
557function SF_clockTower {
558        if (!(SF_check(0x40, $@kewd_clockTower, 5, @map$, 1, "aldebaran")))
559                return;
560        if ($@kewd_deep == 0)
561                set @submenu, 2;
562        else if ($@kewd_showOnline) {
563                set @submenu, select(
564                        "- Cancel warp to Clock Tower",
565                        "- Entrance ("+@cost+"z/"+getmapusers("c_tower1")+" "+$@ked_users$+")",
566                        "- Level 2 ("+@cost2+"z/"+getmapusers("c_tower2")+" "+$@ked_users$+")",
567                        "- Level 3 ("+@cost3+"z/"+getmapusers("c_tower3")+" "+$@ked_users$+")",
568                        "- Level 4 ("+@cost4+"z/"+getmapusers("c_tower4")+" "+$@ked_users$+")",
569                        "- Basement 1 ("+@cost2+"z/"+getmapusers("alde_dun01")+" "+$@ked_users$+")",
570                        "- Basement 2 ("+@cost3+"z/"+getmapusers("alde_dun02")+" "+$@ked_users$+")",
571                        "- Basement 3 ("+@cost4+"z/"+getmapusers("alde_dun03")+" "+$@ked_users$+")",
572                        "- Basement 4 ("+@cost5+"z/"+getmapusers("alde_dun04")+" "+$@ked_users$+")"
573                );
574        } else {
575                set @submenu, select(
576                        "- Cancel warp to Clock Tower",
577                        "- Entrance ("+@cost+"z)",
578                        "- Level 2 ("+@cost2+"z)",
579                        "- Level 3 ("+@cost3+"z)",
580                        "- Level 4 ("+@cost4+"z)",
581                        "- Basement 1 ("+@cost2+"z)",
582                        "- Basement 2 ("+@cost3+"z)",
583                        "- Basement 3 ("+@cost4+"z)",
584                        "- Basement 4 ("+@cost5+"z)"
585                );
586        }
587        switch (@submenu) {
588        case 2:
589                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"aldebaran",140,130;
590                break;
591        case 3:
592                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"c_tower2",268,26;
593                break;
594        case 4:
595                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"c_tower3",68,146;
596                break;
597        case 5:
598                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"c_tower4",185,44;
599                break;
600        case 6:
601                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun01",297,25;
602                break;
603        case 7:
604                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun02",43,24;
605                break;
606        case 8:
607                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun03",18,267;
608                break;
609        case 9:
610                callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun04",82,267;
611                break;
612        }
613}
614
615function SF_coalMine {
616        if (!(SF_check(0x80, $@kewd_coalMines, 3, @map$, 1, "mjolnir_02")))
617                return;
618        if ($@kewd_deep == 0)
619                set @submenu, 2;
620        else if ($@kewd_showOnline) {
621                set @submenu, select(
622                        "- Cancel warp to the Mjolnir Dead Pit",
623                        "- Entrance ("+@cost+"z/"+getmapusers("mjo_dun01")+" "+$@ked_users$+")",
624                        "- Level 2 ("+@cost2+"z/"+getmapusers("mjo_dun02")+" "+$@ked_users$+")",
625                        "- Level 3 ("+@cost3+"z/"+getmapusers("mjo_dun03")+" "+$@ked_users$+")"
626                );
627        } else {
628                set @submenu, select(
629                        "- Cancel warp to the Mjolnir Dead Pit",
630                        "- Entrance ("+@cost+"z)",
631                        "- Level 2 ("+@cost2+"z)",
632                        "- Level 3 ("+@cost3+"z)"
633                );
634        }
635        switch (@submenu) {
636        case 2:
637                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"mjolnir_02",89,358;
638                break;
639        case 3:
640                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"mjo_dun02",376,342;
641                break;
642        case 4:
643                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"mjo_dun03",305,260;
644                break;
645        }
646}
647
648function SF_culvert {
649        if (!(SF_check(0x100, $@kewd_culvert, 4, @map$, 1, "prt_fild05")))
650                return;
651        if ($@kewd_deep == 0) {
652                set @submenu, 2;
653        } else if ($@kewd_showOnline) {
654                set @submenu, select(
655                        "- Cancel warp to the Prontera Culvert",
656                        "- Entrance ("+@cost+"z/"+getmapusers("prt_sewb1")+" "+$@ked_users$+")",
657                        "- Level 2 ("+@cost2+"z/"+getmapusers("prt_sewb2")+" "+$@ked_users$+")",
658                        "- Level 3 ("+@cost3+"z/"+getmapusers("prt_sewb3")+" "+$@ked_users$+")",
659                        "- Level 4 ("+@cost4+"z/"+getmapusers("prt_sewb4")+" "+$@ked_users$+")"
660                );
661        } else {
662                set @submenu, select(
663                        "- Cancel warp to the Prontera Culvert",
664                        "- Entrance ("+@cost+"z)",
665                        "- Level 2 ("+@cost2+"z)",
666                        "- Level 3 ("+@cost3+"z)",
667                        "- Level 4 ("+@cost4+"z)"
668                );
669        }
670        switch (@submenu) {
671        case 2:
672                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"prt_fild05",274,208;
673                break;
674        case 3:
675                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb2",19,19;
676                break;
677        case 4:
678                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb3",180,169;
679                break;
680        case 5:
681                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb4",100,92;
682                break;
683        }
684}
685
686function SF_einbech {
687        if (!(SF_check(0x200, $@kewd_einbech, 2, @map$, 1, "einbech")))
688                return;
689        if ($@kewd_deep == 0)
690                set @submenu, 2;
691        else if ($@kewd_showOnline) {
692                set @submenu, select(
693                        "- Cancel warp to the Einbroch Mines",
694                        "- Entrance ("+@cost+"z/"+getmapusers("ein_dun01")+" "+$@ked_users$+")",
695                        "- Level 2 ("+@cost2+"z/"+getmapusers("ein_dun02")+" "+$@ked_users$+")"
696                );
697        } else {
698                set @submenu, select(
699                        "- Cancel warp to the Einbech Mines",
700                        "- Entrance ("+@cost+"z)",
701                        "- Level 2 ("+@cost2+"z)"
702                );
703        }
704        switch (@submenu) {
705        case 2:
706                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"einbech",138,244;
707                break;
708        case 3:
709                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ein_dun02",290,285;
710                break;
711        }
712}
713
714function SF_geffen {
715        if (!(SF_check(0x800, $@kewd_geffen, 3, @map$, 1, "gef_tower")))
716                return;
717        if ($@kewd_deep == 0)
718                set @submenu, 2;
719        else if ($@kewd_showOnline) {
720                set @submenu, select(
721                        "- Cancel warp to Geffen Dungeon",
722                        "- Entrance ("+@cost+"z/"+getmapusers("gef_dun00")+" "+$@ked_users$+")",
723                        "- Level 1 ("+@cost2+"z/"+getmapusers("gef_dun01")+" "+$@ked_users$+")",
724                        "- Level 2 ("+@cost3+"z/"+getmapusers("gef_dun02")+" "+$@ked_users$+")"
725//                      "- Level 3 ("+@cost4+"z/"+getmapusers("gef_dun03")+" "+$@ked_users$+")"
726                );
727        } else {
728                set @submenu, select(
729                        "- Cancel warp to Geffen Dungeon",
730                        "- Entrance ("+@cost+"z)",
731                        "- Level 1 ("+@cost2+"z)",
732                        "- Level 2 ("+@cost3+"z)"
733//                      "- Level 3 ("+@cost4+"z)"
734                );
735        }
736        switch (@submenu) {
737        case 2:
738                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gef_tower",147,35;
739                break;
740        case 3:
741                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun01",115,236;
742                break;
743        case 4:
744                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun02",106,132;
745                break;
746        case 5:
747                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun03",203,200;
748                break;
749        }
750}
751
752function SF_gefenia {
753        if (!(SF_check(0x400, $@kewd_gefenia, 2, @map$, 4, "gefenia01","gefenia02","gefenia03","gefenia04")))
754                return;
755        if ($@kewd_deep == 0)
756                set @submenu, 2;
757        else if ($@kewd_showOnline) {
758                set @submenu, select(
759                        "- Cancel warp to Gefenia",
760                        "- Level 1 ("+@cost+"z/"+getmapusers("gefenia01")+" "+$@ked_users$+")",
761                        "- Level 2 ("+@cost2+"z/"+getmapusers("gefenia02")+" "+$@ked_users$+")",
762                        "- Level 3 ("+@cost2+"z/"+getmapusers("gefenia03")+" "+$@ked_users$+")",
763                        "- Level 4 ("+@cost+"z/"+getmapusers("gefenia04")+" "+$@ked_users$+")"
764                );
765        } else {
766                set @submenu, select(
767                        "- Cancel warp to Gefenia",
768                        "- Level 1 ("+@cost+"z)",
769                        "- Level 2 ("+@cost2+"z)",
770                        "- Level 3 ("+@cost2+"z)",
771                        "- Level 4 ("+@cost+"z)"
772                );
773        }
774        switch (@submenu) {
775        case 2:
776                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gefenia01",60,169;
777                break;
778        case 3:
779                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gefenia02",116,116;
780                break;
781        case 4:
782                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gefenia03",119,277;
783                break;
784        case 5:
785                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gefenia04",129,86;
786                break;
787        }
788}
789
790function SF_glastHeim {
791        if (!(SF_check(0x1000, $@kewd_glastHeim, 7, @map$, 1, "glast_01")))
792                return;
793        if ($@kewd_deep == 0) {
794                if ($@kewd_showOnline) {
795                        set @submenu, select(
796                                "- Cancel warp to Glast Heim",
797                                "- Church Entrance ("+@cost+"z/"+getmapusers("gl_church")+" "+$@ked_users$+")",
798                                "- Castle Terrace ("+@cost+"z/"+(getmapusers("gl_cas01")+getmapusers("gl_cas02"))+" "+$@ked_users$+")",
799                                "- Staircase Entrance ("+@cost+"z/"+getmapusers("gl_step")+" "+$@ked_users$+")",
800                                "- Chivalry Entrance ("+@cost+"z/"+getmapusers("gl_knt01")+" "+$@ked_users$+")"
801                        );
802                } else {
803                        set @submenu, select(
804                                "- Cancel warp to Glast Heim",
805                                "- Church Entrance ("+@cost+"z)",
806                                "- Castle Terrace ("+@cost+"z)",
807                                "- Staircase Entrance ("+@cost+"z)",
808                                "- Chivalry Entrance ("+@cost+"z)"
809                        );
810                }
811                if (@submenu > 2) //Churchyard is index 3.
812                        set @submenu, @submenu+1;
813        } else if ($@kewd_showOnline) {
814                set @submenu, select(
815                        "- Cancel warp to Glast Heim",
816                        "- Church Entrance ("+@cost+"z/"+getmapusers("gl_church")+" "+$@ked_users$+")",
817                        "- Churchyard ("+@cost2+"z/"+getmapusers("gl_chyard")+" "+$@ked_users$+")",
818                        "- Castle Terrace ("+@cost+"z/"+(getmapusers("gl_cas01")+getmapusers("gl_cas02"))+" "+$@ked_users$+")",
819                        "- Staircase Entrance ("+@cost+"z/"+getmapusers("gl_step")+" "+$@ked_users$+")",
820                        "- Chivalry Entrance ("+@cost+"z/"+getmapusers("gl_knt01")+" "+$@ked_users$+")",
821                        "- Chivalry Level 2 ("+@cost2+"z/"+getmapusers("gl_knt02")+" "+$@ked_users$+")",
822                        "- Underground Prison 1 ("+@cost2+"z/"+getmapusers("gl_prison")+" "+$@ked_users$+")",
823                        "- Underground Prison 2 ("+@cost3+"z/"+getmapusers("gl_prison1")+" "+$@ked_users$+")",
824                        "- Culvert Level 1 ("+@cost4+"z/"+getmapusers("gl_sew01")+" "+$@ked_users$+")",
825                        "- Culvert Level 2 ("+@cost3+"z/"+getmapusers("gl_sew02")+" "+$@ked_users$+")",
826                        "- Culvert Level 3 ("+@cost4+"z/"+getmapusers("gl_sew03")+" "+$@ked_users$+")",
827                        "- Culvert Level 4 ("+@cost5+"z/"+getmapusers("gl_sew04")+" "+$@ked_users$+")",
828                        "- Underground Cave 1 ("+@cost6+"z/"+getmapusers("gl_dun01")+" "+$@ked_users$+")",
829                        "- Underground Cave 2 ("+@cost7+"z/"+getmapusers("gl_dun02")+" "+$@ked_users$+")"
830                );
831        } else {
832                set @submenu, select(
833                        "- Cancel warp to Glast Heim",
834                        "- Church Entrance ("+@cost+"z)",
835                        "- Churchyard ("+@cost2+"z)",
836                        "- Castle Terrace ("+@cost+"z)",
837                        "- Staircase Entrance ("+@cost+"z)",
838                        "- Chivalry Entrance ("+@cost+"z)",
839                        "- Chivalry Level 2 ("+@cost2+"z)",
840                        "- Underground Prison Level 1 ("+@cost2+"z)",
841                        "- Underground Prison Level 2 ("+@cost3+"z)",
842                        "- Culvert Level 1 ("+@cost4+"z)",
843                        "- Culvert Level 2 ("+@cost3+"z)",
844                        "- Culvert Level 3 ("+@cost4+"z)",
845                        "- Culvert Level 4 ("+@cost5+"z)",
846                        "- Underground Cave Level 1 ("+@cost6+"z)",
847                        "- Underground Cave Level 2 ("+@cost7+"z)"
848                );
849        }
850        switch (@submenu) {     
851        case 2:
852                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01",206,136;
853                break;
854        case 3:
855                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_chyard",147,15;
856                break;
857        case 4:
858                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01",199,335;
859                break;
860        case 5:
861                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01",62,107;
862                break;
863        case 6:
864                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01",69,193;
865                break;
866        case 7:
867                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_knt02",157,287;
868                break;
869        case 8:
870                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_prison",14,70;
871                break;
872        case 9:
873                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gl_prison1",150,14;
874                break;
875        case 10:
876                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew01",258,255;
877                break;
878        case 11:
879                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew02",108,291;
880                break;
881        case 12:
882                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew03",171,283;
883                break;
884        case 13:
885                callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew04",68,277;
886                break;
887        case 14:
888                callfunc "F_keWarp",@cost6*100/@discountKP,$@kewd_discount,e_hmm,"gl_dun01",133,271;
889                break;
890        case 15:
891                callfunc "F_keWarp",@cost7*100/@discountKP,$@kewd_discount,e_hmm,"gl_dun02",224,274;
892                break;
893        }
894}
895
896function SF_gonRyun {
897        if (!(SF_check(0x2000, $@kewd_gonRyun, 3, @map$, 1, "gonryun")))
898                return;
899        if ($@kewd_deep == 0)
900                set @submenu, 2;
901        else if ($@kewd_showOnline) {
902                set @submenu, select(
903                        "- Cancel warp to Gon Ryun Dungeon",
904                        "- Entrance ("+@cost+"z/"+getmapusers("gon_dun01")+" "+$@ked_users$+")",
905                        "- Level 2 ("+@cost2+"z/"+getmapusers("gon_dun02")+" "+$@ked_users$+")",
906                        "- Level 3 ("+@cost3+"z/"+getmapusers("gon_dun03")+" "+$@ked_users$+")"
907                );
908        } else {
909                set @submenu, select(
910                        "- Cancel warp to Gon Ryun Dungeon",
911                        "- Entrance ("+@cost+"z)",
912                        "- Level 2 ("+@cost2+"z)",
913                        "- Level 3 ("+@cost3+"z)"
914                );
915        }
916        switch (@submenu) {
917        case 2:
918                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gonryun",161,195;
919                break;
920        case 3:
921                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gon_dun02",22,114;
922                break;
923        case 4:
924                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gon_dun03",68,11;
925                break;
926        }
927}
928
929function SF_hiddenTemple {
930        if (!(SF_check(0x4000, $@kewd_hiddenTemple, 3, @map$, 1, "prt_fild01")))
931                return;
932        if ($@kewd_deep == 0)
933                set @submenu, 2;
934        else if ($@kewd_showOnline) {
935                set @submenu, select(
936                        "- Cancel warp to the Laberynth Forest",
937                        "- Entrance ("+@cost+"z/"+getmapusers("prt_maze01")+" "+$@ked_users$+")",
938                        "- Level 2 ("+@cost2+"z/"+getmapusers("prt_maze02")+" "+$@ked_users$+")",
939                        "- Level 3 ("+@cost3+"z/"+getmapusers("prt_maze03")+" "+$@ked_users$+")"
940                );     
941        } else {
942                set @submenu, select(
943                        "- Cancel warp to the Laberynth Forest",
944                        "- Entrance ("+@cost+"z)",
945                        "- Level 2 ("+@cost2+"z)",
946                        "- Level 3 ("+@cost3+"z)"
947                );
948        }
949        switch (@submenu) {
950        case 2:
951                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"prt_fild01",136,361;
952                break;
953        case 3:
954                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"prt_maze02",106,62;
955                break;
956        case 4:
957                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"prt_maze03",23,8;
958                break;
959        }
960}
961
962function SF_juperos {
963        if (!(SF_check(0x8000, $@kewd_juperos, 3, @map$, 1, "jupe_cave")))
964                return;
965        if ($@kewd_deep == 0)
966                set @submenu, 2;
967        else if ($@kewd_showOnline) {
968                set @submenu, select(
969                        "- Cancel warp to Juperos",
970                        "- Entrance ("+@cost+"z/"+getmapusers("juperos_01")+" "+$@ked_users$+")",
971                        "- Level 2 ("+@cost2+"z/"+getmapusers("juperos_02")+" "+$@ked_users$+")",
972                        "- Core ("+@cost3+"z/"+getmapusers("jupe_core")+" "+$@ked_users$+")"
973                );     
974        } else {
975                set @submenu, select(
976                        "- Cancel warp to Juperos",
977                        "- Entrance ("+@cost+"z)",
978                        "- Level 2 ("+@cost2+"z)",
979                        "- Core ("+@cost3+"z)"
980                );
981        }
982        switch (@submenu) {
983        case 2:
984                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"jupe_cave",55,52;
985                break;
986        case 3:
987                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"juperos_02",37,63;
988                break;
989        case 4:
990                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"jupe_gate",-1,-1;
991                break;
992        }
993}
994
995function SF_kiehl {
996        if (!(SF_check(0x400, $@kewd_kiehl, 3, @map$, 1, "yuno_fild08")))
997                return;
998        if ($@kewd_deep == 0)
999                set @submenu, 2;
1000        else if ($@kewd_showOnline) {
1001                set @submenu, select(
1002                                "- Cancel warp to Machine Doll Factory",
1003                                "- Entrance ("+@cost+"z/"+getmapusers("kh_dun01")+" "+$@ked_users$+")",
1004                                "- Level 2 ("+@cost2+"z/"+getmapusers("kh_dun02")+" "+$@ked_users$+")"
1005                );
1006        } else {
1007                set @submenu, select(
1008                        "- Cancel warp to Machine Doll Factory",
1009                        "- Entrance ("+@cost+"z)",
1010                        "- Level 2 ("+@cost2+"z)"
1011                );
1012        }
1013        switch (@submenu) {     
1014        case 2:
1015                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"yuno_fild08",80,179;
1016                break;
1017        case 3:
1018                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"kh_dun02",41,198;
1019                break;
1020        }
1021}
1022
1023function SF_iceCave {
1024        if (!(SF_check(0x20000000, $@kewd_iceCave, 3, @map$, 1, "ra_fild01")))
1025                return;
1026        if ($@kewd_deep == 0)
1027                set @submenu, 2;
1028        else if ($@kewd_showOnline) {
1029                set @submenu, select(
1030                        "- Cancel warp to the Ice Cave",
1031                        "- Entrance ("+@cost+"z/"+getmapusers("ice_dun01")+" "+$@ked_users$+")",
1032                        "- Level 2 ("+@cost2+"z/"+getmapusers("ice_dun02")+" "+$@ked_users$+")",
1033                        "- Level 3 ("+@cost3+"z/"+getmapusers("ice_dun03")+" "+$@ked_users$+")"
1034                );     
1035        } else {
1036                set @submenu, select(
1037                        "- Cancel warp to the Ice Cave",
1038                        "- Entrance ("+@cost+"z)",
1039                        "- Level 2 ("+@cost2+"z)",
1040                        "- Level 3 ("+@cost3+"z)"
1041                );
1042        }
1043        switch (@submenu) {
1044        case 2:
1045                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ra_fild01",233,319;
1046                break;
1047        case 3:
1048                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ice_dun02",151,151;
1049                break;
1050        case 4:
1051                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ice_dun03",148,25;
1052                break;
1053        }
1054}
1055
1056function SF_lightHalzen {
1057        if (!(SF_check(0x10000, $@kewd_lightHalzen, 3, @map$, 1, "lighthalzen")))
1058                return;
1059        if ($@kewd_deep == 0)
1060                set @submenu, 2;
1061        else if ($@kewd_showOnline) {
1062                set @submenu, select(
1063                                "- Cancel warp to the Rekkenber",
1064                                "- Entrance ("+@cost+"z/"+getmapusers("lhz_dun01")+" "+$@ked_users$+")",
1065                                "- Level 2 ("+@cost2+"z/"+getmapusers("lhz_dun02")+" "+$@ked_users$+")",
1066                                "- Level 3 ("+@cost3+"z/"+getmapusers("lhz_dun03")+" "+$@ked_users$+")"
1067                );
1068        } else {
1069                set @submenu, select(
1070                        "- Cancel warp to the Rekkenber",
1071                        "- Entrance ("+@cost+"z)",
1072                        "- Level 2 ("+@cost2+"z)",
1073                        "- Level 3 ("+@cost3+"z)"
1074                );
1075        }
1076        switch (@submenu) {     
1077        case 2:
1078//This is the Rekkenber building entrance, which officially is only a dungeon exit.
1079                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"lighthalzen",74,72;
1080//              callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"lighthalzen",303,302;
1081                break;
1082        case 3:
1083                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"lhz_dun02",154,18;
1084                break;
1085        case 4:
1086                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"lhz_dun03",141,132;
1087                break;
1088        }
1089}
1090
1091function SF_louYang {
1092        if (!(SF_check(0x20000, $@kewd_louYang, 3, @map$, 1, "louyang")))
1093                return;
1094        if ($@kewd_deep == 0)
1095                set @submenu, 2;
1096        else if ($@kewd_showOnline) {
1097                set @submenu, select(
1098                        "- Cancel warp to the Royal Tomb",
1099                        "- Entrance ("+@cost+"z/"+getmapusers("lou_dun01")+" "+$@ked_users$+")",
1100                        "- Level 2 ("+@cost2+"z/"+getmapusers("lou_dun02")+" "+$@ked_users$+")",
1101                        "- Level 3 ("+@cost3+"z/"+getmapusers("lou_dun03")+" "+$@ked_users$+")"
1102                );
1103        } else {
1104                set @submenu, select(
1105                        "- Cancel warp to the Royal Tomb",
1106                        "- Entrance ("+@cost+"z)",
1107                        "- Level 2 ("+@cost2+"z)",
1108                        "- Level 3 ("+@cost3+"z)"
1109                );
1110        };
1111        switch (@submenu) {
1112        case 2:
1113                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"louyang",41,267;
1114                break;
1115        case 3:
1116                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"lou_dun02",281,20;
1117                break;
1118        case 4:
1119                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"lou_dun03",165,39;
1120                break;
1121        }
1122}
1123
1124function SF_magma {
1125        if (!(SF_check(0x40000, $@kewd_magma, 2, @map$, 1, "yuno_fild03")))
1126                return;
1127        if ($@kewd_deep == 0)
1128                set @submenu, 2;
1129        else if ($@kewd_showOnline) {
1130                set @submenu, select(
1131                        "- Cancel warp to Nogg Road",
1132                        "- Entrance ("+@cost+"z/"+getmapusers("mag_dun01")+" "+$@ked_users$+")",
1133                        "- Level 2 ("+@cost2+"z/"+getmapusers("mag_dun02")+" "+$@ked_users$+")"
1134                );
1135        } else {
1136                set @submenu, select(
1137                        "- Cancel warp to Nogg Road",
1138                        "- Entrance ("+@cost+"z)",
1139                        "- Level 2 ("+@cost2+"z)"
1140                );
1141        }
1142        switch (@submenu) {
1143        case 2:
1144                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"yuno_fild03",35,135;
1145                break;
1146        case 3:
1147                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"mag_dun02",47,30;
1148                break;
1149        }
1150}
1151
1152function SF_odin {
1153        if (!(SF_check(0x10000000, $@kewd_odin, 5, @map$, 1, "odin_tem01")))
1154                return;
1155        if ($@kewd_deep == 0)
1156                set @submenu, 2;
1157        else if ($@kewd_showOnline) {
1158                set @submenu, select(
1159                        "- Cancel warp to the Odin Temple",
1160                        "- Entrance ("+@cost+"z/"+getmapusers("odin_tem01")+" "+$@ked_users$+")",
1161                        "- Level 2 ("+@cost2+"z/"+getmapusers("odin_tem02")+" "+$@ked_users$+")",
1162                        "- Level 3 ("+@cost3+"z/"+getmapusers("odin_tem03")+" "+$@ked_users$+")"
1163                );
1164        } else {
1165                set @submenu, select(
1166                        "- Cancel warp to the Odin Temple",
1167                        "- Entrance ("+@cost+"z)",
1168                        "- Level 2 ("+@cost2+"z)",
1169                        "- Level 3 ("+@cost3+"z)"
1170                );
1171        }
1172        switch (@submenu) {     
1173        case 2:
1174                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"odin_tem01",91,145;
1175                break;
1176        case 3:
1177                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"odin_tem02",25,181;
1178                break;
1179        case 4:
1180                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"odin_tem03",120,54;
1181                break;
1182        }
1183}
1184
1185function SF_orcs {
1186        if (!(SF_check(0x80000, $@kewd_orc, 2, @map$, 1, "gef_fild10")))
1187                return;
1188        if ($@kewd_showOnline) {
1189                set @submenu, select(
1190                        "- Cancel warp to Orcs Dungeon",
1191                        "- Front Entrance ("+@cost+"z/"+getmapusers("orcsdun01")+" "+$@ked_users$+")",
1192                        "- Back Entrance ("+@cost+"z/"+getmapusers("orcsdun02")+" "+$@ked_users$+")"
1193                );
1194        } else {
1195                set @submenu, select(
1196                        "- Cancel warp to Orcs Dungeon",
1197                        "- Front Entrance ("+@cost+"z)",
1198                        "- Back Entrance ("+@cost+"z)"
1199                );
1200        }
1201        switch (@submenu) {
1202        case 2:
1203                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"in_orcs01",34,165;
1204                break;
1205        case 3:
1206                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"in_orcs01",112,99;
1207                break;
1208        }
1209}
1210
1211function SF_payon {
1212        if (!(SF_check(0x100000, $@kewd_payon, 5, @map$, 1, "pay_arche")))
1213                return;
1214        if ($@kewd_deep == 0)
1215                set @submenu, 2;
1216        else if ($@kewd_showOnline) {
1217                set @submenu, select(
1218                        "- Cancel warp to the Payon Cave",
1219                        "- Entrance ("+@cost+"z/"+getmapusers("pay_dun00")+" "+$@ked_users$+")",
1220                        "- Level 2 ("+@cost2+"z/"+getmapusers("pay_dun01")+" "+$@ked_users$+")",
1221                        "- Level 3 ("+@cost3+"z/"+getmapusers("pay_dun02")+" "+$@ked_users$+")",
1222                        "- Level 4 ("+@cost4+"z/"+getmapusers("pay_dun03")+" "+$@ked_users$+")",
1223                        "- Level 5 ("+@cost5+"z/"+getmapusers("pay_dun04")+" "+$@ked_users$+")"
1224                );
1225        } else {
1226                set @submenu, select(
1227                        "- Cancel warp to the Payon Cave",
1228                        "- Entrance ("+@cost+"z)",
1229                        "- Level 2 ("+@cost2+"z)",
1230                        "- Level 3 ("+@cost3+"z)",
1231                        "- Level 4 ("+@cost4+"z)",
1232                        "- Level 5 ("+@cost5+"z)"
1233                );
1234        }
1235        switch (@submenu) {     
1236        case 2:
1237                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"pay_arche",41,133;
1238                break;
1239        case 3:
1240                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun01",19,33;
1241                break;
1242        case 4:
1243                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun02",19,63;
1244                break;
1245        case 5:
1246                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun03",155,159;
1247                break;
1248        case 6:
1249                callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun04",34,202;
1250                break;
1251        }
1252}
1253
1254function SF_pyramid {
1255        if (!(SF_check(0x200000, $@kewd_pyramid, 4, @map$,1, "moc_ruins")))
1256                return;
1257        if ($@kewd_deep == 0)
1258                set @submenu, 2;
1259        else if ($@kewd_showOnline) {
1260                set @submenu, select(
1261                        "- Cancel warp to the Pyramid",
1262                        "- Entrance ("+@cost+"z/"+getmapusers("moc_pryd01")+" "+$@ked_users$+")",
1263                        "- Level 2 ("+@cost2+"z/"+getmapusers("moc_pryd02")+" "+$@ked_users$+")",
1264                        "- Level 3 ("+@cost3+"z/"+getmapusers("moc_pryd03")+" "+$@ked_users$+")",
1265                        "- Level 4 ("+@cost4+"z/"+getmapusers("moc_pryd04")+" "+$@ked_users$+")",
1266                        "- Basement 1 ("+@cost2+"z/"+getmapusers("moc_pryd05")+" "+$@ked_users$+")",
1267                        "- Basement 2 ("+@cost3+"z/"+getmapusers("moc_pryd06")+" "+$@ked_users$+")"
1268                );
1269        } else {
1270                set @submenu, select(
1271                        "- Cancel warp to the Pyramid",
1272                        "- Entrance ("+@cost+"z)",
1273                        "- Level 2 ("+@cost2+"z)",
1274                        "- Level 3 ("+@cost3+"z)",
1275                        "- Level 4 ("+@cost4+"z)",
1276                        "- Basement 1 ("+@cost2+"z)",
1277                        "- Basement 2 ("+@cost3+"z)"
1278                );
1279        }
1280        switch (@submenu) {     
1281        case 2:
1282                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_ruins",62,162;
1283                break;
1284        case 3:
1285                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd02",10,192;
1286                break;
1287        case 4:
1288                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd03",100,92;
1289                break;
1290        case 5:
1291                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd04",18,187;
1292                break;
1293        case 6:
1294                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd05",94,96;
1295                break;
1296        case 7:
1297                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd06",192,11;
1298                break;
1299        }
1300}
1301
1302function SF_rachel {
1303        if (!(SF_check(0x40000000, $@kewd_rachel, 5, @map$, 1, "ra_temin")))
1304                return;
1305        if ($@kewd_deep == 0)
1306                set @submenu, 2;
1307        else if ($@kewd_showOnline) {
1308                set @submenu, select(
1309                        "- Cancel warp to Freya's Temple",
1310                        "- Entrance ("+@cost+"z/"+getmapusers("ra_san01")+" "+$@ked_users$+")",
1311                        "- Level 2 ("+@cost2+"z/"+getmapusers("ra_san02")+" "+$@ked_users$+")",
1312                        "- Level 3 ("+@cost3+"z/"+getmapusers("ra_san03")+" "+$@ked_users$+")",
1313                        "- Level 4 ("+@cost4+"z/"+getmapusers("ra_san04")+" "+$@ked_users$+")",
1314                        "- Level 5 ("+@cost5+"z/"+getmapusers("ra_san05")+" "+$@ked_users$+")"
1315                );
1316        } else {
1317                set @submenu, select(
1318                        "- Cancel warp to Freya's Temple",
1319                        "- Entrance ("+@cost+"z)",
1320                        "- Level 2 ("+@cost2+"z)",
1321                        "- Level 3 ("+@cost3+"z)",
1322                        "- Level 4 ("+@cost4+"z)",
1323                        "- Level 5 ("+@cost5+"z)"
1324                );
1325        }
1326
1327        switch (@submenu) {
1328        case 2:
1329                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ra_temin",276,318;
1330                break;
1331        case 3:
1332                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ra_san02",36,21;
1333                break;
1334        case 4:
1335                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ra_san03",10,150;
1336                break;
1337        case 5:
1338                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"ra_san04",204,216;
1339                break;
1340        case 6:
1341                callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"ra_san05",149,16;
1342                break;
1343        }
1344}
1345
1346function SF_sphinx {
1347        if (!(SF_check(0x400000, $@kewd_sphinx, 5, @map$, 1, "moc_fild19")))
1348                return;
1349        if ($@kewd_deep == 0)
1350                set @submenu, 2;
1351        else if ($@kewd_showOnline) {
1352                set @submenu, select(
1353                        "- Cancel warp to the Sphinx",
1354                        "- Entrance ("+@cost+"z/"+getmapusers("in_sphinx1")+" "+$@ked_users$+")",
1355                        "- Level 2 ("+@cost2+"z/"+getmapusers("in_sphinx2")+" "+$@ked_users$+")",
1356                        "- Level 3 ("+@cost3+"z/"+getmapusers("in_sphinx3")+" "+$@ked_users$+")",
1357                        "- Level 4 ("+@cost4+"z/"+getmapusers("in_sphinx4")+" "+$@ked_users$+")",
1358                        "- Level 5 ("+@cost5+"z/"+getmapusers("in_sphinx5")+" "+$@ked_users$+")"
1359                );
1360        } else {
1361                set @submenu, select(
1362                        "- Cancel warp to the Sphinx",
1363                        "- Entrance ("+@cost+"z)",
1364                        "- Level 2 ("+@cost2+"z)",
1365                        "- Level 3 ("+@cost3+"z)",
1366                        "- Level 4 ("+@cost4+"z)",
1367                        "- Level 5 ("+@cost5+"z)"
1368                );
1369        }
1370
1371        switch (@submenu) {
1372        case 2:
1373                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild19",107,100;
1374                break;
1375        case 3:
1376                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx2",149,81;
1377                break;
1378        case 4:
1379                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx3",210,54;
1380                break;
1381        case 5:
1382                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx4",10,222;
1383                break;
1384        case 6:
1385                callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx5",100,99;
1386                break;
1387        }
1388}
1389
1390function SF_sunkenShip {
1391        if (!(SF_check(0x800000, $@kewd_sunkenShip, 2, @map$, 1, "alb2trea")))
1392                return;
1393        if ($@kewd_deep == 0)
1394                set @submenu, 2;
1395        else if ($@kewd_showOnline) {
1396                set @submenu, select(
1397                        "- Cancel warp to Sunken Ship",
1398                        "- Entrance ("+@cost+"z/"+getmapusers("treasure01")+" "+$@ked_users$+")",
1399                        "- Level 2 ("+@cost2+"z/"+getmapusers("treasure02")+" "+$@ked_users$+")"
1400                );
1401        } else {
1402                set @submenu, select(
1403                        "- Cancel warp to Sunken Ship",
1404                        "- Entrance ("+@cost+"z)",
1405                        "- Level 2 ("+@cost2+"z)"
1406                );
1407        }
1408
1409        switch (@submenu) {
1410        case 2:
1411                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"alb2trea",87,103;
1412                break;
1413        case 3:
1414                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"treasure02",102,27;
1415                break;
1416        }
1417}
1418
1419function SF_thanatosTower {
1420        if (!(SF_check(0x1000000, $@kewd_thanatosTower, 13, @map$, 1, "tha_scene01")))
1421                return;
1422        if ($@kewd_deep == 0)
1423                set @submenu, 2;
1424        else if ($@kewd_showOnline) {
1425                set @submenu, select(
1426                        "- Cancel warp to Thanatos Tower",
1427                        "- Entrance ("+@cost+"z/"+getmapusers("tha_t01")+" "+$@ked_users$+")",
1428                        "- Floor 2 ("+@cost2+"z/"+getmapusers("tha_t02")+" "+$@ked_users$+")",
1429                        "- Floor 3 ("+@cost3+"z/"+getmapusers("tha_t03")+" "+$@ked_users$+")",
1430                        "- Floor 4 ("+@cost4+"z/"+getmapusers("tha_t04")+" "+$@ked_users$+")",
1431                        "- Floor 5 ("+@cost5+"z/"+getmapusers("tha_t05")+" "+$@ked_users$+")",
1432                        "- Floor 6 ("+@cost6+"z/"+getmapusers("tha_t06")+" "+$@ked_users$+")",
1433                        "- Floor 7 ("+@cost7+"z/"+getmapusers("tha_t07")+" "+$@ked_users$+")",
1434                        "- Floor 8 ("+@cost8+"z/"+getmapusers("tha_t08")+" "+$@ked_users$+")",
1435                        "- Floor 9 ("+@cost9+"z/"+getmapusers("tha_t09")+" "+$@ked_users$+")",
1436                        "- Floor 10 ("+@cost10+"z/"+getmapusers("tha_t10")+" "+$@ked_users$+")",
1437                        "- Floor 11 ("+@cost11+"z/"+getmapusers("tha_t11")+" "+$@ked_users$+")",
1438                        "- Floor 12 ("+@cost12+"z/"+getmapusers("tha_t12")+" "+$@ked_users$+")"
1439//                      "- Terrace ("+@cost13+"z/"+getmapusers("thana_boss")+" "+$@ked_users$+")"
1440                );
1441        } else {
1442                set @submenu, select(
1443                        "- Cancel warp to Thanatos Tower",
1444                        "- Entrance ("+@cost+"z)",
1445                        "- Floor 2 ("+@cost2+"z)",
1446                        "- Floor 3 ("+@cost3+"z)",
1447                        "- Floor 4 ("+@cost4+"z)",
1448                        "- Floor 5 ("+@cost5+"z)",
1449                        "- Floor 6 ("+@cost6+"z)",
1450                        "- Floor 7 ("+@cost7+"z)",
1451                        "- Floor 8 ("+@cost8+"z)",
1452                        "- Floor 9 ("+@cost9+"z)",
1453                        "- Floor 10 ("+@cost10+"z)",
1454                        "- Floor 11 ("+@cost11+"z)",
1455                        "- Floor 12 ("+@cost12+"z)"
1456//                      "- Terrace ("+@cost13+"z)"
1457                );
1458        }
1459        switch (@submenu) {
1460        case 2:
1461                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tha_scene01",139,201;
1462                break;
1463        case 3:
1464                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"tha_t02",149,136;
1465                break;
1466        case 4:
1467                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"tha_t03",220,159;
1468                break;
1469        case 5:
1470                callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"tha_t04",59,144;
1471                break;
1472        case 6:
1473                callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"tha_t05",62,9;
1474                break;
1475        case 7:
1476                callfunc "F_keWarp",@cost6*100/@discountKP,$@kewd_discount,e_hmm,"tha_t06",120,225;
1477                break;
1478        case 8:
1479                callfunc "F_keWarp",@cost7*100/@discountKP,$@kewd_discount,e_hmm,"tha_t07",32,166;
1480                break;
1481        case 9:
1482                callfunc "F_keWarp",@cost8*100/@discountKP,$@kewd_discount,e_hmm,"tha_t08",108,44;
1483                break;
1484        case 10:
1485                callfunc "F_keWarp",@cost9*100/@discountKP,$@kewd_discount,e_hmm,"tha_t09",87,145;
1486                break;
1487        case 11:
1488                callfunc "F_keWarp",@cost10*100/@discountKP,$@kewd_discount,e_hmm,"tha_t10",166,138;
1489                break;
1490        case 12:
1491                callfunc "F_keWarp",@cost11*100/@discountKP,$@kewd_discount,e_hmm,"tha_t11",88,36;
1492                break;
1493        case 13:
1494                callfunc "F_keWarp",@cost12*100/@discountKP,$@kewd_discount,e_hmm,"tha_t12",132,55;
1495                break;
1496        case 14:
1497                callfunc "F_keWarp",@cost13*100/@discountKP,$@kewd_discount,e_hmm,"thana_boss",135,126;
1498                break;
1499        }
1500}
1501
1502function SF_toyFactory {
1503        if (!(SF_check(0x2000000, $@kewd_toyFactory, 2, @map$, 1, "xmas")))
1504                return;
1505
1506        if ($@kewd_deep == 0)
1507                set @submenu, 2;
1508        else if ($@kewd_showOnline) {
1509                set @submenu, select(
1510                        "- Cancel warp to Toy Factory",
1511                        "- Entrance ("+@cost+"z/"+getmapusers("xmas_dun01")+" "+$@ked_users$+")",
1512                        "- Level 2 ("+@cost2+"z/"+getmapusers("xmas_dun02")+" "+$@ked_users$+")"
1513                );
1514        } else {
1515                set @submenu, select(
1516                        "- Cancel warp to Toy Factory",
1517                        "- Entrance ("+@cost+"z)",
1518                        "- Level 2 ("+@cost2+"z)"
1519                );
1520        }
1521
1522        switch (@submenu) {
1523        case 2:
1524                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"xmas",144,306;
1525                break;
1526        case 3:
1527                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"xmas_dun02",129,133;
1528                break;
1529        }
1530}
1531
1532function SF_turtleIsland {
1533        if (!(SF_check(0x4000000, $@kewd_turtleIsland, 3, @map$, 1, "tur_dun01")))
1534                return;
1535        if ($@kewd_deep == 0) {
1536                if ($@kewd_turtleCave)
1537                        set @submenu, 3;
1538                else
1539                        set @submenu, 2;
1540        } else if ($@kewd_showOnline) {
1541                set @submenu, select(
1542                        "- Cancel warp to Turtle Island",
1543                        "- Island Entrance ("+@cost+"z/"+getmapusers("tur_dun01")+" "+$@ked_users$+")",
1544                        "- Cave Entrance ("+@cost+"z/"+getmapusers("tur_dun02")+" "+$@ked_users$+")",
1545                        "- Cave Level 2 ("+@cost2+"z/"+getmapusers("tur_dun03")+" "+$@ked_users$+")",
1546                        "- Cave Level 3 ("+@cost3+"z/"+getmapusers("tur_dun04")+" "+$@ked_users$+")"
1547                );
1548        } else {
1549                set @submenu, select(
1550                        "- Cancel warp to Turtle Island",
1551                        "- Island Entrance ("+@cost+"z)",
1552                        "- Cave Entrance ("+@cost+"z)",
1553                        "- Cave Level 2 ("+@cost2+"z)",
1554                        "- Cave Level 3 ("+@cost3+"z)"
1555                );
1556        }
1557        switch (@submenu) {
1558        case 2:
1559                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun01",153,47;
1560                break;
1561        case 3:
1562                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun01",155,234;
1563                break;
1564        case 4:
1565                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun03",132,189;
1566                break;
1567        case 5:
1568                callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun04",100,192;
1569                break;
1570        }
1571}
1572
1573function SF_umbala {
1574        if (!(SF_check(0x8000000, $@kewd_umbala, 2, @map$, 1, "umbala")))
1575                return;
1576        if ($@kewd_deep == 0)
1577                set @submenu, 2;
1578        else if ($@kewd_showOnline) {
1579                set @submenu, select(
1580                        "- Cancel warp to Umbala Dungeon",
1581                        "- Entrance ("+@cost+"z/"+getmapusers("um_dun01")+" "+$@ked_users$+")",
1582                        "- Level 2 ("+@cost2+"z/"+getmapusers("um_dun02")+" "+$@ked_users$+")"
1583                );
1584        } else {
1585                set @submenu, select(
1586                        "- Cancel warp to Umbala Dungeon",
1587                        "- Entrance ("+@cost+"z)",
1588                        "- Level 2 ("+@cost2+"z)"
1589                );
1590        }
1591        switch (@submenu) {
1592        case 2:
1593                callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"umbala",113,282;
1594                break;
1595        case 3:
1596                callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"um_dun02",48,31;
1597                break;
1598        }
1599}
1600
1601}
1602
1603//Invoked when we want to add a map to the list of travelled-to dungeons
1604function        script  F_keAddTravelDungeon    {
1605        set @map$, getarg(0);
1606        if ($@kewd_travel > 1) {
1607                if (kewd_travel) {      //Copy over character permissions.
1608                        set #kewd_travel,#kewd_travel|kewd_travel;
1609                        set kewd_travel, 0;
1610                }
1611
1612                if (@map$ == "hu_fild05")
1613                        set #kewd_travel,#kewd_travel|0x1;
1614                if (@map$ == "ama_in02")
1615                        set #kewd_travel,#kewd_travel|0x2;
1616                if (@map$ == "moc_fild04" || @map$ == "moc_fild15")
1617                        set #kewd_travel,#kewd_travel|0x4;
1618                if (@map$ == "ayo_fild02")
1619                        set #kewd_travel,#kewd_travel|0x8;
1620                if (@map$ == "izlu2dun")
1621                        set #kewd_travel,#kewd_travel|0x10;
1622                if (@map$ == "comodo" || @map$ == "cmd_fild01")
1623                        set #kewd_travel,#kewd_travel|0x20;
1624                if (@map$ == "aldebaran")
1625                        set #kewd_travel,#kewd_travel|0x40;
1626                if (@map$ == "mjolnir_02")
1627                        set #kewd_travel,#kewd_travel|0x80;
1628                if (@map$ == "prt_fild05")
1629                        set #kewd_travel,#kewd_travel|0x100;
1630                if (@map$ == "einbech")
1631                        set #kewd_travel,#kewd_travel|0x200;
1632                if (@map$ == "yuno_fild08")
1633                        set #kewd_travel,#kewd_travel|0x400;
1634                if (@map$ == "gef_tower")
1635                        set #kewd_travel,#kewd_travel|0x800;
1636                if (@map$ == "glast_01")
1637                        set #kewd_travel,#kewd_travel|0x1000;
1638                if (@map$ == "gonryun")
1639                        set #kewd_travel,#kewd_travel|0x2000;
1640                if (@map$ == "prt_fild01")
1641                        set #kewd_travel,#kewd_travel|0x4000;
1642                if (@map$ == "jupe_cave")
1643                        set #kewd_travel,#kewd_travel|0x8000;
1644                if (@map$ == "lighthalzen")
1645                        set #kewd_travel,#kewd_travel|0x10000;
1646                if (@map$ == "louyang")
1647                        set #kewd_travel,#kewd_travel|0x20000;
1648                if (@map$ == "yuno_fild03")
1649                        set #kewd_travel,#kewd_travel|0x40000;
1650                if (@map$ == "in_orcs01")
1651                        set #kewd_travel,#kewd_travel|0x80000;
1652                if (@map$ == "pay_arche")
1653                        set #kewd_travel,#kewd_travel|0x100000;
1654                if (@map$ == "moc_ruins")
1655                        set #kewd_travel,#kewd_travel|0x200000;
1656                if (@map$ == "moc_fild19")
1657                        set #kewd_travel,#kewd_travel|0x400000;
1658                if (@map$ == "alb2trea")
1659                        set #kewd_travel,#kewd_travel|0x800000;
1660                if (@map$ == "tha_scene01")
1661                        set #kewd_travel,#kewd_travel|0x1000000;
1662                if (@map$ == "xmas")
1663                        set #kewd_travel,#kewd_travel|0x2000000;
1664                if (@map$ == "tur_dun01")
1665                        set #kewd_travel,#kewd_travel|0x4000000;
1666                if (@map$ == "umbala")
1667                        set #kewd_travel,#kewd_travel|0x8000000;
1668                if (@map$ == "odin_tem01")
1669                        set #kewd_travel,#kewd_travel|0x10000000;
1670                if (@map$ == "ra_fild01")
1671                        set #kewd_travel,#kewd_travel|0x20000000;
1672                if (@map$ == "ra_temin")
1673                        set #kewd_travel,#kewd_travel|0x40000000;
1674        } else {
1675                if (@map$ == "hu_fild05")
1676                        set kewd_travel,kewd_travel|0x1;
1677                if (@map$ == "ama_in02")
1678                        set kewd_travel,kewd_travel|0x2;
1679                if (@map$ == "moc_fild04" || @map$ == "moc_fild15")
1680                        set kewd_travel,kewd_travel|0x4;
1681                if (@map$ == "ayo_fild02")
1682                        set kewd_travel,kewd_travel|0x8;
1683                if (@map$ == "izlu2dun")
1684                        set kewd_travel,kewd_travel|0x10;
1685                if (@map$ == "comodo" || @map$ == "cmd_fild01")
1686                        set kewd_travel,kewd_travel|0x20;
1687                if (@map$ == "aldebaran")
1688                        set kewd_travel,kewd_travel|0x40;
1689                if (@map$ == "mjolnir_02")
1690                        set kewd_travel,kewd_travel|0x80;
1691                if (@map$ == "prt_fild05")
1692                        set kewd_travel,kewd_travel|0x100;
1693                if (@map$ == "einbech")
1694                        set kewd_travel,kewd_travel|0x200;
1695                if (@map$ == "yuno_fild08")
1696                        set kewd_travel,kewd_travel|0x400;
1697                if (@map$ == "gef_tower")
1698                        set kewd_travel,kewd_travel|0x800;
1699                if (@map$ == "glast_01")
1700                        set kewd_travel,kewd_travel|0x1000;
1701                if (@map$ == "gonryun")
1702                        set kewd_travel,kewd_travel|0x2000;
1703                if (@map$ == "prt_fild01")
1704                        set kewd_travel,kewd_travel|0x4000;
1705                if (@map$ == "jupe_cave")
1706                        set kewd_travel,kewd_travel|0x8000;
1707                if (@map$ == "lighthalzen")
1708                        set kewd_travel,kewd_travel|0x10000;
1709                if (@map$ == "louyang")
1710                        set kewd_travel,kewd_travel|0x20000;
1711                if (@map$ == "yuno_fild03")
1712                        set kewd_travel,kewd_travel|0x40000;
1713                if (@map$ == "in_orcs01")
1714                        set kewd_travel,kewd_travel|0x80000;
1715                if (@map$ == "pay_arche")
1716                        set kewd_travel,kewd_travel|0x100000;
1717                if (@map$ == "moc_ruins")
1718                        set kewd_travel,kewd_travel|0x200000;
1719                if (@map$ == "moc_fild19")
1720                        set kewd_travel,kewd_travel|0x400000;
1721                if (@map$ == "alb2trea")
1722                        set kewd_travel,kewd_travel|0x800000;
1723                if (@map$ == "tha_scene01")
1724                        set kewd_travel,kewd_travel|0x1000000;
1725                if (@map$ == "xmas")
1726                        set kewd_travel,kewd_travel|0x2000000;
1727                if (@map$ == "tur_dun01")
1728                        set kewd_travel,kewd_travel|0x4000000;
1729                if (@map$ == "umbala")
1730                        set kewd_travel,kewd_travel|0x8000000;
1731                if (@map$ == "odin_tem01")
1732                        set kewd_travel,kewd_travel|0x10000000;
1733                if (@map$ == "ra_fild01")
1734                        set kewd_travel,kewd_travel|0x20000000;
1735                if (@map$ == "ra_temin")
1736                        set kewd_travel,kewd_travel|0x40000000;
1737        }
1738        return;
1739}
Note: See TracBrowser for help on using the browser.