@Override protected void runImpl() { int clan = clanStatus(); int online = onlineStatus(); GameClient client = getClient(); if (clan > 0 || online > 0) { if (clan == 2) sendPacket( new CharacterDeleteFail(CharacterDeleteFail.REASON_CLAN_LEADERS_MAY_NOT_BE_DELETED)); else if (clan == 1) sendPacket( new CharacterDeleteFail(CharacterDeleteFail.REASON_YOU_MAY_NOT_DELETE_CLAN_MEMBER)); else if (online > 0) sendPacket(new CharacterDeleteFail(CharacterDeleteFail.REASON_DELETION_FAILED)); CharacterSelectionInfo cl = new CharacterSelectionInfo(client.getLogin(), client.getSessionKey().playOkID1); sendPacket(cl); client.setCharSelection(cl.getCharInfo()); return; } try { if (Config.DELETE_DAYS == 0) client.deleteChar(_charSlot); else client.markToDeleteChar(_charSlot); } catch (Exception e) { _log.error("Error:", e); } sendPacket(new CharacterDeleteSuccess()); CharacterSelectionInfo cl = new CharacterSelectionInfo(client.getLogin(), client.getSessionKey().playOkID1); sendPacket(cl); sendPacket(new ExLoginVitalityEffectInfo(client.hasBonus(), 0)); // TODO: [Bonux]. client.setCharSelection(cl.getCharInfo()); }