com.planet_ink.coffee_mud.Behaviors
Class MudChat

java.lang.Object
  extended by com.planet_ink.coffee_mud.Behaviors.StdBehavior
      extended by com.planet_ink.coffee_mud.Behaviors.MudChat
All Implemented Interfaces:
Behavior, CMModifiable, CMObject, MsgListener, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
QuestChat

public class MudChat
extends StdBehavior


Field Summary
protected  java.util.Vector addedChatData
           
protected  MOB lastReactedTo
           
protected  java.util.Vector myChatGroup
           
protected  java.lang.String myOldName
           
protected static int RESPONSE_DELAY
           
protected  java.util.Vector responseQue
           
protected static int TALK_WAIT_DELAY
           
protected  int talkDown
           
protected  int tickDown
           
 
Fields inherited from class com.planet_ink.coffee_mud.Behaviors.StdBehavior
CODES, isSavableBehavior, parms
 
Fields inherited from interface com.planet_ink.coffee_mud.Behaviors.interfaces.Behavior
CAN_AREAS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, FLAG_LEGALBEHAVIOR, FLAG_MOBILITY, FLAG_POTENTIALLYAGGRESSIVE, FLAG_TROUBLEMAKING
 
Fields inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
STATUS_AFFECT, STATUS_ALIVE, STATUS_BEHAVIOR, STATUS_CLASS, STATUS_DEAD, STATUS_END, STATUS_FIGHT, STATUS_MISC, STATUS_MISC2, STATUS_MISC3, STATUS_MISC4, STATUS_MISC5, STATUS_MISC6, STATUS_MISC7, STATUS_NOT, STATUS_OTHER, STATUS_RACE, STATUS_REBIRTH, STATUS_SCRIPT, STATUS_START, STATUS_WEATHER, TICKID_AREA, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MOB, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SPELL_AFFECT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET, TICKMASK_SOLITARY, TICKS_PER_RLMIN, TIME_MILIS_PER_MUDHOUR, TIME_TICK, TIME_TICK_DOUBLE
 
Constructor Summary
MudChat()
           
 
Method Summary
 void executeMsg(Environmental affecting, CMMsg msg)
          The general message event handler for the object.
 java.util.Vector externalFiles()
          Returns a string list of any external files which may be required to make this ability work.
protected static java.util.Vector getChatGroups(java.lang.String parms)
           
protected  java.util.Vector getMyBaseChatGroup(MOB forMe, java.util.Vector chatGroups)
           
protected  java.util.Vector getMyChatGroup(MOB forMe, java.util.Vector chatGroups)
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
protected static java.util.Vector loadChatData(java.lang.String resourceName, java.util.Vector chatGroups)
           
protected  boolean match(MOB speaker, java.lang.String expression, java.lang.String message, java.lang.String[] rest)
           
protected static java.util.Vector matchChatGroup(MOB meM, java.lang.String myName, java.util.Vector chatGroups)
           
static java.lang.String nextLine(java.lang.StringBuffer tsc)
           
protected static java.util.Vector parseChatData(java.lang.StringBuffer rsc, java.util.Vector chatGroups)
           
protected  void queResponse(java.util.Vector responses, MOB source, MOB target, java.lang.String rest)
           
 void setParms(java.lang.String newParms)
          Sets the raw parameter string for this behavior.
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 
Methods inherited from class com.planet_ink.coffee_mud.Behaviors.StdBehavior
canActAtAll, canFreelyBehaveNormal, canImprove, canImprove, canImproveCode, compareTo, copyOf, finalize, flags, getBehaversMOB, getBehaversRoom, getCodeNum, getParms, getSaveStatIndex, getStat, getStatCodes, getTickStatus, grantsAggressivenessTo, initializeClass, isSavable, isStat, modifyBehavior, name, newInstance, okMessage, parmsFormat, registerDefaultQuest, sameAs, setSavable, setStat, startBehavior
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myChatGroup

protected java.util.Vector myChatGroup

myOldName

protected java.lang.String myOldName

addedChatData

protected java.util.Vector addedChatData

lastReactedTo

protected MOB lastReactedTo

responseQue

protected java.util.Vector responseQue

tickDown

protected int tickDown

TALK_WAIT_DELAY

protected static final int TALK_WAIT_DELAY
See Also:
Constant Field Values

talkDown

protected int talkDown

RESPONSE_DELAY

protected static final int RESPONSE_DELAY
See Also:
Constant Field Values
Constructor Detail

MudChat

public MudChat()
Method Detail

ID

public java.lang.String ID()
Description copied from interface: CMObject
The CoffeeMud Java Class ID shared by all instances of this object. Unlike the Java Class name, this method does not include package information. However, it must return a String value unique to its class category in the ClassLoader. Class categories include Libraries, Common, Areas, Abilities, Behaviors, CharClasses, Commands, Exits Locales, MOBS, Races, WebMacros, Basic Items, Armor, Weapons, ClanItems, MiscTech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
Overrides:
ID in class StdBehavior
Returns:
the name of this class

setParms

public void setParms(java.lang.String newParms)
Description copied from interface: Behavior
Sets the raw parameter string for this behavior. Parameters are meant to modify or specify specific behavior of this Behavior.

Specified by:
setParms in interface Behavior
Overrides:
setParms in class StdBehavior
Parameters:
newParms - the parameter string for this behavior
See Also:
Behavior.getParms()

getChatGroups

protected static java.util.Vector getChatGroups(java.lang.String parms)

externalFiles

public java.util.Vector externalFiles()
Description copied from interface: Behavior
Returns a string list of any external files which may be required to make this ability work. Usually derived from the parameters. Files returned by this method should not be base distrib files!

Specified by:
externalFiles in interface Behavior
Overrides:
externalFiles in class StdBehavior
Returns:
a list of the path/names of files used by this behavior
See Also:
Behavior.setParms(String)

parseChatData

protected static java.util.Vector parseChatData(java.lang.StringBuffer rsc,
                                                java.util.Vector chatGroups)

loadChatData

protected static java.util.Vector loadChatData(java.lang.String resourceName,
                                               java.util.Vector chatGroups)

nextLine

public static java.lang.String nextLine(java.lang.StringBuffer tsc)

matchChatGroup

protected static java.util.Vector matchChatGroup(MOB meM,
                                                 java.lang.String myName,
                                                 java.util.Vector chatGroups)

getMyBaseChatGroup

protected java.util.Vector getMyBaseChatGroup(MOB forMe,
                                              java.util.Vector chatGroups)

getMyChatGroup

protected java.util.Vector getMyChatGroup(MOB forMe,
                                          java.util.Vector chatGroups)

queResponse

protected void queResponse(java.util.Vector responses,
                           MOB source,
                           MOB target,
                           java.lang.String rest)

match

protected boolean match(MOB speaker,
                        java.lang.String expression,
                        java.lang.String message,
                        java.lang.String[] rest)

executeMsg

public void executeMsg(Environmental affecting,
                       CMMsg msg)
Description copied from interface: MsgListener
The general message event handler for the object. Messages passed herein may not necessarily be FOR this object, or from it, but will almost always represent events happening in the same room. The messages have already been through an approval process, so this method is called only to affect the final execution of the meaning of the message. Every game event goes through these methods.

Specified by:
executeMsg in interface MsgListener
Overrides:
executeMsg in class StdBehavior
Parameters:
affecting - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg

tick

public boolean tick(Tickable ticking,
                    int tickID)
Description copied from interface: Tickable
this is the method which is called periodically by the threading engine. How often it is called depends on the parameters passed to the threadding engine when it is submitted for thread access. Typically the period is once per TIME_TICK period, but that is determined when the object is submitted to the thread engine.

Specified by:
tick in interface Tickable
Overrides:
tick in class StdBehavior
Parameters:
ticking - a reference to this Tickable object
tickID - the TICKID_ constant describing this periodic call, as defined in Tickable
Returns:
true always, unless this object no longer wishes to ever tick again, in which case false
See Also:
Tickable, ServiceEngine, TickableGroup