case 4: // Join a Cabal - SevenSigns 4 [0]1 x int newSeal = Integer.parseInt(command.substring(15)); int oldCabal = SevenSigns.getInstance().getPlayerCabal(player); if (oldCabal != SevenSigns.CABAL_NULL) { player.sendMessage("You are already a member of the " + SevenSigns.getCabalName(cabal) + "."); return; } if (!player.hasCompletedFirstClassTransfer() && !player.hasCompletedSecondClassTransfer()) { player.sendMessage("You must have already completed your first class transfer."); break; } else if (player.hasCompletedSecondClassTransfer()) { if (Config.ALT_GAME_REQUIRE_CASTLE_DAWN) { if (getPlayerAllyHasCastle(player)) { if (cabal == SevenSigns.CABAL_DUSK) { player.sendMessage("You must not be a member of a castle-owning clan to join the Revolutionaries of Dusk."); return; } } else { /* * If the player is trying to join the Lords of Dawn, check if they are * carrying a Lord's certificate. * * If not then try to take the required amount of adena instead. */ if (cabal == SevenSigns.CABAL_DAWN) { boolean allowJoinDawn = false; if (player.destroyItemByItemId("SevenSigns", SevenSigns.CERTIFICATE_OF_APPROVAL_ID, 1, this, false)) { sm = new SystemMessage(SystemMessage.DISSAPEARED_ITEM); sm.addNumber(1); sm.addItemName(SevenSigns.CERTIFICATE_OF_APPROVAL_ID); player.sendPacket(sm); allowJoinDawn = true; } else if (player.reduceAdena("Sign", SevenSigns.ADENA_JOIN_DAWN_COST, this, true)) { sm = new SystemMessage(SystemMessage.DISSAPEARED_ADENA); sm.addNumber(SevenSigns.ADENA_JOIN_DAWN_COST); player.sendPacket(sm); allowJoinDawn = true; } else return; if (!allowJoinDawn) { player.sendMessage("You must be a member of a castle-owning clan, have a Certificate of Lord's Approval, or pay 50000 adena to join the Lords of Dawn."); return; } } } } } else { player.sendMessage("Sorry you cannot join " + SevenSigns.getCabalName(cabal) + " at the moment."); break; } SevenSigns.getInstance().setPlayerInfo(player, cabal, newSeal); if (cabal == SevenSigns.CABAL_DAWN) player.sendPacket(new SystemMessage(1273)); // Joined Dawn else player.sendPacket(new SystemMessage(1274)); // Joined Dusk // Show a confirmation message to the user, indicating which seal they chose. switch (newSeal) { case SevenSigns.SEAL_AVARICE: player.sendPacket(new SystemMessage(1275)); break; case SevenSigns.SEAL_GNOSIS: player.sendPacket(new SystemMessage(1276)); break; case SevenSigns.SEAL_STRIFE: player.sendPacket(new SystemMessage(1277)); break; } showChatWindow(player, 4, SevenSigns.getCabalShortName(cabal), false); break;