//===== rAthena Script =======================================
//= Warper
//===== Current Version: =====================================
//= 2.1
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= Generic warper...
//===== Additional Comments: =================================
//= 1.0 by Darkchild
//= 1.1 by jabs
//= 1.2 by Lupus (placement fixed in Amatsu)
//= 1.3 fixed Louyang label typo, added warp and WARPRA into
//= Nifleheim. Also sorted all names in alphabet order. [Lupus]
//= 1.4 fixed morroc warp npc overlaying kafra [Aria]
//= 1.4a Added Ayothaya and Einbroch to list, and town Warpra's [Fredzilla]
//= 1.4b fixed Izlude warp npc overlaying BBS [Justin84]
//= 1.5 Added this NPC to more places [Lupus]
//= 1.6 Rewrote a lot. Changed the sprite, some locations. [Poki#3]
//= TODO Add an option for selecting the level of the dungeon. [Poki#3]
//= 1.7 Temporary? Added F_ClearGarbage to clear unused/outdated variables [Lupus]
//= 1.8 Removed Duplicates [Silent]
//= 1.9 Optimized for the greater good. [Kisuka]
//= 2.0 Fixed warp for AntHell and Yuno. [Kisuka]
//= 2.1 Moved AntHell warp agent to the new anthell entrance. [brianluau]
//= 2.2 - Custom - Added all towns and sub level dungeons [kommie]
//============================================================
//= To allow selecting the Level of the Dungeon you want to
//= Warp to set the @lvlselect variable to 1 (Not implemented yet!)
//============================================================
- script Warp Agent#01::warpra 951,{
callfunc "F_ClearGarbage"; //Clear outdated, unused variables
mes "[Warp Agent]";
mes "Hello " + strcharinfo(0) + ",";
mes "I can teleport you to any Town or Dungeon!";
mes "Where do you want to go?";
next;
switch(select("To a Town:To a Dungeon:To a Market")) {
case 1:
mes "[Warp Agent]";
mes "Please select which town you would like to be teleported to.";
next;
switch(select("Alberta:Aldebaran:Amatsu:Ayothaya:Brasilis:Comodo:Dewata:Eclage:Einbroch:Einbech:El Dicastes:Geffen:Gonryun:Hugel:Izlude:Jawaii:Lighthalzen:Louyang:Lutie:Malangdo Island:Malaya Port:Manuk:Midgard Camp:Mora:Morroc:Moscovia:Payon:Prontera:Rachel:Splendide:Umbala:Veins:Yuno")) {
case 1:
warp "alberta",27,236;
break;
case 2:
warp "aldebaran",145,120;
break;
case 3:
warp "amatsu",197,86;
break;
case 4:
warp "ayothaya",149,118;
break;
case 5:
warp "brasilis",196,257;
break;
case 6:
warp "comodo",188,161;
break;
case 7:
warp "dewata",199,182;
break;
case 8:
warp "eclage",110,39;
break;
case 9:
warp "einbroch",64,200;
break;
case 10:
warp "einbech",70,95;
break;
case 11:
warp "discastes01",198,187;
break;
case 12:
warp "geffen",119,66;
break;
case 13:
warp "gonryun",150,130;
break;
case 14:
warp "hugel",96,145;
break;
case 15:
warp "izlude",128,111;
break;
case 16:
warp "jawaii",251,135;
break;
case 17:
warp "lighthalzen",158,92;
break;
case 18:
warp "louyang",210,108;
break;
case 19:
warp "xmas",150,133;
break;
case 20:
warp "malangdo",135,124;
break;
case 22:
warp "malaya",244,210;
break;
case 23:
warp "manuk",264,180;
break;
case 24:
warp "mid_camp",181,245;
break;
case 25:
warp "morocc",159,93;
break;
case 26:
warp "mora",27,151;
break;
case 27:
warp "moscovia",223,184;
break;
case 28:
warp "niflheim",35,161;
break;
case 29:
warp "payon",176,95;
break;
case 30:
warp "prontera",156,189;
break;
case 31:
warp "rachel",130,110;
break;
case 32:
warp "splendide",188,152;
break;
case 33:
warp "umbala",130,130;
break;
case 34:
warp "veins",216,123;
break;
case 35:
warp "yuno",160,168;
break;
}
break;
case 2:
mes "[Warp Agent]";
mes "Please select which dungeon you would like to be teleported to.";
next;
switch(select("Abbey Dungeon:Abyss Lake:Amatsu Dungeon:Anthell:Ayothaya Dungeon:Beach Dungeon:Bio Laboratory:Brasilis Dungeon:Byalan Dungeon:Coal Mine (Dead Pit):Clock Tower:Dewata Dungeon:Einbech Dungeon:Geffen Dungeon:Geffenia:Glast Heim:Gonryun Dungeon:Hidden Dungeon:Ice Dungeon:Juperos:Kiel Dungeon:Lou Yang Dungeon:Magma Dungeon:Moscovia Dungeon:Odin Temple:Orc Dungeon:Payon Dungeon:Prontera Culvert:Pyramids:Rachel Sanctuary:Scaraba Hole Dungeon:Sphinx:Sunken Ship:Thanatos Tower:Thors Volcano: Toy Factory:Turtle Dungeon:Umbala Dungeon")) {
case 1:
switch(select("Floor 1:Floor 2:Floor 3:Floor 4")) {
case 1:
warp "nameless_n",164,184;
break;
case 2:
warp "abbey01",51,12;
break;
case 3:
warp "abbey02",149,11;
break;
case 4:
warp "abbey03",119,8;
break;
}
break;
case 2:
switch(select("Abyss Lakes Underground Cave F1:Abyss Lakes Underground Cave F2:Abyss Lakes Underground Cave F3")) {
case 1:
warp "abyss_01",263,271;
break;
case 2:
warp "abyss_02",271,270;
break;
case 3:
warp "abyss_03",115,28;
break;
}
break;
case 3:
switch(select("Tatami Maze F1:Battle Field in the Underground Forest F2:Amatsu Underground Shrine F3")) {
case 1:
warp "ama_dun01",229,12;
break;
case 2:
warp "ama_dun02",30,40;
break;
case 3:
warp "ama_dun03",120,12;
break;
}
break;
case 4:
switch(select("Ant Hell F1:Ant Hell F2")) {
case 1:
warp "anthell01",36,265;
break;
case 2:
warp "anthell02",34,263;
break;
}
break;
case 5:
switch(select("Ancient Shrine Maze F1:Inside Ancient Shrine F2")) {
case 1:
warp "ayo_dun01",271,268;
break;
case 2:
warp "ayo_dun02",151,91;
break;
}
break;
case 6:
switch(select("Floor 1:Floor 2:Floor 3")) {
case 1:
warp "beach_dun",273,67;
break;
case 2:
warp "beach_dun2",153,17;
break;
case 3:
warp "beach_dun3",20,264;
break;
}
break;
case 7:
switch(select("Bio Laboratory F1:Bio Laboratory F2:Bio Laboratory F3:Bio Laboratory F4")) {
case 1:
warp "lhz_dun01",158,285;
break;
case 2:
warp "lhz_dun02",17,150;
break;
case 3:
warp "lhz_dun03",140,135;
break;
case 4:
warp "lhz_dun04",140,135;
break;
}
break;
case 8:
switch(select("Floor 1:Floor 2")) {
case 1:
warp "bra_dun01",200,38;
break;
case 2:
warp "bra_dun02",261,262;
break;
}
break;
case 9:
switch(select("Floor 1:Floor 2:Floor 3:Floor 4:Floor 5:Floor 6")){
case 1:
warp "iz_dun00",168,168;
break;
case 2:
warp "iz_dun01",41,37;
break;
case 3:
warp "iz_dun02",236,204;
break;
case 4:
warp "iz_dun03",32,63;
break;
case 5:
warp "iz_dun04",26,27;
break;
case 6:
warp "iz_dun05",141,187;
break;
}
break;
case 10:
switch(select("Mjolnir Dead Pit F1:Mjolnir Dead Pit F2:Mjolnir Dead Pit F3")) {
case 1:
warp "mjo_dun01",52,17;
break;
case 2:
warp "mjo_dun02",381,343;
break;
case 3:
warp "mjo_dun03",306,261;
break;
}
break;
case 11:
switch(select("Floor 1:Floor 2:Floor 3:Floor 4:Basement 1:Basement 2:Basement 3")) {
case 1:
warp "c_tower1",199,159;
break;
case 2:
warp "c_tower2",148,283;
break;
case 3:
warp "c_tower3",65,147;
break;
case 4:
warp "c_tower4",56,155;
break;
case 5:
warp "alde_dun01",297,25;
break;
case 6:
warp "alde_dun02",127,169;
break;
case 7:
warp "alde_dun03",175,131;
break;
case 8:
warp "alde_dun04",268,74;
break;
}
break;
case 12:
switch(select("Volcanic Island of Krakatoa:The Grace Cave")) {
case 1:
warp "dew_dun01",171,185;
break;
case 2:
warp "dew_dun02",302,30;
break;
}
break;
case 13:
switch(select("Mine Dungeon F1:Mine Dungeon F2")) {
case 1:
warp "ein_dun01",135,249;
break;
case 2:
warp "ein_dun02",291,292;
break;
}
break;
case 14:
switch(select("Gefenia F1:Gefenia F2:Gefenia F3:Gefenia F4")) {
case 1:
warp "gefenia01",40,103;
break;
case 2:
warp "gefenia02",203,34;
break;
case 3:
warp "gefenia03",266,168;
break;
case 4:
warp "gefenia04",130,272;
break;
}
break;
case 15:
switch(select("Geffen Dungeon F1:Geffen Dungeon F2:Geffen Dungeon F3:Geffen Dungeon F4")) {
case 1:
warp "gef_dun00",104,99;
break;
case 2:
warp "gef_dun01",115,236;
break;
case 3:
warp "gef_dun02",106,132;
break;
case 4:
warp "gef_dun03",29,209;
break;
}
break;
case 16:
switch(select("Entrance to Glast Heim:Glast Heim St.Abbey:Glast Heim Churchyard:Glast Heim 1F:Glast Heim 2F:Glast Heim Underprison:Glast Heim Underprison:Inside Glast Heim Chivalry F1:Inside Glast Heim Chivalry F2:Inside Glast Heim:Glast Heim Staircase Dungeon:Glast Heim Culvert F1:Glast Heim Culvert F2:Glast Heim Culvert F3:Glast Heim Culvert F4:The Lowest Cave in Glast Heim F1:The Lowest Cave in Glast Heim F2")) {
case 1:
warp "glast_01",368,303;
break;
case 2:
warp "gl_church",156,7;
break;
case 3:
warp "gl_chyard",147,284;
break;
case 4:
warp "gl_cas01",199,29;
break;
case 5:
warp "gl_cas02",104,25;
break;
case 6:
warp "gl_prison",14,70;
break;
case 7:
warp "gl_prison1",150,14;
break;
case 8:
warp "gl_knt01",150,15;
break;
case 9:
warp "gl_knt02",157,287;
break;
case 10:
warp "gl_in01",122,59;
break;
case 11:
warp "gl_step",117,124;
break;
case 12:
warp "gl_sew01",19,21;
break;
case 13:
warp "gl_sew02",29,270;
break;
case 14:
warp "gl_sew03",171,283;
break;
case 15:
warp "gl_sew04",68,277;
break;
case 16:
warp "gl_dun01",133,271;
break;
case 17:
warp "gl_dun02",224,274;
break;
}
break;
case 17:
switch(select("Shrine of Gonryun Queen:Hermit's Checkers:Arcadia")) {
case 1:
warp "gon_dun01",153,48;
break;
case 2:
warp "gon_dun02",17,113;
break;
case 3:
warp "gon_dun03",68,9;
break;
}
break;
case 18:
switch(select("Hidden Dungeon F1:Hidden Dungeon F2:Hidden Dungeon F3")) {
case 1:
warp "prt_maze01",176,7;
break;
case 2:
warp "prt_maze02",94,9;
break;
case 3:
warp "prt_maze03",23,8;
break;
}
break;
case 19:
switch(select("Ice Cave F1:Ice Cave F2:Ice Cave F3:Ice Cave F4")) {
case 1:
warp "ice_dun01",157,14;
break;
case 2:
warp "ice_dun02",151,155;
break;
case 3:
warp "ice_dun03",149,22;
break;
case 4:
warp "ice_dun04",33,158;
break;
}
break;
case 20:
switch(select("Juperos Ruins F1:Juperos Ruins F2:Juperos Core")) {
case 1:
warp "juperos_01",53,247;
break;
case 2:
warp "juperos_02",33,63;
break;
case 3:
warp "jupe_core",149,17;
break;
}
break;
case 21:
switch(select("Robot Factory F1:Robot Factory F2")) {
case 1:
warp "kh_dun01",28,226;
break;
case 2:
warp "kh_dun02",40,199;
break;
}
break;
case 22:
switch(select("The Royal Tomb:Inside The Royal Tomb:Seui Long Gon")) {
case 1:
warp "lou_dun01",218,196;
break;
case 2:
warp "lou_dun02",282,20;
break;
case 3:
warp "lou_dun03",165,38;
break;
}
break;
case 23:
switch(select("Nogg Road F1:Nogg Road F2")) {
case 1:
warp "mag_dun01",126,68;
break;
case 2:
warp "mag_dun02",47,30;
break;
}
break;
case 24:
switch(select("Les Forest:Temny Forest:Dremuci Forest")) {
case 1:
warp "mosk_dun01",189,48;
break;
case 2:
warp "mosk_dun02",163,31;
break;
case 3:
warp "mosk_dun03",31,139;
break;
}
break;
case 25:
switch(select("Odin Temple F1:Odin Temple F2:Odin Temple F3")) {
case 1:
warp "odin_tem01",98,144;
break;
case 2:
warp "odin_tem02",27,334;
break;
case 3:
warp "odin_tem03",120,54;
break;
}
break;
case 26:
switch(select("Orc Dungeon F1:Orc Dungeon F2")) {
case 1:
warp "orcsdun01",32,170;
break;
case 2:
warp "orcsdun02",21,185;
break;
}
break;
case 27:
switch(select("Payon Cave F1:Payon Cave F2:Payon Cave F3:Payon Cave F4:Payon Cave F5")) {
case 1:
warp "pay_dun00",21,182;
break;
case 2:
warp "pay_dun01",19,33;
break;
case 3:
warp "pay_dun02",19,63;
break;
case 4:
warp "pay_dun03",155,158;
break;
case 5:
warp "pay_dun04",35,202;
break;
}
break;
case 28:
switch(select("Prontera Culvert F1:Prontera Culvert F2:Prontera Culvert F3:Prontera Culvert F4")) {
case 1:
warp "prt_sewb1",126,248;
break;
case 2:
warp "prt_sewb2",19,19;
break;
case 3:
warp "prt_sewb3",180,169;
break;
case 4:
warp "prt_sewb4",100,92;
break;
}
break;
case 29:
switch(select("Inside Pyramid F1:Inside Pyramid F2:Inside Pyramid F3:Inside Pyramid F4:")) {
case 1:
warp "moc_pryd01",192,9;
break;
case 2:
warp "moc_pryd02",10,192;
break;
case 3:
warp "moc_pryd03",10,192;
break;
case 4:
warp "moc_pryd04",181,11;
break;
case 5:
warp "moc_prydb1",100,57;
break;
case 6:
warp "moc_pryd05",94,96;
break;
case 7:
warp "moc_pryd06",192,10;
break;
}
break;
case 30:
switch(select("Rachel Sanctuary F1:Rachel Sanctuary F2:Rachel Sanctuary F3:Rachel Sanctuary F4:Rachel Sanctuary F5")) {
case 1:
warp "ra_san01",139,135;
break;
case 2:
warp "ra_san02",214,276;
break;
case 3:
warp "ra_san03",119,283;
break;
case 4:
warp "ra_san04",119,98;
break;
case 5:
warp "ra_san05",150,10;
break;
}
break;
case 31:
switch(select("Kamidal Tunnel F1:Scaraba Hole:Scaraba Hole - Nightmare Mode")) {
case 1:
warp "dic_dun01",168,228;
break;
case 2:
warp "dic_dun02",101,145;
break;
case 3:
warp "dic_dun03",103,143;
break;
}
break;
case 32:
switch(select("Sphinx F1:Sphinx F2:Sphinx F3:Sphinx F4:Sphinx F5")) {
case 1:
warp "in_sphinx1",288,9;
break;
case 2:
warp "in_sphinx2",149,81;
break;
case 3:
warp "in_sphinx3",210,54;
break;
case 4:
warp "in_sphinx4",10,222;
break;
case 5:
warp "in_sphinx5",100,99;
break;
}
break;
case 33:
switch(select("Sunken Ship F1:Sunken Ship F2")) {
case 1:
warp "treasure01",69,24;
break;
case 2:
warp "treasure02",102,27;
break;
}
break;
case 34:
switch(select("Front of Thanatos Tower:Thanatos Tower F1:Thanatos Tower F2:Thanatos Tower F3:Thanatos Tower F4:Thanatos Tower F5:Thanatos Tower F6:Thanatos Tower F7:Thanatos Tower F8:Thanatos Tower F9:Thanatos Tower F10:Thanatos Tower F11:Thanatos Tower F12")) {
case 1:
warp "tha_scene01",131,223;
break;
case 2:
warp "tha_t01",149,38;
break;
case 3:
warp "tha_t02",149,130;
break;
case 4:
warp "tha_t03",217,160;
break;
case 5:
warp "tha_t04",60,141;
break;
case 6:
warp "tha_t05",62,162;
break;
case 7:
warp "tha_t06",119,116;
break;
case 8:
warp "tha_t07",37,42;
break;
case 9:
warp "tha_t08",80,97;
break;
case 10:
warp "tha_t09",30,108;
break;
case 11:
warp "tha_t10",151,149;
break;
case 12:
warp "tha_t11",69,23;
break;
case 13:
warp "tha_t12",129,51;
break;
}
break;
case 35:
switch(select("Thor's Volcano Dungeon F1:Thor's Volcano Dungeon F2:Thor's Volcano Dungeon F3")) {
case 1:
warp "thor_v01",21,228;
break;
case 2:
warp "thor_v02",75,205;
break;
case 3:
warp "thor_v03",33,264;
break;
}
break;
case 36:
switch(select("Toy Factory Warehouse:Toy Monitoring Room")) {
case 1:
warp "xmas_dun01",205,15;
break;
case 2:
warp "xmas_dun02",129,133;
break;
}
break;
case 37:
switch(select("Turtle Island Dungeon:Good Turtles Village:Turtle Palace")) {
case 1:
warp "tur_dun02",148,264;
break;
case 2:
warp "tur_dun03",132,189;
break;
case 3:
warp "tur_dun04",100,192;
break;
}
break;
case 38:
switch(select("Carpenter's Shop in the Tree:Passage to a foreign World:Hvergermil's Fountain")) {
case 1:
warp "um_dun01",42,31;
break;
case 2:
warp "um_dun02",52,22;
break;
case 3:
warp "yggdrasil01",204,78;
break;
}
break;
}
case 3:
warp "poring_w02",96,79;
break;
end;
}
}
// --------- NPC Clones ------------
// ---------------------------------
// ----------- Towns -------------
alberta,31,240,4 duplicate(warpra) Warp Agent#02 951
aldebaran,145,118,4 duplicate(warpra) Warp Agent#03 951
amatsu,192,81,1 duplicate(warpra) Warp Agent#04 951
ayothaya,144,117,6 duplicate(warpra) Warp Agent#05 951
comodo,194,158,4 duplicate(warpra) Warp Agent#06 951
einbroch,59,205,4 duplicate(warpra) Warp Agent#07 951
einbroch,243,189,2 duplicate(warpra) Warp Agent#08 951
einbech,135,249,4 duplicate(warpra) Warp Agent#09 951
geffen,115,66,4 duplicate(warpra) Warp Agent#10 951
gonryun,151,130,4 duplicate(warpra) Warp Agent#11 951
hugel,88,151,5 duplicate(warpra) Warp Agent#12 951
izlude,133,117,4 duplicate(warpra) Warp Agent#13 951
lighthalzen,155,79,6 duplicate(warpra) Warp Agent#14 951
louyang,210,106,4 duplicate(warpra) Warp Agent#15 951
morocc,156,95,4 duplicate(warpra) Warp Agent#16 951
prontera,164,192,4 duplicate(warpra) Warp Agent#17 951
payon,182,110,4 duplicate(warpra) Warp Agent#18 951
umbala,132,130,4 duplicate(warpra) Warp Agent#19 951
xmas,150,136,4 duplicate(warpra) Warp Agent#20 951
yuno,137,162,4 duplicate(warpra) Warp Agent#21 951
poring_w02,96,79,2 duplicate(warpra) Warp Agent#43 951
veins,211,119,1 duplicate(warpra) Warp Agent#44 951
splendide,179,144,1 duplicate(warpra) Warp Agent#45 951
rachel,130,117,1 duplicate(warpra) Warp Agent#46 951
moscovia,220,191,1 duplicate(warpra) Warp Agent#47 951
mora,39,147,2 duplicate(warpra) Warp Agent#48 951
mid_camp,180,240,1 duplicate(warpra) Warp Agent#49 951
manuk,262,176,1 duplicate(warpra) Warp Agent#50 951
malaya,240,211,1 duplicate(warpra) Warp Agent#51 951
malangdo,133,119,2 duplicate(warpra) Warp Agent#52 951
jawaii,254,138,6 duplicate(warpra) Warp Agent#53 951
dicastes01,198,192,6 duplicate(warpra) Warp Agent#54 951
eclage,112,40,1 duplicate(warpra) Warp Agent#55 951
dewata,200,185,1 duplicate(warpra) Warp Agent#56 951
brasilis,193,256,4 duplicate(warpra) Warp Agent#57 951
// ------------ Dungeons ------------
// ------------ Dungeons ------------
ama_dun01,233,9,1 duplicate(warpra) Warp Agent#22 951
moc_fild20,162,139,6 duplicate(warpra) Warp Agent#23 951
ayo_fild02,279,154,4 duplicate(warpra) Warp Agent#24 951
izlu2dun,104,82,4 duplicate(warpra) Warp Agent#25 951
prt_sewb1,125,253,4 duplicate(warpra) Warp Agent#26 951
mjolnir_02,85,363,4 duplicate(warpra) Warp Agent#27 951
einbech,81,101,1 duplicate(warpra) Warp Agent#28 951
glast_01,370,308,4 duplicate(warpra) Warp Agent#29 951
yuno_fild03,37,135,4 duplicate(warpra) Warp Agent#30 951
niflheim,32,161,4 duplicate(warpra) Warp Agent#31 951
gef_fild10,71,339,4 duplicate(warpra) Warp Agent#32 951
pay_arche,39,135,4 duplicate(warpra) Warp Agent#33 951
moc_ruins,64,166,4 duplicate(warpra) Warp Agent#34 951
moc_fild19,106,97,4 duplicate(warpra) Warp Agent#35 951
alb2trea,73,101,4 duplicate(warpra) Warp Agent#36 951
tur_dun01,148,239,4 duplicate(warpra) Warp Agent#37 951
lhz_dun01,157,285,4 duplicate(warpra) Warp Agent#38 951
hu_fild05,186,210,4 duplicate(warpra) Warp Agent#39 951
yuno_fild07,221,179,4 duplicate(warpra) Warp Agent#40 951
tha_scene01,139,194,1 duplicate(warpra) Warp Agent#41 951
odin_tem01,96,149,4 duplicate(warpra) Warp Agent#42 951