From 444d7394c2ea53e4875acc4bbac957cdd6fe99de Mon Sep 17 00:00:00 2001 From: Aleos Date: Fri, 11 Jan 2019 10:38:40 -0500 Subject: [PATCH] Adjusted reload item database (#3849) * Reloading the item database will now properly force a recalc on all players. * If new item combos were added to the database and players were wearing the item combo the players would never get the bonus until unequipping and reequipping. Thanks to @Lemongrass3110! --- src/map/itemdb.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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); }