com.planet_ink.coffee_mud.Abilities.Languages
Class StdLanguage

java.lang.Object
  extended by com.planet_ink.coffee_mud.Abilities.StdAbility
      extended by com.planet_ink.coffee_mud.Abilities.Languages.StdLanguage
All Implemented Interfaces:
Ability, Language, CMObject, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
AnimalSpeak, Blah, Common, Draconic, Drowish, Druidic, Drunken, Dwarven, Elvish, Encrypto, Fey, GenLanguage, Gigantic, Gnomish, Goblinese, Ignan, InvisibleInk, Orcish, Semaphore, SignLanguage, ThievesCant, Undercommon

public class StdLanguage
extends StdAbility
implements Language


Field Summary
protected  boolean alwaysSpoken
           
protected static java.lang.String CANCEL_WORD
           
protected  boolean spoken
           
 
Fields inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility
affected, amDestroyed, canBeUninvoked, empty, invoker, isAnAutoEffect, lastCastHelp, miscText, proficiency, savable, tickDown, unInvoked
 
Fields inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
ACODE_CHANT, ACODE_COMMON_SKILL, ACODE_DESCS, ACODE_DESCS_, ACODE_DISEASE, ACODE_LANGUAGE, ACODE_POISON, ACODE_PRAYER, ACODE_PROPERTY, ACODE_SKILL, ACODE_SONG, ACODE_SPELL, ACODE_SUPERPOWER, ACODE_TECH, ACODE_THIEF_SKILL, ACODE_TRAP, ALL_ACODES, ALL_DOMAINS, CACHEINDEX_CLASSLESS, CACHEINDEX_EXPERTISE, CACHEINDEX_NORMAL, CACHEINDEX_TOTAL, CAN_AREAS, CAN_DESCS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, COST_ALL, COST_NORMAL, COST_PCT, DOMAIN_ABJURATION, DOMAIN_ACROBATIC, DOMAIN_ALERT, DOMAIN_ALTERATION, DOMAIN_ANATOMY, DOMAIN_ANIMALAFFINITY, DOMAIN_ARCANELORE, DOMAIN_ARCHON, DOMAIN_ARMORUSE, DOMAIN_ARTISTIC, DOMAIN_BINDING, DOMAIN_BLESSING, DOMAIN_BREEDING, DOMAIN_BUILDINGSKILL, DOMAIN_CALLIGRAPHY, DOMAIN_COMBATFLUIDITY, DOMAIN_COMBATLORE, DOMAIN_COMMUNING, DOMAIN_CONJURATION, DOMAIN_CORRUPTION, DOMAIN_CRAFTINGSKILL, DOMAIN_CREATION, DOMAIN_CRIMINAL, DOMAIN_CURSING, DOMAIN_DANCING, DOMAIN_DEATHLORE, DOMAIN_DECEPTIVE, DOMAIN_DEEPMAGIC, DOMAIN_DESCS, DOMAIN_DETRAP, DOMAIN_DIRTYFIGHTING, DOMAIN_DIVINATION, DOMAIN_EDUCATIONLORE, DOMAIN_ENCHANTMENT, DOMAIN_ENDURING, DOMAIN_EPICUREAN, DOMAIN_EVANGELISM, DOMAIN_EVASIVE, DOMAIN_EVOCATION, DOMAIN_FITNESS, DOMAIN_FOOLISHNESS, DOMAIN_GATHERINGSKILL, DOMAIN_GRAPPLING, DOMAIN_HEALING, DOMAIN_HOLYPROTECTION, DOMAIN_ILLUSION, DOMAIN_INFLUENTIAL, DOMAIN_KICKING, DOMAIN_LEGAL, DOMAIN_MARTIALLORE, DOMAIN_MOONALTERING, DOMAIN_MOONSUMMONING, DOMAIN_NATURELORE, DOMAIN_NEUTRALIZATION, DOMAIN_PLANTCONTROL, DOMAIN_PLANTGROWTH, DOMAIN_PLAYING, DOMAIN_POISONING, DOMAIN_PRESERVING, DOMAIN_PUNCHING, DOMAIN_RACIALABILITY, DOMAIN_RESTORATION, DOMAIN_ROCKCONTROL, DOMAIN_SEATRAVEL, DOMAIN_SHAPE_SHIFTING, DOMAIN_SHIELDUSE, DOMAIN_SINGING, DOMAIN_STEALING, DOMAIN_STEALTHY, DOMAIN_STREETSMARTS, DOMAIN_THEATRE, DOMAIN_TRANSMUTATION, DOMAIN_TRAPPING, DOMAIN_VERBS, DOMAIN_VEXING, DOMAIN_WARDING, DOMAIN_WATERCONTROL, DOMAIN_WATERLORE, DOMAIN_WEAPON_USE, DOMAIN_WEATHER_MASTERY, FLAG_ADJUSTER, FLAG_AGGROFYING, FLAG_AIRBASED, FLAG_BINDING, FLAG_CASTER, FLAG_CHARMING, FLAG_CLANMAGIC, FLAG_DESCS, FLAG_EARTHBASED, FLAG_ENABLER, FLAG_FIREBASED, FLAG_HEALINGMAGIC, FLAG_HEATING, FLAG_HOLY, FLAG_IMMUNER, FLAG_INTOXICATING, FLAG_MINDALTERING, FLAG_MOVING, FLAG_NEUTRAL, FLAG_NOORDERING, FLAG_NOUNINVOKING, FLAG_PARALYZING, FLAG_POTENTIALLY_DEADLY, FLAG_RESISTER, FLAG_SUMMONING, FLAG_SUNSUMMONING, FLAG_TIDEALTERING, FLAG_TORTURING, FLAG_TRACKING, FLAG_TRANSPORTING, FLAG_UNCRAFTABLE, FLAG_UNHOLY, FLAG_WATERBASED, FLAG_WEATHERAFFECTING, FLAG_ZAPPER, QUALITY_BENEFICIAL_OTHERS, QUALITY_BENEFICIAL_SELF, QUALITY_DESCS, QUALITY_INDIFFERENT, QUALITY_MALICIOUS, QUALITY_OK_OTHERS, QUALITY_OK_SELF, RANGE_CHOICES, TICKS_ALMOST_FOREVER, TICKS_FOREVER, USAGE_DESCS, USAGE_HITPOINTS, USAGE_MANA, USAGE_MOVEMENT, USAGE_NADA, USAGEINDEX_HITPOINTS, USAGEINDEX_MANA, USAGEINDEX_MOVEMENT
 
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
 
