summaryrefslogtreecommitdiff
path: root/npc/custom/eAAC_Scripts/kafraExpress
diff options
context:
space:
mode:
authoreaac <eaac@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-06-21 21:15:39 +0000
committereaac <eaac@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-06-21 21:15:39 +0000
commit945b5710110eefaf9ddacbfac8f78b6556751015 (patch)
tree3d5010e39b5e7e67599cacb7ea0a1ba24b001b5f /npc/custom/eAAC_Scripts/kafraExpress
parent904f0fd88b48db84db26f842f65ac9d2d7c110ea (diff)
downloadhercules-945b5710110eefaf9ddacbfac8f78b6556751015.tar.gz
hercules-945b5710110eefaf9ddacbfac8f78b6556751015.tar.bz2
hercules-945b5710110eefaf9ddacbfac8f78b6556751015.tar.xz
hercules-945b5710110eefaf9ddacbfac8f78b6556751015.zip
* Update to the eAAC Scripts (don't ask...). [eAAC]
*= Removed disguiser.txt as it seems to error, thus failing to comply with eAAC terms git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10801 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/custom/eAAC_Scripts/kafraExpress')
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/config.txt159
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/kafras.txt264
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt12
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt20
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_dye.txt43
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_jobchange.txt548
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt374
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_main.txt13
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt6
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_rent.txt4
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_shop.txt4
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_statmarket.txt4
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt4
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_uncard.txt6
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_warp_dungeon.txt1258
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_warp_pvp.txt58
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_warp_town.txt199
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_warp_woe.txt108
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/readme.txt136
19 files changed, 1529 insertions, 1691 deletions
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/config.txt b/npc/custom/eAAC_Scripts/kafraExpress/config.txt
index 4848cb88c..a7333d09a 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/config.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/config.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 1.8
+//= 2.4
//===== Compatible With: =====================================
//= Any eAthena Version with function support
//===== Description: =========================================
@@ -26,8 +26,8 @@ OnInit:
set $@kegs_cost,500; //Cost of opening the guild storage
//Kafra Pass Options:
- set $@kekp_reset,1; //Kafra passes Expire when you speak to a Kafra?
- //(otherwise duration is as long as a temporary variable)
+ set $@kekp_reset,1; //How many uses a kafra pass has before expiring?
+ //(if 0, duration is as long as a temporary variable)
set $@kekp_reserveCost,100; //Cost of each Reserve Point in Zeny (0 disable)
set $@kekp_minReserve,1; //Min Reserve Points you can earn in a single transaction
set $@kekp_maxReserve,150; //Max Reserve Points you can earn in a single transaction
@@ -75,7 +75,6 @@ OnLoadDye:
set $@kedy_clothJ1ST,77; //1st Jobs (+High/Baby)
set $@kedy_clothJ2ND,77; //2nd Jobs (+High/Baby)
set $@kedy_clothJSN,77; //Super Novice (+Baby)
- set $@kedy_clothJWED,77; //Wedding Class
end;
//-------------------------------------------------------------------------------
//Config for the Job Changer Module
@@ -95,6 +94,12 @@ OnLoadJobChange:
set $@kejc_skipNovice,0; //0: Novice needs Job 10 to change, 1: Can Skip Novice Class
set $@kejc_baseSN,30; //Base lv required to become a Super Novice
+ set $@kejc_disable,0; //Disable certain jobs from the changer:
+ //1: Super Novice
+ //2: Taekwon/Star Gladiator/Soul Linker
+ //4: GunSlinger
+ //8: Ninja
+
//Note that the change costs can be converted into rewards by specifying a negative amount.
set $@kejc_base2ND,1; //Base lv required to change into a second class
set $@kejc_job2ND,40; //Job Lv required to change into a second Class
@@ -114,59 +119,69 @@ OnLoadJobChange:
//Weapons awarded to each job upon change (use 0 to disable for a particular class)
//First classes:
- set $@kejc_wAcolyte,1501; //Club
- set $@kejc_wArcher,1701; //Bow
- set $@kejc_wMage,1601; //Rod
- set $@kejc_wMerchant,1301; //Axe
- set $@kejc_wSwordman,1101; //Sword
- set $@kejc_wThief,1201; //Knife
- set $@kejc_wTaekwon,0; //Nothing (they don't wield weapons)
- set $@kejc_wSuperNovice,1202; //Knife
+ setarray $@kejc_weapon1[0],
+ 1501, //Acolyte/Club
+ 1701, //Archer/Bow
+ 1601, //Mage/Rod
+ 1301, //Merchant/Axe
+ 1101, //Swordman/Sword
+ 1201, //Thief/Knife
+ 0, //Taekwon/Nothing (they don't wield weapons)
+ 1202, //Super Novice/Knife
+ 13010, //GunSlinger/Six Shooter
+ 1201; //Ninja/Knife
//Normal Weapons for Second classes
- set $@kejc_wPriest,1551; //Bible
- set $@kejc_wMonk,1801; //Waghnak
- set $@kejc_wHunter,1704; //Composite Bow
- set $@kejc_wBard,1901; //Violin
- set $@kejc_wDancer,1950; //Rope
- set $@kejc_wWizard,1602; //Rod
- set $@kejc_wSage,1550; //Book
- set $@kejc_wBlacksmith,1351; //Battle Axe
- set $@kejc_wAlchemist,1351; //Battle Axe
- set $@kejc_wKnight,1116; //Katana
- set $@kejc_wCrusader,1107; //Blade
- set $@kejc_wAssassin,1250; //Jur
- set $@kejc_wRogue,1210; //Cutter
- set $@kejc_wStarGladiator,1550; //Book
- set $@kejc_wSoulLinker,1602; //Rod
+ setarray $@kejc_weapon_21[0],
+ 1551, //Priest/Bible
+ 1704, //Hunter/Composite Bow
+ 1602, //Wizard/Rod
+ 1351, //Blacksmith/Battle Axe
+ 1116, //Knight/Katana
+ 1250, //Assassin/Jur
+ 1550; //Star Gladiator/Book
+
+ setarray $@kejc_weapon_22[0],
+ 1801, //Monk/Waghnak
+ 1704, //Bard/Dancer/Composite Bow
+ 1550, //Sage/Book
+ 1351, //Alchemist/Battle Axe
+ 1107, //Crusader/Blade
+ 1210, //Rogue/Cutter
+ 1602; //Soul Linker/Rod
if ($@kejc_wBonusLv == 0) //Don't touch.
end;
//Improved versions awarded to second classes
- set $@kejc_w2Priest,1519; //Chain
- set $@kejc_w2Monk,1811; //Finger
- set $@kejc_w2Hunter,1714; //Gakkung
- set $@kejc_w2Bard,1911; //Guh Moon Goh
- set $@kejc_w2Dancer,1960; //Whip
- set $@kejc_w2Wizard,1610; //Arc Wand
- set $@kejc_w2Sage,1552; //Tablet
- set $@kejc_w2Blacksmith,1360; //Two-Handed Axe
- set $@kejc_w2Alchemist,1360; //Two-Handed Axe
- set $@kejc_w2Knight,1160; //Broad-Sword
- set $@kejc_w2Crusader,1119; //Tsurugi
- set $@kejc_w2Assassin,1254; //Jamadhar
- set $@kejc_w2Rogue,1222; //Damascus
- set $@kejc_w2StarGladiator,1552; //Tablet
- set $@kejc_w2SoulLinker,1610; //Arc Wand
+ setarray $@kejc_weapon2_21[0],
+ 1519, //Priest/Chain
+ 1714, //Hunter/Gakkung
+ 1610, //Wizard/Arc Wand
+ 1360, //Blacksmith/Two-Handed Axe
+ 1160, //Knight/Broad-Sword
+ 1254, //Assassin/Jamadhar
+ 1552; //Star Gladiator/Tablet
+
+ setarray $@kejc_weapon2_22[0],
+ 1811, //Monk/Finger
+ 1714, //Bard/Dancer/Gakkung
+ 1552, //Sage/Tablet
+ 1360, //Alchemist/Two-Handed Axe
+ 1119, //Crusader/Tsurugi
+ 1222, //Rogue/Damascus
+ 1610; //Soul Linker/Arc Wand
+
end;
//-------------------------------------------------------------------------------
//Config for the Job Swapping Module
//-------------------------------------------------------------------------------
OnLoadJobSwap:
- set $@kejs_SNpolicy,0; //Super Novice is considered as...
- //0: Super Novices can't swap job.
- //1: 1st Class Range: Can only be swapped with First classes (including baby)
+ set $@kejs_disable,0; //Disable certain jobs from the swapper:
+ //1: Super Novice
+ //2: Taekwon/Star Gladiator/Soul Linker
+ //4: GunSlinger
+ //8: Ninja
set $@kejs_revertPolicy,1; //Allows reverting to the last Class one changed from...
// 0: do not allow reverting
@@ -319,34 +334,38 @@ OnLoadWarpDungeon:
//entrance of the cave, not the Island's shore.
//Dungeon Costs
- set $@kewd_abyssLake,5000; //Abyss Lake base cost
+ set $@kewd_abyssLake,3250; //Abyss Lake base cost
set $@kewd_amatsu,2500; //Amatsu Dungeon base cost
- set $@kewd_antHell,1750; //Anthell base cost
- set $@kewd_ayothaya,1750; //Ayothaya Dungeon base cost
- set $@kewd_byalan,1250; //Byalan base cost
- set $@kewd_comodo,2500; //Comodo Caves base cost
- set $@kewd_clockTower,6250; //Clock Tower base cost
- set $@kewd_coalMines,3750; //Coal Mines base cost
- set $@kewd_culvert,500; //Prontera Culvert base cost
- set $@kewd_einbech,5000; //Einbech Mines base cost
- set $@kewd_gefenia,25000; //Gefenia base cost
- set $@kewd_geffen,5000; //Geffen Dungeon base cost
- set $@kewd_glastHeim,10000; //Glast Heim base cost
- set $@kewd_gonRyun,3750; //Gonryun Dungeon base cost
- set $@kewd_hiddenTemple,250; //Hidden Temple base cost
- set $@kewd_juperos,7500; //Juperos base cost
- set $@kewd_lightHalzen,15000; //LightHalzen Rekkenber base cost
+ set $@kewd_antHell,750; //Anthell base cost
+ set $@kewd_ayothaya,2000; //Ayothaya Dungeon base cost
+ set $@kewd_byalan,1000; //Byalan base cost
+ set $@kewd_comodo,1500; //Comodo Caves base cost
+ set $@kewd_clockTower,2250; //Clock Tower base cost
+ set $@kewd_coalMines,1000; //Coal Mines base cost
+ set $@kewd_culvert,0500; //Prontera Culvert base cost
+ set $@kewd_einbech,2250; //Einbech Mines base cost
+ set $@kewd_gefenia,7000; //Gefenia base cost
+ set $@kewd_geffen,1500; //Geffen Dungeon base cost
+ set $@kewd_glastHeim,2500; //Glast Heim base cost
+ set $@kewd_gonRyun,2250; //Gonryun Dungeon base cost
+ set $@kewd_hiddenTemple,750; //Hidden Temple base cost
+ set $@kewd_juperos,3750; //Juperos base cost
+ set $@kewd_kiehl,3400; //Kiehl Doll Factory base cost
+ set $@kewd_iceCave,3750; //Ice Cave base cost
+ set $@kewd_lightHalzen,4500; //LightHalzen Rekkenber base cost
set $@kewd_louYang,2500; //Louyang Dungeon base cost
- set $@kewd_magma,3750; //Magma Dungeon base cost
- set $@kewd_orc,2500; //Orc Dungeon base cost
- set $@kewd_payon,1100; //Payon Dungeon base cost
- set $@kewd_pyramid,2500; //Pyramids base cost
+ set $@kewd_magma,3000; //Magma Dungeon base cost
+ set $@kewd_odin,2750; //Odin Temple base cost
+ set $@kewd_orc,1000; //Orc Dungeon base cost
+ set $@kewd_payon,1000; //Payon Dungeon base cost
+ set $@kewd_pyramid,2000; //Pyramids base cost
+ set $@kewd_rachel,3000; //Rachel Sanctuary base cost
set $@kewd_sphinx,1750; //Sphinx base cost
- set $@kewd_sunkenShip,1000; //Sunken Ship base cost
- set $@kewd_thanatosTower,15000; //Thanatos Tower base cost
- set $@kewd_toyFactory,2500; //Toy Factory base cost
- set $@kewd_turtleIsland,12500; //Turtle Island base cost
- set $@kewd_umbala,3550; //Umbala Dungeon base cost
+ set $@kewd_sunkenShip,1250; //Sunken Ship base cost
+ set $@kewd_thanatosTower,3250; //Thanatos Tower base cost
+ set $@kewd_toyFactory,1250; //Toy Factory base cost
+ set $@kewd_turtleIsland,3250; //Turtle Island base cost
+ set $@kewd_umbala,1750; //Umbala Dungeon base cost
end;
//-------------------------------------------------------------------------------
//Config for the Pvp Warps Module
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/kafras.txt b/npc/custom/eAAC_Scripts/kafraExpress/kafras.txt
index bea43dbc1..923ae5bdd 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/kafras.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/kafras.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 2.2
+//= 2.7
//===== Compatible With: =====================================
//= Any eAthena Version with function support; RO Episode 8+ (LightHalzen)
//===== Description: =========================================
@@ -18,279 +18,303 @@
//callfunc "F_KafraExpress","NPC Name","Image File", type, "Save Map", Save X, Save Y;
//Town Kafras
-alberta,113,60,5 script Kafra Express::Alberta 116,{
- callfunc "F_KafraExpress","Kafra Express","kafra_02",0,"alberta",116,57;
+alberta.gat,113,60,5 script Kafra Express::Alberta 116,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_02",0,"alberta.gat",116,57;
}
-aldebaran,133,124,5 script Kafra Express::AlDeBaran 115,{
- callfunc "F_KafraExpress","Kafra Express","kafra_03",2,"aldebaran",139,131;
+aldebaran.gat,133,124,5 script Kafra Express::AlDeBaran 115,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_03",2,"aldebaran.gat",139,131;
}
-amatsu,201,80,8 script Kafra Express::Amatsu 114,{
- callfunc "F_KafraExpress","Kafra Express","kafra_04",0,"amatsu",197,81;
+amatsu.gat,201,80,8 script Kafra Express::Amatsu 114,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_04",0,"amatsu.gat",197,81;
}
-ayothaya,195,160,8 script Kafra Express::Ayothaya 112,{
- callfunc "F_KafraExpress","Kafra Express","kafra_06",0,"ayothaya",194,173;
+ayothaya.gat,195,160,8 script Kafra Express::Ayothaya 112,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_06",0,"ayothaya.gat",194,173;
}
-comodo,190,153,5 script Kafra Express::Comodo 721,{
- callfunc "F_KafraExpress","Kafra Express","kafra_07",0,"comodo",189,166;
+comodo.gat,190,153,5 script Kafra Express::Comodo 721,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_07",0,"comodo.gat",189,166;
}
-geffen,121,62,8 script Kafra Express::Geffen 113,{
- callfunc "F_KafraExpress","Kafra Express","kafra_05",0,"geffen",119,56;
+geffen.gat,121,62,8 script Kafra Express::Geffen 113,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_05",0,"geffen.gat",119,56;
}
-gonryun,169,188,2 script Kafra Express::GonRyun 117,{
- callfunc "F_KafraExpress","Kafra Express","kafra_01",2,"gonryun",168,199;
+gonryun.gat,169,188,2 script Kafra Express::GonRyun 117,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_01",2,"gonryun.gat",168,199;
}
-einbech,143,243,3 script Kafra Express::Einbech 860,{
- callfunc "F_KafraExpress","Kafra Express","kafra_08",0,"einbech",157,250;
+einbech.gat,143,243,3 script Kafra Express::Einbech 860,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_08",0,"einbech.gat",157,250;
}
-einbroch,58,207,4 script Kafra Express::Einbroch 860,{
- callfunc "F_KafraExpress","Kafra Express","kafra_08",0,"einbroch",64,184;
+einbroch.gat,58,207,4 script Kafra Express::Einbroch 860,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_08",0,"einbroch.gat",64,184;
}
-hugel,101,117,1 script Kafra Express::Hugel 115,{
- callfunc "F_KafraExpress","Kafra Express","kafra_03",0,"hugel",102,109;
+hugel.gat,101,117,1 script Kafra Express::Hugel 115,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_03",0,"hugel.gat",102,109;
}
-izlude,136,94,2 script Kafra Express::Izlude 115,{
- callfunc "F_KafraExpress","Kafra Express","kafra_03",0,"izlude",147,99;
+izlude.gat,136,94,2 script Kafra Express::Izlude 115,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_03",0,"izlude.gat",147,99;
}
-jawaii,208,217,7 script Kafra Express::Jawaii 721,{
- callfunc "F_KafraExpress","Kafra Express","kafra_07",0,"jawaii",213,209;
+jawaii.gat,208,217,7 script Kafra Express::Jawaii 721,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_07",0,"jawaii.gat",213,209;
}
-lighthalzen,165,106,3 script Kafra Express::Lighthalzen 861,{
- callfunc "F_KafraExpress","Kafra Express","kafra_09",0,"lighthalzen",152,106;
+lighthalzen.gat,165,106,3 script Kafra Express::Lighthalzen 861,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_09",0,"lighthalzen.gat",152,106;
}
-louyang,220,123,3 script Kafra Express::LouYang 117,{
- callfunc "F_KafraExpress","Kafra Express","kafra_01",0,"louyang",221,128;
+louyang.gat,220,123,3 script Kafra Express::LouYang 117,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_01",0,"louyang.gat",221,128;
}
-xmas,148,126,4 script Kafra Express::Lutie 112,{
- callfunc "F_KafraExpress","Kafra Express","kafra_06",0,"xmas",149,117;
+xmas.gat,148,126,4 script Kafra Express::Lutie 112,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_06",0,"xmas.gat",149,117;
}
-morocc,156,97,3 script Kafra Express::Morocc 721,{
- callfunc "F_KafraExpress","Kafra Express","kafra_07",0,"morocc",156,91;
+morocc.gat,154,97,3 script Kafra Express::Morocc 721,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_07",0,"morocc.gat",156,91;
}
-niflheim,196,192,3 script Kafra Express::Niflheim 791,{
- callfunc "F_KafraExpress","Kafra Express","",3,"niflheim",194,185;
+niflheim.gat,196,192,3 script Kafra Express::Niflheim 791,{
+ callfunc "F_KafraExpress","Kafra Express","",3,"niflheim.gat",194,185;
}
-payon,152,181,5 script Kafra Express::Payon 114,{
- callfunc "F_KafraExpress","Kafra Express","kafra_04",0,"payon",162,182;
+payon.gat,152,181,5 script Kafra Express::Payon 114,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_04",0,"payon.gat",162,182;
}
-prontera,147,177,7 script Kafra Express::Prontera 116,{
- callfunc "F_KafraExpress","Kafra Express","kafra_02",0,"prontera",156,195;
+prontera.gat,147,177,7 script Kafra Express::Prontera 116,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_02",0,"prontera.gat",156,195;
}
-umbala,89,159,4 script Kafra Express::Umbala 860,{
- callfunc "F_KafraExpress","Kafra Express","kafra_08",0,"umbala",91,159;
+rachel.gat,138,147,4 script Kafra Express::Rachel 114,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_04",0,"rachel.gat",128,146;
}
-yuno,159,87,5 script Kafra Express::Yuno 861,{
- callfunc "F_KafraExpress","Kafra Express","kafra_09",0,"yuno",159,52;
+umbala.gat,89,159,4 script Kafra Express::Umbala 860,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_08",0,"umbala.gat",91,159;
+}
+
+yuno.gat,159,87,5 script Kafra Express::Yuno 861,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_09",0,"yuno.gat",159,52;
}
//Dungeon Kafras
//Abyss Lake
-hu_fild05,170,305,7 script Kafra Express::D_Abyss 861,{
- callfunc "F_KafraExpress","Kafra Express","kafra_09",1,"hu_fild05",160,302;
+hu_fild05.gat,170,305,7 script Kafra Express::D_Abyss 861,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_09",1,"hu_fild05.gat",160,302;
}
//Amatsu D
-ama_in02,115,184,6 script Kafra Express::D_Amatsu 117,{
- callfunc "F_KafraExpress","Kafra Express","kafra_01",1,"ama_in02",118,184;
+ama_in02.gat,115,184,6 script Kafra Express::D_Amatsu 117,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_01",1,"ama_in02.gat",118,184;
}
//AntHell North
-moc_fild04,208,323,1 script Kafra Express::D_Anthell1 114,{
- callfunc "F_KafraExpress","Kafra Express","kafra_04",1,"moc_fild04",207,332;
+moc_fild04.gat,208,323,1 script Kafra Express::D_Anthell1 114,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_04",1,"moc_fild04.gat",207,332;
}
//AntHell South
-moc_fild15,251,243,3 script Kafra Express::D_Anthell2 114,{
- callfunc "F_KafraExpress","Kafra Express","kafra_04",1,"moc_fild15",246,251;
+moc_fild15.gat,251,243,3 script Kafra Express::D_Anthell2 114,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_04",1,"moc_fild15.gat",246,251;
}
//Ayothaya Dungeon
-ayo_fild02,289,144,3 script Kafra Express::D_Ayothaya 116,{
- callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"ayo_fild02",289,155;
+ayo_fild02.gat,289,144,3 script Kafra Express::D_Ayothaya 116,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"ayo_fild02.gat",289,155;
}
//Byalan Island
-izlu2dun,101,82,7 script Kafra Express::D_Byalan 112,{
- callfunc "F_KafraExpress","Kafra Express","kafra_06",1,"izlu2dun",112,84;
+izlu2dun.gat,101,82,7 script Kafra Express::D_Byalan 112,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_06",1,"izlu2dun.gat",112,84;
}
//Comodo East Cave
-cmd_fild01,33,321,4 script Kafra Express::D_ComodoE 721,{
- callfunc "F_KafraExpress","Kafra Express","kafra_07",1,"cmd_fild01",34,325;
+cmd_fild01.gat,33,321,4 script Kafra Express::D_ComodoE 721,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_07",1,"cmd_fild01.gat",34,325;
}
//Comodo West Cave
-comodo,31,218,4 script Kafra Express::D_ComodoW 721,{
- callfunc "F_KafraExpress","Kafra Express","kafra_07",1,"comodo",32,209;
+comodo.gat,31,218,4 script Kafra Express::D_ComodoW 721,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_07",1,"comodo.gat",32,209;
}
//Comodo North Cave
-comodo,182,347,2 script Kafra Express::D_ComodoN 721,{
- callfunc "F_KafraExpress","Kafra Express","kafra_07",1,"comodo",180,352;
+comodo.gat,182,347,2 script Kafra Express::D_ComodoN 721,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_07",1,"comodo.gat",180,352;
}
//Coal Mines
-mjolnir_02,83,364,4 script Kafra Express::D_Coal 861,{
- callfunc "F_KafraExpress","Kafra Express","kafra_09",1,"mjolnir_02",89,358;
+mjolnir_02.gat,83,364,4 script Kafra Express::D_Coal 861,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_09",1,"mjolnir_02.gat",89,358;
}
//Culvert
-prt_fild05,275,219,5 script Kafra Express::D_Culvert 112,{
- callfunc "F_KafraExpress","Kafra Express","kafra_06",1,"prt_fild05",274,208;
+prt_fild05.gat,275,219,5 script Kafra Express::D_Culvert 112,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_06",1,"prt_fild05.gat",274,208;
}
//Gefenia
-gefenia01,56,171,6 script Kafra Express::D_Gefenia1 861,{
- callfunc "F_KafraExpress","Kafra Express","kafra_09",1,"gefenia01",59,169;
+gefenia01.gat,56,171,6 script Kafra Express::D_Gefenia1 861,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_09",1,"gefenia01.gat",59,169;
}
//Geffen Dungeon
-gef_tower,156,33,3 script Kafra Express::D_Geffen 113,{
- callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"gef_tower",147,35;
+gef_tower.gat,156,33,3 script Kafra Express::D_Geffen 113,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"gef_tower.gat",147,35;
}
//GH: Church
-glast_01,193,136,5 script Kafra Express::D_GHChurch 791,{
- callfunc "F_KafraExpress","Kafra Express","",1,"glast_01",206,136;
+glast_01.gat,193,136,5 script Kafra Express::D_GHChurch 791,{
+ callfunc "F_KafraExpress","Kafra Express","",1,"glast_01.gat",206,136;
}
//GH: Castle
-glast_01,200,350,4 script Kafra Express::D_GHCastle 791,{
- callfunc "F_KafraExpress","Kafra Express","",1,"glast_01",200,347;
+glast_01.gat,200,350,4 script Kafra Express::D_GHCastle 791,{
+ callfunc "F_KafraExpress","Kafra Express","",1,"glast_01.gat",200,347;
}
//GH: Staircase
-glast_01,58,103,7 script Kafra Express::D_GHStair 791,{
- callfunc "F_KafraExpress","Kafra Express","",1,"glast_01",62,107;
+glast_01.gat,58,103,7 script Kafra Express::D_GHStair 791,{
+ callfunc "F_KafraExpress","Kafra Express","",1,"glast_01.gat",62,107;
}
//GH: Chivalry
-glast_01,62,198,6 script Kafra Express::D_GHChivalry 791,{
- callfunc "F_KafraExpress","Kafra Express","",1,"glast_01",69,193;
+glast_01.gat,62,198,6 script Kafra Express::D_GHChivalry 791,{
+ callfunc "F_KafraExpress","Kafra Express","",1,"glast_01.gat",69,193;
+}
+
+//Ice Dungeon
+ra_fild01.gat,225,324,5 script Kafra Express::D_IceDungeon 861,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_09",1,"ra_fild01.gat",244,326;
+}
+
+//Kiehl Machine Doll Factory
+yuno_fild08.gat,72,184,4 script Kafra Express::D_Khiel 860,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_08",1,"yuno_fild08.gat",67,182;
}
//LightHalzen Rekkenber (Sewer Entrance)
-lighthalzen,311,293,1 script Kafra Express::D_Lhz 860,{
- callfunc "F_KafraExpress","Kafra Express","kafra_08",1,"lighthalzen",301,286;
+lighthalzen.gat,311,293,17 script Kafra Express::D_Lhz 860,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_08",1,"lighthalzen.gat",301,286;
}
//LightHalzen Rekkenber (Rekkenber Entrance)(
-//lighthalzen,69,57,7 script Kafra Express::D_Lhz 860,{
-// callfunc "F_KafraExpress","Kafra Express","kafra_08",1,"lighthalzen",78,57;
+//lighthalzen.gat,69,57,7 script Kafra Express::D_Lhz 860,{
+// callfunc "F_KafraExpress","Kafra Express","kafra_08",1,"lighthalzen.gat",78,57;
//}
//Juperos
-jupe_cave,45,55,5 script Kafra Express::D_Juperos 860,{
- callfunc "F_KafraExpress","Kafra Express","kafra_08",1,"jupe_cave",45,48;
+jupe_cave.gat,45,55,5 script Kafra Express::D_Juperos 860,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_08",1,"jupe_cave.gat",45,48;
}
//Laberynth
-prt_fild01,143,365,3 script Kafra Express::D_Maze 112,{
- callfunc "F_KafraExpress","Kafra Express","kafra_06",1,"prt_fild01",136,361;
+prt_fild01.gat,143,365,3 script Kafra Express::D_Maze 112,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_06",1,"prt_fild01.gat",136,361;
}
//LouYang D
-louyang,35,276,6 script Kafra Express::D_Louyang 117,{
- callfunc "F_KafraExpress","Kafra Express","kafra_01",1,"louyang",41,267;
+louyang.gat,35,276,6 script Kafra Express::D_Louyang 117,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_01",1,"louyang.gat",41,267;
}
//Magma D
-yuno_fild03,34,143,5 script Kafra Express::D_Magma 115,{
- callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"yuno_fild03",35,135;
+yuno_fild03.gat,34,143,5 script Kafra Express::D_Magma 115,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"yuno_fild03.gat",35,135;
+}
+
+//Odin Temple
+odin_tem01.gat,100,149,2 script Kafra Express::D_Odin 117,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_01",1,"odin_tem01.gat",100,142;
}
//Orc D North
-in_orcs01,24,165,5 script Kafra Express::D_OrcsN 116,{
- callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"in_orcs01",34,165;
+in_orcs01.gat,24,165,5 script Kafra Express::D_OrcsN 116,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"in_orcs01.gat",34,165;
}
//Orc D South
-in_orcs01,103,99,5 script Kafra Express::D_OrcsS 116,{
- callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"in_orcs01",112,99;
+in_orcs01.gat,103,99,5 script Kafra Express::D_OrcsS 116,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"in_orcs01.gat",112,99;
}
//Payon D
-pay_arche,38,138,6 script Kafra Express::D_Payon 112,{
- callfunc "F_KafraExpress","Kafra Express","kafra_06",1,"pay_arche",41,133;
+pay_arche.gat,38,138,6 script Kafra Express::D_Payon 112,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_06",1,"pay_arche.gat",41,133;
}
//Pyramids D
-moc_ruins,60,166,5 script Kafra Express::D_Pyramid 115,{
- callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"moc_ruins",62,162;
+moc_ruins.gat,60,166,5 script Kafra Express::D_Pyramid 115,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"moc_ruins.gat",62,162;
+}
+
+//Rachel Temple
+ra_temin.gat,268,325,5 script Kafra Express::D_Rachel 116,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"ra_temin.gat",284,325;
}
//Sphinx D
-moc_fild19,106,97,8 script Kafra Express::D_Sphinx 115,{
- callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"moc_fild19",107,100;
+moc_fild19.gat,106,97,8 script Kafra Express::D_Sphinx 115,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"moc_fild19.gat",107,100;
}
//Sunken Ship
-alb2trea,75,101,5 script Kafra Express::D_Sunken 114,{
- callfunc "F_KafraExpress","Kafra Express","kafra_04",1,"alb2trea",87,103;
+alb2trea.gat,75,101,5 script Kafra Express::D_Sunken 114,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_04",1,"alb2trea.gat",87,103;
}
//Thanatos Tower
-tha_scene01,139,194,0 script Kafra Express::D_Thanatos 113,{
- callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"tha_scene01",132,220;
+tha_scene01.gat,139,194,0 script Kafra Express::D_Thanatos 113,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"tha_scene01.gat",132,220;
}
//Toy Factory
-xmas,138,307,6 script Kafra Express::D_Toy 116,{
- callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"xmas",144,306;
+xmas.gat,138,307,6 script Kafra Express::D_Toy 116,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"xmas.gat",144,306;
}
//Turtle Cave Entrance
-tur_dun01,147,237,6 script Kafra Express::D_TCave 113,{
- callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"tur_dun01",155,234;
+tur_dun01.gat,147,237,6 script Kafra Express::D_TCave 113,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"tur_dun01.gat",155,234;
}
//Turtle Island Entrance
-tur_dun01,148,54,6 script Kafra Express::D_TIsland 113,{
- callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"tur_dun01",153,47;
+tur_dun01.gat,148,54,6 script Kafra Express::D_TIsland 113,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"tur_dun01.gat",153,47;
}
//Umbala D
-umbala,120,284,3 script Kafra Express::D_Umbala 117,{
- callfunc "F_KafraExpress","Kafra Express","kafra_01",1,"umbala",113,282;
+umbala.gat,120,284,3 script Kafra Express::D_Umbala 117,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_01",1,"umbala.gat",113,282;
}
//Guild War Kafras: Disabled by Default!
//Al De Baran Guild Grounds
-//alde_gld,156,165,3 script Kafra Express::G_AlDeBaran 116,{
-// callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"alde_gld",156,157;
+//alde_gld.gat,156,165,3 script Kafra Express::G_AlDeBaran 116,{
+// callfunc "F_KafraExpress","Kafra Express","kafra_02",1,"alde_gld.gat",156,157;
//}
//Geffen Guild Grounds
-//gef_fild13,237,182,6 script Kafra Express::G_Geffen 113,{
-// callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"gef_fild13",231,181;
+//gef_fild13.gat,237,182,6 script Kafra Express::G_Geffen 113,{
+// callfunc "F_KafraExpress","Kafra Express","kafra_05",1,"gef_fild13.gat",231,181;
//}
//Payon Guild Grounds
-//pay_gld,243,172,6 script Kafra Express::G_Payon 117,{
-// callfunc "F_KafraExpress","Kafra Express","kafra_01",1,"pay_gld",243,178;
+//pay_gld.gat,243,172,6 script Kafra Express::G_Payon 117,{
+// callfunc "F_KafraExpress","Kafra Express","kafra_01",1,"pay_gld.gat",243,178;
//}
//Prontera Guild Grounds
-//prt_gld,127,163,5 script Kafra Express::G_Prontera 115,{
-// callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"prt_gld",129,170;
-//} \ No newline at end of file
+//prt_gld.gat,127,163,5 script Kafra Express::G_Prontera 115,{
+// callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"prt_gld.gat",129,170;
+//}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt
index 43cd6478d..dc65a1d8d 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 2.7
+//= 2.8
//===== Compatible With: =====================================
//= eAthena SVN R3524+
//===== Description: =========================================
@@ -14,7 +14,7 @@
//= See config.txt for configuration.
//============================================================
-- script keInit_bank -1,{
+- script keInit_bank {
OnInit: //Load Config
donpcevent "keConfig::OnLoadBank";
end;
@@ -156,7 +156,12 @@ function SF_calcInterest {
}
set @qty,0;
if (#ke_bank > $@kebk_monMaintenance && #ke_bank < $@kebk_capacity)
- set @qty,#ke_bank*$@kebk_dayInterest*(@banktick-#ke_banktick)/10000;
+ {
+ if (#ke_bank > 1000000) //Overflow protection
+ set @qty,(#ke_bank/10000)*$@kebk_dayInterest*(@banktick-#ke_banktick);
+ else
+ set @qty,#ke_bank*$@kebk_dayInterest*(@banktick-#ke_banktick)/10000;
+ }
set #ke_banktick,@banktick;
if (@qty == 0) return;
if (@qty < 0) {
@@ -172,3 +177,4 @@ function SF_calcInterest {
} //SF end
}
+
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt
index 73b8c4e20..dbba66ae1 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt
@@ -3,9 +3,9 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 3.0
+//= 3.1
//===== Compatible With: =====================================
-//= eAthena SVN3424+
+//= eAthena SVN8637+
//===== Description: =========================================
//= Part of the Kafra Express Script Package.
//= Offers broadcasting for party requests, pvp, general
@@ -17,7 +17,7 @@
//= Module are used.
//============================================================
-- script keInit_broadcast -1,{
+- script keInit_broadcast {
OnInit: //Load Config
donpcevent "keConfig::OnLoadBroadcast";
end;
@@ -70,7 +70,7 @@ function SF_broadcasts {
"- General Anonymous Broadcast ("+@anoncost+"z)"
)) {
case 2: //Party
- SF_doBroadcast $@kebc_partyCost,@map$,"The "+callfunc("GF_getJobName",class)+" "+strcharinfo(0)+" (levels "+baselevel+"/"+joblevel+") is looking for a party to join.",0;
+ SF_doBroadcast $@kebc_partyCost,@map$,"The "+jobname(class)+" "+strcharinfo(0)+" (levels "+baselevel+"/"+joblevel+") is looking for a party to join.",0;
break;
case 3: //Pvp
if ($@kewp_advanced == 0)
@@ -204,21 +204,21 @@ function SF_bcPvp {
"- advertise 'Room Compass'"
)) {
case 2: //Sandwich
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Sandwich'!",0;
+ SF_doBroadcast @pvpcost,@map$,"The "+jobname(class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Sandwich'!",0;
break;
case 3: //Rockon
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Rock On'!",0;
+ SF_doBroadcast @pvpcost,@map$,"The "+jobname(class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Rock On'!",0;
break;
case 4: //Room Four
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Four Room'!",0;
+ SF_doBroadcast @pvpcost,@map$,"The "+jobname(class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Four Room'!",0;
break;
case 5: //Undercross
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Undercross'!",0;
+ SF_doBroadcast @pvpcost,@map$,"The "+jobname(class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Undercross'!",0;
break;
case 6: //Compass
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Compass'!",0;
+ SF_doBroadcast @pvpcost,@map$,"The "+jobname(class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Compass'!",0;
break;
}
} //SF_ end
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_dye.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_dye.txt
index 593d653aa..2cfc9608e 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_dye.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_dye.txt
@@ -3,9 +3,9 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 1.9
+//= 2.0
//===== Compatible With: =====================================
-//= eAthena SVN 3424+
+//= eAthena SVN8637+
//===== Description: =========================================
//= Part of the Kafra Express Script Package.
//= Offers dying of hair, clothes and hair-style adjusts
@@ -13,7 +13,7 @@
//= See config.txt for configuration.
//============================================================
-- script keInit_dye -1,{
+- script keInit_dye {
OnInit: //Load Config
donpcevent "keConfig::OnLoadDye";
end;
@@ -24,26 +24,21 @@ function script F_keStylist {
function SF_inputpalette;
function SF_wheelpalette;
- set @jobClass,callfunc("GF_getJobLevel",class);
- set @maxCDye,0;
-
- switch (@jobClass) {
- case 0:
- set @maxCDye, $@kedy_clothJN;
- break;
- case 1:
- set @maxCDye, $@kedy_clothJ1ST;
- break;
- case 2:
- set @maxCDye, $@kedy_clothJ2ND;
- break;
- case 3:
- set @maxCDye, $@kedy_clothJSN;
- break;
- case 4:
- set @maxCDye, $@kedy_clothJWED;
- break;
- }
+ set @jobClass,eaclass(class);
+ if (@jobClass == -1)
+ set @maxCDye,0;
+ else {
+ if ((@jobClass&EAJ_BASEMASK) == EAJ_NOVICE) {
+ if (@jobClass&EAJL_2)
+ set @maxCDye, $@kedy_clothJSN;
+ else
+ set @maxCDye, $@kedy_clothJN;
+ } else {
+ if (@jobClass&EAJL_2)
+ set @maxCDye, $@kedy_clothJ2ND;
+ else
+ set @maxCDye, $@kedy_clothJ1ST;
+ } }
do {
if ($@kedy_enableHairstyle) {
set @kmenu, select(
@@ -136,4 +131,4 @@ function SF_wheelpalette {
emotion e_lv2;
} //SF_ end
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_jobchange.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_jobchange.txt
index b7c9a7c6c..e14367211 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_jobchange.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_jobchange.txt
@@ -3,9 +3,9 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 3.5
+//= 4.0
//===== Compatible With: =====================================
-//= eAthena SVN R3579+
+//= eAthena SVN R8840+
//===== Description: =========================================
//= Part of the Kafra Express Script Package.
//= Enables job changing through the class trees.
@@ -13,10 +13,10 @@
//===== Additional Comments: =================================
//= See config.txt for configuration.
//= When using Upper Job policy, previous jobs are stored in
-//= the server wide variables kej_class1 and kej_class2
+//= the permanent variables kej_class1 and kej_class2
//============================================================
-- script keInit_jobchange -1,{
+- script keInit_jobchange {
OnInit: //Load Config
donpcevent "keConfig::OnLoadJobChange";
end;
@@ -26,157 +26,116 @@ function script F_keJobChange {
function SF_to1stJob;
function SF_to2ndJob;
+ function SF_getJobIndex;
function SF_getJobNames;
function SF_testChangeJob;
function SF_changeJob;
-
- set @job, callfunc("GF_getJobLevel", class);
- set @upper, Upper; //Because it is changed when rebirthing
+
+ set @job, eaClass(class);
+ set @type, @job&~EAJ_UPPERMASK; //Because it is changed when rebirthing
set @reset, 0; //Base Level is reset only on rebirths
- switch (@job) {
- case 0: //Novices
+ if ((@job&EAJ_BASEMASK) == EAJ_NOVICE)
+ { //Novices
+ if (@job&EAJL_2) //S. Novices
+ goto L_FAIL;
if ($@kejc_skipNovice)
set @jobLv, 0; //jobLv is used again when checking for S.Novice's base level restriction.
else
set @jobLv, 10;
if (SF_testChangeJob(0,0,@jobLv))
SF_to1stJob(0);
- break;
- case 1: //First Classes
+ } else
+ if(@job&EAJL_2){
+ //Second classes
+ if (@job&~EAJ_UPPERMASK) //rebirth/baby
+ goto L_FAIL;
+ if (SF_testChangeJob($@kejc_costRebirth,$@kejc_baseRebirth,$@kejc_jobRebirth)) {
+ set @type, EAJL_UPPER;
+ if ($@kejc_skipNovice)
+ SF_to1stJob(1);
+ else
+ SF_changeJob @job,EAJ_NOVICE_HIGH,0,0,$@kejc_costRebirth,1,$@kejc_rebirthReset;
+ }
+ } else {
+ //First classes
if (SF_testChangeJob($@kejc_cost2ND,$@kejc_base2ND,$@kejc_job2ND))
SF_to2ndJob();
- break;
- case 2: //Second Classes
- if (Upper == 0 && BaseClass != Job_Taekwon) {
- if (SF_testChangeJob($@kejc_costRebirth,$@kejc_baseRebirth,$@kejc_jobRebirth)) {
- set @upper, 1;
- if ($@kejc_skipNovice)
- SF_to1stJob(1);
- else
- SF_changeJob @job,Upper,Job_Novice,1,0,0,$@kejc_costRebirth,1,$@kejc_rebirthReset;
- }
- break;
- }
- default: //Dead End
- callfunc "F_keIntro", e_swt2, "I cannot change you from your current job.";
- break;
}
return;
+L_FAIL:
+ //Dead End
+ callfunc "F_keIntro", e_swt2, "I cannot change you from your current job.";
+ return;
//Handles changing to 1st job.
function SF_to1stJob {
+ setarray @classes[0],
+ EAJ_Acolyte|@type,
+ EAJ_Archer|@type,
+ EAJ_Mage|@type,
+ EAJ_Merchant|@type,
+ EAJ_Swordman|@type,
+ EAJ_Thief|@type,
+ EAJ_Taekwon|@type,
+ EAJ_Super_Novice|@type,
+ EAJ_GunSlinger|@type,
+ EAJ_Ninja|@type;
+
do {
- set @submenu, 1;
- if (@upper == 1 && $@kejc_upperPolicy && kej_class1) {
- switch (kej_class1) {
- case Job_Acolyte:
- set @submenu, 2;
- break;
- case Job_Archer:
- set @submenu, 3;
- break;
- case Job_Mage:
- set @submenu, 4;
- break;
- case Job_Merchant:
- set @submenu, 5;
- break;
- case Job_Swordman:
- set @submenu, 6;
- break;
- case Job_Thief:
- set @submenu, 7;
- break;
- case Job_Taekwon:
- set @submenu, 8;
- break;
- }
+ set @newjob, -1;
+ if (@type == EAJL_UPPER && $@kejc_upperPolicy && kej_class1) {
+ set @newjob, eaclass(kej_class1);
+ set @newjob, (@newjob&EAJ_UPPERMASK)|@type;
+ if (roclass(@newjob) == -1)
+ set @newjob, -1;
+ set @submenu, 1;
}
- if (@submenu == 1) {
- SF_getJobNames 8,Job_Acolyte,Job_Archer,Job_Mage,Job_Merchant,Job_Swordman,Job_Thief,Job_Taekwon,Job_SuperNovice;
- switch (@upper) {
- case 0: //All
- set @submenu, select(
- "- Cancel job change",
- "- "+@name1$,
- "- "+@name2$,
- "- "+@name3$,
- "- "+@name4$,
- "- "+@name5$,
- "- "+@name6$,
- "- "+@name7$,
- "- "+@name8$
- );
- break;
- case 1: //No Taekwon/S.Novice
- set @submenu, select(
- "- Cancel job change",
- "- "+@name1$,
- "- "+@name2$,
- "- "+@name3$,
- "- "+@name4$,
- "- "+@name5$,
- "- "+@name6$
- );
- break;
- case 2: //No Taekwon
- set @submenu, select(
- "- Cancel job change",
- "- "+@name1$,
- "- "+@name2$,
- "- "+@name3$,
- "- "+@name4$,
- "- "+@name5$,
- "- "+@name6$,
- "- "+@name8$
+ if (@newjob == -1) {
+ SF_getJobNames getarraysize(@classes);
+ if (@type&EAJL_UPPER || $@kejc_disable&1)
+ set @names$[7], ""; //No S.Novice
+
+ if (@type&~EAJ_UPPERMASK)
+ { //No TK/NJ/GS for Baby/Advanced
+ set @names$[6], "";
+ set @names$[8], "";
+ set @names$[9], "";
+ } else {
+ if ($@kejc_disable&2) //No TK
+ set @names$[6], "";
+ if ($@kejc_disable&4) //No GS
+ set @names$[8], "";
+ if ($@kejc_disable&8) //No NJ
+ set @names$[9], "";
+ }
+
+ set @submenu, select(
+ "- Cancel job change",
+ @names$[0], @names$[1], @names$[2],
+ @names$[3], @names$[4], @names$[5],
+ @names$[6], @names$[7], @names$[8],
+ @names$[9]
);
- if (@submenu == 8)
- set @submenu, 9;
- break;
+
+ if (@submenu > 1) {
+ if (@submenu == 9 && //S. Novice's own change check.
+ SF_testChangeJob(0,$@kejc_baseSN,@jobLv) == 0)
+ return;
+ set @newjob, @classes[@submenu-2];
}
}
- switch (@submenu) {
- case 2: //Acolyte
- set @newJob,Job_Acolyte;
- set @weapon, $@kejc_wAcolyte;
- break;
- case 3: //Archer
- set @newJob,Job_Archer;
- set @weapon, $@kejc_wArcher;
- break;
- case 4: //Mage
- set @newJob,Job_Mage;
- set @weapon, $@kejc_wMage;
- break;
- case 5: //Merchant
- set @newJob,Job_Merchant;
- set @weapon, $@kejc_wMerchant;
- break;
- case 6: //Swordman
- set @newJob,Job_Swordman;
- set @weapon, $@kejc_wSwordman;
- break;
- case 7: //Thief
- set @newJob,Job_Thief;
- set @weapon, $@kejc_wThief;
- break;
- case 8: //Taekwon
- set @newJob,Job_Taekwon;
- set @weapon, $@kejc_wTaekwon;
- break;
- case 9: //S. Novice
- set @newJob,Job_SuperNovice;
- set @weapon, $@kejc_wSuperNovice;
- if (SF_testChangeJob(0,$@kejc_baseSN,@jobLv) == 0)
- return;
- break;
- }
- if (@submenu > 1) {
+
+ if (@newjob > -1) {
+ set @i, SF_getJobIndex(@newjob);
+ if (@i > -1)
+ set @weapon, $@kejc_weapon1[@i];
+ else
+ set @weapon, 0;
if (getarg(0)) { //Skipping High Novice, charge rebirth costs.
- if (SF_changeJob(@job,Upper,@newJob,1,@weapon,0,$@kejc_costRebirth,2,$@kejc_rebirthReset))
+ if (SF_changeJob(@job,@newJob,@weapon,0,$@kejc_costRebirth,2,$@kejc_rebirthReset))
return;
} else {
- if (SF_changeJob(@job,Upper,@newJob,@upper,@weapon,0,0,2,0))
+ if (SF_changeJob(@job,@newJob,@weapon,0,0,2,0))
return;
}
}
@@ -185,179 +144,50 @@ function SF_to1stJob {
function SF_to2ndJob {
do {
- set @submenu, 1;
- if (@upper == 1 && $@kejc_upperPolicy && kej_class2) {
- switch (kej_class2) {
- case Job_Priest:
- case Job_Hunter:
- case Job_Wizard:
- case Job_Blacksmith:
- case Job_Knight:
- case Job_Knight2:
- case Job_Assassin:
- case Job_Star_Gladiator:
- case Job_Star_Gladiator2:
- set @submenu, 2;
- break;
- case Job_Monk:
- case Job_Bard:
- case Job_Dancer:
- case Job_Sage:
- case Job_Alchem:
- case Job_Crusader:
- case Job_Crusader2:
- case Job_Rogue:
- case Job_Soul_Linker:
- set @submenu, 3;
- break;
- }
+ set @newjob, -1;
+ if (@type == EAJL_UPPER && $@kejc_upperPolicy && kej_class2) {
+ set @newjob, eaclass(kej_class2);
+ set @newjob, (@newjob&EAJ_UPPERMASK)|@type;
+ if (roclass(@newjob) == -1)
+ set @newjob, -1; //Invalid class.
+ else
+ if ((@newjob&EAJ_BASEMASK) != (@job&EAJ_BASEMASK))
+ set @newjob, -1; //Saved next job does not corresponds to current 1st!
}
- if (@submenu == 1) { //Fetch from menu.
- switch (BaseClass) {
- case Job_Acolyte:
- SF_getJobNames 2,Job_Priest,Job_Monk;
- break;
- case Job_Archer:
- SF_getJobNames 3,Job_Hunter,Job_Bard,Job_Dancer;
- if (sex == 0)
- set @name2$, @name3$;
- break;
- case Job_Mage:
- SF_getJobNames 2,Job_Wizard,Job_Sage;
- break;
- case Job_Merchant:
- SF_getJobNames 2,Job_Blacksmith,Job_Alchem;
- break;
- case Job_Swordman:
- SF_getJobNames 2,Job_Knight,Job_Crusader;
- break;
- case Job_Thief:
- SF_getJobNames 2,Job_Assassin,Job_Rogue;
- break;
- case Job_Taekwon:
- SF_getJobNames 2,Job_Star_Gladiator,Job_Soul_Linker;
- break;
- default:
- callfunc "F_keIntro", e_swt2, "I don't know how to change you from your current job.";
+ if (@newjob == -1) { //Fetch from menu.
+ setarray @classes[0],
+ (@job&EAJ_UPPERMASK)|@type|EAJL_2_1,
+ (@job&EAJ_UPPERMASK)|@type|EAJL_2_2;
+
+ if (roclass(@classes[0]) == -1)
+ { //Can't upgrade?
+ callfunc "F_keIntro", e_swt2, "I cant' change you from your current job.";
return;
}
+
+ SF_getJobNames 2;
set @submenu, select(
"- Cancel job change",
- "- "+@name1$,
- "- "+@name2$
+ @names$[0],@names$[1]
);
+ if (@submenu > 1)
+ set @newjob, @classes[@submenu-2];
}
- switch (BaseClass) {
- case Job_Acolyte:
- switch (@submenu) {
- case 2: //Priest
- set @newJob,Job_Priest;
- set @weapon,$@kejc_wPriest;
- set @weapon2,$@kejc_w2Priest;
- break;
- case 3: //Monk
- set @newJob,Job_Monk;
- set @weapon,$@kejc_wMonk;
- set @weapon2,$@kejc_w2Monk;
- break;
- }
- break;
- case Job_Archer:
- switch (@submenu) {
- case 2: //Hunter
- set @newJob,Job_Hunter;
- set @weapon,$@kejc_wHunter;
- set @weapon2,$@kejc_w2Hunter;
- break;
- case 3: //Bard/Dancer
- if (sex == 1) { //Bard
- set @newJob,Job_Bard;
- set @weapon,$@kejc_wBard;
- set @weapon2,$@kejc_w2Bard;
- } else { //Dancer
- set @newJob,Job_Dancer;
- set @weapon,$@kejc_wDancer;
- set @weapon2,$@kejc_w2Dancer;
+ if (@newjob > -1) {
+ set @i, SF_getJobIndex(@newjob);
+ if (@i > -1) {
+ if (@newjob&EAJL_2_2) { //2-2 classes
+ set @weapon, $@kejc_weapon_22[@i];
+ set @weapon2,$@kejc_weapon2_22[@i];
+ } else { //2-1 classes
+ set @weapon, $@kejc_weapon_21[@i];
+ set @weapon2,$@kejc_weapon2_21[@i];
}
- break;
- }
- break;
- case Job_Mage:
- switch (@submenu) {
- case 2: //Wizard
- set @newJob,Job_Wizard;
- set @weapon,$@kejc_wWizard;
- set @weapon2,$@kejc_w2Wizard;
- break;
- case 3: //Sage
- set @newJob,Job_Sage;
- set @weapon,$@kejc_wSage;
- set @weapon2,$@kejc_w2Sage;
- break;
- }
- break;
- case Job_Merchant:
- switch (@submenu) {
- case 2: //Blacksmith
- set @newJob,Job_Blacksmith;
- set @weapon,$@kejc_wBlacksmith;
- set @weapon2,$@kejc_w2Blacksmith;
- break;
- case 3: //Alchemist
- set @newJob,Job_Alchem;
- set @weapon,$@kejc_wAlchemist;
- set @weapon2,$@kejc_w2Alchemist;
- break;
- }
- break;
- case Job_Swordman:
- switch (@submenu) {
- case 2: //Knight
- set @newJob,Job_Knight;
- set @weapon,$@kejc_wKnight;
- set @weapon2,$@kejc_w2Knight;
- break;
- case 3: //Crusader
- set @newJob,Job_Crusader;
- set @weapon,$@kejc_wCrusader;
- set @weapon2,$@kejc_w2Crusader;
- break;
- default:
- mes "uh oh";
- break;
- }
- break;
- case Job_Thief:
- switch (@submenu) {
- case 2: //Assassin
- set @newJob,Job_Assassin;
- set @weapon,$@kejc_wAssassin;
- set @weapon2,$@kejc_w2Assassin;
- break;
- case 3: //Rogue
- set @newJob,Job_Rogue;
- set @weapon,$@kejc_wRogue;
- set @weapon2,$@kejc_w2Rogue;
- break;
- }
- break;
- case Job_Taekwon:
- switch (@submenu) {
- case 2: //Star Gladiator
- set @newJob,Job_Star_Gladiator;
- set @weapon,$@kejc_wStarGladiator;
- set @weapon2,$@kejc_w2StarGladiator;
- break;
- case 3: //Soul Linker
- set @newJob,Job_Soul_Linker;
- set @weapon,$@kejc_wSoulLinker;
- set @weapon2,$@kejc_w2SoulLinker;
- break;
+ } else {
+ set @weapon, 0;
+ set @weapon2, 0;
}
- break;
- }
- if (@submenu > 1) {
- if (SF_changeJob(@job,Upper,@newJob,@upper,@weapon,@weapon2,$@kejc_cost2ND,0,0))
+ if (SF_changeJob(@job,@newJob,@weapon,@weapon2,$@kejc_cost2ND,0,0))
return;
}
} while (@submenu > 1);
@@ -370,9 +200,9 @@ function SF_testChangeJob {
if (Zeny < getarg(0))
set @fail, 1;
if (BaseLevel < getarg(1))
- set @fail, @fail+2;
+ set @fail, @fail|2;
if (JobLevel < getarg(2))
- set @fail, @fail+4;
+ set @fail, @fail|4;
if (@fail > 0) {
if (@fail&1)
mes "You need "+getarg(0)+"z for the conversion process.";
@@ -391,11 +221,11 @@ function SF_testChangeJob {
return 1;
}
-//SubFunction: SF_changeJob (CurrentJobLv, CurrentJobType, NewJobBase, NewJobType
-//Weapon, Weapon2, Zeny, WipeSkills, ResetLv)
+//SubFunction: SF_changeJob (CurrentJob, NewJob, Weapon, Weapon2,
+// Zeny, WipeSkills, ResetLv)
//Attempts to change to the Jobgiven.
-//CurrentJobLv is 0-3 (novice, 1st class, 2nd class, s.novice)
-//Type is 0-2 (Normal, Advanced Class, Baby)
+//CurrentJob is actual job in eA format.
+//NewJob is job to change to in eA format.
//Weapon is the ID of the weapon to grant
//Weapon2 is the alternative weapon granted when your job level is above $@kejc_wBonusLv
//Zeny is the money required (if negative, it is money awarded)
@@ -404,18 +234,23 @@ function SF_testChangeJob {
//Reset Level indicates the base lv must be reset to 1.
//Note: Zeny/Base/Job requirements should had been checked with SF_testChangeJob already!
function SF_changeJob {
- set @newjob,getarg(2);
- set @newtype,getarg(3);
- set @weapon,getarg(4);
- set @weapon2,getarg(5);
- set @cost,getarg(6);
- set @wipeSkill,getarg(7);
- set @resetLv,getarg(8);
+ set @job, getarg(0);
+ set @newjob,getarg(1);
+ set @weapon,getarg(2);
+ set @weapon2,getarg(3);
+ set @cost,getarg(4);
+ set @wipeSkill,getarg(5);
+ set @resetLv,getarg(6);
+
+ if (roclass(@newjob) == -1) { //Invalid job?
+ callfunc "F_keIntro", -1, "I can't change you to this job...";
+ return 0;
+ }
- set @jobStr$, callfunc("GF_getJobName2",@newjob, @newtype);
+ set @jobStr$, jobname(roclass(@newjob));
if (@wipeSkill == 0 && SkillPoint > 0 && $@kejc_skillsPolicy == 1) {
set @selection, select(
- "- Do not change yet",
+ "- Do not change yet.",
"- Change to "+@jobStr$+" (skill points lost)",
"- View details"
);
@@ -441,14 +276,14 @@ function SF_changeJob {
if (@cost > 0)
mes "- You will be charged "+@cost+"z.";
else if (@cost < 0)
- mes "- You will be aided with "+(0-@cost)+"z.";
+ mes "- You will be awarded with "+(0-@cost)+"z.";
if (@weapon > 0) {
if (@weapon2 > 0 && $@kejc_wBonusLv) {
if (JobLevel < $@kejc_wBonusLv) {
mes "- You will receive a "+getitemname(@weapon)+"["+getitemslots(@weapon)+"].";
- mes "- If you wait until Job Lv"+$@kejc_wBonusLv+", you can receive instead a "+getitemname(@weapon2)+"["+getitemslots(@weapon)+"].";
+ mes "- If you wait until Job Lv"+$@kejc_wBonusLv+", you can receive instead a "+getitemname(@weapon2)+"["+getitemslots(@weapon2)+"].";
} else {
- mes "- You will receive a "+getitemname(@weapon2)+"["+getitemslots(@weapon)+"] for reaching Job Lv"+$@kejc_wBonusLv+".";
+ mes "- You will receive a "+getitemname(@weapon2)+"["+getitemslots(@weapon2)+"] for reaching Job Lv"+$@kejc_wBonusLv+".";
}
} else
mes "- You will receive a "+getitemname(@weapon)+".";
@@ -465,16 +300,15 @@ function SF_changeJob {
case 2: //Change
//Set/Unset job path variables as needed.
if($@kejc_upperPolicy) {
- set @class,getarg(0);
- set @type, getarg(1);
- if(@class == 1 && @type == 0)
+ if((@job&EAJ_BASEMASK) == @job && @job != EAJ_NOVICE)
set kej_class1,class; //Advancing to second class, so...
- if(@class == 2)
+ if(@job&EAJL_2)
set kej_class2,class; //Only way of being here is by doing a rebirth
- if(@type > 0)
+ if(@job&~EAJ_UPPERMASK) {
set kej_class1,0; //Clear when one is a high class
- if(@type > 0 && @class == 1)
- set kej_class2,0; //Clear when leaving high 1st class
+ if(@job&~EAJL_2 && @job&EAJ_BASEMASK != EAJ_NOVICE)
+ set kej_class2,0; //Clear when leaving high 1st class
+ }
}
if (@resetLv) {
jobchange Job_Novice_High; //Done to give players those 100 points from High classes
@@ -490,44 +324,62 @@ function SF_changeJob {
skill 1,9,0;
if($@kejc_resetDye)
setlook 7,0;
- jobchange @newjob, @newtype;
- if ($@kejc_announce)
- announce strcharinfo(0)+" has been promoted to "+@jobStr$+"!",8;
- set Zeny,Zeny-@cost;
if ($@kejc_weaponPolicy && @weapon > 0) {
- if ($@kejc_wBonusLv && @weapon2 > 0) {
- if (JobLevel < $@kejc_wBonusLv)
- getitem @weapon,1;
- else
- getitem @weapon2,1;
- } else
+ if ($@kejc_wBonusLv && @weapon2 > 0 && JobLevel >= $@kejc_wBonusLv)
+ getitem @weapon2,1;
+ else
getitem @weapon,1;
}
+ jobchange roclass(@newjob);
+ if ($@kejc_announce)
+ announce strcharinfo(0)+" has been promoted to "+@jobStr$+"!",8;
+ set Zeny,Zeny-@cost;
emotion e_grat;
return 1;
default: //Cancel...
- callfunc "F_keIntro", e_dots, "...alright.";
return 0;
}
}
-//SubFunction: SF_getJobNames(Qty, Jobid1, Jobid2,...)
-//Workaround until eA gets a fix for the bug where you can't use callfunc or
-//callsub within a menu
-function SF_getJobNames {
- switch (getarg(0)) {
- case 8:
- set @name8$, callfunc("GF_getJobName2",getarg(8),@upper);
- set @name7$, callfunc("GF_getJobName2",getarg(7),@upper);
- set @name6$, callfunc("GF_getJobName2",getarg(6),@upper);
- set @name5$, callfunc("GF_getJobName2",getarg(5),@upper);
- set @name4$, callfunc("GF_getJobName2",getarg(4),@upper);
- case 3:
- set @name3$, callfunc("GF_getJobName2",getarg(3),@upper);
- case 2:
- set @name2$, callfunc("GF_getJobName2",getarg(2),@upper);
- set @name1$, callfunc("GF_getJobName2",getarg(1),@upper);
+
+//SubFunction: SF_getJobIndex(Job)
+//Given a job in eA format, retrieves the basic index which is used for the
+//config arrays.
+function SF_getJobIndex {
+ set @i, getarg(0);
+ set @i, @i&EAJ_BASEMASK;
+ switch (@i) {
+ case EAJ_ACOLYTE:
+ return 0;
+ case EAJ_ARCHER:
+ return 1;
+ case EAJ_MAGE:
+ return 2;
+ case EAJ_MERCHANT:
+ return 3;
+ case EAJ_SWORDMAN:
+ return 4;
+ case EAJ_THIEF:
+ return 5;
+ case EAJ_TAEKWON:
+ return 6;
+ case EAJ_NOVICE: //Super Novice, actually
+ return 7;
+ case EAJ_GUNSLINGER:
+ return 8;
+ case EAJ_NINJA:
+ return 9;
+ default:
+ return -1;
}
- return;
}
-} \ No newline at end of file
+//SubFunction: SF_getJobNames(Qty)
+//Fills an array @names$ with the job names taken from the array "classes",
+// making each entry start with "- " followed by the job name.
+function SF_getJobNames {
+ set @size, getarg(0);
+ for (set @i, 0; @i < @size; set @i, @i+1)
+ setd "@names$["+@i+"]", "- "+jobname(roclass(@classes[@i]));
+}
+
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt
index ec37a26c8..7e22b5355 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_jobswap.txt
@@ -3,9 +3,9 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 3.4
+//= 3.8
//===== Compatible With: =====================================
-//= eAthena SVN R7896+
+//= eAthena SVN8840+
//===== Description: =========================================
//= Part of the Kafra Express Script Package.
//= Enables job changing among classes of the same 'type'
@@ -19,7 +19,7 @@
//= kej_prev_dye (cloth dye)
//============================================================
-- script keInit_jobSwap -1,{
+- script keInit_jobSwap {
OnInit: //Load Config
donpcevent "keConfig::OnLoadJobSwap";
end;
@@ -36,18 +36,11 @@ function SF_testSwap;
function SF_swapJob;
function SF_getJobNames;
- set @thisLevel, callfunc("GF_getJobLevel", Class);
-
- set @prevId, kej_prev_job;
+ set @thisJob, eaclass(Class);
+ set @type, @thisJob&~EAJ_UPPERMASK;
+ set @prevJob, eaclass(kej_prev_job);
set @prevLv, kej_prev_joblv;
- set @prevLevel, 0;
- set @prevType, 0;
-
- if ($@kejs_revertPolicy && @prevId && @prevLv) {
- set @prevLevel, callfunc("GF_getJobLevel", @prevId);
- set @prevType, callfunc("GF_getJobType", @prevId);
- }
-
+
if (SF_canRevert())
{ //Qualifies for Reverting
do {
@@ -62,7 +55,7 @@ function SF_getJobNames;
return;
break;
case 3: //Switch
- if (SF_switch() == 0)
+ if (SF_switch())
return;
break;
}
@@ -80,166 +73,170 @@ function SF_getJobNames;
//SubFunction SF_canRevert, specifies if the character can revert to previous job.
function SF_canRevert {
- if ($@kejs_revertPolicy == 0 || @prevId == 0 || (Upper == 2 && @prevType != 2))
+ if ($@kejs_revertPolicy == 0 || @prevLv == 0 ||
+ (@thisJob&EAJL_BABY != @prevJob&EAJL_BABY))
return 0;
- if((@thisLevel == @prevLevel && Upper == @prevType) || $@kejs_revertPolicy == 2)
+
+ if ($@kejs_revertPolicy == 2)
return 1;
- if ($@kejs_SNpolicy && @prevType == Upper && ((@prevLevel == 3 && @thisLevel == 1) || (@prevLevel == 1 && @thisLevel == 3)))
+
+ if ((@thisJob&EAJ_BASEMASK) == EAJ_NOVICE)
+ {
+ if ($@kejs_disable&1)
+ return 0;
+ if (@prevJob&(EAJL_UPPER|EAJL_2))
+ return 0;
return 1;
- return 0;
+ }
+
+ if ((@prevJob&EAJ_BASEMASK) == EAJ_NOVICE)
+ {
+ if ($@kejs_disable&1)
+ return 0;
+
+ if (@thisJob&(EAJL_UPPER|EAJL_2))
+ return 0;
+ return 1;
+ }
+
+ if (@thisJob&~EAJ_UPPERMASK != @prevJob&~EAJ_UPPERMASK)
+ return 0;
+
+ if (@thisJob&EAJL_2 && !(@prevJob&EAJL_2))
+ return 0;
+
+ if (@prevJob&EAJL_2 && !(@thisJob&EAJL_2))
+ return 0;
+
+ return 1;
}
//SubFunction SF_canSwitch, specifies if character can change to another job.
function SF_canSwitch {
- if (@thisLevel == 3)
- return $@kejs_SNpolicy;
- if (@thisLevel == 1 || @thisLevel == 2)
- return 1;
- return 0;
+ switch(@thisJob&EAJ_BASEMASK) {
+ case EAJ_NOVICE:
+ if ($@kejs_disable&1 || !@thisJob&EAJL_2)
+ return 0;
+ break;
+ case EAJ_TAEKWON:
+ if ($@kejs_disable&2)
+ return 0;
+ break;
+ case EAJ_GUNSLINGER:
+ if ($@kejs_disable&4)
+ return 0;
+ break;
+ case EAJ_NINJA:
+ if ($@kejs_disable&8)
+ return 0;
+ break;
+ }
+ return 1;
}
//Sub Function SF_switch. Presents the switch job menu. Returns 1 only if the
//menu was left by picking "Cancel".
function SF_switch {
- switch (@thisLevel) {
- case 1:
- case 3: //First Classes
+ if (@thisJob&EAJL_2 && (@thisJob&EAJ_BASEMASK) != EAJ_NOVICE) {
+ //Second Classes
+ set @cost, SF_calcSwapCost($@kejs_job2ND, $@kejs_cost2ND, $@kejs_discount2ND);
+ set @preserve, $@kejs_preserve2ND;
+ if (!SF_testSwap($@kejs_job2ND, @cost))
+ return 0;
+
+ setarray @classes[0],
+ EAJ_Assassin|@type,
+ EAJ_Rogue|@type,
+ EAJ_Blacksmith|@type,
+ EAJ_Alchemist|@type,
+ EAJ_Hunter|@type,
+ EAJ_BardDancer|@type,
+ EAJ_Knight|@type,
+ EAJ_Crusader|@type,
+ EAJ_Priest|@type,
+ EAJ_Monk|@type,
+ EAJ_Wizard|@type,
+ EAJ_Sage|@type,
+ EAJ_Star_Gladiator|@type,
+ EAJ_Soul_Linker|@type;
+
+ SF_getJobNames getarraysize(@classes);
+
+ if (@type || $@kejs_disable&2)
+ { //No SG/SL
+ set @names$[12], "";
+ set @names$[13], "";
+ }
+
+ do {
+ set @kmenu, select(
+ "- Cancel job change",
+ @names$[0], @names$[1], @names$[2], @names$[3],
+ @names$[4], @names$[5], @names$[6], @names$[7],
+ @names$[8], @names$[9], @names$[10], @names$[11],
+ @names$[12], @names$[13]
+ );
+
+ if (@kmenu > 1) {
+ set @job, roclass(@classes[@kmenu-2]);
+ if (@job > -1 && SF_swapJob(@job,@cost,@preserve))
+ return 1;
+ }
+ } while (@kmenu > 1);
+ return 0;
+ } else {
+ //First Classes
set @cost, SF_calcSwapCost($@kejs_job1ST, $@kejs_cost1ST, $@kejs_discount1ST);
set @preserve, $@kejs_preserve1ST;
- if (SF_testSwap($@kejs_job1ST, @cost)) {
- do {
- if ($@kejs_SNpolicy && Upper != 1) { //S. Novice Menu
- SF_getJobNames 7,Job_Acolyte,Job_Archer,Job_Mage,Job_Merchant,Job_Swordman,Job_Thief,Job_SuperNovice;
- set @kmenu, select(
- "- Cancel job swap",
- "- "+@name1$,"- "+@name2$,"- "+@name3$,"- "+@name4$,"- "+@name5$,"- "+@name6$,"- "+@name7$
- );
- } else {
- SF_getJobNames 6,Job_Acolyte,Job_Archer,Job_Mage,Job_Merchant,Job_Swordman,Job_Thief;
- set @kmenu, select(
- "- Cancel job swap",
- "- "+@name1$,"- "+@name2$,"- "+@name3$,"- "+@name4$,"- "+@name5$,"- "+@name6$
- );
- }
- switch (@kmenu) {
- case 2: //Acolyte
- if (SF_swapJob(callfunc("GF_getJobId", Job_Acolyte, Upper),@cost,@preserve))
- return 0;
- break;
- case 3: //Archer
- if (SF_swapJob(callfunc("GF_getJobId", Job_Archer, Upper),@cost,@preserve))
- return 0;
- break;
- case 4: //Mage
- if (SF_swapJob(callfunc("GF_getJobId", Job_Mage, Upper),@cost,@preserve))
- return 0;
- break;
- case 5: //Merchant
- if (SF_swapJob(callfunc("GF_getJobId", Job_Merchant, Upper),@cost,@preserve))
- return 0;
- break;
- case 6: //Swordman
- if (SF_swapJob(callfunc("GF_getJobId", Job_Swordman, Upper),@cost,@preserve))
- return 0;
- break;
- case 7: //Thief
- if (SF_swapJob(callfunc("GF_getJobId", Job_Thief, Upper),@cost,@preserve))
- return 0;
- break;
- case 8: //S. Novice
- if (SF_swapJob(callfunc("GF_getJobId", Job_SuperNovice, Upper),@cost,@preserve))
- return 0;
- break;
- }
- } while (@kmenu > 1);
- return 1;
- }
- break;
+ if (!SF_testSwap($@kejs_job1ST, @cost))
+ return 0;
+ setarray @classes[0],
+ EAJ_Acolyte|@type,
+ EAJ_Archer|@type,
+ EAJ_Mage|@type,
+ EAJ_Merchant|@type,
+ EAJ_Swordman|@type,
+ EAJ_Thief|@type,
+ EAJ_Taekwon|@type,
+ EAJ_Super_Novice|@type,
+ EAJ_GunSlinger|@type,
+ EAJ_Ninja|@type;
- case 2: //Second Classes
- set @cost, SF_calcSwapCost($@kejs_job2ND, $@kejs_cost2ND, $@kejs_discount2ND);
- set @preserve, $@kejs_preserve2ND;
- if (SF_testSwap($@kejs_job2ND, @cost)) {
- do {
- if (sex == 1) {
- SF_getJobNames 12,Job_Alchem,Job_Assassin,Job_Bard,Job_Blacksmith,Job_Crusader,Job_Hunter,Job_Knight,Job_Monk,Job_Priest,Job_Rogue,Job_Sage,Job_Wizard;
- set @kmenu, select(
- "- Cancel job change",
- "- "+@name1$,"- "+@name2$,"- "+@name3$,"- "+@name4$,"- "+@name5$,"- "+@name6$,
- "- "+@name7$,"- "+@name8$,"- "+@name9$,"- "+@name10$,"- "+@name11$,"- "+@name12$
- );
- if (@kmenu >= 7) //Dancer should be at pos 7.
- set @kmenu, @kmenu+1;
- } else {
- SF_getJobNames 12,Job_Alchem,Job_Assassin,Job_Blacksmith,Job_Crusader,Job_Dancer,Job_Hunter,Job_Knight,Job_Monk,Job_Priest,Job_Rogue,Job_Sage,Job_Wizard;
- set @kmenu, select(
- "- Cancel job change",
- "- "+@name1$,"- "+@name2$,"- "+@name3$,"- "+@name4$,"- "+@name5$,"- "+@name6$,
- "- "+@name7$,"- "+@name8$,"- "+@name9$,"- "+@name10$,"- "+@name11$,"- "+@name12$
- );
- if (@kmenu >= 4) //Bard should be at pos 4.
- set @kmenu, @kmenu+1;
- }
- switch (@kmenu)
- {
- case 2: //ALCHEMIST
- if (SF_swapJob(callfunc("GF_getJobId", Job_Alchem, Upper),@cost,@preserve))
- return 0;
- break;
- case 3: //ASSASSIN
- if (SF_swapJob(callfunc("GF_getJobId", Job_Assassin, Upper),@cost,@preserve))
- return 0;
- break;
- case 4: //BARD
- if (SF_swapJob(callfunc("GF_getJobId", Job_Bard, Upper),@cost,@preserve))
- return 0;
- break;
- case 5: //BLACKSMITH
- if (SF_swapJob(callfunc("GF_getJobId", Job_Blacksmith, Upper),@cost,@preserve))
- return 0;
- break;
- case 6: //CRUSADER
- if (SF_swapJob(callfunc("GF_getJobId", Job_Crusader, Upper),@cost,@preserve))
- return 0;
- break;
- case 7: //DANCER
- if (SF_swapJob(callfunc("GF_getJobId", Job_Dancer, Upper),@cost,@preserve))
- return 0;
- break;
- case 8: //HUNTER
- if (SF_swapJob(callfunc("GF_getJobId", Job_Hunter, Upper),@cost,@preserve))
- return 0;
- break;
- case 9: //KNIGHT
- if (SF_swapJob(callfunc("GF_getJobId", Job_Knight, Upper),@cost,@preserve))
- return 0;
- break;
- case 10: //MONK
- if (SF_swapJob(callfunc("GF_getJobId", Job_Monk, Upper),@cost,@preserve))
- return 0;
- break;
- case 11: //PRIEST
- if (SF_swapJob(callfunc("GF_getJobId", Job_Priest, Upper),@cost,@preserve))
- return 0;
- break;
- case 12: //ROGUE
- if (SF_swapJob(callfunc("GF_getJobId", Job_Rogue, Upper),@cost,@preserve))
- return 0;
- break;
- case 13: //SAGE
- if (SF_swapJob(callfunc("GF_getJobId", Job_Sage, Upper),@cost,@preserve))
- return 0;
- break;
- case 14: //WIZARD
- if (SF_swapJob(callfunc("GF_getJobId", Job_Wizard, Upper),@cost,@preserve))
- return 0;
- break;
- }
- } while (@kmenu > 1);
- return 1;
+ SF_getJobNames getarraysize(@classes);
+
+ if ($@kejs_disable&1 || @type&EAJL_UPPER)
+ set @names$[7], ""; //No S.Novice
+ if (@type)
+ { //No TK/NJ/GS for Baby/Advanced
+ set @names$[6], "";
+ set @names$[8], "";
+ set @names$[9], "";
+ } else {
+ if ($@kejs_disable&2) //No TK
+ set @names$[6], "";
+ if ($@kejs_disable&4) //No GS
+ set @names$[8], "";
+ if ($@kejs_disable&8) //No NJ
+ set @names$[9], "";
}
+
+ do {
+ set @kmenu, select(
+ "- Cancel job swap",
+ @names$[0], @names$[1], @names$[2],
+ @names$[3], @names$[4], @names$[5],
+ @names$[6], @names$[7], @names$[8],
+ @names$[9]
+ );
+
+ if (@kmenu > 1) {
+ set @job, roclass(@classes[@kmenu-2]);
+ if (@job > -1 && SF_swapJob(@job,@cost,@preserve))
+ return 0;
+ }
+ } while (@kmenu > 1);
+ return 0;
}
- return 0;
}
//SubFunction: SF_calcSwapCost (MinJob, BaseCost, Discount)
@@ -282,8 +279,8 @@ function SF_swapJob {
return 0;
}
- set @newJob$, callfunc("GF_getJobName",@newjobId);
- set @oldJob$, callfunc("GF_getJobName",Class);
+ set @newJob$, jobname(@newjobId);
+ set @oldJob$, jobname(Class);
set @newjoblv, JobLevel*@preserve/100;
if (@newjoblv > 1) {
@@ -296,10 +293,10 @@ function SF_swapJob {
}
set @basic, getSkilllv(1);
- set @preserve, skillpointcount() -JobLevel -@basic +@newjoblv; //Preserve holds the final amount of SkillPoints you should have.
+ set @skillpoint, skillpointcount() -JobLevel -@basic +@newjoblv; //Preserve holds the final amount of SkillPoints you should have.
- if (@preserve < 0) {
- callfunc "F_keIntro", e_gasp, "You need "+(-@preserve)+" more skill points to change class!";
+ if (@skillpoint < 0) {
+ callfunc "F_keIntro", e_gasp, "You need "+(-@skillpoint)+" more skill points to change class!";
return 0;
}
@@ -311,6 +308,8 @@ function SF_swapJob {
set kej_prev_job, Class;
set kej_prev_joblv, @thisJoblevel;
set kej_prev_skills, SkillPoint;
+ if($@kejs_saveDye)
+ set kej_prev_dye,getlook(7);
}
if ($@kejs_announce)
announce strcharinfo(0)+" has changed from "+@oldJob$+" to "+@newJob$+"...",16;
@@ -320,10 +319,10 @@ function SF_swapJob {
jobchange @newjobId, 0;
skill 1,@basic,0;
set JobLevel, @newjoblv;
- set SkillPoint, @preserve;
+ set SkillPoint, @skillpoint;
setoption(0);
sc_end -1;
- callfunc "F_keCharge",getarg(2),$@kejs_swapDiscount,1;
+ callfunc "F_keCharge",getarg(1),$@kejs_swapDiscount,1;
emotion e_ok;
return 1;
@@ -332,11 +331,11 @@ function SF_swapJob {
//SubFunction: SF_revertJob (cost)
//Reverts to the previous job.
function SF_revertJob {
- if (Class == kej_prev_job) {
+ if (@thisJob == @prevJob) {
callfunc "F_keIntro", e_no, "Hmm... You can't go back, because your previous class is the same as your current one??";
return 0;
}
- set @newjob$, callfunc ("GF_getJobName",kej_prev_job);
+ set @newjob$, jobname(kej_prev_job);
set @cost,callfunc("F_keCost",$@kejs_revertCost,$@kejs_revertDiscount);
@@ -377,42 +376,17 @@ function SF_revertJob {
sc_end -1;
if ($@kejs_announce)
- announce strcharinfo(0)+" has changed from "+callfunc ("GF_getJobName",@thisJobId)+" to "+@newjob$+"...",16;
+ announce strcharinfo(0)+" has changed from "+jobname(@thisJobId)+" to "+@newjob$+"...",16;
return 1;
}
-//SubFunction: SF_getJobNames(Qty, Jobid1, Jobid2,...)
-//Workaround until eA gets a fix for the bug where you can't use callfunc or
-//callsub within a menu
+//SubFunction: SF_getJobNames(Qty)
+//Fills an array @names$ with the job names taken from the array "classes",
+// making each entry start with "- " followed by the job name.
function SF_getJobNames {
- switch (getarg(0)) {
- case 12:
- set @name12$, callfunc("GF_getJobName2",getarg(12),Upper);
- case 11:
- set @name11$, callfunc("GF_getJobName2",getarg(11),Upper);
- case 10:
- set @name10$, callfunc("GF_getJobName2",getarg(10),Upper);
- case 9:
- set @name9$, callfunc("GF_getJobName2",getarg(9),Upper);
- case 8:
- set @name8$, callfunc("GF_getJobName2",getarg(8),Upper);
- case 7:
- set @name7$, callfunc("GF_getJobName2",getarg(7),Upper);
- case 6:
- set @name6$, callfunc("GF_getJobName2",getarg(6),Upper);
- case 5:
- set @name5$, callfunc("GF_getJobName2",getarg(5),Upper);
- case 4:
- set @name4$, callfunc("GF_getJobName2",getarg(4),Upper);
- case 3:
- set @name3$, callfunc("GF_getJobName2",getarg(3),Upper);
- case 2:
- set @name2$, callfunc("GF_getJobName2",getarg(2),Upper);
- case 1:
- set @name1$, callfunc("GF_getJobName2",getarg(1),Upper);
- default:
- return;
- }
+ set @size, getarg(0);
+ for (set @i, 0; @i < @size; set @i, @i+1)
+ setd "@names$["+@i+"]", "- "+jobname(roclass(@classes[@i]));
}
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_main.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_main.txt
index 42fcba9b3..79daa71d5 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_main.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_main.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 5.4
+//= 5.7
//===== Compatible With: =====================================
//= eAthena SVN R3424+
//===== Description: =========================================
@@ -23,8 +23,8 @@
function script F_KafraExpress {
set @name$,getarg(0);
set @ke_type,getarg(2);
- if ($@kekp_reset)
- set @kafraPass,0;
+ if ($@kekp_reset && @kafraPass > 0)
+ set @kafraPass,@kafraPass-1;
if (getarg(1) != "")
cutin getarg(1),2;
callfunc "F_keIntro",-1,"";
@@ -352,7 +352,10 @@ function script F_kePass {
return;
}
delitem 1084,1;
- set @kafraPass,1;
+ if ($@kekp_reset > 0)
+ set @kafraPass,$@kekp_reset;
+ else
+ set @kafraPass,1;
callfunc "F_keIntro", e_lv, "Your Kafra Pass has been activated.";
return;
}
@@ -402,4 +405,4 @@ function script F_keWarp {
emotion getarg(2);
warp getarg(3),getarg(4),getarg(5);
end;
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt
index 7fc49fa81..0dca7f49c 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 2.7
+//= 2.8
//===== Compatible With: =====================================
//= eAthena SVN R3424+
//===== Description: =========================================
@@ -14,7 +14,7 @@
//= See config.txt for configuration.
//============================================================
-- script keInit_refine -1,{
+- script keInit_refine {
OnInit: //Load Config
donpcevent "keConfig::OnLoadRefine";
end;
@@ -336,4 +336,4 @@ function SF_sellOres {
} while (@submenu > 1);
}
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_rent.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_rent.txt
index d773a0e53..b2edbba4e 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_rent.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_rent.txt
@@ -13,7 +13,7 @@
//= See config.txt for configuration.
//============================================================
-- script keInit_rent -1,{
+- script keInit_rent {
OnInit: //Load Config
donpcevent "keConfig::OnLoadRent";
end;
@@ -78,4 +78,4 @@ function script F_keRent {
break;
}
return;
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_shop.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_shop.txt
index cd99358cd..b8fdf9f66 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_shop.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_shop.txt
@@ -13,7 +13,7 @@
//= See config.txt for configuration.
//============================================================
-- script keInit_shop -1,{
+- script keInit_shop {
OnInit: //Load Config
donpcevent "keConfig::OnLoadShop";
end;
@@ -63,4 +63,4 @@ function script F_keShop {
cutin getarg(1), 255;
callshop @shop$, @kmenu-1;
end;
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_statmarket.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_statmarket.txt
index d4fb4d147..c5c69624f 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_statmarket.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_statmarket.txt
@@ -13,7 +13,7 @@
//= See config.txt for configuration.
//============================================================
-- script keInit_statmarket -1,{
+- script keInit_statmarket {
OnInit: //Load Config
donpcevent "keConfig::OnLoadStatMarket";
end;
@@ -125,4 +125,4 @@ function script F_keStatMarket {
}
} while (@kmenu > 1);
return;
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt
index 334b06a05..364fbfd37 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_stats.txt
@@ -13,7 +13,7 @@
//= See config.txt for configuration.
//============================================================
-- script keInit_stats -1,{
+- script keInit_stats {
OnInit: //Load Config
donpcevent "keConfig::OnLoadStats";
end;
@@ -127,4 +127,4 @@ function SF_statRaise {
} while (@submenu > 1);
}
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_uncard.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_uncard.txt
index 6e61a49ef..a3b732412 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_uncard.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_uncard.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 1.5
+//= 1.6
//===== Compatible With: =====================================
//= eAthena SVN R3424+
//===== Description: =========================================
@@ -13,7 +13,7 @@
//= See config.txt for configuration.
//============================================================
-- script keInit_uncard -1,{
+- script keInit_uncard {
OnInit: //Load Config
donpcevent "keConfig::OnLoadUncard";
end;
@@ -162,4 +162,4 @@ function SF_uncard {
return 1;
}
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_dungeon.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_dungeon.txt
index 594a32820..9c2f7f0a6 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_dungeon.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_dungeon.txt
@@ -3,12 +3,12 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 3.5
+//= 4.2
//===== Compatible With: =====================================
//= eAthena SVN R3424+, RO Episode 8+ (Hugel)
//===== Description: =========================================
//= Part of the Kafra Express Script Package.
-//= Offers warping to dungeons.
+//= Offers warping to dungeons.
//===== Additional Comments: =================================
//= See config.txt for configuration.
//= Flag values used for dungeons:
@@ -22,7 +22,7 @@
//= 0x00000080 Coal Mines
//= 0x00000100 Culvert
//= 0x00000200 Einbech
-//= 0x00000400 Gefenia
+//= 0x00000400 Kiehl
//= 0x00000800 Geffen
//= 0x00001000 GlastHeim
//= 0x00002000 Gon Ryun
@@ -40,10 +40,12 @@
//= 0x02000000 Toy Factory
//= 0x04000000 Turtle Island
//= 0x08000000 Umbala
-
+//= 0x10000000 Odin Temple
+//= 0x20000000 Ice Cave
+//= 0x40000000 Rachel Temple
//============================================================
-- script keInit_warpDungeon -1,{
+- script keInit_warpDungeon {
OnInit: //Load Config
donpcevent "keConfig::OnLoadWarpDungeon";
end;
@@ -67,12 +69,16 @@ function SF_glastHeim;
function SF_gonRyun;
function SF_hiddenTemple;
function SF_juperos;
+function SF_kiehl;
+function SF_iceCave;
function SF_lightHalzen;
function SF_louYang;
function SF_magma;
+function SF_odin;
function SF_orcs;
function SF_payon;
function SF_pyramid;
+function SF_rachel;
function SF_sphinx;
function SF_sunkenShip;
function SF_thanatosTower;
@@ -86,78 +92,87 @@ function SF_umbala;
if ($@kewd_showOnline) {
set @kmenu, select (
"- Cancel",
- "- Abyss Lake ("+$@kewd_abyssLake*@discount/100+"z/"+(getmapusers("abyss_01")
- +getmapusers("abyss_02")+getmapusers("abyss_03"))+" "+$@ked_users$+")",
- "- Amatsu Dungeon ("+$@kewd_amatsu*@discount/100+"z/"+(getmapusers("ama_dun01")
- +getmapusers("ama_dun02")+getmapusers("ama_dun03"))+" "+$@ked_users$+")",
- "- Ant Hell ("+$@kewd_antHell*@discount/100+"z/"+(getmapusers("anthell01")
- +getmapusers("anthell02"))+" "+$@ked_users$+")",
- "- Ayothaya Ancient Shrine ("+$@kewd_ayothaya*@discount/100+"z/"+(getmapusers("ayo_dun01")
- +getmapusers("ayo_dun02"))+" "+$@ked_users$+")",
- "- Byalan Dungeon ("+$@kewd_byalan*@discount/100+"z/"+(getmapusers("iz_dun00")
- +getmapusers("iz_dun01")+getmapusers("iz_dun02")+getmapusers("iz_dun03")
- +getmapusers("iz_dun04"))+" "+$@ked_users$+")",
- "- Comodo Caves ("+$@kewd_comodo*@discount/100+"z/"+(getmapusers("beach_dun")
- +getmapusers("beach_dun2")+getmapusers("beach_dun3"))+" "+$@ked_users$+")",
- "- Clock Tower ("+$@kewd_clockTower*@discount/100+"z/"+(getmapusers("c_tower1")
- +getmapusers("c_tower2")+getmapusers("c_tower3")+getmapusers("c_tower4")
- +getmapusers("alde_dun01")+getmapusers("alde_dun02")+getmapusers("alde_dun03")
- +getmapusers("alde_dun04"))+" "+$@ked_users$+")",
- "- Coal Mine ("+$@kewd_coalMines*@discount/100+"z/"+(getmapusers("mjo_dun01")
- +getmapusers("mjo_dun02")+getmapusers("mjo_dun03"))+" "+$@ked_users$+")",
- "- Culvert ("+$@kewd_culvert*@discount/100+"z/"+(getmapusers("prt_sewb1")+getmapusers("prt_sewb2")
- +getmapusers("prt_sewb3")+getmapusers("prt_sewb4"))+" "+$@ked_users$+")",
- "- Einbroch Station ("+$@kewd_einbech*@discount/100+"z/"+(getmapusers("ein_dun01")
- +getmapusers("ein_dun02"))+" "+$@ked_users$+")",
- "- Gefenia ("+$@kewd_gefenia*@discount/100+"z/"+(getmapusers("gefenia01")+getmapusers("gefenia02")
- +getmapusers("gefenia03")+getmapusers("gefenia04"))+" "+$@ked_users$+")",
- "- Geffen Dungeon ("+$@kewd_geffen*@discount/100+"z/"+(getmapusers("gef_dun00")
- +getmapusers("gef_dun01")+getmapusers("gef_dun02")+getmapusers("gef_dun03"))+" "+$@ked_users$+")",
- "- Glast Heim ("+$@kewd_glastHeim*@discount/100+"z/"+(getmapusers("gl_cas02")+getmapusers("gl_church")
- +getmapusers("gl_chyard")+getmapusers("gl_dun01")+getmapusers("gl_dun02")
- +getmapusers("gl_in01")+getmapusers("gl_knt01")+getmapusers("gl_knt02")
- +getmapusers("gl_prison")+getmapusers("gl_prison1")+getmapusers("gl_sew01")
- +getmapusers("gl_sew02")+getmapusers("gl_sew03")+getmapusers("gl_sew04")
- +getmapusers("gl_step")+getmapusers("glast_01"))+" "+$@ked_users$+")",
- "- Gon Ryun Dungeon ("+$@kewd_gonRyun*@discount/100+"z/"+(getmapusers("gon_dun01")
- +getmapusers("gon_dun02")+getmapusers("gon_dun03"))+" "+$@ked_users$+")",
- "- Hidden Temple ("+$@kewd_hiddenTemple*@discount/100+"z/"+(getmapusers("prt_maze01")
- +getmapusers("prt_maze02")+getmapusers("prt_maze03"))+" "+$@ked_users$+")",
- "- Juperos ("+$@kewd_juperos*@discount/100+"z/"+(getmapusers("juperos_01")+getmapusers("juperos_02")
- +getmapusers("jupe_area1")+getmapusers("jupe_area2")+getmapusers("jupe_core")
- +getmapusers("jupe_gate")+getmapusers("jupe_area1"))+" "+$@ked_users$+")",
- "- LightHalzen Rekkenber ("+$@kewd_lightHalzen*@discount/100+"z/"+(getmapusers("lhz_dun01")
- +getmapusers("lhz_dun02")+getmapusers("lhz_dun03"))+" "+$@ked_users$+")",
- "- Lou Yang Royal Tomb ("+$@kewd_louYang*@discount/100+"z/"+(getmapusers("lou_dun01")
- +getmapusers("lou_dun02")+getmapusers("lou_dun03"))+" "+$@ked_users$+")",
- "- Magma Dungeon ("+$@kewd_magma*@discount/100+"z/"+(getmapusers("mag_dun01")
- +getmapusers("mag_dun02"))+" "+$@ked_users$+")",
- "- Orc Dungeon ("+$@kewd_orc*@discount/100+"z/"+(getmapusers("orcsdun01")
- +getmapusers("orcsdun02"))+" "+$@ked_users$+")",
- "- Payon Dungeon ("+$@kewd_payon*@discount/100+"z/"+(getmapusers("pay_dun00")
- +getmapusers("pay_dun01")+getmapusers("pay_dun02")+getmapusers("pay_dun03")
- +getmapusers("pay_dun04"))+" "+$@ked_users$+")",
- "- Pyramid ("+$@kewd_pyramid*@discount/100+"z/"+(getmapusers("moc_pryd01")+getmapusers("moc_pryd02")
- +getmapusers("moc_pryd03")+getmapusers("moc_pryd04")+getmapusers("moc_pryd05")
- +getmapusers("moc_pryd06")+getmapusers("moc_prydb1"))+" "+$@ked_users$+")",
- "- Sphinx ("+$@kewd_sphinx*@discount/100+"z/"+(getmapusers("in_sphinx1")
- +getmapusers("in_sphinx2")+getmapusers("in_sphinx3")+getmapusers("in_sphinx4")
- +getmapusers("in_sphinx5"))+" "+$@ked_users$+")",
- "- Sunken Ship ("+$@kewd_sunkenShip*@discount/100+"z/"+(getmapusers("treasure01")
- +getmapusers("treasure02"))+" "+$@ked_users$+")",
- "- Thanatos Tower ("+$@kewd_thanatosTower*@discount/100+"z/"+(getmapusers("tha_t01")
- +getmapusers("tha_t02")+getmapusers("tha_t03")+getmapusers("tha_t04")
- +getmapusers("tha_t05")+getmapusers("tha_t06")+getmapusers("tha_t07")
- +getmapusers("tha_t08")+getmapusers("tha_t09")+getmapusers("tha_t10")
- +getmapusers("tha_t11")+getmapusers("tha_t12")+getmapusers("thana_step")
- +getmapusers("thana_boss"))+" "+$@ked_users$+")",
- "- Toy Factory ("+$@kewd_toyFactory*@discount/100+"z/"+(getmapusers("xmas_dun01")
- +getmapusers("xmas_dun02"))+" "+$@ked_users$+")",
- "- Turtle Island ("+$@kewd_turtleIsland*@discount/100+"z/"+(getmapusers("tur_dun01")
- +getmapusers("tur_dun02")+getmapusers("tur_dun03")+getmapusers("tur_dun04")
- +getmapusers("tur_dun05")+getmapusers("tur_dun06"))+" "+$@ked_users$+")",
- "- Umbala Dungeon ("+$@kewd_umbala*@discount/100+"z/"+(getmapusers("um_dun01")
- +getmapusers("um_dun02"))+" "+$@ked_users$+")"
+ "- Abyss Lake ("+$@kewd_abyssLake*@discount/100+"z/"+(getmapusers("abyss_01.gat")
+ +getmapusers("abyss_02.gat")+getmapusers("abyss_03.gat"))+" "+$@ked_users$+")",
+ "- Amatsu Dungeon ("+$@kewd_amatsu*@discount/100+"z/"+(getmapusers("ama_dun01.gat")
+ +getmapusers("ama_dun02.gat")+getmapusers("ama_dun03.gat"))+" "+$@ked_users$+")",
+ "- Ant Hell ("+$@kewd_antHell*@discount/100+"z/"+(getmapusers("anthell01.gat")
+ +getmapusers("anthell02.gat"))+" "+$@ked_users$+")",
+ "- Ayothaya Ancient Shrine ("+$@kewd_ayothaya*@discount/100+"z/"+(getmapusers("ayo_dun01.gat")
+ +getmapusers("ayo_dun02.gat"))+" "+$@ked_users$+")",
+ "- Byalan Dungeon ("+$@kewd_byalan*@discount/100+"z/"+(getmapusers("iz_dun00.gat")
+ +getmapusers("iz_dun01.gat")+getmapusers("iz_dun02.gat")+getmapusers("iz_dun03.gat")
+ +getmapusers("iz_dun04.gat"))+" "+$@ked_users$+")",
+ "- Comodo Caves ("+$@kewd_comodo*@discount/100+"z/"+(getmapusers("beach_dun.gat")
+ +getmapusers("beach_dun2.gat")+getmapusers("beach_dun3.gat"))+" "+$@ked_users$+")",
+ "- Clock Tower ("+$@kewd_clockTower*@discount/100+"z/"+(getmapusers("c_tower1.gat")
+ +getmapusers("c_tower2.gat")+getmapusers("c_tower3.gat")+getmapusers("c_tower4.gat")
+ +getmapusers("alde_dun01.gat")+getmapusers("alde_dun02.gat")+getmapusers("alde_dun03.gat")
+ +getmapusers("alde_dun04.gat"))+" "+$@ked_users$+")",
+ "- Coal Mine ("+$@kewd_coalMines*@discount/100+"z/"+(getmapusers("mjo_dun01.gat")
+ +getmapusers("mjo_dun02.gat")+getmapusers("mjo_dun03.gat"))+" "+$@ked_users$+")",
+ "- Culvert ("+$@kewd_culvert*@discount/100+"z/"+(getmapusers("prt_sewb1.gat")+getmapusers("prt_sewb2.gat")
+ +getmapusers("prt_sewb3.gat")+getmapusers("prt_sewb4.gat"))+" "+$@ked_users$+")",
+ "- Einbroch Station ("+$@kewd_einbech*@discount/100+"z/"+(getmapusers("ein_dun01.gat")
+ +getmapusers("ein_dun02.gat"))+" "+$@ked_users$+")",
+ "- Gefenia ("+$@kewd_gefenia*@discount/100+"z/"+(getmapusers("gefenia01.gat")+getmapusers("gefenia02.gat")
+ +getmapusers("gefenia03.gat")+getmapusers("gefenia04.gat"))+" "+$@ked_users$+")",
+ "- Geffen Dungeon ("+$@kewd_geffen*@discount/100+"z/"+(getmapusers("gef_dun00.gat")
+ +getmapusers("gef_dun01.gat")+getmapusers("gef_dun02.gat")+getmapusers("gef_dun03.gat"))+" "+$@ked_users$+")",
+ "- Glast Heim ("+$@kewd_glastHeim*@discount/100+"z/"+(getmapusers("gl_cas02.gat")+getmapusers("gl_church.gat")
+ +getmapusers("gl_chyard.gat")+getmapusers("gl_dun01.gat")+getmapusers("gl_dun02.gat")
+ +getmapusers("gl_in01.gat")+getmapusers("gl_knt01.gat")+getmapusers("gl_knt02.gat")
+ +getmapusers("gl_prison.gat")+getmapusers("gl_prison1.gat")+getmapusers("gl_sew01.gat")
+ +getmapusers("gl_sew02.gat")+getmapusers("gl_sew03.gat")+getmapusers("gl_sew04.gat")
+ +getmapusers("gl_step.gat")+getmapusers("glast_01.gat"))+" "+$@ked_users$+")",
+ "- Gon Ryun Dungeon ("+$@kewd_gonRyun*@discount/100+"z/"+(getmapusers("gon_dun01.gat")
+ +getmapusers("gon_dun02.gat")+getmapusers("gon_dun03.gat"))+" "+$@ked_users$+")",
+ "- Hidden Temple ("+$@kewd_hiddenTemple*@discount/100+"z/"+(getmapusers("prt_maze01.gat")
+ +getmapusers("prt_maze02.gat")+getmapusers("prt_maze03.gat"))+" "+$@ked_users$+")",
+ "- Juperos ("+$@kewd_juperos*@discount/100+"z/"+(getmapusers("juperos_01.gat")+getmapusers("juperos_02.gat")
+ +getmapusers("jupe_area1.gat")+getmapusers("jupe_area2.gat")+getmapusers("jupe_core.gat")
+ +getmapusers("jupe_gate.gat")+getmapusers("jupe_area1.gat"))+" "+$@ked_users$+")",
+ "- Kiehl Doll Factory ("+$@kewd_kiehl*@discount/100+"z/"+(getmapusers("kh_dun01.gat")
+ +getmapusers("kh_dun02.gat"))+" "+$@ked_users$+")",
+ "- Ice Cave("+$@kewd_iceCave*@discount/100+"z/"+(getmapusers("ice_dun01.gat")
+ +getmapusers("ice_dun02.gat")+getmapusers("ice_dun03.gat"))+" "+$@ked_users$+")",
+ "- LightHalzen Rekkenber ("+$@kewd_lightHalzen*@discount/100+"z/"+(getmapusers("lhz_dun01.gat")
+ +getmapusers("lhz_dun02.gat")+getmapusers("lhz_dun03.gat"))+" "+$@ked_users$+")",
+ "- Lou Yang Royal Tomb ("+$@kewd_louYang*@discount/100+"z/"+(getmapusers("lou_dun01.gat")
+ +getmapusers("lou_dun02.gat")+getmapusers("lou_dun03.gat"))+" "+$@ked_users$+")",
+ "- Magma Dungeon ("+$@kewd_magma*@discount/100+"z/"+(getmapusers("mag_dun01.gat")
+ +getmapusers("mag_dun02.gat"))+" "+$@ked_users$+")",
+ "- Odin Temple ("+$@kewd_odin*@discount/100+"z/"+(getmapusers("odin_tem01.gat")
+ +getmapusers("odin_tem02.gat")+getmapusers("odin_tem03.gat"))+" "+$@ked_users$+")",
+ "- Orc Dungeon ("+$@kewd_orc*@discount/100+"z/"+(getmapusers("orcsdun01.gat")
+ +getmapusers("orcsdun02.gat"))+" "+$@ked_users$+")",
+ "- Payon Dungeon ("+$@kewd_payon*@discount/100+"z/"+(getmapusers("pay_dun00.gat")
+ +getmapusers("pay_dun01.gat")+getmapusers("pay_dun02.gat")+getmapusers("pay_dun03.gat")
+ +getmapusers("pay_dun04.gat"))+" "+$@ked_users$+")",
+ "- Pyramid ("+$@kewd_pyramid*@discount/100+"z/"+(getmapusers("moc_pryd01.gat")+getmapusers("moc_pryd02.gat")
+ +getmapusers("moc_pryd03.gat")+getmapusers("moc_pryd04.gat")+getmapusers("moc_pryd05.gat")
+ +getmapusers("moc_pryd06.gat")+getmapusers("moc_prydb1.gat"))+" "+$@ked_users$+")",
+ "- Rachel Temple ("+$@kewd_rachel*@discount/100+"z/"+(getmapusers("ra_san01.gat")
+ +getmapusers("ra_san02.gat")+getmapusers("ra_san03.gat")+getmapusers("ra_san04.gat")
+ +getmapusers("ra_san05.gat"))+" "+$@ked_users$+")",
+ "- Sphinx ("+$@kewd_sphinx*@discount/100+"z/"+(getmapusers("in_sphinx1.gat")
+ +getmapusers("in_sphinx2.gat")+getmapusers("in_sphinx3.gat")+getmapusers("in_sphinx4.gat")
+ +getmapusers("in_sphinx5.gat"))+" "+$@ked_users$+")",
+ "- Sunken Ship ("+$@kewd_sunkenShip*@discount/100+"z/"+(getmapusers("treasure01.gat")
+ +getmapusers("treasure02.gat"))+" "+$@ked_users$+")",
+ "- Thanatos Tower ("+$@kewd_thanatosTower*@discount/100+"z/"+(getmapusers("tha_t01.gat")
+ +getmapusers("tha_t02.gat")+getmapusers("tha_t03.gat")+getmapusers("tha_t04.gat")
+ +getmapusers("tha_t05.gat")+getmapusers("tha_t06.gat")+getmapusers("tha_t07.gat")
+ +getmapusers("tha_t08.gat")+getmapusers("tha_t09.gat")+getmapusers("tha_t10.gat")
+ +getmapusers("tha_t11.gat")+getmapusers("tha_t12.gat")+getmapusers("thana_step.gat")
+ +getmapusers("thana_boss.gat"))+" "+$@ked_users$+")",
+ "- Toy Factory ("+$@kewd_toyFactory*@discount/100+"z/"+(getmapusers("xmas_dun01.gat")
+ +getmapusers("xmas_dun02.gat"))+" "+$@ked_users$+")",
+ "- Turtle Island ("+$@kewd_turtleIsland*@discount/100+"z/"+(getmapusers("tur_dun01.gat")
+ +getmapusers("tur_dun02.gat")+getmapusers("tur_dun03.gat")+getmapusers("tur_dun04.gat")
+ +getmapusers("tur_dun05.gat")+getmapusers("tur_dun06.gat"))+" "+$@ked_users$+")",
+ "- Umbala Dungeon ("+$@kewd_umbala*@discount/100+"z/"+(getmapusers("um_dun01.gat")
+ +getmapusers("um_dun02.gat"))+" "+$@ked_users$+")"
);
} else {
set @kmenu, select(
@@ -178,12 +193,16 @@ function SF_umbala;
"- Gon Ryun Dungeon ("+$@kewd_gonRyun*@discount/100+"z)",
"- Hidden Temple ("+$@kewd_hiddenTemple*@discount/100+"z)",
"- Juperos ("+$@kewd_juperos*@discount/100+"z)",
+ "- Kiehl Doll Factory ("+$@kewd_kiehl*@discount/100+"z)",
+ "- Ice Cave ("+$@kewd_iceCave*@discount/100+"z)",
"- LightHalzen Rekkenber ("+$@kewd_lightHalzen*@discount/100+"z)",
"- Lou Yang Royal Tomb ("+$@kewd_louYang*@discount/100+"z)",
"- Magma Dungeon ("+$@kewd_magma*@discount/100+"z)",
+ "- Odin Temple ("+$@kewd_odin*@discount/100+"z)",
"- Orcs Dungeon ("+$@kewd_orc*@discount/100+"z)",
"- Payon Dungeon ("+$@kewd_payon*@discount/100+"z)",
"- Pyramid ("+$@kewd_pyramid*@discount/100+"z)",
+ "- Rachel Temple ("+$@kewd_rachel*@discount/100+"z)",
"- Sphinx ("+$@kewd_sphinx*@discount/100+"z)",
"- Sunken Ship ("+$@kewd_sunkenShip*@discount/100+"z)",
"- Thanatos Tower ("+$@kewd_thanatosTower*@discount/100+"z)",
@@ -242,39 +261,51 @@ function SF_umbala;
SF_juperos();
break;
case 18:
- SF_lightHalzen();
+ SF_kiehl();
break;
case 19:
- SF_louYang();
+ SF_iceCave();
break;
case 20:
- SF_magma();
+ SF_lightHalzen();
break;
case 21:
- SF_orcs();
+ SF_louYang();
break;
case 22:
- SF_payon();
+ SF_magma();
break;
case 23:
- SF_pyramid();
+ SF_odin();
break;
case 24:
- SF_sphinx();
+ SF_orcs();
break;
case 25:
- SF_sunkenShip();
+ SF_payon();
break;
case 26:
- SF_thanatosTower();
+ SF_pyramid();
break;
case 27:
- SF_toyFactory();
+ SF_rachel();
break;
case 28:
- SF_turtleIsland();
+ SF_sphinx();
break;
case 29:
+ SF_sunkenShip();
+ break;
+ case 30:
+ SF_thanatosTower();
+ break;
+ case 31:
+ SF_toyFactory();
+ break;
+ case 32:
+ SF_turtleIsland();
+ break;
+ case 33:
SF_umbala();
break;
default:
@@ -311,7 +342,6 @@ function SF_check {
set @discount,@discount*@discountKP/100;
set @cost,@cost*@discount/100;
- set @inc,@cost*$@kewd_levelCost/100;
//@discountKP is used to reverse the price to before the KP discount takes place
if (@discountKP == 0)
@@ -319,38 +349,27 @@ function SF_check {
if ($@kewd_deep == 0)
return 1;
- switch (getarg(2)) {
- case 9:
- set @cost9, @cost +8*@inc;
- case 8:
- set @cost8, @cost +7*@inc;
- case 7:
- set @cost7, @cost +6*@inc;
- case 6:
- set @cost6, @cost +5*@inc;
- case 5:
- set @cost5, @cost +4*@inc;
- case 4:
- set @cost4, @cost +3*@inc;
- case 3:
- set @cost3, @cost +2*@inc;
- case 2:
- set @cost2, @cost +@inc;
- }
+ //Reuse temp variable to set floor costs.
+ set @mapI, getarg(2);
+ set @inc,@cost*$@kewd_levelCost/100;
+ while (@mapI > 1) {
+ setd "@cost"+@mapI, @cost+(@mapI-1)*@inc;
+ set @mapI, @mapI-1;
+ }
return 1;
}
function SF_abyssLake {
- if (!(SF_check(0x1, $@kewd_abyssLake, 3, @map$, 1, "hu_fild05")))
+ if (!(SF_check(0x1, $@kewd_abyssLake, 3, @map$, 1, "hu_fild05.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Abyss Lake",
- "- Entrance ("+@cost+"z/"+getmapusers("abyss_01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("abyss_02")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("abyss_03")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("abyss_01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("abyss_02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("abyss_03.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -362,28 +381,28 @@ function SF_abyssLake {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"hu_fild05",173,308;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"hu_fild05.gat",173,308;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"abyss_02",272,270;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"abyss_02.gat",272,270;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"abyss_03",116,29;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"abyss_03.gat",116,29;
break;
}
}
function SF_amatsu {
- if (!(SF_check(0x2, $@kewd_amatsu, 3, @map$, 1, "ama_in02")))
+ if (!(SF_check(0x2, $@kewd_amatsu, 3, @map$, 1, "ama_in02.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Amatsu Dungeon",
- "- Entrance ("+@cost+"z/"+getmapusers("ama_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("ama_dun02")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("ama_dun03")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("ama_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("ama_dun02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("ama_dun03.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -395,25 +414,25 @@ function SF_amatsu {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ama_in02",120,181;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ama_in02.gat",120,181;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ama_dun02",34,41;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ama_dun02.gat",34,41;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ama_dun03",119,14;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ama_dun03.gat",119,14;
break;
}
}
function SF_antHell {
- if (!(SF_check(0x4, $@kewd_antHell, 1, @map$, 2, "moc_fild04","moc_fild15")))
+ if (!(SF_check(0x4, $@kewd_antHell, 1, @map$, 2, "moc_fild04.gat","moc_fild15.gat")))
return;
if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Ant Hell",
- "- Northern Entrance ("+@cost+"z/"+getmapusers("anthell01")+" "+$@ked_users$+")",
- "- Southern Entrance ("+@cost+"z/"+getmapusers("anthell02")+" "+$@ked_users$+")"
+ "- Northern Entrance ("+@cost+"z/"+getmapusers("anthell01.gat")+" "+$@ked_users$+")",
+ "- Southern Entrance ("+@cost+"z/"+getmapusers("anthell02.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -424,24 +443,24 @@ function SF_antHell {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild04",201,327;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild04.gat",201,327;
break;
case 3:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild15",246,251;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild15.gat",246,251;
break;
}
}
function SF_ayothaya {
- if (!(SF_check(0x8, $@kewd_ayothaya, 2, @map$, 1, "ayo_fild02")))
+ if (!(SF_check(0x8, $@kewd_ayothaya, 2, @map$, 1, "ayo_fild02.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Ancient Shrine",
- "- Entrance ("+@cost+"z/"+getmapusers("ayo_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("ayo_dun02")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("ayo_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("ayo_dun02.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -452,27 +471,27 @@ function SF_ayothaya {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ayo_fild02",273,150;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ayo_fild02.gat",273,150;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ayo_dun02",24,28;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ayo_dun02.gat",24,28;
break;
}
}
function SF_byalan {
- if (!(SF_check(0x10, $@kewd_byalan, 5, @map$, 1, "izlu2dun")))
+ if (!(SF_check(0x10, $@kewd_byalan, 5, @map$, 1, "izlu2dun.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Undersea Tunnel",
- "- Entrance ("+@cost+"z/"+getmapusers("iz_dun00")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("iz_dun01")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("iz_dun02")+" "+$@ked_users$+")",
- "- Level 4 ("+@cost4+"z/"+getmapusers("iz_dun03")+" "+$@ked_users$+")",
- "- Level 5 ("+@cost5+"z/"+getmapusers("iz_dun04")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("iz_dun00.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("iz_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("iz_dun02.gat")+" "+$@ked_users$+")",
+ "- Level 4 ("+@cost4+"z/"+getmapusers("iz_dun03.gat")+" "+$@ked_users$+")",
+ "- Level 5 ("+@cost5+"z/"+getmapusers("iz_dun04.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -486,33 +505,33 @@ function SF_byalan {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"izlu2dun",114,84;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"izlu2dun.gat",114,84;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun01",253,252;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun01.gat",253,252;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun02",236,204;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun02.gat",236,204;
break;
case 5:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun03",32,63;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun03.gat",32,63;
break;
case 6:
- callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun04",26,27;
+ callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun04.gat",26,27;
break;
}
}
function SF_comodo {
- if (!(SF_check(0x20, $@kewd_comodo, 1, @map$, 2, "comodo","cmd_fild01")))
+ if (!(SF_check(0x20, $@kewd_comodo, 1, @map$, 2, "comodo.gat","cmd_fild01.gat")))
return;
if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Comodo Caves",
- "- Mao, The Eastern Cave ("+@cost+"z/"+getmapusers("beach_dun3")+" "+$@ked_users$+")",
- "- Karu, The Western Cave ("+@cost+"z/"+getmapusers("beach_dun")+" "+$@ked_users$+")",
- "- Ruande, The Northern Cave ("+@cost+"z/"+getmapusers("beach_dun2")+" "+$@ked_users$+")"
+ "- Mao, The Eastern Cave ("+@cost+"z/"+getmapusers("beach_dun3.gat")+" "+$@ked_users$+")",
+ "- Karu, The Western Cave ("+@cost+"z/"+getmapusers("beach_dun.gat")+" "+$@ked_users$+")",
+ "- Ruande, The Northern Cave ("+@cost+"z/"+getmapusers("beach_dun2.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -524,33 +543,33 @@ function SF_comodo {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"cmd_fild01",34,325;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"cmd_fild01.gat",34,325;
break;
case 3:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"comodo",32,209;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"comodo.gat",32,209;
break;
case 4:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"comodo",180,352;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"comodo.gat",180,352;
break;
}
}
function SF_clockTower {
- if (!(SF_check(0x40, $@kewd_clockTower, 5, @map$, 1, "aldebaran")))
+ if (!(SF_check(0x40, $@kewd_clockTower, 5, @map$, 1, "aldebaran.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Clock Tower",
- "- Entrance ("+@cost+"z/"+getmapusers("c_tower1")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("c_tower2")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("c_tower3")+" "+$@ked_users$+")",
- "- Level 4 ("+@cost4+"z/"+getmapusers("c_tower4")+" "+$@ked_users$+")",
- "- Basement 1 ("+@cost2+"z/"+getmapusers("alde_dun01")+" "+$@ked_users$+")",
- "- Basement 2 ("+@cost3+"z/"+getmapusers("alde_dun02")+" "+$@ked_users$+")",
- "- Basement 3 ("+@cost4+"z/"+getmapusers("alde_dun03")+" "+$@ked_users$+")",
- "- Basement 4 ("+@cost5+"z/"+getmapusers("alde_dun04")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("c_tower1.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("c_tower2.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("c_tower3.gat")+" "+$@ked_users$+")",
+ "- Level 4 ("+@cost4+"z/"+getmapusers("c_tower4.gat")+" "+$@ked_users$+")",
+ "- Basement 1 ("+@cost2+"z/"+getmapusers("alde_dun01.gat")+" "+$@ked_users$+")",
+ "- Basement 2 ("+@cost3+"z/"+getmapusers("alde_dun02.gat")+" "+$@ked_users$+")",
+ "- Basement 3 ("+@cost4+"z/"+getmapusers("alde_dun03.gat")+" "+$@ked_users$+")",
+ "- Basement 4 ("+@cost5+"z/"+getmapusers("alde_dun04.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -567,43 +586,43 @@ function SF_clockTower {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"aldebaran",140,130;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"aldebaran.gat",140,130;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"c_tower2",268,26;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"c_tower2.gat",268,26;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"c_tower3",68,146;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"c_tower3.gat",68,146;
break;
case 5:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"c_tower4",185,44;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"c_tower4.gat",185,44;
break;
case 6:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun01",297,25;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun01.gat",297,25;
break;
case 7:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun02",43,24;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun02.gat",43,24;
break;
case 8:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun03",18,267;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun03.gat",18,267;
break;
case 9:
- callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun04",82,267;
+ callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun04.gat",82,267;
break;
}
}
function SF_coalMine {
- if (!(SF_check(0x80, $@kewd_coalMines, 3, @map$, 1, "mjolnir_02")))
+ if (!(SF_check(0x80, $@kewd_coalMines, 3, @map$, 1, "mjolnir_02.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Mjolnir Dead Pit",
- "- Entrance ("+@cost+"z/"+getmapusers("mjo_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("mjo_dun02")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("mjo_dun03")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("mjo_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("mjo_dun02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("mjo_dun03.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -615,29 +634,29 @@ function SF_coalMine {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"mjolnir_02",89,358;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"mjolnir_02.gat",89,358;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"mjo_dun02",376,342;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"mjo_dun02.gat",376,342;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"mjo_dun03",305,260;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"mjo_dun03.gat",305,260;
break;
}
}
function SF_culvert {
- if (!(SF_check(0x100, $@kewd_culvert, 4, @map$, 1, "prt_fild05")))
+ if (!(SF_check(0x100, $@kewd_culvert, 4, @map$, 1, "prt_fild05.gat")))
return;
if ($@kewd_deep == 0) {
set @submenu, 2;
} else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Prontera Culvert",
- "- Entrance ("+@cost+"z/"+getmapusers("prt_sewb1")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("prt_sewb2")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("prt_sewb3")+" "+$@ked_users$+")",
- "- Level 4 ("+@cost4+"z/"+getmapusers("prt_sewb4")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("prt_sewb1.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("prt_sewb2.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("prt_sewb3.gat")+" "+$@ked_users$+")",
+ "- Level 4 ("+@cost4+"z/"+getmapusers("prt_sewb4.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -650,30 +669,30 @@ function SF_culvert {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"prt_fild05",274,208;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"prt_fild05.gat",274,208;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb2",19,19;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb2.gat",19,19;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb3",180,169;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb3.gat",180,169;
break;
case 5:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb4",100,92;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb4.gat",100,92;
break;
}
}
function SF_einbech {
- if (!(SF_check(0x200, $@kewd_einbech, 2, @map$, 1, "einbech")))
+ if (!(SF_check(0x200, $@kewd_einbech, 2, @map$, 1, "einbech.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Einbroch Mines",
- "- Entrance ("+@cost+"z/"+getmapusers("ein_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("ein_dun02")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("ein_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("ein_dun02.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -684,64 +703,64 @@ function SF_einbech {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"einbech",138,244;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"einbech.gat",138,244;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ein_dun02",290,285;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ein_dun02.gat",290,285;
break;
}
}
function SF_geffen {
- if (!(SF_check(0x800, $@kewd_geffen, 3, @map$, 1, "gef_tower")))
+ if (!(SF_check(0x800, $@kewd_geffen, 3, @map$, 1, "gef_tower.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Geffen Dungeon",
- "- Entrance ("+@cost+"z/"+getmapusers("gef_dun00")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("gef_dun01")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("gef_dun02")+" "+$@ked_users$+")"
-// "- Level 4 ("+@cost4+"z/"+getmapusers("gef_dun03")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("gef_dun00.gat")+" "+$@ked_users$+")",
+ "- Level 1 ("+@cost2+"z/"+getmapusers("gef_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost3+"z/"+getmapusers("gef_dun02.gat")+" "+$@ked_users$+")"
+// "- Level 3 ("+@cost4+"z/"+getmapusers("gef_dun03.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
"- Cancel warp to Geffen Dungeon",
"- Entrance ("+@cost+"z)",
- "- Level 2 ("+@cost2+"z)",
- "- Level 3 ("+@cost3+"z)"
-// "- Level 4 ("+@cost4+"z)"
+ "- Level 1 ("+@cost2+"z)",
+ "- Level 2 ("+@cost3+"z)"
+// "- Level 3 ("+@cost4+"z)"
);
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gef_tower",147,35;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gef_tower.gat",147,35;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun01",115,236;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun01.gat",115,236;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun02",106,132;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun02.gat",106,132;
break;
case 5:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun03",203,200;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun03.gat",203,200;
break;
}
}
function SF_gefenia {
- if (!(SF_check(0x400, $@kewd_gefenia, 2, @map$, 4, "gefenia01","gefenia02","gefenia03","gefenia04")))
+ if (!(SF_check(0x400, $@kewd_gefenia, 2, @map$, 4, "gefenia01.gat","gefenia02.gat","gefenia03.gat","gefenia04.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Gefenia",
- "- Level 1 ("+@cost+"z/"+getmapusers("gefenia01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("gefenia02")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost2+"z/"+getmapusers("gefenia03")+" "+$@ked_users$+")",
- "- Level 4 ("+@cost+"z/"+getmapusers("gefenia04")+" "+$@ked_users$+")"
+ "- Level 1 ("+@cost+"z/"+getmapusers("gefenia01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("gefenia02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost2+"z/"+getmapusers("gefenia03.gat")+" "+$@ked_users$+")",
+ "- Level 4 ("+@cost+"z/"+getmapusers("gefenia04.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -754,31 +773,31 @@ function SF_gefenia {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gefenia01",60,169;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gefenia01.gat",60,169;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gefenia02",116,116;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gefenia02.gat",116,116;
break;
case 4:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gefenia03",119,277;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gefenia03.gat",119,277;
break;
case 5:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gefenia04",129,86;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gefenia04.gat",129,86;
break;
}
}
function SF_glastHeim {
- if (!(SF_check(0x1000, $@kewd_glastHeim, 7, @map$, 1, "glast_01")))
+ if (!(SF_check(0x1000, $@kewd_glastHeim, 7, @map$, 1, "glast_01.gat")))
return;
if ($@kewd_deep == 0) {
if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Glast Heim",
- "- Church Entrance ("+@cost+"z/"+getmapusers("gl_church")+" "+$@ked_users$+")",
- "- Castle Terrace ("+@cost+"z/"+(getmapusers("gl_cas01")+getmapusers("gl_cas02"))+" "+$@ked_users$+")",
- "- Staircase Entrance ("+@cost+"z/"+getmapusers("gl_step")+" "+$@ked_users$+")",
- "- Chivalry Entrance ("+@cost+"z/"+getmapusers("gl_knt01")+" "+$@ked_users$+")"
+ "- Church Entrance ("+@cost+"z/"+getmapusers("gl_church.gat")+" "+$@ked_users$+")",
+ "- Castle Terrace ("+@cost+"z/"+(getmapusers("gl_cas01.gat")+getmapusers("gl_cas02.gat"))+" "+$@ked_users$+")",
+ "- Staircase Entrance ("+@cost+"z/"+getmapusers("gl_step.gat")+" "+$@ked_users$+")",
+ "- Chivalry Entrance ("+@cost+"z/"+getmapusers("gl_knt01.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -794,20 +813,20 @@ function SF_glastHeim {
} else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Glast Heim",
- "- Church Entrance ("+@cost+"z/"+getmapusers("gl_church")+" "+$@ked_users$+")",
- "- Churchyard ("+@cost2+"z/"+getmapusers("gl_chyard")+" "+$@ked_users$+")",
- "- Castle Terrace ("+@cost+"z/"+(getmapusers("gl_cas01")+getmapusers("gl_cas02"))+" "+$@ked_users$+")",
- "- Staircase Entrance ("+@cost+"z/"+getmapusers("gl_step")+" "+$@ked_users$+")",
- "- Chivalry Entrance ("+@cost+"z/"+getmapusers("gl_knt01")+" "+$@ked_users$+")",
- "- Chivalry Level 2 ("+@cost2+"z/"+getmapusers("gl_knt02")+" "+$@ked_users$+")",
- "- Underground Prison 1 ("+@cost2+"z/"+getmapusers("gl_prison")+" "+$@ked_users$+")",
- "- Underground Prison 2 ("+@cost3+"z/"+getmapusers("gl_prison1")+" "+$@ked_users$+")",
- "- Culvert Level 1 ("+@cost4+"z/"+getmapusers("gl_sew01")+" "+$@ked_users$+")",
- "- Culvert Level 2 ("+@cost3+"z/"+getmapusers("gl_sew02")+" "+$@ked_users$+")",
- "- Culvert Level 3 ("+@cost4+"z/"+getmapusers("gl_sew03")+" "+$@ked_users$+")",
- "- Culvert Level 4 ("+@cost5+"z/"+getmapusers("gl_sew04")+" "+$@ked_users$+")",
- "- Underground Cave 1 ("+@cost6+"z/"+getmapusers("gl_dun01")+" "+$@ked_users$+")",
- "- Underground Cave 2 ("+@cost7+"z/"+getmapusers("gl_dun02")+" "+$@ked_users$+")"
+ "- Church Entrance ("+@cost+"z/"+getmapusers("gl_church.gat")+" "+$@ked_users$+")",
+ "- Churchyard ("+@cost2+"z/"+getmapusers("gl_chyard.gat")+" "+$@ked_users$+")",
+ "- Castle Terrace ("+@cost+"z/"+(getmapusers("gl_cas01.gat")+getmapusers("gl_cas02.gat"))+" "+$@ked_users$+")",
+ "- Staircase Entrance ("+@cost+"z/"+getmapusers("gl_step.gat")+" "+$@ked_users$+")",
+ "- Chivalry Entrance ("+@cost+"z/"+getmapusers("gl_knt01.gat")+" "+$@ked_users$+")",
+ "- Chivalry Level 2 ("+@cost2+"z/"+getmapusers("gl_knt02.gat")+" "+$@ked_users$+")",
+ "- Underground Prison 1 ("+@cost2+"z/"+getmapusers("gl_prison.gat")+" "+$@ked_users$+")",
+ "- Underground Prison 2 ("+@cost3+"z/"+getmapusers("gl_prison1.gat")+" "+$@ked_users$+")",
+ "- Culvert Level 1 ("+@cost4+"z/"+getmapusers("gl_sew01.gat")+" "+$@ked_users$+")",
+ "- Culvert Level 2 ("+@cost3+"z/"+getmapusers("gl_sew02.gat")+" "+$@ked_users$+")",
+ "- Culvert Level 3 ("+@cost4+"z/"+getmapusers("gl_sew03.gat")+" "+$@ked_users$+")",
+ "- Culvert Level 4 ("+@cost5+"z/"+getmapusers("gl_sew04.gat")+" "+$@ked_users$+")",
+ "- Underground Cave 1 ("+@cost6+"z/"+getmapusers("gl_dun01.gat")+" "+$@ked_users$+")",
+ "- Underground Cave 2 ("+@cost7+"z/"+getmapusers("gl_dun02.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -830,61 +849,61 @@ function SF_glastHeim {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01",206,136;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01.gat",206,136;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_chyard",147,15;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_chyard.gat",147,15;
break;
case 4:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01",199,335;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01.gat",199,335;
break;
case 5:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01",62,107;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01.gat",62,107;
break;
case 6:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01",69,193;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01.gat",69,193;
break;
case 7:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_knt02",157,287;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_knt02.gat",157,287;
break;
case 8:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_prison",14,70;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_prison.gat",14,70;
break;
case 9:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gl_prison1",150,14;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gl_prison1.gat",150,14;
break;
case 10:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew01",258,255;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew01.gat",258,255;
break;
case 11:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew02",108,291;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew02.gat",108,291;
break;
case 12:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew03",171,283;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew03.gat",171,283;
break;
case 13:
- callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew04",68,277;
+ callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew04.gat",68,277;
break;
case 14:
- callfunc "F_keWarp",@cost6*100/@discountKP,$@kewd_discount,e_hmm,"gl_dun01",133,271;
+ callfunc "F_keWarp",@cost6*100/@discountKP,$@kewd_discount,e_hmm,"gl_dun01.gat",133,271;
break;
case 15:
- callfunc "F_keWarp",@cost7*100/@discountKP,$@kewd_discount,e_hmm,"gl_dun02",224,274;
+ callfunc "F_keWarp",@cost7*100/@discountKP,$@kewd_discount,e_hmm,"gl_dun02.gat",224,274;
break;
}
}
function SF_gonRyun {
- if (!(SF_check(0x2000, $@kewd_gonRyun, 3, @map$, 1, "gonryun")))
+ if (!(SF_check(0x2000, $@kewd_gonRyun, 3, @map$, 1, "gonryun.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Gon Ryun Dungeon",
- "- Entrance ("+@cost+"z/"+getmapusers("gon_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("gon_dun02")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("gon_dun03")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("gon_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("gon_dun02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("gon_dun03.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -896,28 +915,28 @@ function SF_gonRyun {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gonryun",161,195;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gonryun.gat",161,195;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gon_dun02",22,114;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gon_dun02.gat",22,114;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gon_dun03",68,11;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gon_dun03.gat",68,11;
break;
}
}
function SF_hiddenTemple {
- if (!(SF_check(0x4000, $@kewd_hiddenTemple, 3, @map$, 1, "prt_fild01")))
+ if (!(SF_check(0x4000, $@kewd_hiddenTemple, 3, @map$, 1, "prt_fild01.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Laberynth Forest",
- "- Entrance ("+@cost+"z/"+getmapusers("prt_maze01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("prt_maze02")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("prt_maze03")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("prt_maze01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("prt_maze02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("prt_maze03.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -929,28 +948,28 @@ function SF_hiddenTemple {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"prt_fild01",136,361;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"prt_fild01.gat",136,361;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"prt_maze02",106,62;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"prt_maze02.gat",106,62;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"prt_maze03",23,8;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"prt_maze03.gat",23,8;
break;
}
}
function SF_juperos {
- if (!(SF_check(0x8000, $@kewd_juperos, 3, @map$, 1, "jupe_cave")))
+ if (!(SF_check(0x8000, $@kewd_juperos, 3, @map$, 1, "jupe_cave.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Juperos",
- "- Entrance ("+@cost+"z/"+getmapusers("juperos_01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("juperos_02")+" "+$@ked_users$+")",
- "- Core ("+@cost3+"z/"+getmapusers("jupe_core")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("juperos_01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("juperos_02.gat")+" "+$@ked_users$+")",
+ "- Core ("+@cost3+"z/"+getmapusers("jupe_core.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -962,28 +981,89 @@ function SF_juperos {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"jupe_cave",55,52;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"jupe_cave.gat",55,52;
+ break;
+ case 3:
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"juperos_02.gat",37,63;
+ break;
+ case 4:
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"jupe_gate.gat",-1,-1;
+ break;
+ }
+}
+
+function SF_kiehl {
+ if (!(SF_check(0x400, $@kewd_kiehl, 3, @map$, 1, "yuno_fild08.gat")))
+ return;
+ if ($@kewd_deep == 0)
+ set @submenu, 2;
+ else if ($@kewd_showOnline) {
+ set @submenu, select(
+ "- Cancel warp to Machine Doll Factory",
+ "- Entrance ("+@cost+"z/"+getmapusers("kh_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("kh_dun02.gat")+" "+$@ked_users$+")"
+ );
+ } else {
+ set @submenu, select(
+ "- Cancel warp to Machine Doll Factory",
+ "- Entrance ("+@cost+"z)",
+ "- Level 2 ("+@cost2+"z)"
+ );
+ }
+ switch (@submenu) {
+ case 2:
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"yuno_fild08.gat",80,179;
+ break;
+ case 3:
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"kh_dun02.gat",41,198;
+ break;
+ }
+}
+
+function SF_iceCave {
+ if (!(SF_check(0x20000000, $@kewd_iceCave, 3, @map$, 1, "ra_fild01.gat")))
+ return;
+ if ($@kewd_deep == 0)
+ set @submenu, 2;
+ else if ($@kewd_showOnline) {
+ set @submenu, select(
+ "- Cancel warp to the Ice Cave",
+ "- Entrance ("+@cost+"z/"+getmapusers("ice_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("ice_dun02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("ice_dun03.gat")+" "+$@ked_users$+")"
+ );
+ } else {
+ set @submenu, select(
+ "- Cancel warp to the Ice Cave",
+ "- Entrance ("+@cost+"z)",
+ "- Level 2 ("+@cost2+"z)",
+ "- Level 3 ("+@cost3+"z)"
+ );
+ }
+ switch (@submenu) {
+ case 2:
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ra_fild01.gat",233,319;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"juperos_02",37,63;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ice_dun02.gat",151,151;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"jupe_gate",-1,-1;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ice_dun03.gat",148,25;
break;
}
}
function SF_lightHalzen {
- if (!(SF_check(0x10000, $@kewd_lightHalzen, 3, @map$, 1, "lighthalzen")))
+ if (!(SF_check(0x10000, $@kewd_lightHalzen, 3, @map$, 1, "lighthalzen.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Rekkenber",
- "- Entrance ("+@cost+"z/"+getmapusers("lou_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("lou_dun02")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("lou_dun03")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("lhz_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("lhz_dun02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("lhz_dun03.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -996,29 +1076,29 @@ function SF_lightHalzen {
switch (@submenu) {
case 2:
//This is the Rekkenber building entrance, which officially is only a dungeon exit.
-// callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"lighthalzen",74,72;
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"lighthalzen",303,302;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"lighthalzen.gat",74,72;
+// callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"lighthalzen.gat",303,302;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"lhz_dun02",154,18;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"lhz_dun02.gat",154,18;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"lhz_dun03",141,132;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"lhz_dun03.gat",141,132;
break;
}
}
function SF_louYang {
- if (!(SF_check(0x20000, $@kewd_louYang, 3, @map$, 1, "louyang")))
+ if (!(SF_check(0x20000, $@kewd_louYang, 3, @map$, 1, "louyang.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Royal Tomb",
- "- Entrance ("+@cost+"z/"+getmapusers("lou_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("lou_dun02")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("lou_dun03")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("lou_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("lou_dun02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("lou_dun03.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1030,27 +1110,27 @@ function SF_louYang {
};
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"louyang",41,267;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"louyang.gat",41,267;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"lou_dun02",281,20;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"lou_dun02.gat",281,20;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"lou_dun03",165,39;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"lou_dun03.gat",165,39;
break;
}
}
function SF_magma {
- if (!(SF_check(0x40000, $@kewd_magma, 2, @map$, 1, "yuno_fild03")))
+ if (!(SF_check(0x40000, $@kewd_magma, 2, @map$, 1, "yuno_fild03.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Nogg Road",
- "- Entrance ("+@cost+"z/"+getmapusers("mag_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("mag_dun02")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("mag_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("mag_dun02.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1061,22 +1141,55 @@ function SF_magma {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"yuno_fild03",35,135;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"yuno_fild03.gat",35,135;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"mag_dun02",47,30;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"mag_dun02.gat",47,30;
+ break;
+ }
+}
+
+function SF_odin {
+ if (!(SF_check(0x10000000, $@kewd_odin, 5, @map$, 1, "odin_tem01.gat")))
+ return;
+ if ($@kewd_deep == 0)
+ set @submenu, 2;
+ else if ($@kewd_showOnline) {
+ set @submenu, select(
+ "- Cancel warp to the Odin Temple",
+ "- Entrance ("+@cost+"z/"+getmapusers("odin_tem01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("odin_tem02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("odin_tem03.gat")+" "+$@ked_users$+")"
+ );
+ } else {
+ set @submenu, select(
+ "- Cancel warp to the Odin Temple",
+ "- Entrance ("+@cost+"z)",
+ "- Level 2 ("+@cost2+"z)",
+ "- Level 3 ("+@cost3+"z)"
+ );
+ }
+ switch (@submenu) {
+ case 2:
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"odin_tem01.gat",91,145;
+ break;
+ case 3:
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"odin_tem02.gat",25,181;
+ break;
+ case 4:
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"odin_tem03.gat",120,54;
break;
}
}
function SF_orcs {
- if (!(SF_check(0x80000, $@kewd_orc, 2, @map$, 1, "gef_fild10")))
+ if (!(SF_check(0x80000, $@kewd_orc, 2, @map$, 1, "gef_fild10.gat")))
return;
if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Orcs Dungeon",
- "- Front Entrance ("+@cost+"z/"+getmapusers("orcsdun01")+" "+$@ked_users$+")",
- "- Back Entrance ("+@cost+"z/"+getmapusers("orcsdun02")+" "+$@ked_users$+")"
+ "- Front Entrance ("+@cost+"z/"+getmapusers("orcsdun01.gat")+" "+$@ked_users$+")",
+ "- Back Entrance ("+@cost+"z/"+getmapusers("orcsdun02.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1087,27 +1200,27 @@ function SF_orcs {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"in_orcs01",34,165;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"in_orcs01.gat",34,165;
break;
case 3:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"in_orcs01",112,99;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"in_orcs01.gat",112,99;
break;
}
}
function SF_payon {
- if (!(SF_check(0x100000, $@kewd_payon, 5, @map$, 1, "pay_arche")))
+ if (!(SF_check(0x100000, $@kewd_payon, 5, @map$, 1, "pay_arche.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Payon Cave",
- "- Entrance ("+@cost+"z/"+getmapusers("pay_dun00")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("pay_dun01")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("pay_dun02")+" "+$@ked_users$+")",
- "- Level 4 ("+@cost4+"z/"+getmapusers("pay_dun03")+" "+$@ked_users$+")",
- "- Level 5 ("+@cost5+"z/"+getmapusers("pay_dun04")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("pay_dun00.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("pay_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("pay_dun02.gat")+" "+$@ked_users$+")",
+ "- Level 4 ("+@cost4+"z/"+getmapusers("pay_dun03.gat")+" "+$@ked_users$+")",
+ "- Level 5 ("+@cost5+"z/"+getmapusers("pay_dun04.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1121,37 +1234,37 @@ function SF_payon {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"pay_arche",41,133;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"pay_arche.gat",41,133;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun01",19,33;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun01.gat",19,33;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun02",19,63;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun02.gat",19,63;
break;
case 5:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun03",155,159;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun03.gat",155,159;
break;
case 6:
- callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun04",34,202;
+ callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun04.gat",34,202;
break;
}
}
function SF_pyramid {
- if (!(SF_check(0x200000, $@kewd_pyramid, 4, @map$,1, "moc_ruins")))
+ if (!(SF_check(0x200000, $@kewd_pyramid, 4, @map$,1, "moc_ruins.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Pyramid",
- "- Entrance ("+@cost+"z/"+getmapusers("moc_pryd01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("moc_pryd02")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("moc_pryd03")+" "+$@ked_users$+")",
- "- Level 4 ("+@cost4+"z/"+getmapusers("moc_pryd04")+" "+$@ked_users$+")",
- "- Basement 1 ("+@cost2+"z/"+getmapusers("moc_pryd05")+" "+$@ked_users$+")",
- "- Basement 2 ("+@cost3+"z/"+getmapusers("moc_pryd06")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("moc_pryd01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("moc_pryd02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("moc_pryd03.gat")+" "+$@ked_users$+")",
+ "- Level 4 ("+@cost4+"z/"+getmapusers("moc_pryd04.gat")+" "+$@ked_users$+")",
+ "- Basement 1 ("+@cost2+"z/"+getmapusers("moc_pryd05.gat")+" "+$@ked_users$+")",
+ "- Basement 2 ("+@cost3+"z/"+getmapusers("moc_pryd06.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1166,39 +1279,83 @@ function SF_pyramid {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_ruins",62,162;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_ruins.gat",62,162;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd02",10,192;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd02.gat",10,192;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd03",100,92;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd03.gat",100,92;
break;
case 5:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd04",18,187;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd04.gat",18,187;
break;
case 6:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd05",94,96;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd05.gat",94,96;
break;
case 7:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd06",192,11;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd06.gat",192,11;
+ break;
+ }
+}
+
+function SF_rachel {
+ if (!(SF_check(0x40000000, $@kewd_rachel, 5, @map$, 1, "ra_temin.gat")))
+ return;
+ if ($@kewd_deep == 0)
+ set @submenu, 2;
+ else if ($@kewd_showOnline) {
+ set @submenu, select(
+ "- Cancel warp to Freya's Temple",
+ "- Entrance ("+@cost+"z/"+getmapusers("ra_san01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("ra_san02.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("ra_san03.gat")+" "+$@ked_users$+")",
+ "- Level 4 ("+@cost4+"z/"+getmapusers("ra_san04.gat")+" "+$@ked_users$+")",
+ "- Level 5 ("+@cost5+"z/"+getmapusers("ra_san05.gat")+" "+$@ked_users$+")"
+ );
+ } else {
+ set @submenu, select(
+ "- Cancel warp to Freya's Temple",
+ "- Entrance ("+@cost+"z)",
+ "- Level 2 ("+@cost2+"z)",
+ "- Level 3 ("+@cost3+"z)",
+ "- Level 4 ("+@cost4+"z)",
+ "- Level 5 ("+@cost5+"z)"
+ );
+ }
+
+ switch (@submenu) {
+ case 2:
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ra_temin.gat",276,318;
+ break;
+ case 3:
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ra_san02.gat",36,21;
+ break;
+ case 4:
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ra_san03.gat",10,150;
+ break;
+ case 5:
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"ra_san04.gat",204,216;
+ break;
+ case 6:
+ callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"ra_san05.gat",149,16;
break;
}
}
function SF_sphinx {
- if (!(SF_check(0x400000, $@kewd_sphinx, 5, @map$, 1, "moc_fild19")))
+ if (!(SF_check(0x400000, $@kewd_sphinx, 5, @map$, 1, "moc_fild19.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to the Sphinx",
- "- Entrance ("+@cost+"z/"+getmapusers("in_sphinx1")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("in_sphinx2")+" "+$@ked_users$+")",
- "- Level 3 ("+@cost3+"z/"+getmapusers("in_sphinx3")+" "+$@ked_users$+")",
- "- Level 4 ("+@cost4+"z/"+getmapusers("in_sphinx4")+" "+$@ked_users$+")",
- "- Level 5 ("+@cost5+"z/"+getmapusers("in_sphinx5")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("in_sphinx1.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("in_sphinx2.gat")+" "+$@ked_users$+")",
+ "- Level 3 ("+@cost3+"z/"+getmapusers("in_sphinx3.gat")+" "+$@ked_users$+")",
+ "- Level 4 ("+@cost4+"z/"+getmapusers("in_sphinx4.gat")+" "+$@ked_users$+")",
+ "- Level 5 ("+@cost5+"z/"+getmapusers("in_sphinx5.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1213,33 +1370,33 @@ function SF_sphinx {
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild19",107,100;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild19.gat",107,100;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx2",149,81;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx2.gat",149,81;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx3",210,54;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx3.gat",210,54;
break;
case 5:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx4",10,222;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx4.gat",10,222;
break;
case 6:
- callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx5",100,99;
+ callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx5.gat",100,99;
break;
}
}
function SF_sunkenShip {
- if (!(SF_check(0x800000, $@kewd_sunkenShip, 2, @map$, 1, "alb2trea")))
+ if (!(SF_check(0x800000, $@kewd_sunkenShip, 2, @map$, 1, "alb2trea.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Sunken Ship",
- "- Entrance ("+@cost+"z/"+getmapusers("treasure01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("treasure02")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("treasure01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("treasure02.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1251,31 +1408,35 @@ function SF_sunkenShip {
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"alb2trea",87,103;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"alb2trea.gat",87,103;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"treasure02",102,27;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"treasure02.gat",102,27;
break;
}
}
function SF_thanatosTower {
- if (!(SF_check(0x1000000, $@kewd_thanatosTower, 9, @map$, 1, "tha_t01")))
+ if (!(SF_check(0x1000000, $@kewd_thanatosTower, 13, @map$, 1, "tha_scene01.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Thanatos Tower",
- "- Entrance ("+@cost+"z/"+getmapusers("tha_t01")+" "+$@ked_users$+")",
- "- Floor 2 ("+@cost2+"z/"+getmapusers("tha_t02")+" "+$@ked_users$+")",
- "- Floor 3 ("+@cost3+"z/"+getmapusers("tha_t03")+" "+$@ked_users$+")",
- "- Floor 4 ("+@cost4+"z/"+getmapusers("tha_t04")+" "+$@ked_users$+")",
- "- Floor 5 ("+@cost5+"z/"+getmapusers("tha_t05")+" "+$@ked_users$+")",
- "- Floor 6 ("+@cost6+"z/"+getmapusers("tha_t06")+" "+$@ked_users$+")",
- "- Floor 7 ("+@cost7+"z/"+getmapusers("tha_t07")+" "+$@ked_users$+")",
- "- Floor 8 ("+@cost8+"z/"+getmapusers("tha_t08")+" "+$@ked_users$+")",
- "- Floor 9 ("+@cost9+"z/"+getmapusers("tha_t09")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("tha_t01.gat")+" "+$@ked_users$+")",
+ "- Floor 2 ("+@cost2+"z/"+getmapusers("tha_t02.gat")+" "+$@ked_users$+")",
+ "- Floor 3 ("+@cost3+"z/"+getmapusers("tha_t03.gat")+" "+$@ked_users$+")",
+ "- Floor 4 ("+@cost4+"z/"+getmapusers("tha_t04.gat")+" "+$@ked_users$+")",
+ "- Floor 5 ("+@cost5+"z/"+getmapusers("tha_t05.gat")+" "+$@ked_users$+")",
+ "- Floor 6 ("+@cost6+"z/"+getmapusers("tha_t06.gat")+" "+$@ked_users$+")",
+ "- Floor 7 ("+@cost7+"z/"+getmapusers("tha_t07.gat")+" "+$@ked_users$+")",
+ "- Floor 8 ("+@cost8+"z/"+getmapusers("tha_t08.gat")+" "+$@ked_users$+")",
+ "- Floor 9 ("+@cost9+"z/"+getmapusers("tha_t09.gat")+" "+$@ked_users$+")",
+ "- Floor 10 ("+@cost10+"z/"+getmapusers("tha_t10.gat")+" "+$@ked_users$+")",
+ "- Floor 11 ("+@cost11+"z/"+getmapusers("tha_t11.gat")+" "+$@ked_users$+")",
+ "- Floor 12 ("+@cost12+"z/"+getmapusers("tha_t12.gat")+" "+$@ked_users$+")"
+// "- Terrace ("+@cost13+"z/"+getmapusers("thana_boss.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1288,42 +1449,58 @@ function SF_thanatosTower {
"- Floor 6 ("+@cost6+"z)",
"- Floor 7 ("+@cost7+"z)",
"- Floor 8 ("+@cost8+"z)",
- "- Floor 9 ("+@cost9+"z)"
+ "- Floor 9 ("+@cost9+"z)",
+ "- Floor 10 ("+@cost10+"z)",
+ "- Floor 11 ("+@cost11+"z)",
+ "- Floor 12 ("+@cost12+"z)"
+// "- Terrace ("+@cost13+"z)"
);
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tha_scene01",139,201;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tha_scene01.gat",139,201;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"tha_t02",149,136;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"tha_t02.gat",149,136;
break;
case 4:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"tha_t03",220,159;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"tha_t03.gat",220,159;
break;
case 5:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"tha_t04",59,144;
+ callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"tha_t04.gat",59,144;
break;
case 6:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"tha_t05",62,9;
+ callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"tha_t05.gat",62,9;
break;
case 7:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"tha_t06",120,225;
+ callfunc "F_keWarp",@cost6*100/@discountKP,$@kewd_discount,e_hmm,"tha_t06.gat",120,225;
break;
case 8:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"tha_t07",32,166;
+ callfunc "F_keWarp",@cost7*100/@discountKP,$@kewd_discount,e_hmm,"tha_t07.gat",32,166;
break;
case 9:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"tha_t08",108,44;
+ callfunc "F_keWarp",@cost8*100/@discountKP,$@kewd_discount,e_hmm,"tha_t08.gat",108,44;
break;
case 10:
- callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"tha_t09",87,145;
+ callfunc "F_keWarp",@cost9*100/@discountKP,$@kewd_discount,e_hmm,"tha_t09.gat",87,145;
+ break;
+ case 11:
+ callfunc "F_keWarp",@cost10*100/@discountKP,$@kewd_discount,e_hmm,"tha_t10.gat",166,138;
+ break;
+ case 12:
+ callfunc "F_keWarp",@cost11*100/@discountKP,$@kewd_discount,e_hmm,"tha_t11.gat",88,36;
+ break;
+ case 13:
+ callfunc "F_keWarp",@cost12*100/@discountKP,$@kewd_discount,e_hmm,"tha_t12.gat",132,55;
+ break;
+ case 14:
+ callfunc "F_keWarp",@cost13*100/@discountKP,$@kewd_discount,e_hmm,"thana_boss.gat",135,126;
break;
}
}
function SF_toyFactory {
- if (!(SF_check(0x2000000, $@kewd_toyFactory, 2, @map$, 1, "xmas")))
+ if (!(SF_check(0x2000000, $@kewd_toyFactory, 2, @map$, 1, "xmas.gat")))
return;
if ($@kewd_deep == 0)
@@ -1331,8 +1508,8 @@ function SF_toyFactory {
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Toy Factory",
- "- Entrance ("+@cost+"z/"+getmapusers("xmas_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("xmas_dun02")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("xmas_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("xmas_dun02.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1344,16 +1521,16 @@ function SF_toyFactory {
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"xmas",144,306;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"xmas.gat",144,306;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"xmas_dun02",129,133;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"xmas_dun02.gat",129,133;
break;
}
}
function SF_turtleIsland {
- if (!(SF_check(0x4000000, $@kewd_turtleIsland, 3, @map$, 1, "tur_dun01")))
+ if (!(SF_check(0x4000000, $@kewd_turtleIsland, 3, @map$, 1, "tur_dun01.gat")))
return;
if ($@kewd_deep == 0) {
if ($@kewd_turtleCave)
@@ -1363,10 +1540,10 @@ function SF_turtleIsland {
} else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Turtle Island",
- "- Island Entrance ("+@cost+"z/"+getmapusers("tur_dun01")+" "+$@ked_users$+")",
- "- Cave Entrance ("+@cost+"z/"+getmapusers("tur_dun02")+" "+$@ked_users$+")",
- "- Cave Level 2 ("+@cost2+"z/"+getmapusers("tur_dun03")+" "+$@ked_users$+")",
- "- Cave Level 3 ("+@cost3+"z/"+getmapusers("tur_dun04")+" "+$@ked_users$+")"
+ "- Island Entrance ("+@cost+"z/"+getmapusers("tur_dun01.gat")+" "+$@ked_users$+")",
+ "- Cave Entrance ("+@cost+"z/"+getmapusers("tur_dun02.gat")+" "+$@ked_users$+")",
+ "- Cave Level 2 ("+@cost2+"z/"+getmapusers("tur_dun03.gat")+" "+$@ked_users$+")",
+ "- Cave Level 3 ("+@cost3+"z/"+getmapusers("tur_dun04.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1379,30 +1556,30 @@ function SF_turtleIsland {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun01",153,47;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun01.gat",153,47;
break;
case 3:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun01",155,234;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun01.gat",155,234;
break;
case 4:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun03",132,189;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun03.gat",132,189;
break;
case 5:
- callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun04",100,192;
+ callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun04.gat",100,192;
break;
}
}
function SF_umbala {
- if (!(SF_check(0x8000000, $@kewd_umbala, 2, @map$, 1, "umbala")))
+ if (!(SF_check(0x8000000, $@kewd_umbala, 2, @map$, 1, "umbala.gat")))
return;
if ($@kewd_deep == 0)
set @submenu, 2;
else if ($@kewd_showOnline) {
set @submenu, select(
"- Cancel warp to Umbala Dungeon",
- "- Entrance ("+@cost+"z/"+getmapusers("um_dun01")+" "+$@ked_users$+")",
- "- Level 2 ("+@cost2+"z/"+getmapusers("um_dun02")+" "+$@ked_users$+")"
+ "- Entrance ("+@cost+"z/"+getmapusers("um_dun01.gat")+" "+$@ked_users$+")",
+ "- Level 2 ("+@cost2+"z/"+getmapusers("um_dun02.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -1413,10 +1590,10 @@ function SF_umbala {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"umbala",113,282;
+ callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"umbala.gat",113,282;
break;
case 3:
- callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"um_dun02",48,31;
+ callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"um_dun02.gat",48,31;
break;
}
}
@@ -1426,336 +1603,137 @@ function SF_umbala {
//Invoked when we want to add a map to the list of travelled-to dungeons
function script F_keAddTravelDungeon {
set @map$, getarg(0);
-// Temporary code to update the previous variable format to the new one.
- if(kewd_abyss) {
- set kewd_travel,kewd_travel|0x1;
- set kewd_abyss,0;
- }
- if(kewd_amatsu) {
- set kewd_travel,kewd_travel|0x2;
- set kewd_amatsu,0;
- }
- if(kewd_antHell) {
- set kewd_travel,kewd_travel|0x4;
- set kewd_antHell,0;
- }
- if(kewd_ayothaya) {
- set kewd_travel,kewd_travel|0x8;
- set kewd_ayothaya,0;
- }
- if(kewd_byalan) {
- set kewd_travel,kewd_travel|0x10;
- set kewd_byalan,0;
- }
- if(kewd_comodo) {
- set kewd_travel,kewd_travel|0x20;
- set kewd_comodo,0;
- }
- if(kewd_clockTower) {
- set kewd_travel,kewd_travel|0x40;
- set kewd_clockTower,0;
- }
- if(kewd_coalMines) {
- set kewd_travel,kewd_travel|0x80;
- set kewd_coalMines,0;
- }
- if(kewd_culvert) {
- set kewd_travel,kewd_travel|0x100;
- set kewd_culvert,0;
- }
- if(kewd_einbech) {
- set kewd_travel,kewd_travel|0x200;
- set kewd_einbech,0;
- }
- if(kewd_geffen) {
- set kewd_travel,kewd_travel|0x800;
- set kewd_geffen,0;
- }
- if(kewd_glastHeim) {
- set kewd_travel,kewd_travel|0x1000;
- set kewd_glastHeim,0;
- }
- if(kewd_gonRyun) {
- set kewd_travel,kewd_travel|0x2000;
- set kewd_gonRyun,0;
- }
- if(kewd_hiddenTemple) {
- set kewd_travel,kewd_travel|0x4000;
- set kewd_hiddenTemple,0;
- }
- if(kewd_juperos) {
- set kewd_travel,kewd_travel|0x8000;
- set kewd_juperos,0;
- }
- if(kewd_lightHalzen) {
- set kewd_travel,kewd_travel|0x10000;
- set kewd_lightHalzen,0;
- }
- if(kewd_louYang) {
- set kewd_travel,kewd_travel|0x20000;
- set kewd_louYang,0;
- }
- if(kewd_magma) {
- set kewd_travel,kewd_travel|0x40000;
- set kewd_magma,0;
- }
- if(kewd_orc) {
- set kewd_travel,kewd_travel|0x80000;
- set kewd_orc,0;
- }
- if(kewd_payon) {
- set kewd_travel,kewd_travel|0x100000;
- set kewd_payon,0;
- }
- if(kewd_pyramid) {
- set kewd_travel,kewd_travel|0x200000;
- set kewd_pyramid,0;
- }
- if(kewd_sphinx) {
- set kewd_travel,kewd_travel|0x400000;
- set kewd_sphinx,0;
- }
- if(kewd_sunkenShip) {
- set kewd_travel,kewd_travel|0x800000;
- set kewd_sunkenShip,0;
- }
- if(kewd_thanatosTower) {
- set kewd_travel,kewd_travel|0x1000000;
- set kewd_thanatosTower,0;
- }
- if(kewd_toyFactory) {
- set kewd_travel,kewd_travel|0x2000000;
- set kewd_toyFactory,0;
- }
- if(kewd_turtleIsland) {
- set kewd_travel,kewd_travel|0x4000000;
- set kewd_turtleIsland,0;
- }
- if(kewd_umbala) {
- set kewd_travel,kewd_travel|0x8000000;
- set kewd_umbala,0;
- }
-
- if(#kewd_abyss) {
- set #kewd_travel,#kewd_travel|0x1;
- set #kewd_abyss,0;
- }
- if(#kewd_amatsu) {
- set #kewd_travel,#kewd_travel|0x2;
- set #kewd_amatsu,0;
- }
- if(#kewd_antHell) {
- set #kewd_travel,#kewd_travel|0x4;
- set #kewd_antHell,0;
- }
- if(#kewd_ayothaya) {
- set #kewd_travel,#kewd_travel|0x8;
- set #kewd_ayothaya,0;
- }
- if(#kewd_byalan) {
- set #kewd_travel,#kewd_travel|0x10;
- set #kewd_byalan,0;
- }
- if(#kewd_comodo) {
- set #kewd_travel,#kewd_travel|0x20;
- set #kewd_comodo,0;
- }
- if(#kewd_clockTower) {
- set #kewd_travel,#kewd_travel|0x40;
- set #kewd_clockTower,0;
- }
- if(#kewd_coalMines) {
- set #kewd_travel,#kewd_travel|0x80;
- set #kewd_coalMines,0;
- }
- if(#kewd_culvert) {
- set #kewd_travel,#kewd_travel|0x100;
- set #kewd_culvert,0;
- }
- if(#kewd_einbech) {
- set #kewd_travel,#kewd_travel|0x200;
- set #kewd_einbech,0;
- }
- if(#kewd_geffen) {
- set #kewd_travel,#kewd_travel|0x800;
- set #kewd_geffen,0;
- }
- if(#kewd_glastHeim) {
- set #kewd_travel,#kewd_travel|0x1000;
- set #kewd_glastHeim,0;
- }
- if(#kewd_gonRyun) {
- set #kewd_travel,#kewd_travel|0x2000;
- set #kewd_gonRyun,0;
- }
- if(#kewd_hiddenTemple) {
- set #kewd_travel,#kewd_travel|0x4000;
- set #kewd_hiddenTemple,0;
- }
- if(#kewd_juperos) {
- set #kewd_travel,#kewd_travel|0x8000;
- set #kewd_juperos,0;
- }
- if(#kewd_lightHalzen) {
- set #kewd_travel,#kewd_travel|0x10000;
- set #kewd_lightHalzen,0;
- }
- if(#kewd_louYang) {
- set #kewd_travel,#kewd_travel|0x20000;
- set #kewd_louYang,0;
- }
- if(#kewd_magma) {
- set #kewd_travel,#kewd_travel|0x40000;
- set #kewd_magma,0;
- }
- if(#kewd_orc) {
- set #kewd_travel,#kewd_travel|0x80000;
- set #kewd_orc,0;
- }
- if(#kewd_payon) {
- set #kewd_travel,#kewd_travel|0x100000;
- set #kewd_payon,0;
- }
- if(#kewd_pyramid) {
- set #kewd_travel,#kewd_travel|0x200000;
- set #kewd_pyramid,0;
- }
- if(#kewd_sphinx) {
- set #kewd_travel,#kewd_travel|0x400000;
- set #kewd_sphinx,0;
- }
- if(#kewd_sunkenShip) {
- set #kewd_travel,#kewd_travel|0x800000;
- set #kewd_sunkenShip,0;
- }
- if(#kewd_thanatosTower) {
- set #kewd_travel,#kewd_travel|0x1000000;
- set #kewd_thanatosTower,0;
- }
- if(#kewd_toyFactory) {
- set #kewd_travel,#kewd_travel|0x2000000;
- set #kewd_toyFactory,0;
- }
- if(#kewd_turtleIsland) {
- set #kewd_travel,#kewd_travel|0x4000000;
- set #kewd_turtleIsland,0;
- }
- if(#kewd_umbala) {
- set #kewd_travel,#kewd_travel|0x8000000;
- set #kewd_umbala,0;
- }
-
-// End transition code.
if ($@kewd_travel > 1) {
- if (@map$ == "hu_fild05" || kewd_travel&0x1)
+ if (kewd_travel) { //Copy over character permissions.
+ set #kewd_travel,#kewd_travel|kewd_travel;
+ set kewd_travel, 0;
+ }
+
+ if (@map$ == "hu_fild05.gat")
set #kewd_travel,#kewd_travel|0x1;
- if (@map$ == "ama_in02" || kewd_travel&0x2)
+ if (@map$ == "ama_in02.gat")
set #kewd_travel,#kewd_travel|0x2;
- if (@map$ == "moc_fild04" || @map$ == "moc_fild15" || kewd_travel&0x4)
+ if (@map$ == "moc_fild04.gat" || @map$ == "moc_fild15.gat")
set #kewd_travel,#kewd_travel|0x4;
- if (@map$ == "ayo_fild02" || kewd_travel&0x8)
+ if (@map$ == "ayo_fild02.gat")
set #kewd_travel,#kewd_travel|0x8;
- if (@map$ == "izlu2dun" || kewd_travel&0x10)
+ if (@map$ == "izlu2dun.gat")
set #kewd_travel,#kewd_travel|0x10;
- if (@map$ == "comodo" || @map$ == "cmd_fild01" || kewd_travel&0x20)
+ if (@map$ == "comodo.gat" || @map$ == "cmd_fild01.gat")
set #kewd_travel,#kewd_travel|0x20;
- if (@map$ == "aldebaran" || kewd_travel&0x40)
+ if (@map$ == "aldebaran.gat")
set #kewd_travel,#kewd_travel|0x40;
- if (@map$ == "mjolnir_02" || kewd_travel&0x80)
+ if (@map$ == "mjolnir_02.gat")
set #kewd_travel,#kewd_travel|0x80;
- if (@map$ == "prt_fild05" || kewd_travel&0x100)
+ if (@map$ == "prt_fild05.gat")
set #kewd_travel,#kewd_travel|0x100;
- if (@map$ == "einbech" || kewd_travel&0x200)
+ if (@map$ == "einbech.gat")
set #kewd_travel,#kewd_travel|0x200;
- if (@map$ == "gef_tower" || kewd_travel&0x800)
+ if (@map$ == "yuno_fild08.gat")
+ set #kewd_travel,#kewd_travel|0x400;
+ if (@map$ == "gef_tower.gat")
set #kewd_travel,#kewd_travel|0x800;
- if (@map$ == "glast_01" || kewd_travel&0x1000)
+ if (@map$ == "glast_01.gat")
set #kewd_travel,#kewd_travel|0x1000;
- if (@map$ == "gonryun" || kewd_travel&0x2000)
+ if (@map$ == "gonryun.gat")
set #kewd_travel,#kewd_travel|0x2000;
- if (@map$ == "prt_fild01" || kewd_travel&0x4000)
+ if (@map$ == "prt_fild01.gat")
set #kewd_travel,#kewd_travel|0x4000;
- if (@map$ == "jupe_cave" || kewd_travel&0x8000)
+ if (@map$ == "jupe_cave.gat")
set #kewd_travel,#kewd_travel|0x8000;
- if (@map$ == "lighthalzen" || kewd_travel&0x10000)
+ if (@map$ == "lighthalzen.gat")
set #kewd_travel,#kewd_travel|0x10000;
- if (@map$ == "louyang" || kewd_travel&0x20000)
+ if (@map$ == "louyang.gat")
set #kewd_travel,#kewd_travel|0x20000;
- if (@map$ == "yuno_fild03" || kewd_travel&0x40000)
+ if (@map$ == "yuno_fild03.gat")
set #kewd_travel,#kewd_travel|0x40000;
- if (@map$ == "in_orcs01" || kewd_travel&0x80000)
+ if (@map$ == "in_orcs01.gat")
set #kewd_travel,#kewd_travel|0x80000;
- if (@map$ == "pay_arche" || kewd_travel&0x100000)
+ if (@map$ == "pay_arche.gat")
set #kewd_travel,#kewd_travel|0x100000;
- if (@map$ == "moc_ruins" || kewd_travel&0x200000)
+ if (@map$ == "moc_ruins.gat")
set #kewd_travel,#kewd_travel|0x200000;
- if (@map$ == "moc_fild19" || kewd_travel&0x400000)
+ if (@map$ == "moc_fild19.gat")
set #kewd_travel,#kewd_travel|0x400000;
- if (@map$ == "alb2trea" || kewd_travel&0x800000)
+ if (@map$ == "alb2trea.gat")
set #kewd_travel,#kewd_travel|0x800000;
- if (@map$ == "tha_t01" || kewd_travel&0x1000000)
+ if (@map$ == "tha_scene01.gat")
set #kewd_travel,#kewd_travel|0x1000000;
- if (@map$ == "xmas" || kewd_travel&0x2000000)
+ if (@map$ == "xmas.gat")
set #kewd_travel,#kewd_travel|0x2000000;
- if (@map$ == "tur_dun01" || kewd_travel&0x4000000)
+ if (@map$ == "tur_dun01.gat")
set #kewd_travel,#kewd_travel|0x4000000;
- if (@map$ == "umbala" || kewd_travel&0x8000000)
+ if (@map$ == "umbala.gat")
set #kewd_travel,#kewd_travel|0x8000000;
+ if (@map$ == "odin_tem01.gat")
+ set #kewd_travel,#kewd_travel|0x10000000;
+ if (@map$ == "ra_fild01.gat")
+ set #kewd_travel,#kewd_travel|0x20000000;
+ if (@map$ == "ra_temin.gat")
+ set #kewd_travel,#kewd_travel|0x40000000;
} else {
- if (@map$ == "hu_fild05")
+ if (@map$ == "hu_fild05.gat")
set kewd_travel,kewd_travel|0x1;
- if (@map$ == "ama_in02")
+ if (@map$ == "ama_in02.gat")
set kewd_travel,kewd_travel|0x2;
- if (@map$ == "moc_fild04" || @map$ == "moc_fild15")
+ if (@map$ == "moc_fild04.gat" || @map$ == "moc_fild15.gat")
set kewd_travel,kewd_travel|0x4;
- if (@map$ == "ayo_fild02")
+ if (@map$ == "ayo_fild02.gat")
set kewd_travel,kewd_travel|0x8;
- if (@map$ == "izlu2dun")
+ if (@map$ == "izlu2dun.gat")
set kewd_travel,kewd_travel|0x10;
- if (@map$ == "comodo" || @map$ == "cmd_fild01")
+ if (@map$ == "comodo.gat" || @map$ == "cmd_fild01.gat")
set kewd_travel,kewd_travel|0x20;
- if (@map$ == "aldebaran")
+ if (@map$ == "aldebaran.gat")
set kewd_travel,kewd_travel|0x40;
- if (@map$ == "mjolnir_02")
+ if (@map$ == "mjolnir_02.gat")
set kewd_travel,kewd_travel|0x80;
- if (@map$ == "prt_fild05")
+ if (@map$ == "prt_fild05.gat")
set kewd_travel,kewd_travel|0x100;
- if (@map$ == "einbech")
+ if (@map$ == "einbech.gat")
set kewd_travel,kewd_travel|0x200;
- if (@map$ == "gef_tower")
+ if (@map$ == "yuno_fild08.gat")
+ set kewd_travel,kewd_travel|0x400;
+ if (@map$ == "gef_tower.gat")
set kewd_travel,kewd_travel|0x800;
- if (@map$ == "glast_01")
+ if (@map$ == "glast_01.gat")
set kewd_travel,kewd_travel|0x1000;
- if (@map$ == "gonryun")
+ if (@map$ == "gonryun.gat")
set kewd_travel,kewd_travel|0x2000;
- if (@map$ == "prt_fild01")
+ if (@map$ == "prt_fild01.gat")
set kewd_travel,kewd_travel|0x4000;
- if (@map$ == "jupe_cave")
+ if (@map$ == "jupe_cave.gat")
set kewd_travel,kewd_travel|0x8000;
- if (@map$ == "lighthalzen")
+ if (@map$ == "lighthalzen.gat")
set kewd_travel,kewd_travel|0x10000;
- if (@map$ == "louyang")
+ if (@map$ == "louyang.gat")
set kewd_travel,kewd_travel|0x20000;
- if (@map$ == "yuno_fild03")
+ if (@map$ == "yuno_fild03.gat")
set kewd_travel,kewd_travel|0x40000;
- if (@map$ == "in_orcs01")
+ if (@map$ == "in_orcs01.gat")
set kewd_travel,kewd_travel|0x80000;
- if (@map$ == "pay_arche")
+ if (@map$ == "pay_arche.gat")
set kewd_travel,kewd_travel|0x100000;
- if (@map$ == "moc_ruins")
+ if (@map$ == "moc_ruins.gat")
set kewd_travel,kewd_travel|0x200000;
- if (@map$ == "moc_fild19")
+ if (@map$ == "moc_fild19.gat")
set kewd_travel,kewd_travel|0x400000;
- if (@map$ == "alb2trea")
+ if (@map$ == "alb2trea.gat")
set kewd_travel,kewd_travel|0x800000;
- if (@map$ == "tha_t01")
+ if (@map$ == "tha_scene01.gat")
set kewd_travel,kewd_travel|0x1000000;
- if (@map$ == "xmas")
+ if (@map$ == "xmas.gat")
set kewd_travel,kewd_travel|0x2000000;
- if (@map$ == "tur_dun01")
+ if (@map$ == "tur_dun01.gat")
set kewd_travel,kewd_travel|0x4000000;
- if (@map$ == "umbala")
+ if (@map$ == "umbala.gat")
set kewd_travel,kewd_travel|0x8000000;
+ if (@map$ == "odin_tem01.gat")
+ set kewd_travel,kewd_travel|0x10000000;
+ if (@map$ == "ra_fild01.gat")
+ set kewd_travel,kewd_travel|0x20000000;
+ if (@map$ == "ra_temin.gat")
+ set kewd_travel,kewd_travel|0x40000000;
}
return;
}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_pvp.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_pvp.txt
index e1d7a5cb1..d014bca89 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_pvp.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_pvp.txt
@@ -13,7 +13,7 @@
//= See config.txt for configuration.
//============================================================
-- script keInit_warpPvp -1,{
+- script keInit_warpPvp {
OnInit: //Load Config
donpcevent "keConfig::OnLoadWarpPvp";
end;
@@ -33,29 +33,29 @@ function script F_keWarpPvp {
if ($@kewp_showOnline) {
set @kmenu, select(
"- Cancel",
- "- All Levels Rooms ("+($@kewp_cost*@cost)+"z/"+(getmapusers("pvp_n_8-1")+getmapusers("pvp_n_8-2")
- +getmapusers("pvp_n_8-3")+getmapusers("pvp_n_8-4")+getmapusers("pvp_n_8-5"))+" "+$@ked_users$+")",
+ "- All Levels Rooms ("+($@kewp_cost*@cost)+"z/"+(getmapusers("pvp_n_8-1.gat")+getmapusers("pvp_n_8-2.gat")
+ +getmapusers("pvp_n_8-3.gat")+getmapusers("pvp_n_8-4.gat")+getmapusers("pvp_n_8-5.gat"))+" "+$@ked_users$+")",
"- Levels "+($@kewp_baseLv1-$@kewp_range)+"-"+($@kewp_baseLv1+$@kewp_range)+" Rooms ("+($@kewp_cost1*@cost)+"z/"
- +(getmapusers("pvp_n_1-1")+getmapusers("pvp_n_1-2")+getmapusers("pvp_n_1-3")
- +getmapusers("pvp_n_1-4")+getmapusers("pvp_n_1-5"))+" "+$@ked_users$+")",
+ +(getmapusers("pvp_n_1-1.gat")+getmapusers("pvp_n_1-2.gat")+getmapusers("pvp_n_1-3.gat")
+ +getmapusers("pvp_n_1-4.gat")+getmapusers("pvp_n_1-5.gat"))+" "+$@ked_users$+")",
"- Levels "+($@kewp_baseLv2-$@kewp_range)+"-"+($@kewp_baseLv2+$@kewp_range)+" Rooms ("+($@kewp_cost2*@cost)+"z/"
- +(getmapusers("pvp_n_2-1")+getmapusers("pvp_n_2-2")+getmapusers("pvp_n_2-3")
- +getmapusers("pvp_n_2-4")+getmapusers("pvp_n_2-5"))+" "+$@ked_users$+")",
+ +(getmapusers("pvp_n_2-1.gat")+getmapusers("pvp_n_2-2.gat")+getmapusers("pvp_n_2-3.gat")
+ +getmapusers("pvp_n_2-4.gat")+getmapusers("pvp_n_2-5.gat"))+" "+$@ked_users$+")",
"- Levels "+($@kewp_baseLv3-$@kewp_range)+"-"+($@kewp_baseLv3+$@kewp_range)+" Rooms ("+($@kewp_cost3*@cost)+"z/"
- +(getmapusers("pvp_n_3-1")+getmapusers("pvp_n_3-2")+getmapusers("pvp_n_3-3")
- +getmapusers("pvp_n_3-4")+getmapusers("pvp_n_3-5"))+" "+$@ked_users$+")",
+ +(getmapusers("pvp_n_3-1.gat")+getmapusers("pvp_n_3-2.gat")+getmapusers("pvp_n_3-3.gat")
+ +getmapusers("pvp_n_3-4.gat")+getmapusers("pvp_n_3-5.gat"))+" "+$@ked_users$+")",
"- Levels "+($@kewp_baseLv4-$@kewp_range)+"-"+($@kewp_baseLv4+$@kewp_range)+" Rooms ("+($@kewp_cost4*@cost)+"z/"
- +(getmapusers("pvp_n_4-1")+getmapusers("pvp_n_4-2")+getmapusers("pvp_n_4-3")
- +getmapusers("pvp_n_4-4")+getmapusers("pvp_n_4-5"))+" "+$@ked_users$+")",
+ +(getmapusers("pvp_n_4-1.gat")+getmapusers("pvp_n_4-2.gat")+getmapusers("pvp_n_4-3.gat")
+ +getmapusers("pvp_n_4-4.gat")+getmapusers("pvp_n_4-5.gat"))+" "+$@ked_users$+")",
"- Levels "+($@kewp_baseLv5-$@kewp_range)+"-"+($@kewp_baseLv5+$@kewp_range)+" Rooms ("+($@kewp_cost5*@cost)+"z/"
- +(getmapusers("pvp_n_5-1")+getmapusers("pvp_n_5-2")+getmapusers("pvp_n_5-3")
- +getmapusers("pvp_n_5-4")+getmapusers("pvp_n_5-5"))+" "+$@ked_users$+")",
+ +(getmapusers("pvp_n_5-1.gat")+getmapusers("pvp_n_5-2.gat")+getmapusers("pvp_n_5-3.gat")
+ +getmapusers("pvp_n_5-4.gat")+getmapusers("pvp_n_5-5.gat"))+" "+$@ked_users$+")",
"- Levels "+($@kewp_baseLv6-$@kewp_range)+"-"+($@kewp_baseLv6+$@kewp_range)+" Rooms ("+($@kewp_cost6*@cost)+"z/"
- +(getmapusers("pvp_n_6-1")+getmapusers("pvp_n_6-2")+getmapusers("pvp_n_6-3")
- +getmapusers("pvp_n_6-4")+getmapusers("pvp_n_6-5"))+" "+$@ked_users$+")",
+ +(getmapusers("pvp_n_6-1.gat")+getmapusers("pvp_n_6-2.gat")+getmapusers("pvp_n_6-3.gat")
+ +getmapusers("pvp_n_6-4.gat")+getmapusers("pvp_n_6-5.gat"))+" "+$@ked_users$+")",
"- Levels "+($@kewp_baseLv7-$@kewp_range)+"-"+($@kewp_baseLv7+$@kewp_range)+" Rooms ("+($@kewp_cost7*@cost)+"z/"
- +(getmapusers("pvp_n_7-1")+getmapusers("pvp_n_7-2")+getmapusers("pvp_n_7-3")
- +getmapusers("pvp_n_7-4")+getmapusers("pvp_n_7-5"))+" "+$@ked_users$+")"
+ +(getmapusers("pvp_n_7-1.gat")+getmapusers("pvp_n_7-2.gat")+getmapusers("pvp_n_7-3.gat")
+ +getmapusers("pvp_n_7-4.gat")+getmapusers("pvp_n_7-5.gat"))+" "+$@ked_users$+")"
);
} else {
set @kmenu, select(
@@ -101,7 +101,7 @@ function script F_keWarpPvp {
//SubFunction: SF_pvpMenu (int map-group, int cost, int min level, int max level)
//Displays the list of the five available Pvp rooms to warp to.
-//map-group is the first index of the pvp map names (in pvp_n_2-3 it would be 2)
+//map-group is the first index of the pvp map names (in pvp_n_2-3.gat it would be 2)
function SF_pvpMenu {
if (getarg(4)) {
if (BaseLevel < getarg(3)) {
@@ -118,11 +118,11 @@ function SF_pvpMenu {
if ($@kewp_showOnline) {
set @submenu, select(
"- Cancel Warp (Rooms for "+@msg$+"/"+(getarg(1)*@cost)+"z)",
- "- Room Sandwich ("+getmapusers("pvp_n_"+getarg(0)+"-1")+" "+$@ked_users$+")",
- "- Room Rock On ("+getmapusers("pvp_n_"+getarg(0)+"-2")+" "+$@ked_users$+")",
- "- Four Room ("+getmapusers("pvp_n_"+getarg(0)+"-3")+" "+$@ked_users$+")",
- "- Room Undercross ("+getmapusers("pvp_n_"+getarg(0)+"-4")+" "+$@ked_users$+")",
- "- Room Compass ("+getmapusers("pvp_n_"+getarg(0)+"-5")+" "+$@ked_users$+")"
+ "- Room Sandwich ("+getmapusers("pvp_n_"+getarg(0)+"-1.gat")+" "+$@ked_users$+")",
+ "- Room Rock On ("+getmapusers("pvp_n_"+getarg(0)+"-2.gat")+" "+$@ked_users$+")",
+ "- Four Room ("+getmapusers("pvp_n_"+getarg(0)+"-3.gat")+" "+$@ked_users$+")",
+ "- Room Undercross ("+getmapusers("pvp_n_"+getarg(0)+"-4.gat")+" "+$@ked_users$+")",
+ "- Room Compass ("+getmapusers("pvp_n_"+getarg(0)+"-5.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -136,21 +136,21 @@ function SF_pvpMenu {
}
switch (@submenu) {
case 2:
- callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-1",-1,-1;
+ callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-1.gat",-1,-1;
break;
case 3:
- callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-2",-1,-1;
+ callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-2.gat",-1,-1;
break;
case 4:
- callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-3",-1,-1;
+ callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-3.gat",-1,-1;
break;
case 5:
- callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-4",-1,-1;
+ callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-4.gat",-1,-1;
break;
case 6:
- callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-5",-1,-1;
+ callfunc "F_keWarp",getarg(1),getarg(2),e_com,"pvp_n_"+getarg(0)+"-5.gat",-1,-1;
break;
}
}
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_town.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_town.txt
index 2c1e12bb9..29c8207c7 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_town.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_town.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 2.1
+//= 2.2
//===== Compatible With: =====================================
//= eAthena SVN R3424+, RO Episode 8+ (Hugel)
//===== Description: =========================================
@@ -33,9 +33,10 @@
//= 0x00040000 Prontera
//= 0x00080000 Umbala
//= 0x00100000 Yuno
+//= 0x00200000 Rachel
//============================================================
-- script keInit_warpTown -1,{
+- script keInit_warpTown {
OnInit: //Load Config
donpcevent "keConfig::OnLoadWarpTown";
end;
@@ -54,37 +55,40 @@ function script F_keWarpTown {
if ($@kewt_showOnline) {
set @kmenu, select(
"- Cancel",
- "- Alberta ("+@cost+"z/"+(getmapusers("alberta")+getmapusers("alberta_in"))+" "+$@ked_users$+")",
- "- Al De Baran ("+@cost+"z/"+(getmapusers("aldebaran")+getmapusers("aldeba_in"))+" "+$@ked_users$+")",
- "- Amatsu ("+@cost+"z/"+(getmapusers("amatsu")+getmapusers("ama_in01")+getmapusers("ama_in02"))
+ "- Alberta ("+@cost+"z/"+(getmapusers("alberta.gat")+getmapusers("alberta_in.gat"))+" "+$@ked_users$+")",
+ "- Al De Baran ("+@cost+"z/"+(getmapusers("aldebaran.gat")+getmapusers("aldeba_in.gat"))+" "+$@ked_users$+")",
+ "- Amatsu ("+@cost+"z/"+(getmapusers("amatsu.gat")+getmapusers("ama_in01.gat")+getmapusers("ama_in02.gat"))
+" "+$@ked_users$+")",
- "- Ayothaya ("+@cost+"z/"+(getmapusers("ayothaya")+getmapusers("ayo_in01")+getmapusers("ayo_in02"))
+ "- Ayothaya ("+@cost+"z/"+(getmapusers("ayothaya.gat")+getmapusers("ayo_in01.gat")+getmapusers("ayo_in02.gat"))
+" "+$@ked_users$+")",
- "- Comodo ("+@cost+"z/"+(getmapusers("comodo")+getmapusers("cmd_in01")+getmapusers("cmd_in02"))
+ "- Comodo ("+@cost+"z/"+(getmapusers("comodo.gat")+getmapusers("cmd_in01.gat")+getmapusers("cmd_in02.gat"))
+" "+$@ked_users$+")",
- "- Einbech ("+@cost+"z/"+(getmapusers("einbech"))+" "+$@ked_users$+")",
- "- Einbroch ("+@cost+"z/"+(getmapusers("einbroch")+getmapusers("ein_in01"))+" "+$@ked_users$+")",
- "- Geffen ("+@cost+"z/"+(getmapusers("geffen")+getmapusers("geffen_in")+getmapusers("gef_tower"))
+ "- Einbech ("+@cost+"z/"+(getmapusers("einbech.gat"))+" "+$@ked_users$+")",
+ "- Einbroch ("+@cost+"z/"+(getmapusers("einbroch.gat")+getmapusers("ein_in01.gat"))+" "+$@ked_users$+")",
+ "- Geffen ("+@cost+"z/"+(getmapusers("geffen.gat")+getmapusers("geffen_in.gat")+getmapusers("gef_tower.gat"))
+" "+$@ked_users$+")",
- "- Gon Ryun ("+@cost+"z/"+(getmapusers("gonryun")+getmapusers("gon_in"))+" "+$@ked_users$+")",
- "- Hugel ("+@cost+"z/"+(getmapusers("hugel")+getmapusers("hu_in01"))+" "+$@ked_users$+")",
- "- Izlude ("+@cost+"z/"+(getmapusers("izlude")+getmapusers("izlude_in"))+" "+$@ked_users$+")",
- "- Jawaii ("+@cost+"z/"+(getmapusers("jawaii")+getmapusers("jawaii_in"))+" "+$@ked_users$+")",
- "- LightHalzen ("+@cost+"z/"+(getmapusers("lighthalzen")+getmapusers("lhz_in01")
- +getmapusers("lhz_in02")+getmapusers("lhz_in03"))+" "+$@ked_users$+")",
- "- Lou Yang ("+@cost+"z/"+(getmapusers("louyang")+getmapusers("lou_in01")+getmapusers("lou_in02"))
+ "- Gon Ryun ("+@cost+"z/"+(getmapusers("gonryun.gat")+getmapusers("gon_in.gat"))+" "+$@ked_users$+")",
+ "- Hugel ("+@cost+"z/"+(getmapusers("hugel.gat")+getmapusers("hu_in01.gat"))+" "+$@ked_users$+")",
+ "- Izlude ("+@cost+"z/"+(getmapusers("izlude.gat")+getmapusers("izlude_in.gat"))+" "+$@ked_users$+")",
+ "- Jawaii ("+@cost+"z/"+(getmapusers("jawaii.gat")+getmapusers("jawaii_in.gat"))+" "+$@ked_users$+")",
+ "- LightHalzen ("+@cost+"z/"+(getmapusers("lighthalzen.gat")+getmapusers("lhz_in01.gat")
+ +getmapusers("lhz_in02.gat")+getmapusers("lhz_in03.gat"))+" "+$@ked_users$+")",
+ "- Lou Yang ("+@cost+"z/"+(getmapusers("louyang.gat")+getmapusers("lou_in01.gat")+getmapusers("lou_in02.gat"))
+" "+$@ked_users$+")",
- "- Lutie ("+@cost+"z/"+(getmapusers("xmas")+getmapusers("xmas_in"))+" "+$@ked_users$+")",
- "- Morocc ("+@cost+"z/"+(getmapusers("morocc")+getmapusers("morocc_in")+getmapusers("moc_castle"))
+ "- Lutie ("+@cost+"z/"+(getmapusers("xmas.gat")+getmapusers("xmas_in.gat"))+" "+$@ked_users$+")",
+ "- Morocc ("+@cost+"z/"+(getmapusers("morocc.gat")+getmapusers("morocc_in.gat")+getmapusers("moc_castle.gat"))
+" "+$@ked_users$+")",
- "- Niflheim ("+@niflcost+"z/"+(getmapusers("niflheim")+getmapusers("nif_in"))+" "+$@ked_users$+")",
- "- Payon ("+@cost+"z/"+(getmapusers("payon")+getmapusers("payon_in01")+getmapusers("payon_in02"))
+ "- Niflheim ("+@niflcost+"z/"+(getmapusers("niflheim.gat")+getmapusers("nif_in.gat"))+" "+$@ked_users$+")",
+ "- Payon ("+@cost+"z/"+(getmapusers("payon.gat")+getmapusers("payon_in01.gat")+getmapusers("payon_in02.gat"))
+" "+$@ked_users$+")",
- "- Prontera ("+@cost+"z/"+(getmapusers("prontera")+getmapusers("prt_castle")
- +getmapusers("prt_church")+getmapusers("prt_in"))+" "+$@ked_users$+")",
- "- Umbala ("+@cost+"z/"+(getmapusers("umbala")+getmapusers("um_in"))+" "+$@ked_users$+")",
- "- Yuno ("+@cost+"z/"+(getmapusers("yuno")+getmapusers("yuno_in01")+getmapusers("yuno_in02")
- +getmapusers("yuno_in03")+getmapusers("yuno_in04")+getmapusers("yuno_in05"))+" "+$@ked_users$+")"
+ "- Prontera ("+@cost+"z/"+(getmapusers("prontera.gat")+getmapusers("prt_castle.gat")
+ +getmapusers("prt_church.gat")+getmapusers("prt_in.gat"))+" "+$@ked_users$+")",
+ "- Rachel ("+@cost+"z/"+(getmapusers("rachel.gat")+getmapusers("ra_in01.gat")
+ +getmapusers("ra_temple.gat")+getmapusers("ra_temin.gat")+getmapusers("ra_temsky.gat")
+ +getmapusers("que_rachel.gat"))+" "+$@ked_users$+")",
+ "- Umbala ("+@cost+"z/"+(getmapusers("umbala.gat")+getmapusers("um_in.gat"))+" "+$@ked_users$+")",
+ "- Yuno ("+@cost+"z/"+(getmapusers("yuno.gat")+getmapusers("yuno_in01.gat")+getmapusers("yuno_in02.gat")
+ +getmapusers("yuno_in03.gat")+getmapusers("yuno_in04.gat")+getmapusers("yuno_in05.gat"))+" "+$@ked_users$+")"
);
} else {
set @kmenu, select(
@@ -108,6 +112,7 @@ function script F_keWarpTown {
"- Niflheim ("+@niflcost+"z)",
"- Payon ("+@cost+"z)",
"- Prontera ("+@cost+"z)",
+ "- Rachel ("+@cost+"z)",
"- Umbala ("+@cost+"z)",
"- Yuno ("+@cost+"z)"
);
@@ -115,67 +120,67 @@ function script F_keWarpTown {
switch (@kmenu) {
case 2: //Alberta
if (SF_check(0x1))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"alberta",117,56;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"alberta.gat",117,56;
break;
case 3: //AlDeBaran
if (SF_check(0x2))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"aldebaran",139,124;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"aldebaran.gat",139,124;
break;
case 4: //Amatsu
if (SF_check(0x4))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"amatsu",197,88;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"amatsu.gat",197,88;
break;
case 5: //Ayathoya
if (SF_check(0x8))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"ayothaya",202,174;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"ayothaya.gat",202,174;
break;
case 6: //Comodo
if (SF_check(0x10))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"comodo",189,150;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"comodo.gat",189,150;
break;
case 7: //Einbech
if (SF_check(0x20))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"einbech",137,220;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"einbech.gat",137,220;
break;
case 8: //Einbroch
if (SF_check(0x40))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"einbroch",64,199;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"einbroch.gat",64,199;
break;
case 9: //Geffen
if (SF_check(0x80))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"geffen",120,66;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"geffen.gat",120,66;
break;
case 10: //GonRyun
if (SF_check(0x100))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"gonryun",160,180;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"gonryun.gat",160,180;
break;
case 11: //Hugel
if (SF_check(0x200))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"hugel",96,105;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"hugel.gat",96,105;
break;
case 12: //Izlude
if (SF_check(0x400))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"izlude",127,97;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"izlude.gat",127,97;
break;
case 13: //Jawaii
if (SF_check(0x800))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"jawaii",214,223;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"jawaii.gat",214,223;
break;
case 14: //LightHalzen
if (SF_check(0x1000))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"lighthalzen",158,92;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"lighthalzen.gat",158,92;
break;
case 15: //LouYang
if (SF_check(0x2000))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"louyang",218,118;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"louyang.gat",218,118;
break;
case 16: //Lutie
if (SF_check(0x4000))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"xmas",148,133;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"xmas.gat",148,133;
break;
case 17: //Morocc
if (SF_check(0x8000))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"morocc",162,91;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"morocc.gat",162,91;
break;
case 18: //Niflheim
if (SF_check(0x10000)) {
@@ -183,30 +188,34 @@ function script F_keWarpTown {
mes "...?";
callfunc "F_keIntro", e_no, "For some reason I can't warp you there!";
} else
- callfunc "F_keWarp",$@kewt_niflCost,$@kewd_discount,e_yawn,"niflheim",194,185;
+ callfunc "F_keWarp",$@kewt_niflCost,$@kewd_discount,e_yawn,"niflheim.gat",194,185;
}
break;
case 19: //Payon
if (SF_check(0x20000))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"payon",159,181;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"payon.gat",159,181;
break;
case 20: //Prontera
if (SF_check(0x40000))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"prontera",156,175;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"prontera.gat",156,175;
break;
- case 21: //Umbala
+ case 21: //Rachel
+ if (SF_check(0x200000))
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"rachel.gat",137,133;
+ break;
+ case 22: //Umbala
if (SF_check(0x80000))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"umbala",88,153;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"umbala.gat",88,153;
break;
- case 22: //Yuno
+ case 23: //Yuno
if (SF_check(0x100000))
- SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"yuno",158,77;
+ SF_warp $@kewt_cost,$@kewt_discount,e_yawn,"yuno.gat",158,77;
break;
}
} while (@kmenu > 1);
return;
-//SubFunction SF_check(char-flag, account_flag)
+//SubFunction SF_check(flag)
//Checks if the character can warp to that town taking into consideration
//traveller's mode.
function SF_check {
@@ -410,91 +419,95 @@ function script F_keAddTravelTown {
// End update code.
if ($@kewt_travel > 1) {
- if (@map$ == "alberta" || kewt_travel&0x1)
+ if (@map$ == "alberta.gat" || kewt_travel&0x1)
set #kewt_travel,#kewt_travel|0x1;
- if (@map$ == "aldebaran" || kewt_travel&0x2)
+ if (@map$ == "aldebaran.gat" || kewt_travel&0x2)
set #kewt_travel,#kewt_travel|0x2;
- if (@map$ == "amatsu" || kewt_travel&0x4)
+ if (@map$ == "amatsu.gat" || kewt_travel&0x4)
set #kewt_travel,#kewt_travel|0x4;
- if (@map$ == "ayothaya" || kewt_travel&0x8)
+ if (@map$ == "ayothaya.gat" || kewt_travel&0x8)
set #kewt_travel,#kewt_travel|0x8;
- if (@map$ == "comodo" || kewt_travel&0x10)
+ if (@map$ == "comodo.gat" || kewt_travel&0x10)
set #kewt_travel,#kewt_travel|0x10;
- if (@map$ == "einbech" || kewt_travel&0x20)
+ if (@map$ == "einbech.gat" || kewt_travel&0x20)
set #kewt_travel,#kewt_travel|0x20;
- if (@map$ == "einbroch" || kewt_travel&0x40)
+ if (@map$ == "einbroch.gat" || kewt_travel&0x40)
set #kewt_travel,#kewt_travel|0x40;
- if (@map$ == "geffen" || kewt_travel&0x80)
+ if (@map$ == "geffen.gat" || kewt_travel&0x80)
set #kewt_travel,#kewt_travel|0x80;
- if (@map$ == "gonryun" || kewt_travel&0x100)
+ if (@map$ == "gonryun.gat" || kewt_travel&0x100)
set #kewt_travel,#kewt_travel|0x100;
- if (@map$ == "hugel" || kewt_travel&0x200)
+ if (@map$ == "hugel.gat" || kewt_travel&0x200)
set #kewt_travel,#kewt_travel|0x200;
- if (@map$ == "izlude" || kewt_travel&0x400)
+ if (@map$ == "izlude.gat" || kewt_travel&0x400)
set #kewt_travel,#kewt_travel|0x400;
- if (@map$ == "jawaii" || kewt_travel&0x800)
+ if (@map$ == "jawaii.gat" || kewt_travel&0x800)
set #kewt_travel,#kewt_travel|0x800;
- if (@map$ == "lighthalzen" || kewt_travel&1000)
+ if (@map$ == "lighthalzen.gat" || kewt_travel&1000)
set #kewt_travel,#kewt_travel|0x1000;
- if (@map$ == "louyang" || kewt_travel&0x2000)
+ if (@map$ == "louyang.gat" || kewt_travel&0x2000)
set #kewt_travel,#kewt_travel|0x2000;
- if (@map$ == "xmas" || kewt_travel&0x4000)
+ if (@map$ == "xmas.gat" || kewt_travel&0x4000)
set #kewt_travel,#kewt_travel|0x4000;
- if (@map$ == "morocc" || kewt_travel&0x8000)
+ if (@map$ == "morocc.gat" || kewt_travel&0x8000)
set #kewt_travel,#kewt_travel|0x8000;
- if (@map$ == "niflheim" || kewt_travel&0x10000)
+ if (@map$ == "niflheim.gat" || kewt_travel&0x10000)
set #kewt_travel,#kewt_travel|0x10000;
- if (@map$ == "payon" || kewt_travel&0x20000)
+ if (@map$ == "payon.gat" || kewt_travel&0x20000)
set #kewt_travel,#kewt_travel|0x20000;
- if (@map$ == "prontera" || kewt_travel&0x40000)
+ if (@map$ == "prontera.gat" || kewt_travel&0x40000)
set #kewt_travel,#kewt_travel|0x40000;
- if (@map$ == "umbala" || kewt_travel&0x80000)
+ if (@map$ == "umbala.gat" || kewt_travel&0x80000)
set #kewt_travel,#kewt_travel|0x80000;
- if (@map$ == "yuno" || kewt_travel&0x100000)
+ if (@map$ == "yuno.gat" || kewt_travel&0x100000)
set #kewt_travel,#kewt_travel|0x100000;
+ if (@map$ == "rachel.gat" || kewt_travel&0x200000)
+ set #kewt_travel,#kewt_travel|0x200000;
} else {
- if (@map$ == "alberta")
+ if (@map$ == "alberta.gat")
set kewt_travel,kewt_travel|0x1;
- if (@map$ == "aldebaran")
+ if (@map$ == "aldebaran.gat")
set kewt_travel,kewt_travel|0x2;
- if (@map$ == "amatsu")
+ if (@map$ == "amatsu.gat")
set kewt_travel,kewt_travel|0x4;
- if (@map$ == "ayothaya")
+ if (@map$ == "ayothaya.gat")
set kewt_travel,kewt_travel|0x8;
- if (@map$ == "comodo")
+ if (@map$ == "comodo.gat")
set kewt_travel,kewt_travel|0x10;
- if (@map$ == "einbech")
+ if (@map$ == "einbech.gat")
set kewt_travel,kewt_travel|0x20;
- if (@map$ == "einbroch")
+ if (@map$ == "einbroch.gat")
set kewt_travel,kewt_travel|0x40;
- if (@map$ == "geffen")
+ if (@map$ == "geffen.gat")
set kewt_travel,kewt_travel|0x80;
- if (@map$ == "gonryun")
+ if (@map$ == "gonryun.gat")
set kewt_travel,kewt_travel|0x100;
- if (@map$ == "hugel")
+ if (@map$ == "hugel.gat")
set kewt_travel,kewt_travel|0x200;
- if (@map$ == "izlude")
+ if (@map$ == "izlude.gat")
set kewt_travel,kewt_travel|0x400;
- if (@map$ == "jawaii")
+ if (@map$ == "jawaii.gat")
set kewt_travel,kewt_travel|0x800;
- if (@map$ == "lighthalzen")
+ if (@map$ == "lighthalzen.gat")
set kewt_travel,kewt_travel|0x1000;
- if (@map$ == "louyang")
+ if (@map$ == "louyang.gat")
set kewt_travel,kewt_travel|0x2000;
- if (@map$ == "xmas")
+ if (@map$ == "xmas.gat")
set kewt_travel,kewt_travel|0x4000;
- if (@map$ == "morocc")
+ if (@map$ == "morocc.gat")
set kewt_travel,kewt_travel|0x8000;
- if (@map$ == "niflheim")
+ if (@map$ == "niflheim.gat")
set kewt_travel,kewt_travel|0x10000;
- if (@map$ == "payon")
+ if (@map$ == "payon.gat")
set kewt_travel,kewt_travel|0x20000;
- if (@map$ == "prontera")
+ if (@map$ == "prontera.gat")
set kewt_travel,kewt_travel|0x40000;
- if (@map$ == "umbala")
+ if (@map$ == "umbala.gat")
set kewt_travel,kewt_travel|0x80000;
- if (@map$ == "yuno")
+ if (@map$ == "yuno.gat")
set kewt_travel,kewt_travel|0x100000;
+ if (@map$ == "rachel.gat")
+ set kewt_travel,kewt_travel|0x200000;
}
return;
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_woe.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_woe.txt
index 28175a643..b0d5e5b35 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_woe.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_woe.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Skotlex
//===== Current Version: =====================================
-//= 1.7
+//= 1.8
//===== Compatible With: =====================================
//= eAthena SVN R3424+, RO Episode 4.1+ (War of Emperium)
//===== Description: =========================================
@@ -14,7 +14,7 @@
//= Remove the comment on lines 52,53 and 63 to enable direct G. Dungeon warping
//============================================================
-- script keInit_warpWoe -1,{
+- script keInit_warpWoe {
OnInit: //Load Config
donpcevent "keConfig::OnLoadWarpWoe";
end;
@@ -25,7 +25,7 @@ function script F_keWarpWOE {
callfunc "F_keIntro", e_srt, "Sorry, these warps are only available to people who belong to a Guild.";
return;
}
- if ($@kewg_checkAgit && !agitcheck()) {
+ if ($@kewg_checkAgit && agitcheck() == 0) {
callfunc "F_keIntro", e_srt, "Sorry, these warps are only enabled during the Guild Wars.";
return;
}
@@ -37,20 +37,20 @@ function script F_keWarpWOE {
if ($@kewg_showOnline) {
set @kmenu, select(
"- Cancel",
- "- Al De Baran Guild ("+($@kewg_alDeBaran*@cost/100)+"z/"+(getmapusers("alde_gld")
- +getmapusers("aldeg_cas01")+getmapusers("aldeg_cas02")+getmapusers("aldeg_cas03")
- +getmapusers("aldeg_cas04")+getmapusers("aldeg_cas05"))+" "+$@ked_users$+")",
- "- Geffen Guild ("+($@kewg_geffen*@cost/100)+"z/"+(getmapusers("gef_fild13")
- +getmapusers("gefg_cas01")+getmapusers("gefg_cas02")+getmapusers("gefg_cas03")
- +getmapusers("gefg_cas04")+getmapusers("gefg_cas05"))+" "+$@ked_users$+")",
- "- Payon Guild ("+($@kewg_payon*@cost/100)+"z/"+(getmapusers("pay_gld")
- +getmapusers("payg_cas01")+getmapusers("payg_cas02")+getmapusers("payg_cas03")
- +getmapusers("payg_cas04")+getmapusers("payg_cas05"))+" "+$@ked_users$+")",
- "- Prontera Guild ("+($@kewg_prontera*@cost/100)+"z/"+(getmapusers("prt_gld")
- +getmapusers("prtg_cas01")+getmapusers("prtg_cas02")+getmapusers("prtg_cas03")
- +getmapusers("prtg_cas04")+getmapusers("prtg_cas05"))+" "+$@ked_users$+")",
-// "- Guild Dungeons ("+(getmapusers("gld_dun01")+getmapusers("gld_dun02")
-// +getmapusers("gld_dun03")+getmapusers("gld_dun04"))+" "+$@ked_users$+")",
+ "- Al De Baran Guild ("+($@kewg_alDeBaran*@cost/100)+"z/"+(getmapusers("alde_gld.gat")
+ +getmapusers("aldeg_cas01.gat")+getmapusers("aldeg_cas02.gat")+getmapusers("aldeg_cas03.gat")
+ +getmapusers("aldeg_cas04.gat")+getmapusers("aldeg_cas05.gat"))+" "+$@ked_users$+")",
+ "- Geffen Guild ("+($@kewg_geffen*@cost/100)+"z/"+(getmapusers("gef_fild13.gat")
+ +getmapusers("gefg_cas01.gat")+getmapusers("gefg_cas02.gat")+getmapusers("gefg_cas03.gat")
+ +getmapusers("gefg_cas04.gat")+getmapusers("gefg_cas05.gat"))+" "+$@ked_users$+")",
+ "- Payon Guild ("+($@kewg_payon*@cost/100)+"z/"+(getmapusers("pay_gld.gat")
+ +getmapusers("payg_cas01.gat")+getmapusers("payg_cas02.gat")+getmapusers("payg_cas03.gat")
+ +getmapusers("payg_cas04.gat")+getmapusers("payg_cas05.gat"))+" "+$@ked_users$+")",
+ "- Prontera Guild ("+($@kewg_prontera*@cost/100)+"z/"+(getmapusers("prt_gld.gat")
+ +getmapusers("prtg_cas01.gat")+getmapusers("prtg_cas02.gat")+getmapusers("prtg_cas03.gat")
+ +getmapusers("prtg_cas04.gat")+getmapusers("prtg_cas05.gat"))+" "+$@ked_users$+")",
+// "- Guild Dungeons ("+(getmapusers("gld_dun01.gat")+getmapusers("gld_dun02.gat")
+// +getmapusers("gld_dun03.gat")+getmapusers("gld_dun04.gat"))+" "+$@ked_users$+")",
"- See "+$@ked_users$+" distribution"
);
} else {
@@ -65,16 +65,16 @@ function script F_keWarpWOE {
}
switch (@kmenu) {
case 2: //Al De Baran
- callfunc "F_keWarp",$@kewg_alDeBaran,$@kewg_discount,44,"alde_gld",153,160;
+ callfunc "F_keWarp",$@kewg_alDeBaran,$@kewg_discount,44,"alde_gld.gat",153,160;
break;
case 3: //Geffen
- callfunc "F_keWarp",$@kewg_geffen,$@kewg_discount,44,"gef_fild13",243,180;
+ callfunc "F_keWarp",$@kewg_geffen,$@kewg_discount,44,"gef_fild13.gat",243,180;
break;
case 4: //Payon
- callfunc "F_keWarp",$@kewg_payon,$@kewg_discount,44,"pay_gld",249,177;
+ callfunc "F_keWarp",$@kewg_payon,$@kewg_discount,44,"pay_gld.gat",249,177;
break;
case 5: //Prontera
- callfunc "F_keWarp",$@kewg_prontera,$@kewg_discount,44,"prt_gld",119,160;
+ callfunc "F_keWarp",$@kewg_prontera,$@kewg_discount,44,"prt_gld.gat",119,160;
break;
case 6: //Guild Dungeons
SF_dungeons();
@@ -83,36 +83,36 @@ function script F_keWarpWOE {
mes "The current distribution of "+$@ked_users$+" is as follows:";
next;
mes "[Al De Baran]";
- mes "- Guild Grounds: "+getmapusers("alde_gld");
- mes "- Castle 1 - Noisyubantian: "+getmapusers("aldeg_cas01");
- mes "- Castle 2 - Hohensyubangawoo: "+getmapusers("aldeg_cas02");
- mes "- Castle 3 - Nyirenverk: "+getmapusers("aldeg_cas03");
- mes "- Castle 4 - Byirtsburi: "+getmapusers("aldeg_cas04");
- mes "- Castle 5 - Rotenburk: "+getmapusers("aldeg_cas05");
+ mes "- Guild Grounds: "+getmapusers("alde_gld.gat");
+ mes "- Castle 1 - Noisyubantian: "+getmapusers("aldeg_cas01.gat");
+ mes "- Castle 2 - Hohensyubangawoo: "+getmapusers("aldeg_cas02.gat");
+ mes "- Castle 3 - Nyirenverk: "+getmapusers("aldeg_cas03.gat");
+ mes "- Castle 4 - Byirtsburi: "+getmapusers("aldeg_cas04.gat");
+ mes "- Castle 5 - Rotenburk: "+getmapusers("aldeg_cas05.gat");
next;
mes "[Geffen]";
- mes "- Guild Grounds: "+getmapusers("gef_fild13");
- mes "- Castle 1 - Reprion: "+getmapusers("gefg_cas01");
- mes "- Castle 2 - Yolbriger: "+getmapusers("gefg_cas02");
- mes "- Castle 3 - Isinlife: "+getmapusers("gefg_cas03");
- mes "- Castle 4 - Berigel: "+getmapusers("gefg_cas04");
- mes "- Castle 5 - Melsedetsu: "+getmapusers("gefg_cas05");
+ mes "- Guild Grounds: "+getmapusers("gef_fild13.gat");
+ mes "- Castle 1 - Reprion: "+getmapusers("gefg_cas01.gat");
+ mes "- Castle 2 - Yolbriger: "+getmapusers("gefg_cas02.gat");
+ mes "- Castle 3 - Isinlife: "+getmapusers("gefg_cas03.gat");
+ mes "- Castle 4 - Berigel: "+getmapusers("gefg_cas04.gat");
+ mes "- Castle 5 - Melsedetsu: "+getmapusers("gefg_cas05.gat");
next;
mes "[Payon]";
- mes "- Guild Grounds: "+getmapusers("pay_gld");
- mes "- Castle 1 - Mingting: "+getmapusers("payg_cas01");
- mes "- Castle 2 - Tiantan: "+getmapusers("payg_cas02");
- mes "- Castle 3 - Fuying: "+getmapusers("payg_cas03");
- mes "- Castle 4 - Honglou: "+getmapusers("payg_cas04");
- mes "- Castle 5 - Zhulinxian: "+getmapusers("payg_cas05");
+ mes "- Guild Grounds: "+getmapusers("pay_gld.gat");
+ mes "- Castle 1 - Mingting: "+getmapusers("payg_cas01.gat");
+ mes "- Castle 2 - Tiantan: "+getmapusers("payg_cas02.gat");
+ mes "- Castle 3 - Fuying: "+getmapusers("payg_cas03.gat");
+ mes "- Castle 4 - Honglou: "+getmapusers("payg_cas04.gat");
+ mes "- Castle 5 - Zhulinxian: "+getmapusers("payg_cas05.gat");
next;
mes "[Prontera]";
- mes "- Guild Grounds: "+getmapusers("prt_gld");
- mes "- Castle 1 - Creamhilt: "+getmapusers("prtg_cas01");
- mes "- Castle 2 - Sbanhealt: "+getmapusers("prtg_cas02");
- mes "- Castle 3 - Lazrigees: "+getmapusers("prtg_cas03");
- mes "- Castle 4 - Squagul: "+getmapusers("prtg_cas04");
- mes "- Castle 5 - Guindull: "+getmapusers("prtg_cas05");
+ mes "- Guild Grounds: "+getmapusers("prt_gld.gat");
+ mes "- Castle 1 - Creamhilt: "+getmapusers("prtg_cas01.gat");
+ mes "- Castle 2 - Sbanhealt: "+getmapusers("prtg_cas02.gat");
+ mes "- Castle 3 - Lazrigees: "+getmapusers("prtg_cas03.gat");
+ mes "- Castle 4 - Squagul: "+getmapusers("prtg_cas04.gat");
+ mes "- Castle 5 - Guindull: "+getmapusers("prtg_cas05.gat");
next;
callfunc "F_keIntro", -1, "";
break;
@@ -125,10 +125,10 @@ function SF_dungeons {
if ($@kewg_showOnline) {
set @submenu, select(
"- Cancel",
- "- Baldur Dungeon ("+($@kewg_baldur*@cost/100)+"z/"+getmapusers("gld_dun01")+" "+$@ked_users$+")",
- "- Luina Dungeon ("+($@kewg_luina*@cost/100)+"z/"+getmapusers("gld_dun02")+" "+$@ked_users$+")",
- "- Valkyrie Dungeon ("+($@kewg_valkyrie*@cost/100)+"z/"+getmapusers("gld_dun03")+" "+$@ked_users$+")",
- "- Britoniah Dungeon ("+($@kewg_britoniah*@cost/100)+"z/"+getmapusers("gld_dun04")+" "+$@ked_users$+")"
+ "- Baldur Dungeon ("+($@kewg_baldur*@cost/100)+"z/"+getmapusers("gld_dun01.gat")+" "+$@ked_users$+")",
+ "- Luina Dungeon ("+($@kewg_luina*@cost/100)+"z/"+getmapusers("gld_dun02.gat")+" "+$@ked_users$+")",
+ "- Valkyrie Dungeon ("+($@kewg_valkyrie*@cost/100)+"z/"+getmapusers("gld_dun03.gat")+" "+$@ked_users$+")",
+ "- Britoniah Dungeon ("+($@kewg_britoniah*@cost/100)+"z/"+getmapusers("gld_dun04.gat")+" "+$@ked_users$+")"
);
} else {
set @submenu, select(
@@ -141,19 +141,19 @@ function SF_dungeons {
}
switch (@submenu) {
case 2: //Baldur
- callfunc "F_keWarp",$@kewg_baldur,$@kewg_discount,44,"gld_dun01",119,18;
+ callfunc "F_keWarp",$@kewg_baldur,$@kewg_discount,44,"gld_dun01.gat",119,18;
break;
case 3: //Luina
- callfunc "F_keWarp",$@kewg_luina,$@kewg_discount,44,"gld_dun02",174,113;
+ callfunc "F_keWarp",$@kewg_luina,$@kewg_discount,44,"gld_dun02.gat",174,113;
break;
case 4: //Valkyrie
- callfunc "F_keWarp",$@kewg_valkyrie,$@kewg_discount,44,"gld_dun03",37,34;
+ callfunc "F_keWarp",$@kewg_valkyrie,$@kewg_discount,44,"gld_dun03.gat",37,34;
break;
case 5: //Britoniah
- callfunc "F_keWarp",$@kewg_britoniah,$@kewg_discount,44,"gld_dun04",42,230;
+ callfunc "F_keWarp",$@kewg_britoniah,$@kewg_discount,44,"gld_dun04.gat",42,230;
break;
}
} while (@submenu > 1);
}
-} \ No newline at end of file
+}
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/readme.txt b/npc/custom/eAAC_Scripts/kafraExpress/readme.txt
index 9b3468fc6..716d272a9 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/readme.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/readme.txt
@@ -6,7 +6,7 @@ This file's purpose is to give an indepth explanation about setting up, and
configuring the Kafra Express Script Package (KESP). It is intended to be
viewed by a text editor using fixed-width font and 80-character long lines.
-Document Version v1.9 (15/June/2006)
+Document Version v2.0 (27/September/2006)
////////////////////////////////////////////////////////////////////////////////
Table of Contents
////////////////////////////////////////////////////////////////////////////////
@@ -231,11 +231,14 @@ costs 100z to heal 1000.
-------------
The cost of using the storage, guild storage (respectively)
-(1) kekp_reset
+(#) kekp_reset
--------------
-For Kafra Passes. When 1, the Pass expires when starting a chat with the
-Kafra. Otherwise the variable remains active a pretty long time (probably all
-session).
+For Kafra Passes. When set, the Pass expires after starting a chat with the
+Kafra the amount of times specified. Otherwise the variable remains active a
+pretty long time (probably all session). For example, if set to 2, after
+activating the pass and opening the storage, the Pass will still be active
+the next time you speak to a kafra, it will expire on the "third" time you
+speak to her.
($) kekp_reserveCost
--------------------
@@ -387,10 +390,12 @@ Specificies the number of hair dyes
(#) kedy_clothJ1ST
(#) kedy_clothJ2ND
(#) kedy_clothJSN
-(#) kedy_clothJWED
------------------
Specifies the number of cloth dyes based on job-type: Novices, First Classes,
-Second Classes, Super Novices, Wedding Class.
+Second Classes, Super Novices.
+Note that special classes like Xmas or Wedding tend to not have palettes, and
+it should be handled server-side so that switching palettes with this module
+will not cause you client crashes.
////////////////////////////////////////////////////////////////////////////////
[06] Module: Job Changer (ke_jobchange.txt)
@@ -426,6 +431,15 @@ What to do about the advanced classes?
case the path could not be determined (players changed jobs previously
using other npcs), players will be able to select their next job.
+(#) kejc_disable
+----------------
+Permits disabling some job trees from the changer (add as required):
+ 1: You can't change to a S. Novice
+ 2: You can't change to Taekwon (but if you are a Taekwon already, you can
+ still change to Soul Linker/Star Gladiator)
+ 4: Can't change to GunSlinger
+ 8: Can't change to Ninja
+
(1) kejc_announce
-----------------
When 1, a global announce will be done upon change.
@@ -473,46 +487,21 @@ one.
-----------------
When characters reach this job level, they will receive the premium weapon instead of the normal one. If 0, premium weapons are disabled.
-(#) kejc_wAcolyte
-(#) kejc_wArcher
-(#) kejc_wMage
-(#) kejc_wMerchant
-(#) kejc_wSwordman
-(#) kejc_wThief
-(#) kejc_wSuperNovice
-(#) kejc_wPriest
-(#) kejc_wMonk
-(#) kejc_wHunter
-(#) kejc_wBard
-(#) kejc_wDancer
-(#) kejc_wWizard
-(#) kejc_wSage
-(#) kejc_wBlacksmith
-(#) kejc_wAlchemist
-(#) kejc_wKnight
-(#) kejc_wCrusader
-(#) kejc_wAssassin
-(#) kejc_wRogue
+(#) kejc_weapon1[]
+(#) kejc_weapon_21[]
+(#) kejc_weapon_22[]
-----------------------
-ID of the normal weapons received upon job change (if weapon policy is in
-effect).
-
-(#) kejc_w2Priest
-(#) kejc_w2Monk
-(#) kejc_w2Hunter
-(#) kejc_w2Bard
-(#) kejc_w2Dancer
-(#) kejc_w2Wizard
-(#) kejc_w2Sage
-(#) kejc_w2Blacksmith
-(#) kejc_w2Alchemist
-(#) kejc_w2Knight
-(#) kejc_w2Crusader
-(#) kejc_w2Assassin
-(#) kejc_w2Rogue
+These arrays contain the IDs of the normal weapons received upon job change
+for first, 2-1 and 2-2 classes (if weapon policy is in effect). Refer to the
+comments in the config file for identifying which position is for which job.
+
+(#) kejc_weapon2_21[]
+(#) kejc_weapon2_22[]
--------------------
-ID of the premium weapons received upon job chane (if bonus weapon policy is
-in effect). Note that first classes can't get a bonus weapon.
+These arrays contain the ID of the premium weapons received upon job change
+(if bonus weapon policy is in effect). Note that first classes can't get a
+bonus weapon, and that Bard/Dancers both receive the same weapon. Refer to the
+comments in the config file for identifying which position is for which job.
////////////////////////////////////////////////////////////////////////////////
[07] Module: Job Swapper (ke_jobswap.txt)
@@ -531,10 +520,17 @@ classes, they can't change back to a normal one.
Variables
================================================================================
-(1) kejs_SNpolicy
+(#) kejs_disable
-----------------
-Determines what to do with Super Novices. if 0, they can't swap jobs, if 1,
-they are considered first classes.
+You can disable some classes from swapping using this setting (add numbers as
+appropiate):
+ 1: Super Novices may not swap/swap to.
+ 2: Disable swapping for Taekwon/Star Gladiator/Soul Linker classes.
+ 4: Disable swapping to/from GunSlinger.
+ 8: Disable swapping to/from Ninja.
+For example, if you set it to 12 (8+4), the swap menu will not include
+Gunslinger nor Ninja, and they will find that they can't swap to other classes
+neither.
(#) kejs_revertPolicy
---------------------
@@ -965,9 +961,8 @@ saves, all charaters of the corresponding account have the warp unlocked).
(1) kewd_deep
-------------
-This variable decides whether deep or short warps will be used. There's no
-need to set it as it will be set automatically based on which file was
-included (ke_warp_short.txt or ke_warp_deep.txt).
+This variable decides whether deep or short warps will be used. As explained
+on the description, enabling deep warps allows warping to any dungeon level.
(%) kewd_levelCost
------------------
@@ -989,31 +984,10 @@ Only used on short warps. If 1, then warping to Turtle Dungeon should lead
directly to the cave's entrance, otherwise it warps you to the Island's
entrance.
-($) kewd_amatsu
-($) kewd_antHell
-($) kewd_ayothaya
-($) kewd_byalan
-($) kewd_comodo
-($) kewd_clockTower
-($) kewd_coalMines
-($) kewd_culvert
-($) kewd_gefenia
-($) kewd_geffen
-($) kewd_glastHeim
-($) kewd_gonRyun
-($) kewd_hiddenTemple
-($) kewd_louYang
-($) kewd_magma
-($) kewd_orc
-($) kewd_payon
-($) kewd_pyramids
-($) kewd_sphinx
-($) kewd_sunkenShip
-($) kewd_toyFactory
-($) kewd_turtleIsland
-($) kewd_umbala
+($) kewd_<dungeon name>
---------------------
-Base cost of warping to each dungeon, that is, the entrance level cost.
+There is a config variable for every dungeon, it specifies the base cost of
+warping to that dungeon (which is, the entrance level cost).
////////////////////////////////////////////////////////////////////////////////
[16] Module: PvP Warping (ke_pvp.txt)
@@ -1021,9 +995,9 @@ Base cost of warping to each dungeon, that is, the entrance level cost.
Description
================================================================================
-The PvP warping module leads to the pvp maps named pvp_n_*-*. It has two
+The PvP warping module leads to the pvp maps named pvp_n_*-*.gat. It has two
modes: simple and advanced. On simple mode, every player of every level gets
-thrown into the pvp_n_1-* maps to nuke it out, on advanced mode each of
+thrown into the pvp_n_1-*.gat maps to nuke it out, on advanced mode each of
the map groups gets their own range of permissible levels to enter. Since
there is no sure way how characters should escape from a pvp map, they are
currently given a butterfly wing when they warp.
@@ -1136,15 +1110,15 @@ sprite on-screen that characters speak with. An enabled kafra may look like
this:
//Alberta
-alberta,113,53,7 script Kafra Express 116,{
- callfunc "F_KafraExpress","Kafra Express","kafra_02",0,"alberta",116,57;
+alberta.gat,113,53,7 script Kafra Express 116,{
+ callfunc "F_KafraExpress","Kafra Express","kafra_02",0,"alberta.gat",116,57;
}
And a disabled/commented Kafra would look like this:
//Prontera Guild Grounds
-//prt_gld,127,163,5 script Kafra Express 115,{
-// callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"prt_gld",129,170;
+//prt_gld.gat,127,163,5 script Kafra Express 115,{
+// callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"prt_gld.gat",129,170;
//}
For scripters, the way to define an NPC is not new, and beyond the scope of