Removal of CopyOnWriteArrayList from Player damage taken.
This commit is contained in:
		| @@ -38,7 +38,6 @@ import java.util.Objects; | ||||
| import java.util.Set; | ||||
| import java.util.concurrent.ConcurrentHashMap; | ||||
| import java.util.concurrent.ConcurrentSkipListMap; | ||||
| import java.util.concurrent.CopyOnWriteArrayList; | ||||
| import java.util.concurrent.Future; | ||||
| import java.util.concurrent.ScheduledFuture; | ||||
| import java.util.concurrent.TimeUnit; | ||||
| @@ -495,7 +494,7 @@ public class Player extends Playable | ||||
| 	/** The PvP Flag state of the Player (0=White, 1=Purple) */ | ||||
| 	private byte _pvpFlag; | ||||
| 	 | ||||
| 	private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>(); | ||||
| 	private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21); | ||||
| 	 | ||||
| 	/** The Fame of this Player */ | ||||
| 	private int _fame; | ||||
| @@ -5010,16 +5009,22 @@ public class Player extends Playable | ||||
| 			return; | ||||
| 		} | ||||
| 		 | ||||
| 		_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage)); | ||||
| 		while (_lastDamageTaken.size() > 20) | ||||
| 		synchronized (_lastDamageTaken) | ||||
| 		{ | ||||
| 			_lastDamageTaken.remove(0); | ||||
| 			_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage)); | ||||
| 			if (_lastDamageTaken.size() > 20) | ||||
| 			{ | ||||
| 				_lastDamageTaken.remove(0); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	public void clearDamageTaken() | ||||
| 	{ | ||||
| 		_lastDamageTaken.clear(); | ||||
| 		synchronized (_lastDamageTaken) | ||||
| 		{ | ||||
| 			_lastDamageTaken.clear(); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	private Collection<Item> onDieDropItem(Creature killer) | ||||
| @@ -10145,7 +10150,7 @@ public class Player extends Playable | ||||
| 			instance.doRevive(this); | ||||
| 		} | ||||
| 		 | ||||
| 		_lastDamageTaken.clear(); | ||||
| 		clearDamageTaken(); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment