public final void killAllMonsters(final boolean animate) {
        for (final MapleMapObject monstermo : getAllMonstersThreadsafe()) {
            final MapleMonster monster = (MapleMonster) monstermo;
            spawnedMonstersOnMap.decrementAndGet();
            monster.setHp(0);
            if (GameConstants.isAzwanMap(mapid)) {
                broadcastMessage(MobPacket.killMonster(monster.getObjectId(), animate ? 1 : 0, true));
            } else {
                broadcastMessage(MobPacket.killMonster(monster.getObjectId(), animate ? 1 : 0, false));
            }
            removeMapObject(monster);
            monster.killed();
        }
    }