Behavior
, CMCommon
, ScriptingEngine
, CMObject
, Contingent
, Modifiable
, MsgListener
, Tickable
, java.lang.Cloneable
, java.lang.Comparable<CMObject>
public class ScriptableEverymob extends StdBehavior implements ScriptingEngine
ScriptingEngine.ScriptLn, ScriptingEngine.SubScript
CAN_AREAS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, FLAG_LEGALBEHAVIOR, FLAG_MOBILITY, FLAG_POTENTIALLYAGGRESSIVE, FLAG_POTENTIALLYAUTODEATHING, FLAG_TROUBLEMAKING
idConverter
CONNECTOR_AND, CONNECTOR_ANDNOT, CONNECTOR_MAP, CONNECTOR_NOT, CONNECTOR_OR, CONNECTOR_ORNOT, CONNECTORS, DATETIME_ARGS, funcs, methods, progs, SIGN_EQGT, SIGN_EQLT, SIGN_EQUL, SIGN_GRAT, SIGN_GTEQ, SIGN_LEST, SIGN_LTEQ, SIGN_NTEQ, SIGNS, SPECIAL_9SHOPHASPRICE, SPECIAL_NUM_OBJECTS, SPECIAL_RANDANYONE, SPECIAL_RANDPC
CODES, isSavableBehavior, parms
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_BALLISTICK, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EVENT, 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_SHORTERMASK, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET
Constructor | Description |
---|---|
ScriptableEverymob() |
Modifier and Type | Method | Description |
---|---|---|
java.lang.String |
accountForYourself() |
Returns a string describing what this behavior does.
|
java.lang.String |
callFunc(java.lang.String named,
java.lang.String parms,
PhysicalAgent scripted,
MOB source,
Environmental target,
MOB monster,
Item primaryItem,
Item secondaryItem,
java.lang.String msg,
java.lang.Object[] tmp) |
Called a func with the given name, sending the given parms, and returning its
return value, if any, or null.
|
protected int |
canImproveCode() |
|
java.lang.String |
defaultQuestName() |
If this script is associated with a particular quest, this
method is called to return that quest name.
|
void |
dequeResponses() |
Forces any queued event responses to be immediately
executed.
|
boolean |
endQuest(PhysicalAgent hostObj,
MOB mob,
java.lang.String quest) |
Calling this method forces this script to look for a trigger
dealing with the end of a quest (QUEST_TIME_PROG * -2).
|
boolean |
eval(PhysicalAgent scripted,
MOB source,
Environmental target,
MOB monster,
Item primaryItem,
Item secondaryItem,
java.lang.String msg,
java.lang.Object[] tmp,
java.lang.String[][] eval,
int startEval) |
Evaluates a scripting function.
|
java.lang.String |
execute(PhysicalAgent scripted,
MOB source,
Environmental target,
MOB monster,
Item primaryItem,
Item secondaryItem,
ScriptingEngine.SubScript script,
java.lang.String msg,
java.lang.Object[] tmp) |
Executes a script in response to an event
The scripts are formatted as a SubScript class.
|
void |
executeMsg(Environmental host,
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.
|
java.lang.String |
functify(PhysicalAgent scripted,
MOB source,
Environmental target,
MOB monster,
Item primaryItem,
Item secondaryItem,
java.lang.String msg,
java.lang.Object[] tmp,
java.lang.String evaluable) |
Evaluates one of the boolean functions as a string
variable expression, which gives different and
informative results.
|
java.lang.String |
getLocalVarXML() |
If the variable scope of this script is local, this will return all the variables
and values defined as an xml document for easy storage.
|
MOB |
getMakeMOB(Tickable ticking) |
Creates a mob from the Tickable object sent, possibly saving it
locally to this object for use later.
|
java.lang.String |
getScript() |
Returns the script or load command(s).
|
java.lang.String |
getScriptResourceKey() |
Returns the hey used to cache the script or load commands in here.
|
java.lang.String |
getVar(java.lang.String context,
java.lang.String variable) |
Returns the value of one of the internal variables, determined by the scope
of the script, the context of the variable, and the name of the variable.
|
java.lang.String |
getVarScope() |
Returns the scope of any variables defined within the script.
|
java.lang.String |
ID() |
The CoffeeMud Java Class ID shared by all instances of
this object.
|
boolean |
isFunc(java.lang.String named) |
Returns whether the script has a function with the given name.
|
boolean |
isVar(java.lang.String context,
java.lang.String variable) |
Returns whether an internal variables, determined by the scope
of the script, the context of the variable, and the name of the variable, is defined.
|
java.lang.String[] |
parseEval(java.lang.String evaluable) |
Receives a string for evaluation by the eval function, and stores
it as the first element in the given 2 dimensional string array.
|
void |
setLocalVarXML(java.lang.String xml) |
If the variable scope of this script is local, this will set all the variables
and values defined from a passed in xml document.
|
void |
setScript(java.lang.String newParms) |
Sets the script or load command(s).
|
void |
setVar(java.lang.String context,
java.lang.String variable,
java.lang.String value) |
Sets the value of one of the internal variables, determined by the scope
of the script, the context of the variable, and the name of the variable.
|
void |
setVarScope(java.lang.String scope) |
Sets the scope of any variables defined within the script.
|
void |
startBehavior(PhysicalAgent forMe) |
Called after a behavior is added to a Behavable object.
|
boolean |
stepQuest(PhysicalAgent hostObj,
MOB mob,
java.lang.String quest) |
Calling this method forces this script to look for a trigger
dealing with the end of a quest step (QUEST_TIME_PROG * -1).
|
boolean |
tick(Tickable ticking,
int tickID) |
this is the method which is called periodically by the threading engine.
|
java.lang.String |
varify(MOB source,
Environmental target,
PhysicalAgent scripted,
MOB monster,
Item primaryItem,
Item secondaryItem,
java.lang.String msg,
java.lang.Object[] tmp,
java.lang.String varifyable) |
Uses this scripting engines variable parsing system to replace
any script variables $XXXX with their script determined values.
|
copyOf, initializeClass, newInstance
okMessage
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isSavable, registerDefaultQuest, setSavable
amDestroyed, canActAtAll, canFreelyBehaveNormal, canImprove, canImprove, compareTo, copyOf, destroy, endBehavior, flags, getBehaversMOB, getBehaversRoom, getCodeNum, getInternalCodeNum, getParms, getSaveStatIndex, getStat, getStatCodes, getTickStatus, grantsAggressivenessTo, I, initializeClass, isSavable, isStat, L, name, newInstance, okMessage, parmsFormat, registerDefaultQuest, sameAs, setParms, setSavable, setStat
getTickStatus, name
public java.lang.String ID()
CMObject
ID
in interface CMObject
ID
in class StdBehavior
protected int canImproveCode()
canImproveCode
in class StdBehavior
public java.lang.String accountForYourself()
Behavior
accountForYourself
in interface Behavior
accountForYourself
in class StdBehavior
public boolean tick(Tickable ticking, int tickID)
Tickable
tick
in interface Tickable
tick
in class StdBehavior
ticking
- a reference to this Tickable objecttickID
- the TICKID_ constant describing this periodic call, as defined in TickableTickable
,
ServiceEngine
,
TickableGroup
public void startBehavior(PhysicalAgent forMe)
Behavior
startBehavior
in interface Behavior
startBehavior
in class StdBehavior
forMe
- the object to which this behavior has been addedBehavable.addBehavior(Behavior)
,
Behavior.setParms(String)
public void executeMsg(Environmental host, CMMsg msg)
MsgListener
executeMsg
in interface MsgListener
executeMsg
in class StdBehavior
host
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that needs to be executedCMMsg
public java.lang.String defaultQuestName()
ScriptingEngine
defaultQuestName
in interface ScriptingEngine
ScriptingEngine.registerDefaultQuest(Object)
public void dequeResponses()
ScriptingEngine
dequeResponses
in interface ScriptingEngine
public java.util.List<java.lang.String> externalFiles()
Behavior
externalFiles
in interface Behavior
externalFiles
in interface ScriptingEngine
externalFiles
in class StdBehavior
Behavior.setParms(String)
public boolean endQuest(PhysicalAgent hostObj, MOB mob, java.lang.String quest)
ScriptingEngine
endQuest
in interface ScriptingEngine
hostObj
- the scripted objectmob
- a mob representation of the host objectquest
- the name of the quest being endedpublic boolean stepQuest(PhysicalAgent hostObj, MOB mob, java.lang.String quest)
ScriptingEngine
stepQuest
in interface ScriptingEngine
hostObj
- the scripted objectmob
- a mob representation of the host objectquest
- the name of the quest being endedpublic boolean eval(PhysicalAgent scripted, MOB source, Environmental target, MOB monster, Item primaryItem, Item secondaryItem, java.lang.String msg, java.lang.Object[] tmp, java.lang.String[][] eval, int startEval)
ScriptingEngine
eval
in interface ScriptingEngine
scripted
- the object that is scriptedsource
- the source of the eventtarget
- the target of the eventmonster
- a mob representation of the scripted objectprimaryItem
- an item involved in the eventsecondaryItem
- a second item involved in the eventmsg
- a string message associated with the eventtmp
- miscellaneous local variableseval
- the pre-parsed expressionstartEval
- while line to start evaluating on.public java.lang.String execute(PhysicalAgent scripted, MOB source, Environmental target, MOB monster, Item primaryItem, Item secondaryItem, ScriptingEngine.SubScript script, java.lang.String msg, java.lang.Object[] tmp)
ScriptingEngine
execute
in interface ScriptingEngine
scripted
- the object that is scriptedsource
- the source of the eventtarget
- the target of the eventmonster
- a mob representation of the scripted objectprimaryItem
- an item involved in the eventsecondaryItem
- a second item involved in the eventscript
- the script to executemsg
- a string message associated with the eventtmp
- miscellaneous local variablespublic java.lang.String callFunc(java.lang.String named, java.lang.String parms, PhysicalAgent scripted, MOB source, Environmental target, MOB monster, Item primaryItem, Item secondaryItem, java.lang.String msg, java.lang.Object[] tmp)
ScriptingEngine
callFunc
in interface ScriptingEngine
named
- the name of the FUNCTION_PROG to callparms
- parameters to send as $gscripted
- the object that is scriptedsource
- the source of the eventtarget
- the target of the eventmonster
- a mob representation of the scripted objectprimaryItem
- an item involved in the eventsecondaryItem
- a second item involved in the eventmsg
- a string message associated with the eventtmp
- miscellaneous local variablespublic boolean isFunc(java.lang.String named)
ScriptingEngine
isFunc
in interface ScriptingEngine
named
- the FUNCTION_PROG to look forpublic java.lang.String getLocalVarXML()
ScriptingEngine
getLocalVarXML
in interface ScriptingEngine
ScriptingEngine.setVarScope(String)
,
ScriptingEngine.setVar(String, String, String)
,
ScriptingEngine.setLocalVarXML(String)
public MOB getMakeMOB(Tickable ticking)
ScriptingEngine
getMakeMOB
in interface ScriptingEngine
ticking
- the scripted object to make a fake mob out ofpublic java.lang.String getScript()
ScriptingEngine
getScript
in interface ScriptingEngine
ScriptingEngine.setScript(String)
,
ScriptingEngine.externalFiles()
public java.lang.String getScriptResourceKey()
ScriptingEngine
getScriptResourceKey
in interface ScriptingEngine
ScriptingEngine.getScript()
public java.lang.String getVar(java.lang.String context, java.lang.String variable)
ScriptingEngine
getVar
in interface ScriptingEngine
context
- the context of the variable, usually a mob or object namevariable
- the name of the variableScriptingEngine.setVarScope(String)
,
ScriptingEngine.getVarScope()
,
ScriptingEngine.setVar(String, String, String)
,
ScriptingEngine.isVar(String, String)
,
ScriptingEngine.getLocalVarXML()
,
ScriptingEngine.setLocalVarXML(String)
public java.lang.String getVarScope()
ScriptingEngine
getVarScope
in interface ScriptingEngine
ScriptingEngine.setVarScope(String)
,
ScriptingEngine.setVar(String, String, String)
,
ScriptingEngine.setLocalVarXML(String)
public boolean isVar(java.lang.String context, java.lang.String variable)
ScriptingEngine
isVar
in interface ScriptingEngine
context
- the context of the variable, usually a mob or object namevariable
- the name of the variableScriptingEngine.setVarScope(String)
,
ScriptingEngine.getVarScope()
,
ScriptingEngine.getVar(String, String)
,
ScriptingEngine.setVar(String, String, String)
,
ScriptingEngine.getLocalVarXML()
,
ScriptingEngine.setLocalVarXML(String)
public java.lang.String[] parseEval(java.lang.String evaluable) throws ScriptParseException
ScriptingEngine
parseEval
in interface ScriptingEngine
evaluable
- the eval expressionScriptParseException
- a parse errorpublic void setLocalVarXML(java.lang.String xml)
ScriptingEngine
setLocalVarXML
in interface ScriptingEngine
xml
- the local variable values as xmlScriptingEngine.getVarScope()
,
ScriptingEngine.getVar(String, String)
,
ScriptingEngine.getLocalVarXML()
public void setScript(java.lang.String newParms)
ScriptingEngine
setScript
in interface ScriptingEngine
newParms
- the script or load command(s)ScriptingEngine.getScript()
,
ScriptingEngine.externalFiles()
public void setVar(java.lang.String context, java.lang.String variable, java.lang.String value)
ScriptingEngine
setVar
in interface ScriptingEngine
context
- the context of the variable, usually a mob or object namevariable
- the name of the variablevalue
- the value of the variableScriptingEngine.setVarScope(String)
,
ScriptingEngine.getVarScope()
,
ScriptingEngine.getVar(String, String)
,
ScriptingEngine.isVar(String, String)
,
ScriptingEngine.getLocalVarXML()
,
ScriptingEngine.setLocalVarXML(String)
public void setVarScope(java.lang.String scope)
ScriptingEngine
setVarScope
in interface ScriptingEngine
scope
- the scope of variablesScriptingEngine.getVarScope()
,
ScriptingEngine.getVar(String, String)
,
ScriptingEngine.getLocalVarXML()
public java.lang.String varify(MOB source, Environmental target, PhysicalAgent scripted, MOB monster, Item primaryItem, Item secondaryItem, java.lang.String msg, java.lang.Object[] tmp, java.lang.String varifyable)
ScriptingEngine
varify
in interface ScriptingEngine
source
- the source of the eventtarget
- the target of the eventscripted
- the object that is scriptedmonster
- a mob representation of the scripted objectprimaryItem
- an item involved in the eventsecondaryItem
- a second item involved in the eventmsg
- a string message associated with the eventtmp
- miscellaneous local variablesvarifyable
- the string to parsepublic java.lang.String functify(PhysicalAgent scripted, MOB source, Environmental target, MOB monster, Item primaryItem, Item secondaryItem, java.lang.String msg, java.lang.Object[] tmp, java.lang.String evaluable)
ScriptingEngine
functify
in interface ScriptingEngine
scripted
- the object that is scriptedsource
- the source of the eventtarget
- the target of the eventmonster
- a mob representation of the scripted objectprimaryItem
- an item involved in the eventsecondaryItem
- a second item involved in the eventmsg
- a string message associated with the eventtmp
- miscellaneous local variablesevaluable
- the function expression