All pastes #46508 Raw Edit

Something

public text v1 · immutable
#46508 ·published 2006-03-21 17:55 UTC
rendered paste body
				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;