summaryrefslogtreecommitdiff
path: root/npc/custom/eAAC_Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'npc/custom/eAAC_Scripts')
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/global_functionsKE.txt295
1 files changed, 294 insertions, 1 deletions
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/global_functionsKE.txt b/npc/custom/eAAC_Scripts/kafraExpress/global_functionsKE.txt
index 0d3c9bd68..d1dccdbba 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/global_functionsKE.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/global_functionsKE.txt
@@ -36,4 +36,297 @@ function script GF_getJobName {
return "swordsman";
case Job_Thief:
return "thief";
- case Job_Taekwon: \ No newline at end of file
+ case Job_Taekwon:
+ return "taekwon kid";
+ case Job_SuperNovice:
+ return "super novice";
+
+ case Job_Hunter:
+ return "hunter";
+ case Job_Dancer:
+ return "dancer";
+ case Job_Bard:
+ return "bard";
+ case Job_Priest:
+ return "priest";
+ case Job_Monk:
+ return "monk";
+ case Job_Wizard:
+ return "wizard";
+ case Job_Sage:
+ return "sage";
+ case Job_BlackSmith:
+ return "blacksmith";
+ case Job_Alchem:
+ return "alchemist";
+ case Job_Knight:
+ case Job_Knight2:
+ return "knight";
+ case Job_Crusader:
+ case Job_Crusader2:
+ return "crusader";
+ case Job_Assassin:
+ return "assassin";
+ case Job_Rogue:
+ return "rogue";
+ case Job_Star_Gladiator:
+ case Job_Star_Gladiator2:
+ return "star gladiator";
+ case Job_Soul_Linker:
+ return "soul linker";
+
+ case Job_Novice_High:
+ return "high novice";
+ case Job_Acolyte_High:
+ return "high acolyte";
+ case Job_Archer_High:
+ return "high archer";
+ case Job_Mage_High:
+ return "high mage";
+ case Job_Merchant_High:
+ return "high merchant";
+ case Job_Swordman_High:
+ return "high swordsman";
+ case Job_Thief_High:
+ return "high thief";
+
+ case Job_Assassin_Cross:
+ return "assassin cross";
+ case Job_Champion:
+ return "champion";
+ case Job_Clown:
+ return "minstrel";
+ case Job_Creator:
+ return "biochemist";
+ case Job_Gypsy:
+ return "gypsy";
+ case Job_High_Priest:
+ return "high priest";
+ case Job_High_Wizard:
+ return "high wizard";
+ case Job_Lord_Knight:
+ case Job_Lord_Knight2:
+ return "lord knight";
+ case Job_Paladin:
+ case Job_Paladin2:
+ return "paladin";
+ case Job_Professor:
+ return "professor";
+ case Job_Sniper:
+ return "sniper";
+ case Job_Stalker:
+ return "stalker";
+ case Job_Whitesmith:
+ return "whitesmith";
+
+ case Job_Baby:
+ return "baby";
+ case Job_Baby_Acolyte:
+ return "baby acolyte";
+ case Job_Baby_Archer:
+ return "baby archer";
+ case Job_Baby_Mage:
+ return "baby mage";
+ case Job_Baby_Merchant:
+ return "baby merchant";
+ case Job_Baby_Swordman:
+ return "baby swordsman";
+ case Job_Baby_Thief:
+ return "baby thief";
+ case Job_Super_Baby:
+ return "super baby";
+
+ case Job_Baby_Hunter:
+ return "baby hunter";
+ case Job_Baby_Dancer:
+ return "baby dancer";
+ case Job_Baby_Bard:
+ return "baby bard";
+ case Job_Baby_Priest:
+ return "baby priest";
+ case Job_Baby_Monk:
+ return "baby monk";
+ case Job_Baby_Wizard:
+ return "baby wizard";
+ case Job_Baby_Sage:
+ return "baby sage";
+ case Job_Baby_BlackSmith:
+ return "baby blacksmith";
+ case Job_Baby_Alchem:
+ return "baby alchemist";
+ case Job_Baby_Knight:
+ case Job_Baby_Knight2:
+ return "baby knight";
+ case Job_Baby_Crusader:
+ case Job_Baby_Crusader2:
+ return "baby crusader";
+ case Job_Baby_Assassin:
+ return "baby assassin";
+ case Job_Baby_Rogue:
+ return "baby rogue";
+ default:
+ return "unknown";
+ }
+
+}
+
+//Returns job name using two params: JobId and Type
+function script GF_getJobName2 {
+ set @classId, callfunc("GF_getJobId", getarg(0), getarg(1));
+ return callfunc("GF_getJobName", @classId);
+}
+
+//Returns a Job's ID modified by their Type
+function script GF_getJobId {
+ set @classId, getarg(0);
+ set @type, getarg(1);
+
+ if (@classId == Job_SuperNovice || @classId == Job_Super_Baby) {
+ switch (@type) {
+ case 0:
+ return Job_SuperNovice;
+ case 2:
+ return Job_Super_Baby;
+ default:
+ return @classId;
+ }
+ }
+ if (@classId >= Job_Taekwon && @classId <= Job_Soul_Linker) {
+ //Currently has no alternates.
+ return @classId;
+ }
+ if (@classId >= Job_Novice_High && @classId <= Job_Paladin2)
+ set @classId, @classId -Job_Novice_High;
+ else
+ if (@classId >= Job_Baby && @classId <= Job_Super_Baby)
+ set @classId, @classId -Job_Baby;
+
+ if (@type == 1)
+ set @classId, @classId +Job_Novice_High;
+
+ if (@type == 2)
+ set @classId, @classId +Job_Baby;
+
+ return @classId;
+}
+
+//Returns the type of class:
+//0= Novice, 1= First Class, 2= Second Class, 3= Super Novice
+//4= Wedding
+function script GF_getJobLevel {
+
+ set @classId, getarg(0);
+
+ if (@classId >= Job_Novice_High && @classId <= Job_Paladin2)
+ set @classId, @classId -Job_Novice_High;
+
+ if (@classId >= Job_Baby && @classId <= Job_Baby_Crusader2)
+ set @classId, @classId -Job_Baby;
+
+ if(@classId == Job_Novice) {
+ return 0;
+ }
+ if((@classId >= Job_Swordman && @classId <= Job_Thief)
+ || @classId == Job_Taekwon) {
+ return 1;
+ }
+ if ((@classId >= Job_Knight && @classId <= Job_Crusader2)
+ || (@classId >= Job_Star_Gladiator && @classId <= Job_Soul_Linker)) {
+ return 2;
+ }
+
+ if(@classId == Job_SuperNovice || @classId == Job_Super_Baby) {
+ return 3;
+ }
+ if(@classId == 22) {
+ return 4;
+ }
+ return -1;
+}
+
+//Returns the type of class, based on path:
+//0= Normal Jobs, 1= Upper Jobs, 2= Baby Jobs
+//Works the same as Upper, except you can pass any job id to get it's upper value
+function script GF_getJobType {
+ set @classId, getarg(0);
+
+ if ((@classId >= Job_Novice && @classId <= Job_SuperNovice)
+ || (@classId >= Job_Taekwon && @classId <= Job_Soul_Linker)) {
+ return 0;
+ }
+ if (@classId >= Job_Novice_High && @classId <= Job_Paladin2) {
+ return 1;
+ }
+ if (@classId >= Job_Baby && @classId <= Job_Super_Baby) {
+ return 2;
+ }
+ return -1;
+}
+//Returns the base class of the given job, return values are:
+//Job_Novice (Novice, Baby Novice, Super Novice
+//Job_Acolyte (Aco, Priest, Monk +High/Baby variations)
+//Job_Archer (Archer, Sniper, Bard, Dancer +High/Baby variations)
+//Job_Mage (Mage, Wizard, Sage +High/Baby variations)
+//Job_Swordman (Swordsman, Knight, Crusader +High/Baby variations)
+//Job_Thief (Thief, Assassin, Rogue +High/Baby variations)
+//-1 : others (when wearing Tux/Wedding dress, for example)
+//Works the same as baseClass, except you pass the class which you want
+//examined.
+function script GF_getJobClass {
+ set @classId, getarg(0);
+
+ if (@classId >= Job_Novice_High && @classId <= Job_Paladin2)
+ set @classId, @classId -Job_Novice_High;
+
+ if (@classId >= Job_Baby && @classId <= Job_Baby_Crusader2)
+ set @classId, @classId -Job_Baby;
+
+ switch (@classId) {
+ case Job_Novice:
+ case Job_SuperNovice:
+ case Job_Super_Baby:
+ return Job_Novice;
+
+ case Job_Acolyte:
+ case Job_Priest:
+ case Job_Monk:
+ return Job_Acolyte;
+
+ case Job_Archer:
+ case Job_Hunter:
+ case Job_Bard:
+ case Job_Dancer:
+ return Job_Archer;
+
+ case Job_Mage:
+ case Job_Wizard:
+ case Job_Sage:
+ return Job_Mage;
+
+ case Job_Merchant:
+ case Job_BlackSmith:
+ case Job_Alchem:
+ return Job_Merchant;
+
+ case Job_Swordman:
+ case Job_Knight:
+ case Job_Knight2:
+ case Job_Paladin:
+ case Job_Paladin2:
+ return Job_Swordman;
+
+ case Job_Thief:
+ case Job_Assassin:
+ case Job_Rogue:
+ return Job_Thief;
+
+ case Job_Taekwon:
+ case Job_Star_Gladiator:
+ case Job_Star_Gladiator2:
+ case Job_Soul_Linker:
+ return Job_Taekwon;
+
+ default:
+ return -1;
+ }
+}