public boolean execute(MOB mob, Vector commands, int metaFlags) throws java.io.IOException { boolean skipChecks = mob.Name().equals(mob.getClanID()); Room R = mob.location(); if (skipChecks) { commands.setElementAt(getAccessWords()[0], 0); R = CMLib.map().getRoom(CMParms.combine(commands, 1)); } else { commands.clear(); commands.addElement(getAccessWords()[0]); commands.addElement(CMLib.map().getExtendedRoomID(R)); } if ((mob.getClanID() == null) || (R == null) || (mob.getClanID().equalsIgnoreCase(""))) { mob.tell("You aren't even a member of a clan."); return false; } Clan C = mob.getMyClan(); if (C == null) { mob.tell("There is no longer a clan called " + mob.getClanID() + "."); return false; } if (C.getStatus() > Clan.CLANSTATUS_ACTIVE) { mob.tell( "You cannot set a morgue. Your " + C.getGovernmentName() + " does not have enough members to be considered active."); return false; } if (skipChecks || CMLib.clans().goForward(mob, C, commands, Clan.Function.SET_HOME, false)) { if (!CMLib.law().doesOwnThisProperty(C.clanID(), R)) { mob.tell("Your " + C.getGovernmentName() + " does not own this room."); return false; } if (skipChecks || CMLib.clans().goForward(mob, C, commands, Clan.Function.SET_HOME, true)) { C.setMorgue(CMLib.map().getExtendedRoomID(R)); C.update(); mob.tell( "Your " + C.getGovernmentName() + " morgue is now set to " + R.roomTitle(mob) + "."); CMLib.clans() .clanAnnounce( mob, "The morgue of " + C.getGovernmentName() + " " + C.clanID() + " is now set to " + R.roomTitle(mob) + "."); return true; } } else { mob.tell( "You aren't in the right position to set your " + C.getGovernmentName() + "'s morgue."); return false; } return false; }