Constructor Summary
StdLanguage()
           
 
Method Summary
 int abstractQuality()
          Returns a constant value notifying the system of the general quality of the skill, whether it is malicious, beneficial, indifferent, or qualifiably beneficial (ok), as well as whether it is intended to target the invoker (self) or others.
 boolean beingSpoken(java.lang.String language)
          Returns whether this language is currently being spoken
protected  int canAffectCode()
          Designates whether, when used as a property/effect, what sort of objects this ability can affect.
 boolean canBeLearnedBy(MOB teacher, MOB student)
          Returns whether the given student mob is able and allowed to learn this skill from the given teacher.
 boolean canBeUninvoked()
          Whether this skill is allowed to be uninvoked.
protected  int canTargetCode()
          Designates whether, when invoked as a skill, what sort of objects this ability can effectively target.
 int classificationCode()
          Returns a bitmap describing the general classification of the skill (spell, skill, chant, or property, etc) and its domain.
 java.lang.String displayText()
          Gets the raw string used to show what this object looks like in the room.
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
protected  char fixCase(char like, char make)
           
protected  java.lang.String fixCase(java.lang.String like, java.lang.String make)
           
protected  Language getAnyTranslator(java.lang.String id, MOB mob)
           
protected  Language getMyTranslator(java.lang.String id, Physical P, Language winner)
           
 int getProficiency(java.lang.String language)
          Returns the understanding profficiency in the given supported language
protected  ExpertiseLibrary.SkillCostDefinition getRawTrainingCost()
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 boolean invoke(MOB mob, java.util.List<java.lang.String> commands, Physical givenTarget, boolean auto, int asLevel)
          This method is called when a player or the system invokes this skill, casts this spell, etc.
 boolean isAutoInvoked()
          An autoinvocating ability is an ability which affects the mob just by having learned the ability.
 java.util.List<java.lang.String> languagesSupported()
          Returns a list of the languages understood by this ability
 java.lang.String messChars(java.lang.String language, java.lang.String words, int numToMess)
           
 java.lang.String name()
          The nice displayable name of this instance of this object
protected  int numChars(java.lang.String words)
           
 boolean okMessage(Environmental myHost, CMMsg msg)
          The general message event previewer for the object.
protected  boolean processNonSourceMessages(CMMsg msg, java.lang.String str, int numToMess)
           
protected  boolean processSourceMessage(CMMsg msg, java.lang.String str, int numToMess)
           
 java.lang.String scrambleAll(java.lang.String language, java.lang.String str, int numToMess)
           
 void setBeingSpoken(java.lang.String language, boolean beingSpoken)
          Changes whether this language is currently being spoken
 void setMiscText(java.lang.String newMiscText)
          For objects which have false for their isGeneric method, this is used to set any internally coded strings to change the nature or behavior of the object.
 void teach(MOB teacher, MOB student)
          Teaches this skill to the student mob, presumably from the teacher mob.
 java.lang.String translate(java.lang.String language, java.lang.String word)
          Returns a language translation of the given word in the given language
protected  boolean translateChannelMessage(CMMsg msg, java.lang.String sourceWords)
           
protected  boolean translateOthersMessage(CMMsg msg, java.lang.String sourceWords)
           
 boolean translatesLanguage(java.lang.String language)
          Returns whether the given language is translated by this one
protected  boolean translateTargetMessage(CMMsg msg, java.lang.String sourceWords)
           
 java.util.Map<java.lang.String,java.lang.String> translationHash(java.lang.String language)
          Returns the direct word to word translation hashtable
 java.util.List<java.lang.String[]> translationLists(java.lang.String language)
          Returns the word-length rough-translation vector of string arrays for the given language The first string array in the vector represents 1 letter words, the second 2, and so forth.
 java.lang.String[] triggerStrings()
          A set of the command strings the user types to access this command when it is listed as a skill ability.
protected  boolean tryLinguisticWriting(CMMsg msg)
           
 java.lang.String writtenName()
          Returns the name of this language when it is in written form.
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility
abilityCode, accountForYourself, addedTickTime, adjustBeneficialTickdownTime, adjustedLevel, adjustedMaxInvokerRange, adjustMaliciousTickdownTime, affectCharState, affectCharStats, affecting, affectPhyStats, amDestroyed, appropriateToMyFactions, autoInvocation, beneficialAffect, beneficialVisualFizzle, beneficialWordsFizzle, bubbleAffect, buildCostArray, canAffect, canAffect, canBePracticedBy, canBeTaughtBy, canTarget, canTarget, castingQuality, castingQuality, castingTime, checkComponents, checkedCastingCost, cloneFix, combatCastingTime, compareTo, copyOf, description, destroy, disregardsArmorCheck, enchantQuality, evalTargetItem, experienceLevels, expertise, expirationDate, externalFiles, flags, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getBeneficialTickdownTime, getCodeNum, getHardOverrideManaCache, getInternalCodeNum, getMaliciousTickdownTime, getPersonalLevelAdjustments, getSaveStatIndex, getStat, getStatCodes, getTarget, getTarget, getTarget, getTarget, getTarget, getTarget, getTarget, getTargetItemFavorMOB, getTargetItemFavorMOB, getTargetItemFavorMOB, getTickDownRemaining, getTicksBetweenCasts, getTickStatus, getTimeOfNextCast, getTrainingCost, getX1Level, getX2Level, getX3Level, getX4Level, getX5Level, getXLEVELLevel, getXLOWCOSTLevel, getXLOWFREECOSTLevel, getXMAXRANGELevel, getXPCOSTAdjustment, getXPCOSTLevel, getXTIMELevel, helpProficiency, I, image, iniPracticesToPractice, initializeClass, invoke, invoker, isGeneric, isNowAnAutoEffect, isSavable, isStat, L, makeLongLasting, makeNonUninvokable, maliciousAffect, maliciousFizzle, maxRange, minCastWaitTime, minRange, miscTextFormat, Name, newInstance, overrideMana, possibleContainer, practice, practicesToPractice, preInvoke, proficiency, proficiencyCheck, properTargetList, properTargets, putInCommandlist, rawImage, requirements, restoreCombatState, sameAs, saveCombatState, setAbilityCode, setAffectedOne, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setName, setProficiency, setSavable, setStat, setTickDownRemaining, setTimeOfNextCast, setTimeOfNextCast, somanticCastCode, somanticCastMask, spreadImmunity, startTickDown, text, tick, unInvoke, usageCost, usageType, verbalCastCode, verbalCastMask, verbalSpeakCode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
abilityCode, accountForYourself, adjustedLevel, affecting, appropriateToMyFactions, autoInvocation, bubbleAffect, canAffect, canAffect, canBePracticedBy, canBeTaughtBy, canTarget, canTarget, castingQuality, castingTime, checkedCastingCost, combatCastingTime, enchantQuality, externalFiles, flags, getTrainingCost, helpProficiency, invoke, invoker, isNowAnAutoEffect, makeLongLasting, makeNonUninvokable, practice, preInvoke, proficiency, proficiencyCheck, putInCommandlist, requirements, setAbilityCode, setAffectedOne, setInvoker, setProficiency, startTickDown, unInvoke, usageCost, usageType
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, expirationDate, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setName, text
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus, tick
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.StatsAffecting
affectCharState, affectCharStats, affectPhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Contingent
amDestroyed, destroy, isSavable, setSavable
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Modifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 

