summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-07-26 17:24:59 -0300
committershennetsind <ind@henn.et>2013-07-26 17:24:59 -0300
commit21b13ae7ef4747caf52784f4fb753e9a98ff2bd8 (patch)
treebc2bd9e8cea0a0edfdaca4dc9a71edb8322b3c34
parentcaf27aabe73f84fac80eb0e5962b8b9f4eeb257d (diff)
downloadhercules-21b13ae7ef4747caf52784f4fb753e9a98ff2bd8.tar.gz
hercules-21b13ae7ef4747caf52784f4fb753e9a98ff2bd8.tar.bz2
hercules-21b13ae7ef4747caf52784f4fb753e9a98ff2bd8.tar.xz
hercules-21b13ae7ef4747caf52784f4fb753e9a98ff2bd8.zip
Fixed Bug #7564 Part 2
Fixed mapid check doing upper instead of base in several locations. Special Thanks to bgamez23 http://hercules.ws/board/tracker/issue-7564-platinum-skill-is-not-remove-right-after-i-change-job/ Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--src/map/pc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index 6d3f3e35b..11e775dea 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -1334,7 +1334,7 @@ int pc_calc_skilltree(struct map_session_data *sd)
if( sd->status.skill[i].flag == SKILL_FLAG_PERMANENT ) {
switch( skill_db[i].nameid ) {
case NV_TRICKDEAD:
- if( (sd->class_&MAPID_UPPERMASK) != MAPID_NOVICE ) {
+ if( (sd->class_&MAPID_BASEMASK) != MAPID_NOVICE ) {
sd->status.skill[i].id = 0;
sd->status.skill[i].lv = 0;
sd->status.skill[i].flag = 0;
@@ -6510,14 +6510,14 @@ int pc_resetskill(struct map_session_data* sd, int flag)
skill_id = skill_db[i].nameid;
// Don't reset trick dead if not a novice/baby
- if( skill_id == NV_TRICKDEAD && (sd->class_&MAPID_UPPERMASK) != MAPID_NOVICE ) {
+ if( skill_id == NV_TRICKDEAD && (sd->class_&MAPID_BASEMASK) != MAPID_NOVICE ) {
sd->status.skill[i].lv = 0;
sd->status.skill[i].flag = 0;
continue;
}
// do not reset basic skill
- if( skill_id == NV_BASIC && (sd->class_&MAPID_UPPERMASK) != MAPID_NOVICE )
+ if( skill_id == NV_BASIC && (sd->class_&MAPID_BASEMASK) != MAPID_NOVICE )
continue;
if( sd->status.skill[i].flag == SKILL_FLAG_PERM_GRANTED )
@@ -9869,7 +9869,7 @@ void pc_read_skill_tree(void) {
if( a == MAX_SKILL_TREE ) {
ShowWarning("pc_read_skill_tree: '%s' can't inherit '%s', skill tree is full!\n", name,iname);
break;
- } else if ( skill_tree[idx][a].id || ( skill_tree[idx][a].id == NV_TRICKDEAD && ((pc->jobid2mapid(jnames[k].id)&MAPID_UPPERMASK)!=MAPID_NOVICE) ) ) /* we skip trickdead for non-novices */
+ } else if ( skill_tree[idx][a].id || ( skill_tree[idx][a].id == NV_TRICKDEAD && ((pc->jobid2mapid(jnames[k].id)&MAPID_BASEMASK)!=MAPID_NOVICE) ) ) /* we skip trickdead for non-novices */
continue;/* skip */
memcpy(&skill_tree[idx][a],&skill_tree[fidx][f],sizeof(skill_tree[fidx][f]));