summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-01-26 21:42:04 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-01-26 21:42:04 +0000
commit19c0056b1af3fcc80e3f402e92ca605d4228873e (patch)
tree5e00d2ce197211063a0fb14ee5ad166447be5c0e
parent66b2cadb9bcb6ad125cb18cdbea903a63ad0d925 (diff)
downloadhercules-19c0056b1af3fcc80e3f402e92ca605d4228873e.tar.gz
hercules-19c0056b1af3fcc80e3f402e92ca605d4228873e.tar.bz2
hercules-19c0056b1af3fcc80e3f402e92ca605d4228873e.tar.xz
hercules-19c0056b1af3fcc80e3f402e92ca605d4228873e.zip
- 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
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--src/map/pc.c11
2 files changed, 9 insertions, 4 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 6792ba229..ef2a278a5 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2007/01/26
+ * Fixed the normalizing function not sending first classes back to novice
+ if they do not have basic skill maxed.
* Added a wrapper to delete_timer so it prints out from where the
invocation was done.
* Fixed Splash attacks consuming 2 ammo on each attack. [Skotlex]
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;
}