Переглянути джерело

Fixes #797
* Elemental Control will no longer be removed on map change/Teleport.

aleos89 9 роки тому
батько
коміт
feb885cb37
2 змінених файлів з 4 додано та 3 видалено
  1. 3 0
      src/map/map.c
  2. 1 3
      src/map/unit.c

+ 3 - 0
src/map/map.c

@@ -1831,6 +1831,9 @@ int map_quit(struct map_session_data *sd) {
 	// Return loot to owner
 	if( sd->pd ) pet_lootitem_drop(sd->pd, sd);
 
+	if (sd->ed) // Remove effects here rather than unit_remove_map_pc so we don't clear on Teleport/map change.
+		elemental_clean_effect(sd->ed);
+
 	if( sd->state.storage_flag == 1 ) sd->state.storage_flag = 0; // No need to Double Save Storage on Quit.
 
 	if (sd->state.permanent_speed == 1) sd->state.permanent_speed = 0; // Remove lock so speed is set back to normal at login.

+ 1 - 3
src/map/unit.c

@@ -3088,10 +3088,8 @@ void unit_remove_map_pc(struct map_session_data *sd, clr_type clrtype)
 	if(sd->md)
 		unit_remove_map(&sd->md->bl, clrtype);
 
-	if(sd->ed) {
-		elemental_clean_effect(sd->ed);
+	if(sd->ed)
 		unit_remove_map(&sd->ed->bl, clrtype);
-	}
 }
 
 /**