Field Detail

CANCEL_WORD

protected static final java.lang.String CANCEL_WORD
See Also:
Constant Field Values

spoken

protected boolean spoken

alwaysSpoken

protected boolean alwaysSpoken
Constructor Detail

StdLanguage

public StdLanguage()
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, Tech. The name is typically identical to the class name.

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

name

public java.lang.String name()
Description copied from interface: Tickable
The nice displayable name of this instance of this object

Specified by:
name in interface CMObject
Specified by:
name in interface Tickable
Overrides:
name in class StdAbility
Returns:
the displayable name of this object instance
See Also:
Environmental.Name()

writtenName

public java.lang.String writtenName()
Description copied from interface: Language
Returns the name of this language when it is in written form. This is usually the same as the spoken form.

Specified by:
writtenName in interface Language
Returns:
the name of this language when it is in written form.

triggerStrings

public java.lang.String[] triggerStrings()
Description copied from interface: Ability
A set of the command strings the user types to access this command when it is listed as a skill ability.

Specified by:
triggerStrings in interface Ability
Overrides:
triggerStrings in class StdAbility
Returns:
an array of command invoking string words
See Also:
Ability.putInCommandlist()

abstractQuality

public int abstractQuality()
Description copied from interface: Ability
Returns a constant value notifying the system of the general quality of the skill, whether it is malicious, beneficial, indifferent, or qualifiably beneficial (ok), as well as whether it is intended to target the invoker (self) or others. These constants are defined in the Ability interface and called QUALITY_*

Specified by:
abstractQuality in interface Ability
Overrides:
abstractQuality in class StdAbility
Returns:
Ability.QUALITY_* constant classification
See Also:
Ability

canAffectCode

protected int canAffectCode()
Description copied from class: StdAbility
Designates whether, when used as a property/effect, what sort of objects this ability can affect. Uses the Ability.CAN_* constants.

Overrides:
canAffectCode in class StdAbility
Returns:
a mask showing the type of objects this ability can affect
See Also:
Ability

canTargetCode

protected int canTargetCode()
Description copied from class: StdAbility
Designates whether, when invoked as a skill, what sort of objects this ability can effectively target. Uses the Ability.CAN_* constants.

Overrides:
canTargetCode in class StdAbility
Returns:
a mask showing the type of objects this ability can target
See Also:
Ability

isAutoInvoked

public boolean isAutoInvoked()
Description copied from interface: Ability
An autoinvocating ability is an ability which affects the mob just by having learned the ability. Dodge is an example of this. This method returns whether this skill is classified as one of those kinds of abilities.

Specified by:
isAutoInvoked in interface Ability
Overrides:
isAutoInvoked in class StdAbility
Returns:
whether this is an autoinvoking skill

canBeUninvoked

public boolean canBeUninvoked()
Description copied from interface: Ability
Whether this skill is allowed to be uninvoked. If it returns false, then it behaves as a permanent property of the object it is affecting. Not death, dispelling, or other negations will remove it.

