diff options
author | Haruna <haru@dotalux.com> | 2015-01-19 20:05:10 +0100 |
---|---|---|
committer | Haruna <haru@dotalux.com> | 2015-01-19 20:05:10 +0100 |
commit | 03709c136ad300be631adfd38dc36c2433bda718 (patch) | |
tree | b690163936b99640f78141f36320fb2921556747 /src/map | |
parent | e3426296a6add20845bd08013355fd3d5f975556 (diff) | |
parent | def25b0d1ef77cfbd4ce09656c1cef9ec0a33269 (diff) | |
download | hercules-03709c136ad300be631adfd38dc36c2433bda718.tar.gz hercules-03709c136ad300be631adfd38dc36c2433bda718.tar.bz2 hercules-03709c136ad300be631adfd38dc36c2433bda718.tar.xz hercules-03709c136ad300be631adfd38dc36c2433bda718.zip |
Merge pull request #443 from 4144/pcext
Extract exp table validation into separate function.
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/pc.c | 27 | ||||
-rw-r--r-- | src/map/pc.h | 2 |
2 files changed, 19 insertions, 10 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 09194fbab..b64bdea80 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -10357,16 +10357,7 @@ int pc_readdb(void) { } } fclose(fp); - for (i = 0; i < JOB_MAX; i++) { - if (!pc->db_checkid(i)) continue; - if (i == JOB_WEDDING || i == JOB_XMAS || i == JOB_SUMMER) - continue; //Classes that do not need exp tables. - j = pc->class2idx(i); - if (!pc->max_level[j][0]) - ShowWarning("Class %s (%d) does not has a base exp table.\n", pc->job_name(i), i); - if (!pc->max_level[j][1]) - ShowWarning("Class %s (%d) does not has a job exp table.\n", pc->job_name(i), i); - } + pc->validate_levels(); ShowStatus("Done reading '"CL_WHITE"%u"CL_RESET"' entries in '"CL_WHITE"%s/"DBPATH"%s"CL_RESET"'.\n",count,map->db_path,"exp.txt"); count = 0; // Reset and read skilltree @@ -10481,6 +10472,21 @@ int pc_readdb(void) { return 0; } +void pc_validate_levels(void) { + int i; + int j; + for (i = 0; i < JOB_MAX; i++) { + if (!pc->db_checkid(i)) continue; + if (i == JOB_WEDDING || i == JOB_XMAS || i == JOB_SUMMER) + continue; //Classes that do not need exp tables. + j = pc->class2idx(i); + if (!pc->max_level[j][0]) + ShowWarning("Class %s (%d) does not has a base exp table.\n", pc->job_name(i), i); + if (!pc->max_level[j][1]) + ShowWarning("Class %s (%d) does not has a job exp table.\n", pc->job_name(i), i); + } +} + void pc_itemcd_do(struct map_session_data *sd, bool load) { int i,cursor = 0; struct item_cd* cd = NULL; @@ -11219,6 +11225,7 @@ void pc_defaults(void) { pc->global_expiration_timer = pc_global_expiration_timer; pc->expire_check = pc_expire_check; pc->db_checkid = pc_db_checkid; + pc->validate_levels = pc_validate_levels; /** * Autotrade persistency [Ind/Hercules <3] diff --git a/src/map/pc.h b/src/map/pc.h index 7e2fa8558..152701119 100644 --- a/src/map/pc.h +++ b/src/map/pc.h @@ -1012,6 +1012,8 @@ struct pc_interface { bool (*db_checkid) (unsigned int class_); + void (*validate_levels) (void); + /** * Autotrade persistency [Ind/Hercules <3] **/ |