diff --git a/src/map/itemdb.cpp b/src/map/itemdb.cpp index 70a47e5f22..f1eb364b5c 100644 --- a/src/map/itemdb.cpp +++ b/src/map/itemdb.cpp @@ -1974,21 +1974,21 @@ void itemdb_reload(void) { iter = mapit_geteachpc(); for( sd = (struct map_session_data*)mapit_first(iter); mapit_exists(iter); sd = (struct map_session_data*)mapit_next(iter) ) { memset(sd->item_delay, 0, sizeof(sd->item_delay)); // reset item delays - pc_setinventorydata(sd); - pc_check_available_item(sd, ITMCHK_ALL); // Check for invalid(ated) items. - /* clear combo bonuses */ - if( sd->combos.count ) { + + if( sd->combos.count ) { // clear combo bonuses aFree(sd->combos.bonus); aFree(sd->combos.id); aFree(sd->combos.pos); - sd->combos.bonus = NULL; - sd->combos.id = NULL; - sd->combos.pos = NULL; + sd->combos.bonus = nullptr; + sd->combos.id = nullptr; + sd->combos.pos = nullptr; sd->combos.count = 0; - if( pc_load_combo(sd) > 0 ) - status_calc_pc(sd, SCO_FORCE); } + pc_setinventorydata(sd); + pc_check_available_item(sd, ITMCHK_ALL); // Check for invalid(ated) items. + pc_load_combo(sd); // Check to see if new combos are available + status_calc_pc(sd, SCO_FORCE); // } mapit_free(iter); }