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; }
public boolean execute(MOB mob, Vector commands, int metaFlags) throws java.io.IOException { if ((!mob.isMonster()) && CMath.bset(mob.getBitmap(), MOB.ATT_QUIET)) { mob.tell("You have QUIET mode on. You must turn it off first."); return false; } if (commands.size() < 3) { mob.tell("Tell whom what?"); return false; } commands.removeElementAt(0); if (((String) commands.firstElement()).equalsIgnoreCase("last") && (CMath.isNumber(CMParms.combine(commands, 1))) && (mob.playerStats() != null)) { java.util.List<String> V = mob.playerStats().getTellStack(); if ((V.size() == 0) || (CMath.bset(metaFlags, Command.METAFLAG_AS)) || (CMath.bset(metaFlags, Command.METAFLAG_POSSESSED))) mob.tell("No telling."); else { int num = CMath.s_int(CMParms.combine(commands, 1)); if (num > V.size()) num = V.size(); Session S = mob.session(); try { if (S != null) S.snoopSuspension(1); for (int i = V.size() - num; i < V.size(); i++) mob.tell((String) V.get(i)); } finally { if (S != null) S.snoopSuspension(-1); } } return false; } MOB targetM = null; String targetName = ((String) commands.elementAt(0)).toUpperCase(); targetM = CMLib.sessions().findPlayerOnline(targetName, true); if (targetM == null) targetM = CMLib.sessions().findPlayerOnline(targetName, false); for (int i = 1; i < commands.size(); i++) { String s = (String) commands.elementAt(i); if (s.indexOf(' ') >= 0) commands.setElementAt("\"" + s + "\"", i); } String combinedCommands = CMParms.combine(commands, 1); if (combinedCommands.equals("")) { mob.tell("Tell them what?"); return false; } combinedCommands = CMProps.applyINIFilter(combinedCommands, CMProps.SYSTEM_SAYFILTER); if (targetM == null) { if (targetName.indexOf('@') >= 0) { String mudName = targetName.substring(targetName.indexOf('@') + 1); targetName = targetName.substring(0, targetName.indexOf('@')); if (CMLib.intermud().i3online() || CMLib.intermud().imc2online()) CMLib.intermud().i3tell(mob, targetName, mudName, combinedCommands); else mob.tell("Intermud is unavailable."); return false; } mob.tell("That person doesn't appear to be online."); return false; } if (CMath.bset(targetM.getBitmap(), MOB.ATT_QUIET)) { mob.tell("That person can not hear you."); return false; } Session ts = targetM.session(); try { if (ts != null) ts.snoopSuspension(1); CMLib.commands().postSay(mob, targetM, combinedCommands, true, true); } finally { if (ts != null) ts.snoopSuspension(-1); } if ((targetM.session() != null) && (targetM.session().afkFlag())) mob.tell(targetM.session().afkMessage()); return false; }