Specified by:
canBeUninvoked in interface Ability
Overrides:
canBeUninvoked in class StdAbility
Returns:
whether this skill can be uninvoked.
See Also:
Ability.makeNonUninvokable()

getRawTrainingCost

protected ExpertiseLibrary.SkillCostDefinition getRawTrainingCost()
Overrides:
getRawTrainingCost in class StdAbility

classificationCode

public int classificationCode()
Description copied from interface: Ability
Returns a bitmap describing the general classification of the skill (spell, skill, chant, or property, etc) and its domain. It is made up of the ACODE_* constants the Ability interface, and optionally the DOMAIN_* constants also defined in this interface.

Specified by:
classificationCode in interface Ability
Overrides:
classificationCode in class StdAbility
Returns:
ACODE_* constant classification
See Also:
Ability

beingSpoken

public boolean beingSpoken(java.lang.String language)
Description copied from interface: Language
Returns whether this language is currently being spoken

Specified by:
beingSpoken in interface Language
Parameters:
language - the language to test for (usually ID())
Returns:
true if spoken

setBeingSpoken

public void setBeingSpoken(java.lang.String language,
                           boolean beingSpoken)
Description copied from interface: Language
Changes whether this language is currently being spoken

Specified by:
setBeingSpoken in interface Language
Parameters:
language - the language to set (usually ID())
beingSpoken - whether it is being spoken

translationHash

public java.util.Map<java.lang.String,java.lang.String> translationHash(java.lang.String language)
Description copied from interface: Language
Returns the direct word to word translation hashtable

Specified by:
translationHash in interface Language
Parameters:
language - the language to translate directory (usually ID())
Returns:
the hashtable of word-word translations

translationLists

public java.util.List<java.lang.String[]> translationLists(java.lang.String language)
Description copied from interface: Language
Returns the word-length rough-translation vector of string arrays for the given language The first string array in the vector represents 1 letter words, the second 2, and so forth.

Specified by:
translationLists in interface Language
Parameters:
language - the language to return the vector for (usually ID())
Returns:
the vector of word-length rough translation string arrays

setMiscText

public void setMiscText(java.lang.String newMiscText)
Description copied from interface: Environmental
For objects which have false for their isGeneric method, this is used to set any internally coded strings to change the nature or behavior of the object. For objects which have true for their isGeneric method, this is used to set and parse the XML which will be used to fill out the fields in this object. Since Ability objects are never Generic, this will always be where parameters are read from an Ability instance.

Specified by:
setMiscText in interface Environmental
Overrides:
setMiscText in class StdAbility
Parameters:
newMiscText - either an open internal text string, or XML

languagesSupported

public java.util.List<java.lang.String> languagesSupported()
Description copied from interface: Language
Returns a list of the languages understood by this ability

Specified by:
languagesSupported in interface Language
Returns:
vector of language ids supported (usually 1 element == ID())

translatesLanguage

public boolean translatesLanguage(java.lang.String language)
Description copied from interface: Language
Returns whether the given language is translated by this one

Specified by:
translatesLanguage in interface Language
Parameters:
language - the language to test
Returns:
true if this language translates (usually ID() == language)

getProficiency

public int getProficiency(java.lang.String language)
Description copied from interface: Language
Returns the understanding profficiency in the given supported language

Specified by:
getProficiency in interface Language
Parameters:
language - the language to test for (usually ID())
Returns:
the profficiency of this ability in the language (0-100)

displayText

public java.lang.String displayText()
Description copied from interface: Environmental
Gets the raw string used to show what this object looks like in the room. May be used as a basis for other methods, such as the title of rooms, and what an exit looks like when open. The value for Items may be null if the item is not displayed when the room is seen.

Specified by:
displayText in interface Environmental
Overrides:
displayText in class StdAbility
Returns:
the string describing how this object looks in the room

fixCase

protected java.lang.String fixCase(java.lang.String like,
                                   java.lang.String make)

fixCase

protected char fixCase(char like,
                       char make)

translate

public java.lang.String translate(java.lang.String language,
                                  java.lang.String word)
Description copied from interface: Language
Returns a language translation of the given word in the given language

Specified by:
translate in interface Language
Parameters:
language - the language to use (usually ID())
word - the word to translate
Returns:
the translated word

