summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2016-11-29 01:49:47 +0100
committerHaru <haru@dotalux.com>2016-12-03 15:38:54 +0100
commitb0fde17b0ee155f1123e9ae6148ddd2df88cd965 (patch)
tree30d81c6f461c6be4134c4a0f23952802e72eff3d /src
parent9ac2545d66e630cce6a718a7c6f374fbecb00e96 (diff)
downloadhercules-b0fde17b0ee155f1123e9ae6148ddd2df88cd965.tar.gz
hercules-b0fde17b0ee155f1123e9ae6148ddd2df88cd965.tar.bz2
hercules-b0fde17b0ee155f1123e9ae6148ddd2df88cd965.tar.xz
hercules-b0fde17b0ee155f1123e9ae6148ddd2df88cd965.zip
Clarify the meaning of the MAPID_* constants
The enum values are now written in a more explicit way, showing how they're composed (upper mask + base job). A future-proof static assertion is added, to make sure the base jobs won't overlap the upper masks. Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src')
-rw-r--r--src/common/mmo.h12
-rw-r--r--src/map/map.h325
2 files changed, 234 insertions, 103 deletions
diff --git a/src/common/mmo.h b/src/common/mmo.h
index 93151d3ca..e5da16550 100644
--- a/src/common/mmo.h
+++ b/src/common/mmo.h
@@ -259,12 +259,12 @@
// The following system marks a different job ID system used by the map server,
// which makes a lot more sense than the normal one. [Skotlex]
// These marks the "level" of the job.
-#define JOBL_2_1 0x100 //256
-#define JOBL_2_2 0x200 //512
-#define JOBL_2 0x300
-#define JOBL_UPPER 0x1000 //4096
-#define JOBL_BABY 0x2000 //8192
-#define JOBL_THIRD 0x4000 //16384
+#define JOBL_2_1 0x0100
+#define JOBL_2_2 0x0200
+#define JOBL_2 0x0300 // JOBL_2_1 | JOBL_2_2
+#define JOBL_UPPER 0x1000
+#define JOBL_BABY 0x2000
+#define JOBL_THIRD 0x4000
#define SCRIPT_VARNAME_LENGTH 32 ///< Maximum length of a script variable
diff --git a/src/map/map.h b/src/map/map.h
index c186dab4a..b76128762 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -74,7 +74,7 @@ enum E_MAPSERVER_ST {
//Super Novices are considered the 2-1 version of the novice! Novices are considered a first class type.
enum {
//Novice And 1-1 Jobs
- MAPID_NOVICE = 0x0,
+ MAPID_NOVICE = 0,
MAPID_SWORDMAN,
MAPID_MAGE,
MAPID_ARCHER,
@@ -89,118 +89,249 @@ enum {
MAPID_SUMMER,
MAPID_GANGSI,
MAPID_SUMMONER,
+ MAPID_1_1_MAX,
+
//2-1 Jobs
- MAPID_SUPER_NOVICE = JOBL_2_1|0x0,
- MAPID_KNIGHT,
- MAPID_WIZARD,
- MAPID_HUNTER,
- MAPID_PRIEST,
- MAPID_BLACKSMITH,
- MAPID_ASSASSIN,
- MAPID_STAR_GLADIATOR,
- MAPID_REBELLION = JOBL_2_1|0x09,
- MAPID_KAGEROUOBORO = JOBL_2_1|0x0A,
- MAPID_DEATH_KNIGHT = JOBL_2_1|0x0E,
+ MAPID_SUPER_NOVICE = JOBL_2_1 | MAPID_NOVICE,
+ MAPID_KNIGHT = JOBL_2_1 | MAPID_SWORDMAN,
+ MAPID_WIZARD = JOBL_2_1 | MAPID_MAGE,
+ MAPID_HUNTER = JOBL_2_1 | MAPID_ARCHER,
+ MAPID_PRIEST = JOBL_2_1 | MAPID_ACOLYTE,
+ MAPID_BLACKSMITH = JOBL_2_1 | MAPID_MERCHANT,
+ MAPID_ASSASSIN = JOBL_2_1 | MAPID_THIEF,
+ MAPID_STAR_GLADIATOR = JOBL_2_1 | MAPID_TAEKWON,
+ // = JOBL_2_1 | MAPID_WEDDING,
+ MAPID_REBELLION = JOBL_2_1 | MAPID_GUNSLINGER,
+ MAPID_KAGEROUOBORO = JOBL_2_1 | MAPID_NINJA,
+ // = JOBL_2_1 | MAPID_XMAS,
+ // = JOBL_2_1 | MAPID_SUMMER,
+ MAPID_DEATH_KNIGHT = JOBL_2_1 | MAPID_GANGSI,
+ // = JOBL_2_1 | MAPID_SUMMONER,
+
//2-2 Jobs
- MAPID_CRUSADER = JOBL_2_2|0x1,
- MAPID_SAGE,
- MAPID_BARDDANCER,
- MAPID_MONK,
- MAPID_ALCHEMIST,
- MAPID_ROGUE,
- MAPID_SOUL_LINKER,
- MAPID_DARK_COLLECTOR = JOBL_2_2|0x0E,
+ // = JOBL_2_1 | MAPID_NOVICE,
+ MAPID_CRUSADER = JOBL_2_2 | MAPID_SWORDMAN,
+ MAPID_SAGE = JOBL_2_2 | MAPID_MAGE,
+ MAPID_BARDDANCER = JOBL_2_2 | MAPID_ARCHER,
+ MAPID_MONK = JOBL_2_2 | MAPID_ACOLYTE,
+ MAPID_ALCHEMIST = JOBL_2_2 | MAPID_MERCHANT,
+ MAPID_ROGUE = JOBL_2_2 | MAPID_THIEF,
+ MAPID_SOUL_LINKER = JOBL_2_2 | MAPID_TAEKWON,
+ // = JOBL_2_2 | MAPID_WEDDING,
+ // = JOBL_2_2 | MAPID_GUNSLINGER,
+ // = JOBL_2_2 | MAPID_NINJA,
+ // = JOBL_2_2 | MAPID_XMAS,
+ // = JOBL_2_2 | MAPID_SUMMER,
+ MAPID_DARK_COLLECTOR = JOBL_2_2 | MAPID_GANGSI,
+ // = JOBL_2_2 | MAPID_SUMMONER,
+
//Trans Novice And Trans 1-1 Jobs
- MAPID_NOVICE_HIGH = JOBL_UPPER|0x0,
- MAPID_SWORDMAN_HIGH,
- MAPID_MAGE_HIGH,
- MAPID_ARCHER_HIGH,
- MAPID_ACOLYTE_HIGH,
- MAPID_MERCHANT_HIGH,
- MAPID_THIEF_HIGH,
+ MAPID_NOVICE_HIGH = JOBL_UPPER | MAPID_NOVICE,
+ MAPID_SWORDMAN_HIGH = JOBL_UPPER | MAPID_SWORDMAN,
+ MAPID_MAGE_HIGH = JOBL_UPPER | MAPID_MAGE,
+ MAPID_ARCHER_HIGH = JOBL_UPPER | MAPID_ARCHER,
+ MAPID_ACOLYTE_HIGH = JOBL_UPPER | MAPID_ACOLYTE,
+ MAPID_MERCHANT_HIGH = JOBL_UPPER | MAPID_MERCHANT,
+ MAPID_THIEF_HIGH = JOBL_UPPER | MAPID_THIEF,
+ // = JOBL_UPPER | MAPID_TAEKWON,
+ // = JOBL_UPPER | MAPID_WEDDING,
+ // = JOBL_UPPER | MAPID_GUNSLINGER,
+ // = JOBL_UPPER | MAPID_NINJA,
+ // = JOBL_UPPER | MAPID_XMAS,
+ // = JOBL_UPPER | MAPID_SUMMER,
+ // = JOBL_UPPER | MAPID_GANGSI,
+ // = JOBL_UPPER | MAPID_SUMMONER,
+
//Trans 2-1 Jobs
- MAPID_LORD_KNIGHT = JOBL_UPPER|JOBL_2_1|0x1,
- MAPID_HIGH_WIZARD,
- MAPID_SNIPER,
- MAPID_HIGH_PRIEST,
- MAPID_WHITESMITH,
- MAPID_ASSASSIN_CROSS,
+ // = JOBL_UPPER | JOBL_2_1 | MAPID_NOVICE,
+ MAPID_LORD_KNIGHT = JOBL_UPPER | JOBL_2_1 | MAPID_SWORDMAN,
+ MAPID_HIGH_WIZARD = JOBL_UPPER | JOBL_2_1 | MAPID_MAGE,
+ MAPID_SNIPER = JOBL_UPPER | JOBL_2_1 | MAPID_ARCHER,
+ MAPID_HIGH_PRIEST = JOBL_UPPER | JOBL_2_1 | MAPID_ACOLYTE,
+ MAPID_WHITESMITH = JOBL_UPPER | JOBL_2_1 | MAPID_MERCHANT,
+ MAPID_ASSASSIN_CROSS = JOBL_UPPER | JOBL_2_1 | MAPID_THIEF,
+ // = JOBL_UPPER | JOBL_2_1 | MAPID_TAEKWON,
+ // = JOBL_UPPER | JOBL_2_1 | MAPID_WEDDING,
+ // = JOBL_UPPER | JOBL_2_1 | MAPID_GUNSLINGER,
+ // = JOBL_UPPER | JOBL_2_1 | MAPID_NINJA,
+ // = JOBL_UPPER | JOBL_2_1 | MAPID_XMAS,
+ // = JOBL_UPPER | JOBL_2_1 | MAPID_SUMMER,
+ // = JOBL_UPPER | JOBL_2_1 | MAPID_GANGSI,
+ // = JOBL_UPPER | JOBL_2_1 | MAPID_SUMMONER,
+
//Trans 2-2 Jobs
- MAPID_PALADIN = JOBL_UPPER|JOBL_2_2|0x1,
- MAPID_PROFESSOR,
- MAPID_CLOWNGYPSY,
- MAPID_CHAMPION,
- MAPID_CREATOR,
- MAPID_STALKER,
+ // = JOBL_UPPER | JOBL_2_2 | MAPID_NOVICE,
+ MAPID_PALADIN = JOBL_UPPER | JOBL_2_2 | MAPID_SWORDMAN,
+ MAPID_PROFESSOR = JOBL_UPPER | JOBL_2_2 | MAPID_MAGE,
+ MAPID_CLOWNGYPSY = JOBL_UPPER | JOBL_2_2 | MAPID_ARCHER,
+ MAPID_CHAMPION = JOBL_UPPER | JOBL_2_2 | MAPID_ACOLYTE,
+ MAPID_CREATOR = JOBL_UPPER | JOBL_2_2 | MAPID_MERCHANT,
+ MAPID_STALKER = JOBL_UPPER | JOBL_2_2 | MAPID_THIEF,
+ // = JOBL_UPPER | JOBL_2_2 | MAPID_TAEKWON,
+ // = JOBL_UPPER | JOBL_2_2 | MAPID_WEDDING,
+ // = JOBL_UPPER | JOBL_2_2 | MAPID_GUNSLINGER,
+ // = JOBL_UPPER | JOBL_2_2 | MAPID_NINJA,
+ // = JOBL_UPPER | JOBL_2_2 | MAPID_XMAS,
+ // = JOBL_UPPER | JOBL_2_2 | MAPID_SUMMER,
+ // = JOBL_UPPER | JOBL_2_2 | MAPID_GANGSI,
+ // = JOBL_UPPER | JOBL_2_2 | MAPID_SUMMONER,
+
//Baby Novice And Baby 1-1 Jobs
- MAPID_BABY = JOBL_BABY|0x0,
- MAPID_BABY_SWORDMAN,
- MAPID_BABY_MAGE,
- MAPID_BABY_ARCHER,
- MAPID_BABY_ACOLYTE,
- MAPID_BABY_MERCHANT,
- MAPID_BABY_THIEF,
+ MAPID_BABY = JOBL_BABY | MAPID_NOVICE,
+ MAPID_BABY_SWORDMAN = JOBL_BABY | MAPID_SWORDMAN,
+ MAPID_BABY_MAGE = JOBL_BABY | MAPID_MAGE,
+ MAPID_BABY_ARCHER = JOBL_BABY | MAPID_ARCHER,
+ MAPID_BABY_ACOLYTE = JOBL_BABY | MAPID_ACOLYTE,
+ MAPID_BABY_MERCHANT = JOBL_BABY | MAPID_MERCHANT,
+ MAPID_BABY_THIEF = JOBL_BABY | MAPID_THIEF,
+ // = JOBL_BABY | MAPID_TAEKWON,
+ // = JOBL_BABY | MAPID_WEDDING,
+ // = JOBL_BABY | MAPID_GUNSLINGER,
+ // = JOBL_BABY | MAPID_NINJA,
+ // = JOBL_BABY | MAPID_XMAS,
+ // = JOBL_BABY | MAPID_SUMMER,
+ // = JOBL_BABY | MAPID_GANGSI,
+ // = JOBL_BABY | MAPID_SUMMONER,
+
//Baby 2-1 Jobs
- MAPID_SUPER_BABY = JOBL_BABY|JOBL_2_1|0x0,
- MAPID_BABY_KNIGHT,
- MAPID_BABY_WIZARD,
- MAPID_BABY_HUNTER,
- MAPID_BABY_PRIEST,
- MAPID_BABY_BLACKSMITH,
- MAPID_BABY_ASSASSIN,
+ MAPID_SUPER_BABY = JOBL_BABY | JOBL_2_1 | MAPID_NOVICE,
+ MAPID_BABY_KNIGHT = JOBL_BABY | JOBL_2_1 | MAPID_SWORDMAN,
+ MAPID_BABY_WIZARD = JOBL_BABY | JOBL_2_1 | MAPID_MAGE,
+ MAPID_BABY_HUNTER = JOBL_BABY | JOBL_2_1 | MAPID_ARCHER,
+ MAPID_BABY_PRIEST = JOBL_BABY | JOBL_2_1 | MAPID_ACOLYTE,
+ MAPID_BABY_BLACKSMITH = JOBL_BABY | JOBL_2_1 | MAPID_MERCHANT,
+ MAPID_BABY_ASSASSIN = JOBL_BABY | JOBL_2_1 | MAPID_THIEF,
+ // = JOBL_BABY | JOBL_2_1 | MAPID_TAEKWON,
+ // = JOBL_BABY | JOBL_2_1 | MAPID_WEDDING,
+ // = JOBL_BABY | JOBL_2_1 | MAPID_GUNSLINGER,
+ // = JOBL_BABY | JOBL_2_1 | MAPID_NINJA,
+ // = JOBL_BABY | JOBL_2_1 | MAPID_XMAS,
+ // = JOBL_BABY | JOBL_2_1 | MAPID_SUMMER,
+ // = JOBL_BABY | JOBL_2_1 | MAPID_GANGSI,
+ // = JOBL_BABY | JOBL_2_1 | MAPID_SUMMONER,
+
//Baby 2-2 Jobs
- MAPID_BABY_CRUSADER = JOBL_BABY|JOBL_2_2|0x1,
- MAPID_BABY_SAGE,
- MAPID_BABY_BARDDANCER,
- MAPID_BABY_MONK,
- MAPID_BABY_ALCHEMIST,
- MAPID_BABY_ROGUE,
+ // = JOBL_BABY | JOBL_2_2 | MAPID_NOVICE,
+ MAPID_BABY_CRUSADER = JOBL_BABY | JOBL_2_2 | MAPID_SWORDMAN,
+ MAPID_BABY_SAGE = JOBL_BABY | JOBL_2_2 | MAPID_MAGE,
+ MAPID_BABY_BARDDANCER = JOBL_BABY | JOBL_2_2 | MAPID_ARCHER,
+ MAPID_BABY_MONK = JOBL_BABY | JOBL_2_2 | MAPID_ACOLYTE,
+ MAPID_BABY_ALCHEMIST = JOBL_BABY | JOBL_2_2 | MAPID_MERCHANT,
+ MAPID_BABY_ROGUE = JOBL_BABY | JOBL_2_2 | MAPID_THIEF,
+ // = JOBL_BABY | JOBL_2_2 | MAPID_TAEKWON,
+ // = JOBL_BABY | JOBL_2_2 | MAPID_WEDDING,
+ // = JOBL_BABY | JOBL_2_2 | MAPID_GUNSLINGER,
+ // = JOBL_BABY | JOBL_2_2 | MAPID_NINJA,
+ // = JOBL_BABY | JOBL_2_2 | MAPID_XMAS,
+ // = JOBL_BABY | JOBL_2_2 | MAPID_SUMMER,
+ // = JOBL_BABY | JOBL_2_2 | MAPID_GANGSI,
+ // = JOBL_BABY | JOBL_2_2 | MAPID_SUMMONER,
+
//3-1 Jobs
- MAPID_SUPER_NOVICE_E = JOBL_THIRD|JOBL_2_1|0x0,
- MAPID_RUNE_KNIGHT,
- MAPID_WARLOCK,
- MAPID_RANGER,
- MAPID_ARCH_BISHOP,
- MAPID_MECHANIC,
- MAPID_GUILLOTINE_CROSS,
+ MAPID_SUPER_NOVICE_E = JOBL_THIRD | JOBL_2_1 | MAPID_NOVICE,
+ MAPID_RUNE_KNIGHT = JOBL_THIRD | JOBL_2_1 | MAPID_SWORDMAN,
+ MAPID_WARLOCK = JOBL_THIRD | JOBL_2_1 | MAPID_MAGE,
+ MAPID_RANGER = JOBL_THIRD | JOBL_2_1 | MAPID_ARCHER,
+ MAPID_ARCH_BISHOP = JOBL_THIRD | JOBL_2_1 | MAPID_ACOLYTE,
+ MAPID_MECHANIC = JOBL_THIRD | JOBL_2_1 | MAPID_MERCHANT,
+ MAPID_GUILLOTINE_CROSS = JOBL_THIRD | JOBL_2_1 | MAPID_THIEF,
+ // = JOBL_THIRD | JOBL_2_1 | MAPID_TAEKWON,
+ // = JOBL_THIRD | JOBL_2_1 | MAPID_WEDDING,
+ // = JOBL_THIRD | JOBL_2_1 | MAPID_GUNSLINGER,
+ // = JOBL_THIRD | JOBL_2_1 | MAPID_NINJA,
+ // = JOBL_THIRD | JOBL_2_1 | MAPID_XMAS,
+ // = JOBL_THIRD | JOBL_2_1 | MAPID_SUMMER,
+ // = JOBL_THIRD | JOBL_2_1 | MAPID_GANGSI,
+ // = JOBL_THIRD | JOBL_2_1 | MAPID_SUMMONER,
+
//3-2 Jobs
- MAPID_ROYAL_GUARD = JOBL_THIRD|JOBL_2_2|0x1,
- MAPID_SORCERER,
- MAPID_MINSTRELWANDERER,
- MAPID_SURA,
- MAPID_GENETIC,
- MAPID_SHADOW_CHASER,
+ // = JOBL_THIRD | JOBL_2_2 | MAPID_NOVICE,
+ MAPID_ROYAL_GUARD = JOBL_THIRD | JOBL_2_2 | MAPID_SWORDMAN,
+ MAPID_SORCERER = JOBL_THIRD | JOBL_2_2 | MAPID_MAGE,
+ MAPID_MINSTRELWANDERER = JOBL_THIRD | JOBL_2_2 | MAPID_ARCHER,
+ MAPID_SURA = JOBL_THIRD | JOBL_2_2 | MAPID_ACOLYTE,
+ MAPID_GENETIC = JOBL_THIRD | JOBL_2_2 | MAPID_MERCHANT,
+ MAPID_SHADOW_CHASER = JOBL_THIRD | JOBL_2_2 | MAPID_THIEF,
+ // = JOBL_THIRD | JOBL_2_2 | MAPID_TAEKWON,
+ // = JOBL_THIRD | JOBL_2_2 | MAPID_WEDDING,
+ // = JOBL_THIRD | JOBL_2_2 | MAPID_GUNSLINGER,
+ // = JOBL_THIRD | JOBL_2_2 | MAPID_NINJA,
+ // = JOBL_THIRD | JOBL_2_2 | MAPID_XMAS,
+ // = JOBL_THIRD | JOBL_2_2 | MAPID_SUMMER,
+ // = JOBL_THIRD | JOBL_2_2 | MAPID_GANGSI,
+ // = JOBL_THIRD | JOBL_2_2 | MAPID_SUMMONER,
+
//Trans 3-1 Jobs
- MAPID_RUNE_KNIGHT_T = JOBL_THIRD|JOBL_UPPER|JOBL_2_1|0x1,
- MAPID_WARLOCK_T,
- MAPID_RANGER_T,
- MAPID_ARCH_BISHOP_T,
- MAPID_MECHANIC_T,
- MAPID_GUILLOTINE_CROSS_T,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_NOVICE,
+ MAPID_RUNE_KNIGHT_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_SWORDMAN,
+ MAPID_WARLOCK_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_MAGE,
+ MAPID_RANGER_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_ARCHER,
+ MAPID_ARCH_BISHOP_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_ACOLYTE,
+ MAPID_MECHANIC_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_MERCHANT,
+ MAPID_GUILLOTINE_CROSS_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_THIEF,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_TAEKWON,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_WEDDING,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_GUNSLINGER,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_NINJA,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_XMAS,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_SUMMER,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_GANGSI,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_1 | MAPID_SUMMONER,
+
//Trans 3-2 Jobs
- MAPID_ROYAL_GUARD_T = JOBL_THIRD|JOBL_UPPER|JOBL_2_2|0x1,
- MAPID_SORCERER_T,
- MAPID_MINSTRELWANDERER_T,
- MAPID_SURA_T,
- MAPID_GENETIC_T,
- MAPID_SHADOW_CHASER_T,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_NOVICE,
+ MAPID_ROYAL_GUARD_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_SWORDMAN,
+ MAPID_SORCERER_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_MAGE,
+ MAPID_MINSTRELWANDERER_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_ARCHER,
+ MAPID_SURA_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_ACOLYTE,
+ MAPID_GENETIC_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_MERCHANT,
+ MAPID_SHADOW_CHASER_T = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_THIEF,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_TAEKWON,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_WEDDING,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_GUNSLINGER,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_NINJA,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_XMAS,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_SUMMER,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_GANGSI,
+ // = JOBL_THIRD | JOBL_UPPER | JOBL_2_2 | MAPID_SUMMONER,
+
//Baby 3-1 Jobs
- MAPID_SUPER_BABY_E = JOBL_THIRD|JOBL_BABY|JOBL_2_1|0x0,
- MAPID_BABY_RUNE,
- MAPID_BABY_WARLOCK,
- MAPID_BABY_RANGER,
- MAPID_BABY_BISHOP,
- MAPID_BABY_MECHANIC,
- MAPID_BABY_CROSS,
+ MAPID_SUPER_BABY_E = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_NOVICE,
+ MAPID_BABY_RUNE = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_SWORDMAN,
+ MAPID_BABY_WARLOCK = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_MAGE,
+ MAPID_BABY_RANGER = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_ARCHER,
+ MAPID_BABY_BISHOP = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_ACOLYTE,
+ MAPID_BABY_MECHANIC = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_MERCHANT,
+ MAPID_BABY_CROSS = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_THIEF,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_TAEKWON,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_WEDDING,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_GUNSLINGER,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_NINJA,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_XMAS,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_SUMMER,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_GANGSI,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_1 | MAPID_SUMMONER,
+
//Baby 3-2 Jobs
- MAPID_BABY_GUARD = JOBL_THIRD|JOBL_BABY|JOBL_2_2|0x1,
- MAPID_BABY_SORCERER,
- MAPID_BABY_MINSTRELWANDERER,
- MAPID_BABY_SURA,
- MAPID_BABY_GENETIC,
- MAPID_BABY_CHASER,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_NOVICE,
+ MAPID_BABY_GUARD = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_SWORDMAN,
+ MAPID_BABY_SORCERER = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_MAGE,
+ MAPID_BABY_MINSTRELWANDERER = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_ARCHER,
+ MAPID_BABY_SURA = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_ACOLYTE,
+ MAPID_BABY_GENETIC = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_MERCHANT,
+ MAPID_BABY_CHASER = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_THIEF,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_TAEKWON,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_WEDDING,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_GUNSLINGER,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_NINJA,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_XMAS,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_SUMMER,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_GANGSI,
+ // = JOBL_THIRD | JOBL_BABY | JOBL_2_2 | MAPID_SUMMONER,
};
+STATIC_ASSERT(((MAPID_1_1_MAX - 1) | MAPID_BASEMASK) == MAPID_BASEMASK, "First class map IDs do not fit into MAPID_BASEMASK");
+
// Max size for inputs to Graffiti, Talkie Box and Vending text prompts
#define MESSAGE_SIZE (79 + 1)
// String length you can write in the 'talking box'