Removal of CopyOnWriteArrayList from Player damage taken.
This commit is contained in:
@@ -35,7 +35,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -491,7 +490,7 @@ public class Player extends Playable
|
|||||||
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5064,17 +5063,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10351,7 +10356,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -494,7 +493,7 @@ public class Player extends Playable
|
|||||||
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5085,17 +5084,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10458,7 +10463,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
|
|
||||||
// Stop Tranquil Soul effect.
|
// Stop Tranquil Soul effect.
|
||||||
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, CommonSkill.TRANQUIL_SOUL.getSkill());
|
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, CommonSkill.TRANQUIL_SOUL.getSkill());
|
||||||
|
|||||||
+9
-4
@@ -35,7 +35,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -507,7 +506,7 @@ public class Player extends Playable
|
|||||||
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5102,17 +5101,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10485,7 +10490,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
|
|
||||||
// Stop Tranquil Soul effect.
|
// Stop Tranquil Soul effect.
|
||||||
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, CommonSkill.TRANQUIL_SOUL.getSkill());
|
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, CommonSkill.TRANQUIL_SOUL.getSkill());
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -509,7 +508,7 @@ public class Player extends Playable
|
|||||||
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5123,17 +5122,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10523,7 +10528,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
|
|
||||||
// Stop Tranquil Soul effect.
|
// Stop Tranquil Soul effect.
|
||||||
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, CommonSkill.TRANQUIL_SOUL.getSkill());
|
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, CommonSkill.TRANQUIL_SOUL.getSkill());
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -509,7 +508,7 @@ public class Player extends Playable
|
|||||||
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5151,17 +5150,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10551,7 +10556,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
|
|
||||||
// Stop Tranquil Soul effect.
|
// Stop Tranquil Soul effect.
|
||||||
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, CommonSkill.TRANQUIL_SOUL.getSkill());
|
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, CommonSkill.TRANQUIL_SOUL.getSkill());
|
||||||
|
|||||||
+9
-4
@@ -38,7 +38,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
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) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5010,17 +5009,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10145,7 +10150,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+9
-4
@@ -38,7 +38,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -512,7 +511,7 @@ public class Player extends Playable
|
|||||||
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5078,17 +5077,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10298,7 +10303,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+9
-4
@@ -38,7 +38,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -531,7 +530,7 @@ public class Player extends Playable
|
|||||||
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5113,17 +5112,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10353,7 +10358,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+9
-4
@@ -38,7 +38,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -535,7 +534,7 @@ public class Player extends Playable
|
|||||||
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5128,17 +5127,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10529,7 +10534,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+9
-4
@@ -38,7 +38,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentSkipListMap;
|
import java.util.concurrent.ConcurrentSkipListMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -538,7 +537,7 @@ public class Player extends Playable
|
|||||||
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
/** The PvP Flag state of the Player (0=White, 1=Purple) */
|
||||||
private byte _pvpFlag;
|
private byte _pvpFlag;
|
||||||
|
|
||||||
private final List<DamageTakenHolder> _lastDamageTaken = new CopyOnWriteArrayList<>();
|
private final List<DamageTakenHolder> _lastDamageTaken = new ArrayList<>(21);
|
||||||
|
|
||||||
/** The Fame of this Player */
|
/** The Fame of this Player */
|
||||||
private int _fame;
|
private int _fame;
|
||||||
@@ -5165,17 +5164,23 @@ public class Player extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
|
{
|
||||||
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
|
||||||
while (_lastDamageTaken.size() > 20)
|
if (_lastDamageTaken.size() > 20)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.remove(0);
|
_lastDamageTaken.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void clearDamageTaken()
|
public void clearDamageTaken()
|
||||||
|
{
|
||||||
|
synchronized (_lastDamageTaken)
|
||||||
{
|
{
|
||||||
_lastDamageTaken.clear();
|
_lastDamageTaken.clear();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Collection<Item> onDieDropItem(Creature killer)
|
private Collection<Item> onDieDropItem(Creature killer)
|
||||||
{
|
{
|
||||||
@@ -10583,7 +10588,7 @@ public class Player extends Playable
|
|||||||
instance.doRevive(this);
|
instance.doRevive(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDamageTaken.clear();
|
clearDamageTaken();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user