*/
public boolean isImmobilised(Class<?> exception) {
synchronized (m_statuses) {
Collections.sort(m_statuses, new Comparator<Object>() {
public int compare(Object o1, Object o2) {
StatusEffect e1 = (StatusEffect) o1;
StatusEffect e2 = (StatusEffect) o2;
return e1.getTier() - e2.getTier();
}
});
Iterator<StatusEffect> i = m_statuses.iterator();
while (i.hasNext()) {
StatusEffect eff = i.next();
if (eff.isActive() && eff.immobilises(this)) {
if ((exception == null)
|| !exception.isAssignableFrom(eff.getClass())) {
m_lastMove = null;
m_firstTurn = false;
return true;
}
}