@Override public Iterator<TickClient> getTickSet(final Tickable T, final int tickID) { final LinkedList<TickClient> subSet = new LinkedList<TickClient>(); if (tickID < 0) subSet.addAll( tickers.subSet( new StdTickClient(T, 0, 0), true, new StdTickClient(T, 0, Integer.MAX_VALUE), true)); else subSet.addAll( tickers.subSet( new StdTickClient(T, 0, tickID), true, new StdTickClient(T, 0, tickID), true)); return subSet.iterator(); }
@Override public boolean tick(Tickable ticking, int tickID) { if (tickID != Tickable.TICKID_MISCELLANEOUS) return super.tick(ticking, tickID); while (killTrigger[0]) { final LinkedList<MOB> killThese = new LinkedList<MOB>(); synchronized (killTrigger) { killThese.addAll(getDeadMOBsFrom(affected)); killTrigger[0] = false; } for (final MOB M : killThese) { CMLib.combat().postDeath(null, M, null); } } return false; }