numChars

protected int numChars(java.lang.String words)

messChars

public java.lang.String messChars(java.lang.String language,
                                  java.lang.String words,
                                  int numToMess)

scrambleAll

public java.lang.String scrambleAll(java.lang.String language,
                                    java.lang.String str,
                                    int numToMess)

getMyTranslator

protected Language getMyTranslator(java.lang.String id,
                                   Physical P,
                                   Language winner)

getAnyTranslator

protected Language getAnyTranslator(java.lang.String id,
                                    MOB mob)

processSourceMessage

protected boolean processSourceMessage(CMMsg msg,
                                       java.lang.String str,
                                       int numToMess)

processNonSourceMessages

protected boolean processNonSourceMessages(CMMsg msg,
                                           java.lang.String str,
                                           int numToMess)

tryLinguisticWriting

protected boolean tryLinguisticWriting(CMMsg msg)

okMessage

public boolean okMessage(Environmental myHost,
                         CMMsg msg)
Description copied from interface: MsgListener
The general message event previewer for the object. Messages passed herein are in a pending state, and may be safely modified or rejected without fear that they might be in the middle of being executed. Messages passed herein may not necessarily be FOR or FROM this object, but will almost always represent events which want to happen in the same rom. This method should always always return true UNLESS this message needs to be canceled, in which case it is necessary to tell the mob initiating the event (CMMsg.source()) why it is being cancelled. Every game event goes through these methods.

Specified by:
okMessage in interface MsgListener
Overrides:
okMessage in class StdAbility
Parameters:
myHost - either the initiator of the event, or the host of this object
msg - the CMMsg that wants to be executed
Returns:
whether this message is allowed to execute
See Also:
CMMsg, CMMsg.source()

canBeLearnedBy

public boolean canBeLearnedBy(MOB teacher,
                              MOB student)
Description copied from interface: Ability
Returns whether the given student mob is able and allowed to learn this skill from the given teacher. Error messages should be directed to both. This method should focus exclusively on the qualifications of the student, and the teacher is optional.

Specified by:
canBeLearnedBy in interface Ability
Overrides:
canBeLearnedBy in class StdAbility
Parameters:
teacher - the potential teacher of this skill, may be null
student - the potential learner of this skill, may NOT be null
Returns:
whether the student can learn the skill from the teacher
See Also:
Ability.canBeTaughtBy(MOB, MOB), Ability.teach(MOB, MOB)

teach

public void teach(MOB teacher,
                  MOB student)
Description copied from interface: Ability
Teaches this skill to the student mob, presumably from the teacher mob. This method assumes that both the teacher and student are authorized. Authorization comes from canBeTaughtBy and canBeLearnedBy

Specified by:
teach in interface Ability
Overrides:
teach in class StdAbility
Parameters:
teacher - the teacher of this skill
student - the learner of this skill
See Also:
Ability.canBeTaughtBy(MOB, MOB), Ability.canBeLearnedBy(MOB, MOB)

invoke

public boolean invoke(MOB mob,
                      java.util.List<java.lang.String> commands,
                      Physical givenTarget,
                      boolean auto,
                      int asLevel)
Description copied from interface: Ability
This method is called when a player or the system invokes this skill, casts this spell, etc. Calls the more complete invoke method without an empty command strings vector unless target is non-null, in which case the vector will contain the name of the target.

Specified by:
invoke in interface Ability
Overrides:
invoke in class StdAbility
Parameters:
mob - the player or mob invoking the skill
commands - the parameters entered for the skill (minus trigger word)
givenTarget - null, unless being auto-invoked. Represents an override target.
auto - false if player enters command, true if system invokes the command
asLevel - -1, unless being auto-invoked, when it is the level to invoke it at.
Returns:
whether the skill successfully invoked.

translateOthersMessage

protected boolean translateOthersMessage(CMMsg msg,
                                         java.lang.String sourceWords)

translateTargetMessage

protected boolean translateTargetMessage(CMMsg msg,
                                         java.lang.String sourceWords)

translateChannelMessage

protected boolean translateChannelMessage(CMMsg msg,
                                          java.lang.String sourceWords)

executeMsg

public void executeMsg(Environmental myHost,
                       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 StdAbility
Parameters:
myHost - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg