Ability
, CMObject
, Contingent
, Environmental
, Expireable
, Modifiable
, MsgListener
, StatsAffecting
, Tickable
, java.lang.Cloneable
, java.lang.Comparable<CMObject>
Song_Armor
, Song_Babble
, Song_Blasting
, Song_Charm
, Song_Clumsiness
, Song_Comprehension
, Song_Death
, Song_Detection
, Song_Dexterity
, Song_Disgust
, Song_Distraction
, Song_EnchantInstrument
, Song_Flight
, Song_Flying
, Song_Friendship
, Song_Health
, Song_Inebriation
, Song_Knowledge
, Song_Lethargy
, Song_Lightness
, Song_Lullibye
, Song_Mana
, Song_Mercy
, Song_Mute
, Song_Nothing
, Song_Ode
, Song_PirateShanty
, Song_Protection
, Song_Quickness
, Song_Rage
, Song_ReadMusic
, Song_Rebirth
, Song_RechargeInstrument
, Song_RestoreMusic
, Song_Revelation
, Song_Saudade
, Song_Seeing
, Song_Serenity
, Song_Silence
, Song_SingleMindedness
, Song_Strength
, Song_Thanks
, Song_Valor
public class Song extends StdAbility
Modifier and Type | Field | Description |
---|---|---|
protected Pair<java.lang.Double,java.lang.Integer> |
bonusCache |
|
protected java.util.List<Room> |
commonRoomSet |
|
protected int |
lyricCtr |
|
protected int |
lyricPauseCtdn |
|
protected Room |
originRoom |
|
protected int |
songDepth |
|
protected long |
timeOut |
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_LASTTIME, 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_COSMOLOGY, 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_ROPEUSE, DOMAIN_SEATRAVEL, DOMAIN_SHAPE_SHIFTING, DOMAIN_SHIELDUSE, DOMAIN_SINGING, DOMAIN_STEALING, DOMAIN_STEALTHY, DOMAIN_STREETSMARTS, DOMAIN_THEATRE, DOMAIN_TRANSMUTATION, DOMAIN_TRAPPING, DOMAIN_TRAVEL, 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_CHAOS, FLAG_CHARMING, FLAG_CLANMAGIC, FLAG_DESCS, FLAG_EARTHBASED, FLAG_ELECTRICBASED, FLAG_ENABLER, FLAG_FEARING, FLAG_FIREBASED, FLAG_HEALINGMAGIC, FLAG_HEATING, FLAG_HOLY, FLAG_IMMUNER, FLAG_INTOXICATING, FLAG_LAW, FLAG_MINDALTERING, FLAG_MODERATE, FLAG_MOVING, FLAG_NEUTRAL, FLAG_NODISENCHANT, FLAG_NONENCHANTMENT, FLAG_NOORDERING, FLAG_NOUNINVOKING, FLAG_PARALYZING, FLAG_POTENTIALLY_DEADLY, FLAG_RESISTER, FLAG_STEALING, FLAG_SUMMONING, FLAG_SUNSUMMONING, FLAG_TIDEALTERING, FLAG_TORTURING, FLAG_TRACKING, FLAG_TRANSPORTING, FLAG_UNCRAFTABLE, FLAG_UNHOLY, FLAG_WATERBASED, FLAG_WEATHERAFFECTING, FLAG_ZAPPER, POWER_COST_THRESHOLD, POWER_LEVEL_THRESHOLD, POWER_OVERRIDE_THRESHOLD, 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_COUNT, USAGEINDEX_HITPOINTS, USAGEINDEX_MANA, USAGEINDEX_MOVEMENT, USAGEINDEX_TIMELSW, USAGEINDEX_TOTAL
idConverter
affected, amDestroyed, canBeUninvoked, empty, invoker, isAnAutoEffect, lastCastHelp, miscText, proficiency, savable, tickDown, unInvoked
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 |
---|---|
Song() |
Modifier and Type | Method | Description |
---|---|---|
int |
adjustedLevel(MOB mob,
int asLevel) |
This method calculates the strength level of this skill for the
given mob, and taking into account the given override-level (asLevel).
|
void |
affectPhyStats(Physical affectedEnv,
PhyStats affectableStats) |
This method is called by the recoverPhyStats() method on other Environmental objects.
|
protected int |
avgStat() |
|
protected int |
calculateNewSongDepth(MOB invoker) |
|
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 |
castingQuality(MOB mob,
Physical target) |
Serves a purpose similar to that of the Ability
abstractQuality() method, but it determines a more
exact quality based on a given invoker, target, and
assumes an imminent use of the skill.
|
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 host,
CMMsg msg) |
The general message event handler for the object.
|
protected Pair<java.lang.Double,java.lang.Integer> |
getBonuses() |
|
protected int |
getCorrectDirToOriginRoom(Room R,
int v) |
|
protected java.lang.String |
getCorrectMsgString(Room R,
java.lang.String str,
int v) |
|
protected java.util.List<Room> |
getInvokerScopeRoomSet(int depth) |
|
protected java.util.List<java.lang.String> |
getLyrics() |
|
protected boolean |
HAS_QUANTITATIVE_ASPECT() |
|
java.lang.String |
ID() |
The CoffeeMud Java Class ID shared by all instances of
this object.
|
protected int |
innerAvgStat() |
|
protected double |
innerStatBonusPct() |
|
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 |
maliciousButNotAggressiveFlag() |
|
int |
maxRange() |
the modified maximum range of this object, if applicable.
|
protected boolean |
mindAttack() |
|
java.lang.String |
name() |
The nice displayable name of this instance of this object
|
java.util.Set<MOB> |
sendMsgAndGetTargets(MOB mob,
Room R,
CMMsg msg,
Environmental givenTarget,
boolean auto) |
|
void |
setAffectedOne(Physical P) |
Sets a reference to the room, item, mob, or exit
that is currently being affected by this skill.
|
void |
setInvoker(MOB mob) |
Sets or changes the mob that invoked or initated the
skill or effect.
|
protected boolean |
skipSimpleStandardSongTickToo() |
|
protected boolean |
skipStandardSongInvoke() |
|
protected boolean |
skipStandardSongTick() |
|
protected java.lang.String |
songOf() |
|
protected double |
statBonusPct() |
|
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.
|
protected void |
unSingAll(MOB mob,
MOB invoker,
boolean exceptThisOne,
boolean noEcho) |
|
protected boolean |
unSingMe(MOB mob,
MOB invoker,
boolean noEcho) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
abilityCode, abstractQuality, accountForYourself, addedTickTime, adjustBeneficialTickdownTime, adjustedMaxInvokerRange, adjustMaliciousTickdownTime, affectCharState, affectCharStats, affecting, amDestroyed, aPossibleAbuserOfCasterLevel, appropriateToMyFactions, autoInvocation, beneficialAffect, beneficialSoundFizzle, beneficialVisualFizzle, beneficialWordsFizzle, bubbleAffect, buildCostArray, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingTime, checkComponents, checkedCastingCost, checkTargetRange, cloneFix, combatCastingTime, commonTell, commonTelL, commonTelL, compareTo, copyOf, description, destroy, disregardsArmorCheck, enchantQuality, evalTargetItem, expertise, expirationDate, externalFiles, failureTell, 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, getVisibleRoomTarget, getX1Level, getX2Level, getX3Level, getX4Level, getX5Level, getXLEVELLevel, getXLOWCOSTLevel, getXLOWFREECOSTLevel, getXMAXRANGELevel, getXPCOSTAdjustment, getXPCOSTLevel, getXTIMELevel, helpProficiency, I, ignoreCompounding, image, iniPracticesToPractice, initializeClass, invoke, invoker, isAutoInvoked, isGeneric, isNowAnAutoEffect, isSavable, isStat, L, makeLongLasting, makeNonUninvokable, maliciousAffect, maliciousFizzle, mayBeEnchanted, minCastWaitTime, minRange, miscTextFormat, modifyCastCode, Name, newInstance, okMessage, overrideMana, possibleContainer, practice, practicesToPractice, preInvoke, proficiency, proficiencyCheck, properTargetList, properTargets, putInCommandlist, rawImage, requirements, restoreCombatState, sameAs, saveCombatState, setAbilityCode, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, setName, setProficiency, setSavable, setStat, setTickDown, setTickDownRemaining, setTimeOfNextCast, setTimeOfNextCast, somaticCastCode, somaticCastMask, spreadImmunity, startTickDown, teach, testUsageCost, text, unInvoke, unlearn, usageCost, usageType, verbalCastCode, verbalCastMask, verbalSpeakCode
protected volatile long timeOut
protected volatile java.util.List<Room> commonRoomSet
protected volatile Room originRoom
protected volatile int songDepth
protected volatile int lyricCtr
protected volatile int lyricPauseCtdn
protected volatile Pair<java.lang.Double,java.lang.Integer> bonusCache
public java.lang.String ID()
CMObject
ID
in interface CMObject
ID
in class StdAbility
public java.lang.String name()
Tickable
name
in interface CMObject
name
in interface Tickable
name
in class StdAbility
Environmental.Name()
public java.lang.String displayText()
Environmental
displayText
in interface Environmental
displayText
in class StdAbility
protected int canAffectCode()
StdAbility
canAffectCode
in class StdAbility
Ability
protected int canTargetCode()
StdAbility
canTargetCode
in class StdAbility
Ability
public java.lang.String[] triggerStrings()
Ability
triggerStrings
in interface Ability
triggerStrings
in class StdAbility
Ability.putInCommandlist()
public int classificationCode()
Ability
classificationCode
in interface Ability
classificationCode
in class StdAbility
Ability
public int maxRange()
Environmental
maxRange
in interface Environmental
maxRange
in class StdAbility
protected boolean HAS_QUANTITATIVE_ASPECT()
protected boolean skipStandardSongInvoke()
protected boolean mindAttack()
protected boolean skipStandardSongTick()
protected boolean maliciousButNotAggressiveFlag()
protected boolean skipSimpleStandardSongTickToo()
protected java.lang.String songOf()
public void setAffectedOne(Physical P)
Ability
setAffectedOne
in interface Ability
setAffectedOne
in class StdAbility
P
- the room, mob, or item being affectedAbility.affecting()
public void setInvoker(MOB mob)
Ability
setInvoker
in interface Ability
setInvoker
in class StdAbility
mob
- the invoker mobMOB
,
Ability.invoker()
protected Pair<java.lang.Double,java.lang.Integer> getBonuses()
protected double statBonusPct()
protected int avgStat()
protected double innerStatBonusPct()
protected int innerAvgStat()
public int adjustedLevel(MOB mob, int asLevel)
Ability
adjustedLevel
in interface Ability
adjustedLevel
in class StdAbility
mob
- the mob to evaluate the skill level ofasLevel
- if greater than 0, this method always returns itpublic void affectPhyStats(Physical affectedEnv, PhyStats affectableStats)
StatsAffecting
affectPhyStats
in interface StatsAffecting
affectPhyStats
in class StdAbility
affectedEnv
- the host of the PhyStats object being affectedaffectableStats
- the particular PhyStats object being affectedPhyStats
,
Environmental
,
Affectable.basePhyStats()
,
Affectable.phyStats()
,
Affectable.recoverPhyStats()
public void executeMsg(Environmental host, CMMsg msg)
MsgListener
executeMsg
in interface MsgListener
executeMsg
in class StdAbility
host
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that needs to be executedCMMsg
public int castingQuality(MOB mob, Physical target)
Ability
castingQuality
in interface Ability
castingQuality
in class StdAbility
mob
- the person to use the skilltarget
- the potential target -- may be invokerAbility
,
Ability.abstractQuality()
protected java.util.List<java.lang.String> getLyrics()
public boolean tick(Tickable ticking, int tickID)
Tickable
tick
in interface Tickable
tick
in class StdAbility
ticking
- a reference to this Tickable objecttickID
- the TICKID_ constant describing this periodic call, as defined in TickableTickable
,
ServiceEngine
,
TickableGroup
protected int calculateNewSongDepth(MOB invoker)
protected java.util.List<Room> getInvokerScopeRoomSet(int depth)
protected int getCorrectDirToOriginRoom(Room R, int v)
protected java.lang.String getCorrectMsgString(Room R, java.lang.String str, int v)
public java.util.Set<MOB> sendMsgAndGetTargets(MOB mob, Room R, CMMsg msg, Environmental givenTarget, boolean auto)
public boolean invoke(MOB mob, java.util.List<java.lang.String> commands, Physical givenTarget, boolean auto, int asLevel)
Ability
invoke
in interface Ability
invoke
in class StdAbility
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.