From 19c0056b1af3fcc80e3f402e92ca605d4228873e Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 26 Jan 2007 21:42:04 +0000 Subject: - Fixed the normalizing function not sending first classes back to novice if they do not have basic skill maxed. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9719 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/pc.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/map/pc.c') diff --git a/src/map/pc.c b/src/map/pc.c index f1dd19df4..9761ad811 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1081,14 +1081,17 @@ int pc_calc_skilltree_normalize_job(struct map_session_data *sd) { int skill_point; int c = sd->class_; - if (!battle_config.skillup_limit || !(sd->class_&JOBL_2) || (sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE) - return c; //Only Normalize non-first classes (and non-super novice) + if (!battle_config.skillup_limit) + return c; skill_point = pc_calc_skillpoint(sd); if(pc_checkskill(sd, NV_BASIC) < 9) //Consider Novice Tree when you don't have NV_BASIC maxed. c = MAPID_NOVICE; - else if (sd->status.skill_point >= (int)sd->status.job_level - && ((sd->change_level > 0 && skill_point < sd->change_level+8) || skill_point < 58)) { + else + //Do not send S. Novices to first class (Novice) + if ((sd->class_&JOBL_2) && (sd->class_&MAPID_UPPERMASK) != MAPID_SUPER_NOVICE && + sd->status.skill_point >= (int)sd->status.job_level && + ((sd->change_level > 0 && skill_point < sd->change_level+8) || skill_point < 58)) { //Send it to first class. c &= MAPID_BASEMASK; } -- cgit v1.2.3-70-g09d2