com.planet_ink.coffee_mud.Behaviors
Class MudChat
java.lang.Object
com.planet_ink.coffee_mud.Behaviors.StdBehavior
com.planet_ink.coffee_mud.Behaviors.MudChat
- All Implemented Interfaces:
- Behavior, ChattyBehavior, CMObject, Contingent, Modifiable, MsgListener, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
- Direct Known Subclasses:
- QuestChat
public class MudChat
- extends StdBehavior
- implements ChattyBehavior
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_BEAMWEAPON, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MISCELLANEOUS, TICKID_MOB, TICKID_PROPERTY_SPECIAL, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET |
Method Summary |
java.lang.String |
accountForYourself()
Returns a string describing what this behavior does. |
void |
executeMsg(Environmental affecting,
CMMsg msg)
The general message event handler for the object. |
java.util.List<java.lang.String> |
externalFiles()
Returns a string list of any external files which
may be required to make this ability work. |
protected static ChattyBehavior.ChattyGroup[] |
getChatGroups(java.lang.String parms)
|
MOB |
getLastRespondedTo()
Returns the last MOB object spoken to. |
java.lang.String |
getLastThingSaid()
Returns the last thing actually spoken by the wielder of this
behavior, or null if nothing has been said yet. |
protected ChattyBehavior.ChattyGroup |
getMyBaseChatGroup(MOB forMe,
ChattyBehavior.ChattyGroup[] chatGroups)
|
protected ChattyBehavior.ChattyGroup |
getMyChatGroup(MOB forMe,
ChattyBehavior.ChattyGroup[] chatGroups)
|
java.lang.String |
ID()
The CoffeeMud Java Class ID shared by all instances of
this object. |
protected static ChattyBehavior.ChattyGroup[] |
loadChatData(java.lang.String resourceName)
|
protected boolean |
match(MOB speaker,
java.lang.String expression,
java.lang.String message,
java.lang.String[] rest)
|
protected static ChattyBehavior.ChattyGroup |
matchChatGroup(MOB meM,
java.lang.String myName,
ChattyBehavior.ChattyGroup[] chatGroups)
|
protected static ChattyBehavior.ChattyGroup |
newChattyGroup(java.lang.String name)
|
static java.lang.String |
nextLine(java.lang.StringBuffer tsc)
|
protected static ChattyBehavior.ChattyGroup[] |
parseChatData(java.lang.StringBuffer rsc)
|
protected void |
queResponse(java.util.ArrayList<ChattyBehavior.ChattyTestResponse> 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. |
protected static ChattyBehavior.ChattyGroup[] |
unprotectedChatGroupLoad(java.lang.String parms)
|
Methods inherited from class com.planet_ink.coffee_mud.Behaviors.StdBehavior |
amDestroyed, canActAtAll, canFreelyBehaveNormal, canImprove, canImprove, canImproveCode, compareTo, copyOf, destroy, flags, getBehaversMOB, getBehaversRoom, getCodeNum, getParms, getSaveStatIndex, getStat, getStatCodes, getTickStatus, grantsAggressivenessTo, initializeClass, isSavable, isStat, L, name, newInstance, okMessage, parmsFormat, registerDefaultQuest, sameAs, setSavable, setStat, startBehavior |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.lang.Comparable |
compareTo |
myChatGroup
protected ChattyBehavior.ChattyGroup myChatGroup
myOldName
protected java.lang.String myOldName
addedChatEntries
protected ChattyBehavior.ChattyEntry[] addedChatEntries
lastReactedTo
protected MOB lastReactedTo
lastRespondedTo
protected MOB lastRespondedTo
lastThingSaid
protected java.lang.String lastThingSaid
tickDown
protected int tickDown
talkDown
protected int talkDown
responseQue
protected SLinkedList<ChattyBehavior.ChattyResponse> responseQue
scriptEngine
protected ScriptingEngine scriptEngine
RESPONSE_DELAY
protected static final int RESPONSE_DELAY
- See Also:
- Constant Field Values
TALK_WAIT_DELAY
protected static final int TALK_WAIT_DELAY
- See Also:
- Constant Field Values
MudChat
public MudChat()
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, Tech. 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
accountForYourself
public java.lang.String accountForYourself()
- Description copied from interface:
Behavior
- Returns a string describing what this behavior does. Mostly for
thought and behavior reading systems.
- Specified by:
accountForYourself
in interface Behavior
- Overrides:
accountForYourself
in class StdBehavior
- Returns:
- a string describing what this behavior does.
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()
getLastThingSaid
public java.lang.String getLastThingSaid()
- Description copied from interface:
ChattyBehavior
- Returns the last thing actually spoken by the wielder of this
behavior, or null if nothing has been said yet.
- Specified by:
getLastThingSaid
in interface ChattyBehavior
- Returns:
- the last thing said.
getLastRespondedTo
public MOB getLastRespondedTo()
- Description copied from interface:
ChattyBehavior
- Returns the last MOB object spoken to.
- Specified by:
getLastRespondedTo
in interface ChattyBehavior
- Returns:
- the last MOB object spoken to.
newChattyGroup
protected static ChattyBehavior.ChattyGroup newChattyGroup(java.lang.String name)
getChatGroups
protected static ChattyBehavior.ChattyGroup[] getChatGroups(java.lang.String parms)
unprotectedChatGroupLoad
protected static ChattyBehavior.ChattyGroup[] unprotectedChatGroupLoad(java.lang.String parms)
externalFiles
public java.util.List<java.lang.String> 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 ChattyBehavior.ChattyGroup[] parseChatData(java.lang.StringBuffer rsc)
loadChatData
protected static ChattyBehavior.ChattyGroup[] loadChatData(java.lang.String resourceName)
nextLine
public static java.lang.String nextLine(java.lang.StringBuffer tsc)
matchChatGroup
protected static ChattyBehavior.ChattyGroup matchChatGroup(MOB meM,
java.lang.String myName,
ChattyBehavior.ChattyGroup[] chatGroups)
getMyBaseChatGroup
protected ChattyBehavior.ChattyGroup getMyBaseChatGroup(MOB forMe,
ChattyBehavior.ChattyGroup[] chatGroups)
getMyChatGroup
protected ChattyBehavior.ChattyGroup getMyChatGroup(MOB forMe,
ChattyBehavior.ChattyGroup[] chatGroups)
queResponse
protected void queResponse(java.util.ArrayList<ChattyBehavior.ChattyTestResponse> 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 objectmsg
- 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 objecttickID
- 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