diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java index d5c2f9998..2ee7927ef 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java @@ -339,7 +339,7 @@ public abstract class Char extends Actor { return null; } - public boolean isCharmedBy( Char ch ) { + public synchronized boolean isCharmedBy( Char ch ) { int chID = ch.id(); for (Buff b : buffs) { if (b instanceof Charm && ((Charm)b).object == chID) { @@ -349,7 +349,7 @@ public abstract class Char extends Actor { return false; } - public void add( Buff buff ) { + public synchronized void add( Buff buff ) { buffs.add( buff ); Actor.add( buff ); @@ -368,27 +368,27 @@ public abstract class Char extends Actor { } - public void remove( Buff buff ) { + public synchronized void remove( Buff buff ) { buffs.remove( buff ); Actor.remove( buff ); } - public void remove( Class buffClass ) { + public synchronized void remove( Class buffClass ) { for (Buff buff : buffs( buffClass )) { remove( buff ); } } @Override - protected void onRemove() { + protected synchronized void onRemove() { for (Buff buff : buffs.toArray(new Buff[buffs.size()])) { buff.detach(); } } - public void updateSpriteState() { + public synchronized void updateSpriteState() { for (Buff buff:buffs) { buff.fx( true ); }