com.planet_ink.coffee_mud.Abilities.Skills
Class Skill_HireCrewmember
java.lang.Object
com.planet_ink.coffee_mud.Abilities.StdAbility
com.planet_ink.coffee_mud.Abilities.Skills.StdSkill
com.planet_ink.coffee_mud.Abilities.Skills.Skill_HireCrewmember
- All Implemented Interfaces:
- Ability, CMObject, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
public class Skill_HireCrewmember
- extends StdSkill
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 |
Method Summary |
int |
abilityCode()
Returns an optional numeric value whose purpose is
entirely contextual. |
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. |
void |
affectPhyStats(Physical affected,
PhyStats affectableStats)
This method is called by the recoverPhyStats() method on other Environmental objects. |
protected int |
canAffectCode()
Designates whether, when used as a property/effect, what sort of objects this
ability can affect. |
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. |
CMObject |
copyOf()
Similar to Cloneable.clone(), but does its best to make sure that
any internal objects to this class are also copyOfed. |
java.lang.String |
displayText()
Gets the raw string used to show what this object looks like in the room. |
void |
executeMsg(Environmental affecting,
CMMsg msg)
The general message event handler for the object. |
protected java.lang.String |
getCrewShip(MOB M)
|
protected com.planet_ink.coffee_mud.Abilities.Skills.Skill_HireCrewmember.CrewType |
getCrewType(MOB M)
|
Behavior |
getSailor()
|
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. |
protected boolean |
isCrew(MOB M,
java.lang.String shipName)
|
boolean |
isPub(MOB mob,
Room room)
|
java.lang.String |
name()
The nice displayable name of this instance of this object |
boolean |
okMessage(Environmental host,
CMMsg msg)
The general message event previewer for the object. |
void |
setAbilityCode(int newCode)
Sets an optional numeric value whose purpose is
entirely contextual. |
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. |
boolean |
tick(Tickable ticking,
int tickID)
this is the method which is called periodically by the threading engine. |
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. |
void |
unInvoke()
If this skill is uninvokable, this method will uninvoke it, remove it
as an effect on the target, and shut it down. |
int |
usageType()
Returns a bitmap made up of constants defined by
Ability.USAGE_*. |
Methods inherited from class com.planet_ink.coffee_mud.Abilities.StdAbility |
accountForYourself, addedTickTime, adjustBeneficialTickdownTime, adjustedLevel, adjustedMaxInvokerRange, adjustMaliciousTickdownTime, affectCharState, affectCharStats, affecting, amDestroyed, appropriateToMyFactions, autoInvocation, beneficialAffect, beneficialVisualFizzle, beneficialWordsFizzle, bubbleAffect, buildCostArray, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingQuality, castingTime, checkComponents, checkedCastingCost, cloneFix, combatCastingTime, compareTo, description, destroy, disregardsArmorCheck, enchantQuality, evalTargetItem, experienceLevels, expertise, expirationDate, externalFiles, flags, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getAnyTarget, getBeneficialTickdownTime, getCodeNum, getHardOverrideManaCache, getInternalCodeNum, getMaliciousTickdownTime, getPersonalLevelAdjustments, getRawTrainingCost, 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, isAutoInvoked, 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, setAffectedOne, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setName, setProficiency, setSavable, setStat, setTickDownRemaining, setTimeOfNextCast, setTimeOfNextCast, somanticCastCode, somanticCastMask, spreadImmunity, startTickDown, teach, text, usageCost, verbalCastCode, verbalCastMask, verbalSpeakCode |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
baseWaterRange
protected static final int baseWaterRange
- See Also:
- Constant Field Values
abilityCode
protected int abilityCode
shipName
protected java.lang.String shipName
type
protected com.planet_ink.coffee_mud.Abilities.Skills.Skill_HireCrewmember.CrewType type
sailor
protected Behavior sailor
Skill_HireCrewmember
public Skill_HireCrewmember()
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 StdSkill
- 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 StdSkill
- Returns:
- the displayable name of this object instance
- See Also:
Environmental.Name()
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()
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 StdSkill
- Returns:
- ACODE_* constant classification
- See Also:
Ability
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
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
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 StdSkill
- 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 StdSkill
- Returns:
- a mask showing the type of objects this ability can target
- See Also:
Ability
usageType
public int usageType()
- Description copied from interface:
Ability
- Returns a bitmap made up of constants defined by
Ability.USAGE_*. It lets the system know which of the
values in the usageCost(MOB,boolean) method are relevant. It
determines whether this skill requires mana, movement,
hit points, or some combination of the three.
- Specified by:
usageType
in interface Ability
- Overrides:
usageType
in class StdAbility
- Returns:
- a bitmap defined by Ability.USAGE_*
- See Also:
Ability
abilityCode
public int abilityCode()
- Description copied from interface:
Ability
- Returns an optional numeric value whose purpose is
entirely contextual. For many skills, this reflects
some sort of enhancement. Default is 0.
- Specified by:
abilityCode
in interface Ability
- Overrides:
abilityCode
in class StdAbility
- Returns:
- the current optional numeric value or enhancement
setAbilityCode
public void setAbilityCode(int newCode)
- Description copied from interface:
Ability
- Sets an optional numeric value whose purpose is
entirely contextual. For many skills, this reflects
some sort of enhancement. Default is 0.
- Specified by:
setAbilityCode
in interface Ability
- Overrides:
setAbilityCode
in class StdAbility
- Parameters:
newCode
- the optional numeric value or enhancement
copyOf
public CMObject copyOf()
- Description copied from interface:
CMObject
- Similar to Cloneable.clone(), but does its best to make sure that
any internal objects to this class are also copyOfed.
- Specified by:
copyOf
in interface CMObject
- Overrides:
copyOf
in class StdAbility
- Returns:
- a clone of this object
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
affectPhyStats
public void affectPhyStats(Physical affected,
PhyStats affectableStats)
- Description copied from interface:
StatsAffecting
- This method is called by the recoverPhyStats() method on other Environmental objects. It is used
to transform the Environmental basePhyStats() object into a finished phyStats() object, both of
which are objects implementing the PhyStats interface. See those methods for more information.
- Specified by:
affectPhyStats
in interface StatsAffecting
- Overrides:
affectPhyStats
in class StdAbility
- Parameters:
affected
- the host of the PhyStats object being affectedaffectableStats
- the particular PhyStats object being affected- See Also:
PhyStats
,
Environmental
,
Affectable.basePhyStats()
,
Affectable.phyStats()
,
Affectable.recoverPhyStats()
getSailor
public Behavior getSailor()
unInvoke
public void unInvoke()
- Description copied from interface:
Ability
- If this skill is uninvokable, this method will uninvoke it, remove it
as an effect on the target, and shut it down.
- Specified by:
unInvoke
in interface Ability
- Overrides:
unInvoke
in class StdAbility
- See Also:
Ability.canBeUninvoked()
okMessage
public boolean okMessage(Environmental host,
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:
host
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that wants to be executed
- Returns:
- whether this message is allowed to execute
- See Also:
CMMsg
,
CMMsg.source()
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 StdAbility
- Parameters:
affecting
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that needs to be executed- See Also:
CMMsg
isCrew
protected boolean isCrew(MOB M,
java.lang.String shipName)
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 StdAbility
- 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
getCrewShip
protected java.lang.String getCrewShip(MOB M)
getCrewType
protected com.planet_ink.coffee_mud.Abilities.Skills.Skill_HireCrewmember.CrewType getCrewType(MOB M)
isPub
public boolean isPub(MOB mob,
Room room)
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 skillcommands
- 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 commandasLevel
- -1, unless being auto-invoked, when it is the level to invoke it at.
- Returns:
- whether the skill successfully invoked.