diff options
author | Dastgir Pojee <dastgirp@gmail.com> | 2016-10-02 19:13:21 +0530 |
---|---|---|
committer | hemagx <ibrahem.h.basyone@gmail.com> | 2016-10-22 02:21:46 +0200 |
commit | abb834567db53424ea84ea4903d18ac9d3b3f61a (patch) | |
tree | 9cab2d18ee7d909e5be852723141ef2d3a492c0f /src/map | |
parent | b21e4ad15f1a81154553662ecf330d6a6694dd15 (diff) | |
download | hercules-abb834567db53424ea84ea4903d18ac9d3b3f61a.tar.gz hercules-abb834567db53424ea84ea4903d18ac9d3b3f61a.tar.bz2 hercules-abb834567db53424ea84ea4903d18ac9d3b3f61a.tar.xz hercules-abb834567db53424ea84ea4903d18ac9d3b3f61a.zip |
Added Summoner Class.
(Only Placeholder, other things related to summoner will follow-up soon)
Added SQL-Upgrade: Added `class` column in charlog
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/itemdb.c | 5 | ||||
-rw-r--r-- | src/map/map.h | 1 | ||||
-rw-r--r-- | src/map/pc.c | 11 |
3 files changed, 15 insertions, 2 deletions
diff --git a/src/map/itemdb.c b/src/map/itemdb.c index 2e44393fe..97f302b80 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -437,6 +437,9 @@ void itemdb_jobid2mapid(uint64 *bclass, int job_id, bool enable) case JOB_REBELLION: mask[1] = 1ULL << MAPID_GUNSLINGER; break; + case JOB_SUMMONER: + mask[0] = 1ULL << MAPID_SUMMONER; + break; // Other Classes case JOB_GANGSI: //Bongun/Munak mask[0] = 1ULL << MAPID_GANGSI; @@ -538,6 +541,8 @@ void itemdb_jobmask2mapid(uint64 *bclass, uint64 jobmask) bclass[1] |= 1ULL<<MAPID_NINJA; if (jobmask & 1ULL<<30) //Rebellion bclass[1] |= 1ULL<<MAPID_GUNSLINGER; + if (jobmask & 1ULL<<31) //Summoner + bclass[0] |= 1ULL<<MAPID_SUMMONER; } void create_dummy_data(void) diff --git a/src/map/map.h b/src/map/map.h index 723691971..c186dab4a 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -88,6 +88,7 @@ enum { MAPID_XMAS, MAPID_SUMMER, MAPID_GANGSI, + MAPID_SUMMONER, //2-1 Jobs MAPID_SUPER_NOVICE = JOBL_2_1|0x0, MAPID_KNIGHT, diff --git a/src/map/pc.c b/src/map/pc.c index 0674f0137..b6f2d375d 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1749,7 +1749,7 @@ int pc_calc_skilltree_normalize_job(struct map_session_data *sd) sd->sktree.second = sd->sktree.third = 0; // limit 1st class and above to novice job levels - if(skill_point < novice_skills) { + if(skill_point < novice_skills && (sd->class_&MAPID_BASEMASK) != MAPID_SUMMONER) { c = MAPID_NOVICE; } // limit 2nd class and above to first class job levels (super novices are exempt) @@ -5881,6 +5881,7 @@ int pc_jobid2mapid(unsigned short b_class) case JOB_XMAS: return MAPID_XMAS; case JOB_SUMMER: return MAPID_SUMMER; case JOB_GANGSI: return MAPID_GANGSI; + case JOB_SUMMONER: return MAPID_SUMMONER; //2-1 Jobs case JOB_SUPER_NOVICE: return MAPID_SUPER_NOVICE; case JOB_KNIGHT: return MAPID_KNIGHT; @@ -6023,6 +6024,7 @@ int pc_mapid2jobid(unsigned short class_, int sex) case MAPID_XMAS: return JOB_XMAS; case MAPID_SUMMER: return JOB_SUMMER; case MAPID_GANGSI: return JOB_GANGSI; + case MAPID_SUMMONER: return JOB_SUMMONER; //2-1 Jobs case MAPID_SUPER_NOVICE: return JOB_SUPER_NOVICE; case MAPID_KNIGHT: return JOB_KNIGHT; @@ -6362,6 +6364,9 @@ const char* job_name(int class_) case JOB_REBELLION: return msg_txt(655); + case JOB_SUMMONER: + return msg_txt(669); + default: return msg_txt(620); // "Unknown Job" } @@ -6487,6 +6492,7 @@ int pc_check_job_name(const char *name) { { "Kagerou", JOB_KAGEROU }, { "Oboro", JOB_OBORO }, { "Rebellion", JOB_REBELLION }, + { "Summoner", JOB_SUMMONER }, }; nullpo_retr(-1, name); @@ -11644,7 +11650,8 @@ bool pc_db_checkid(unsigned int class_) || (class_ >= JOB_BABY_RUNE && class_ <= JOB_BABY_MECHANIC2 ) || (class_ >= JOB_SUPER_NOVICE_E && class_ <= JOB_SUPER_BABY_E ) || (class_ >= JOB_KAGEROU && class_ <= JOB_OBORO ) - || (class_ >= JOB_REBELLION && class_ < JOB_MAX ); + || (class_ == JOB_REBELLION) + || (class_ >= JOB_SUMMONER && class_ < JOB_MAX ); } /** |