diff --git a/src/map/pc.cpp b/src/map/pc.cpp index bd169d0ce3..a1341e4222 100755 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -12737,11 +12737,37 @@ short pc_maxparameter(struct map_session_data *sd, enum e_params param) { return max_param; } - return (class_&MAPID_BASEMASK) == MAPID_SUMMONER ? battle_config.max_summoner_parameter : - ((class_&MAPID_UPPERMASK) == MAPID_KAGEROUOBORO || (class_&MAPID_UPPERMASK) == MAPID_REBELLION) ? battle_config.max_extended_parameter : - ((class_&JOBL_THIRD) ? ((class_&JOBL_UPPER) ? battle_config.max_third_trans_parameter : ((class_&JOBL_BABY) ? battle_config.max_baby_third_parameter : battle_config.max_third_parameter)) : - ((class_&JOBL_BABY) ? battle_config.max_baby_parameter : - ((class_&JOBL_UPPER) ? battle_config.max_trans_parameter : battle_config.max_parameter))); + // Always check babies first + if( class_ & JOBL_BABY ){ + return battle_config.max_baby_parameter; + } + + // Summoner + if( ( class_ & MAPID_BASEMASK ) == MAPID_SUMMONER ){ + return battle_config.max_summoner_parameter; + } + + // Extended classes + if( ( class_ & MAPID_UPPERMASK ) == MAPID_KAGEROUOBORO || ( class_ & MAPID_UPPERMASK ) == MAPID_REBELLION ){ + return battle_config.max_extended_parameter; + } + + // 3rd class + if( class_ & JOBL_THIRD ){ + // Transcendent + if( class_ & JOBL_UPPER ){ + return battle_config.max_third_trans_parameter; + }else{ + return battle_config.max_third_parameter; + } + } + + // Transcendent + if( class_ & JOBL_UPPER ){ + return battle_config.max_trans_parameter; + } + + return battle_config.max_parameter; } /**