public final void setOnline(final int cid, final boolean online, final int channel) {
        final MapleFamilyCharacter mgc = getMFC(cid);
        if (mgc != null && mgc.getFamilyId() == id) {
            if (mgc.isOnline() != online) {
                broadcast(FamilyPacket.familyLoggedIn(online, mgc.getName()), cid, mgc.getId() == leaderid ? null : mgc.getPedigree());
            }
            mgc.setOnline(online);
            mgc.setChannel((byte) channel);
        }
        bDirty = true; // member formation has changed, update notifications
    }