Parcourir la source

Moved some inventory checks
* Resolved item bonuses not properly being given that get applied before the player's inventory is received.
* Resolved rental items that have Status Changes attached to them not getting removed if the timer expired when the player logs in.
* Removed an extra call for player's with item sets.
Thanks to @Tokeiburu!

aleos89 il y a 8 ans
Parent
commit
7e2efec61b
2 fichiers modifiés avec 2 ajouts et 4 suppressions
  1. 2 0
      src/map/intif.c
  2. 0 4
      src/map/pc.c

+ 2 - 0
src/map/intif.c

@@ -3205,7 +3205,9 @@ static bool intif_parse_StorageReceived(int fd)
 			//Set here because we need the inventory data for weapon sprite parsing.
 			status_set_viewdata(&sd->bl, sd->status.class_);
 			pc_load_combo(sd);
+			status_calc_pc(sd, (enum e_status_calc_opt)(SCO_FIRST|SCO_FORCE));
 			status_calc_weight(sd, 1|2); // Refresh item weight data
+			chrif_scdata_request(sd->status.account_id, sd->status.char_id);
 			break;
 		}
 

+ 0 - 4
src/map/pc.c

@@ -1421,10 +1421,6 @@ void pc_reg_received(struct map_session_data *sd)
 	if (!chrif_auth_finished(sd))
 		ShowError("pc_reg_received: Failed to properly remove player %d:%d from logging db!\n", sd->status.account_id, sd->status.char_id);
 
-	pc_load_combo(sd);
-
-	status_calc_pc(sd, (enum e_status_calc_opt)(SCO_FIRST|SCO_FORCE));
-	chrif_scdata_request(sd->status.account_id, sd->status.char_id);
 	chrif_skillcooldown_request(sd->status.account_id, sd->status.char_id);
 	chrif_bsdata_request(sd->status.char_id);
 	sd->storage_size = MIN_STORAGE; //default to min