From 64657709bbd3727b6301133aa0ba7821a13c715d Mon Sep 17 00:00:00 2001
From: ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>
Date: Sun, 8 May 2011 06:22:25 +0000
Subject: * Fixed pcdb_checkid not recognizing invalid/unused job classes
 (bugreport:4830, since r14755).

git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/renewal@14810 54d463be-8e91-2dee-dedb-b68131a5f0ec
---
 src/map/pc.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/map/pc.h b/src/map/pc.h
index 28ed28da8..7d86706ca 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -547,7 +547,13 @@ extern int duel_count;
 #define pc_check_weapontype(sd, type) ((type)&((sd)->status.weapon < MAX_WEAPON_TYPE? \
 	1<<(sd)->status.weapon:(1<<(sd)->weapontype1)|(1<<(sd)->weapontype2)))
 //Checks if the given class value corresponds to a player class. [Skotlex]
-#define pcdb_checkid(class_) (class_ < JOB_MAX_BASIC || (class_ >= JOB_NOVICE_HIGH && class_ < JOB_MAX))
+#define pcdb_checkid(class_) \
+( \
+	( (class_) >= JOB_NOVICE      && (class_) <  JOB_MAX_BASIC   ) \
+||	( (class_) >= JOB_NOVICE_HIGH && (class_) <= JOB_SOUL_LINKER ) \
+||	( (class_) >= JOB_RUNE_KNIGHT && (class_) <= JOB_MECHANIC_H2 ) \
+||	( (class_) >= JOB_BABY_RUNE   && (class_) <  JOB_MAX         ) \
+)
 
 int pc_class2idx(int class_);
 int pc_isGM(struct map_session_data *sd);
-- 
cgit v1.2.3-70-g09d2