Affectable, Behavable, CloseableLockable, CMObject, Combatant, Contingent, DBIdentifiable, Environmental, Expireable, Modifiable, MsgListener, Physical, PhysicalAgent, PrivateProperty, Readable, Rideable, Rider, StatsAffecting, Tickable, Exit, Boardable, Container, Item, SiegableItem, Wearable, java.lang.Cloneable, java.lang.Comparable<CMObject>GenSiegableBoardable, StdNavigableBoardablepublic class StdSiegableBoardable extends StdBoardable implements SiegableItem
Rideable.BasisSiegableItem.SiegeCommandWearable.CODES| Modifier and Type | Field | Description |
|---|---|---|
protected PairList<Weapon,int[]> |
aimings |
|
protected PairList<Item,int[]> |
coordinates |
|
protected java.util.Set<java.lang.String> |
disableCmds |
|
protected int |
lastSpamCt |
|
protected java.lang.String |
lastSpamMsg |
|
protected Room |
siegeCombatRoom |
|
protected SiegableItem |
siegeTarget |
NAME_REPL_MARKERS, NAME_REPL_STRINGSidConverterCONTAIN_ANYTHING, CONTAIN_BODIES, CONTAIN_CAGED, CONTAIN_CLOTHES, CONTAIN_COINS, CONTAIN_DAGGERS, CONTAIN_DESCS, CONTAIN_DRINKABLES, CONTAIN_EATABLES, CONTAIN_FOOTWEAR, CONTAIN_KEYS, CONTAIN_LIQUID, CONTAIN_ONEHANDWEAPONS, CONTAIN_OTHERWEAPONS, CONTAIN_RAWMATERIALS, CONTAIN_READABLES, CONTAIN_SCROLLS, CONTAIN_SHIELDS, CONTAIN_SMOKEABLES, CONTAIN_SSCOMPONENTS, CONTAIN_SWORDSarea, head_offTheDeck, homePortID, internalPrice, noun_word, ownerName, price, readableTextcapacity, containType, defaultsClosed, defaultsLocked, hasALid, hasALock, isLocked, isOpen, openDelayTicks_name, affectPhyStats, affects, baseGoldValue, basePhyStats, behaviors, cachedImageName, CODES, databaseID, description, destroyed, displayText, dispossessionTime, material, me, miscText, myContainer, myUses, myWornCode, owner, phyStats, properWornBitmap, rawImageName, riding, scripts, secretIdentity, tickCtr, tickStatus, wornLogicalAnd, xtraValuesclosedText, dismountString, doorName, mountString, putString, rideString, stateString, stateSubjectStr, tempExitPairsSTATUS_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_RESETDEFAULT_WORN_CODES, DEFAULT_WORN_DEPENDENCYGRID, DEFAULT_WORN_DESCS, DEFAULT_WORN_ORDER, DEFAULT_WORN_USUAL_NAMES, DEFAULT_WORN_WEIGHT_POINTS, DEFAULT_WORN_WEIGHTS, FILTER_ANY, FILTER_MOBINVONLY, FILTER_ROOMONLY, FILTER_UNWORNONLY, FILTER_WORNONLY, HIGHEST_WORN_CODE, IN_INVENTORY, WORN_ABOUT_BODY, WORN_ARMS, WORN_BACK, WORN_EARS, WORN_EYES, WORN_FEET, WORN_FLOATING_NEARBY, WORN_HANDS, WORN_HEAD, WORN_HELD, WORN_LEFT_FINGER, WORN_LEFT_WRIST, WORN_LEGS, WORN_MOUTH, WORN_NECK, WORN_RIGHT_FINGER, WORN_RIGHT_WRIST, WORN_TORSO, WORN_WAIST, WORN_WIELD| Constructor | Description |
|---|---|
StdSiegableBoardable() |
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
amDead() |
Returns whether this is sunk or destroyed in a siege..
|
protected boolean |
amInTacticalMode() |
|
static void |
appendCondition(java.lang.StringBuilder visualCondition,
double pct,
java.lang.String name) |
|
protected void |
clearTacticalMode() |
|
protected void |
clearTacticalModeInternal() |
|
protected Item |
doCombatDefeat(MOB victorM,
boolean createBody) |
|
void |
executeMsg(Environmental myHost,
CMMsg msg) |
The general message event handler for the object.
|
protected SiegableItem.SiegeCommand |
findSiegeCommand(java.lang.String word,
java.lang.String secondWord) |
|
protected void |
fixArea(Area area) |
|
Area |
getArea() |
Ships are unique in having an Item stand-in for dirt-side access,
as well as an Area object.
|
PhysicalAgent |
getCombatant() |
If this mob is in combat, this returns the mob that this mob is
targeting.
|
PairList<Item,int[]> |
getCombatField() |
Returns the combat field, which must be public to allow
all participants too coordinate.
|
protected java.lang.String |
getDirectionStrToTarget(SiegableItem siegeTarget) |
|
int |
getDirectionToTarget() |
Gets the compass direction between this combatant and the current combat
victim.
|
protected int |
getDirectionToTarget(SiegableItem dirTarget) |
|
protected MOB |
getFactoryAttacker(Room thisRoom) |
|
protected int |
getLowestTacticalDistanceFromThis() |
|
protected int[] |
getMagicCoords() |
|
int |
getMaxHullPoints() |
Returns the number of base hull points that the given obj has.
|
PairList<Weapon,int[]> |
getSiegeWeaponAimings() |
Returns the mapping of this objects siege weapons to the coordinates
they are presently aimed at.
|
protected int[] |
getTacticalCoordinates(SiegableItem targetI) |
|
int[] |
getTacticalCoords() |
Returns the tactical coordinates of this object
|
protected int |
getTacticalDistance(SiegableItem targetI) |
|
java.lang.String |
getTacticalView(SiegableItem viewer) |
A unique display message for siegable objects and their relationship
to this object.
|
java.lang.String |
healthText(MOB viewer) |
Returns the friendly viewable description of this mobs health status,
from the given viewer mobs point of view.
|
java.lang.String |
ID() |
The CoffeeMud Java Class ID shared by all instances of
this object.
|
protected boolean |
isAnyoneAtCoords(int[] xy) |
|
protected boolean |
isASiegeWeaponReadyToFire(Item I) |
|
boolean |
isInCombat() |
Returns whether this combatant is in an active combat state
|
Item |
killMeDead(boolean createBody) |
Puts this combatant in a dead state, removes all temporary effects,
creates a corpse, ends combat, and sends mob players to their graveyard.
|
void |
makePeace(boolean includePlayerFollowers) |
Clears the combat state between this combatant and their
target, clears the targets combat state, as well as
that of any followers of this combatant.
|
boolean |
mayIFight(PhysicalAgent victim) |
Returns whether this combatant is both permitted to attack the
given combatant, and that both this combatant and the potential target
are alive.
|
boolean |
mayPhysicallyAttack(PhysicalAgent victim) |
Returns whether this combatant is permitted to attack the
given combatant, both this combatant and the potential target are alive,
both the combatant and the target are confirmed to be the same
place.
|
boolean |
okMessage(Environmental myHost,
CMMsg msg) |
The general message event previewer for the object.
|
int |
rangeToTarget() |
Gets the distance between this combatant and the current combat
victim.
|
void |
setArea(java.lang.String xml) |
Ships are unique in having an Item stand-in for dirt-side access,
as well as an Area object.
|
void |
setCombatant(PhysicalAgent other) |
Sets the mob that this mob is targeting for combat, which
either puts them into, or clears their combat state.
|
void |
setRangeToTarget(int newRange) |
Sets the distance between this combatant and the current combat
victim.
|
void |
setStat(java.lang.String code,
java.lang.String val) |
An alternative means of setting the values of those fields on this object which are modifiable at
run-time by builders.
|
protected java.lang.Boolean |
startAttack(MOB sourceM,
Room thisRoom,
java.lang.String rest) |
|
protected static java.lang.String |
staticL(java.lang.String str,
java.lang.String... xs) |
|
boolean |
subjectToWearAndTear() |
Whether the usesRemaining() number above is used to determine the percentage health of
the item.
|
boolean |
tick(Tickable ticking,
int tickID) |
this is the method which is called periodically by the threading engine.
|
addEffect, addNonUninvokableEffect, basePhyStats, delAllEffects, delEffect, eachEffect, effects, fetchEffect, fetchEffect, numEffects, phyStats, recoverPhyStats, setBasePhyStatsaddBehavior, addScript, behaviors, delAllBehaviors, delAllScripts, delBehavior, delScript, eachBehavior, eachScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts, scriptshasALock, isLocked, isOpencopyOf, initializeClass, newInstanceamDestroyed, destroy, isSavable, setSavablecanSaveDatabaseID, databaseID, setDatabaseIDdescription, displayText, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setImage, setMiscText, setName, textexpirationDate, setExpirationDatebaseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, secretIdentity, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, setUsesRemaining, stopTicking, ultimateContainer, usesRemaining, valuegetSaveStatIndex, getStat, getStatCodes, isStatclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdescription, displayText, genericName, nameisReadable, readableText, setReadable, setReadableTextaffectCharState, affectCharStats, affectPhyStatsabilityImbuesMagic, announceToAllAboard, announceToNonOuterViewers, announceToOuterViewers, announceToOuterViewers, announceToOuterViewers, announceToOuterViewers, canViewOuterRoom, cleanMsgForRepeat, confirmAreaMessage, copyOf, createFirstRoom, destroy, destroyThisBoardable, dismountString, dockHere, expirationDate, findNearestDocks, getAreaClassType, getBoardableItem, getDestinationRoom, getHomePortID, getIsDocked, getOwnerName, getPrice, getRandomOutsideRoom, getTitleID, haveEveryoneLookOutside, isProperlyOwned, isSavable, keyName, mountString, newInstance, okAreaMessage, putString, readableText, rename, renameDestinationRooms, securityCheck, sendAreaMessage, sendAreaMessage, setDatabaseID, setDockableItem, setExpirationDate, setHomePortID, setKeyName, setMiscText, setOwnerName, setPrice, setReadableText, stopTicking, text, transferOwnership, unDock, valuecanContain, capacity, containTypes, emptyPlease, getContents, getDeepContents, hasALock, hasContent, isInside, isLocked, isOpen, numberOfItems, recursiveWeight, setCapacity, setContainTypesaddBehavior, addEffect, addNonUninvokableEffect, addScript, affectCharState, affectCharStats, affectPhyStats, alreadyWornMsg, amBeingWornProperly, amDestroyed, amWearingAt, baseGoldValue, basePhyStats, behaviors, canSaveDatabaseID, canWear, canWearComplete, cloneFix, compareProperLocations, compareTo, container, databaseID, delAllBehaviors, delAllEffects, delAllScripts, delBehavior, delEffect, delScript, description, description, displayText, eachBehavior, eachEffect, eachScript, effects, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, fitsOn, getSaveStatIndex, getStat, getStatCodes, getTickStatus, I, image, initializeClass, isGeneric, isStat, L, material, maxRange, minRange, miscTextFormat, name, name, Name, numBehaviors, numEffects, numScripts, owner, phyStats, rawImage, rawLogicalAnd, rawProperLocationBitmap, rawSecretIdentity, rawWornCode, removeFromOwnerContainer, riding, sameAs, scripts, secretIdentity, setBasePhyStats, setBaseValue, setContainer, setDescription, setDisplayText, setImage, setMaterial, setName, setOwner, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, setRiding, setSavable, setSecretIdentity, setUsesRemaining, tackOns, ultimateContainer, unWear, usesRemaining, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWearaddRider, amRiding, closedText, closeWord, defaultsClosed, defaultsLocked, delRider, displayText, doorName, exitUsage, fetchRider, genericName, getDismountString, getMountString, getPutString, getRideBuddies, getRideString, getStateString, getStateStringSubject, getTemporaryExits, hasADoor, isMobileRideBasis, isReadable, lastRoomUsedFrom, mobileRideBasis, numRiders, openDelayTicks, openWord, recoverPhyStats, rideBasis, riderCapacity, riders, rideString, setDismountString, setDoorsNLocks, setExitParams, setMountString, setOpenDelayTicks, setPutString, setReadable, setRideBasis, setRiderCapacity, setRideString, setStateString, setStateStringSubject, setTemporaryDoorLink, stateString, stateStringSubject, temporaryDoorLink, viewableTextgetTickStatus, nameamBeingWornProperly, amWearingAt, canWear, compareProperLocations, fitsOn, rawLogicalAnd, rawProperLocationBitmap, rawWornCode, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, unWear, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWearprotected volatile SiegableItem siegeTarget
protected volatile Room siegeCombatRoom
protected volatile int lastSpamCt
protected volatile java.lang.String lastSpamMsg
protected java.util.Set<java.lang.String> disableCmds
public java.lang.String ID()
CMObjectID in interface CMObjectID in class StdBoardableprotected SiegableItem.SiegeCommand findSiegeCommand(java.lang.String word, java.lang.String secondWord)
public boolean subjectToWearAndTear()
ItemsubjectToWearAndTear in interface ItemsubjectToWearAndTear in class StdBoardablepublic void setRangeToTarget(int newRange)
CombatantsetRangeToTarget in interface CombatantnewRange - the range from this combatant to their targetMOB.getVictim(),
Combatant.setCombatant(PhysicalAgent),
Combatant.getCombatant(),
Combatant.rangeToTarget(),
Combatant.mayIFight(PhysicalAgent)public PairList<Item,int[]> getCombatField()
SiegableItemgetCombatField in interface SiegableItempublic int rangeToTarget()
CombatantrangeToTarget in interface CombatantMOB.getVictim(),
Combatant.setCombatant(PhysicalAgent),
Combatant.getCombatant(),
Combatant.setRangeToTarget(int),
Combatant.mayIFight(PhysicalAgent)public boolean mayPhysicallyAttack(PhysicalAgent victim)
CombatantmayPhysicallyAttack in interface Combatantvictim - the potential combat targetMOB.getVictim(),
Combatant.setCombatant(PhysicalAgent),
Combatant.getCombatant(),
Combatant.setRangeToTarget(int),
Combatant.mayPhysicallyAttack(PhysicalAgent)public boolean isInCombat()
CombatantisInCombat in interface CombatantMOB.getVictim(),
MOB.setVictim(MOB),
Combatant.setCombatant(PhysicalAgent),
Combatant.getCombatant(),
Combatant.makePeace(boolean),
Combatant.setRangeToTarget(int),
Combatant.mayIFight(PhysicalAgent)public boolean mayIFight(PhysicalAgent victim)
CombatantmayIFight in interface Combatantvictim - the potential combat targetMOB.getVictim(),
Combatant.setCombatant(PhysicalAgent),
Combatant.getCombatant(),
Combatant.setRangeToTarget(int),
Combatant.mayPhysicallyAttack(PhysicalAgent)protected void fixArea(Area area)
public Area getArea()
BoardablegetArea in interface BoardablegetArea in class StdBoardablepublic void setArea(java.lang.String xml)
BoardablesetArea in interface BoardablesetArea in class StdBoardablexml - area xml for the shippublic void makePeace(boolean includePlayerFollowers)
CombatantmakePeace in interface CombatantincludePlayerFollowers - false to apply only to npc followers, true for npc and playerCombatant.isInCombat(),
MOB.getVictim(),
MOB.setVictim(MOB),
Combatant.setCombatant(PhysicalAgent),
Combatant.getCombatant(),
Combatant.setRangeToTarget(int),
Combatant.mayIFight(PhysicalAgent)public PhysicalAgent getCombatant()
CombatantgetCombatant in interface CombatantCombatant.isInCombat(),
Combatant.setCombatant(PhysicalAgent),
Combatant.makePeace(boolean),
Combatant.setRangeToTarget(int),
Combatant.mayIFight(PhysicalAgent)public void setCombatant(PhysicalAgent other)
CombatantsetCombatant in interface Combatantother - the combat target, or null for a peace stateCombatant.isInCombat(),
Combatant.getCombatant(),
Combatant.makePeace(boolean),
Combatant.setRangeToTarget(int),
Combatant.mayIFight(PhysicalAgent)public int[] getTacticalCoords()
SiegableItemgetTacticalCoords in interface SiegableItempublic int getDirectionToTarget()
CombatantgetDirectionToTarget in interface CombatantMOB.getVictim(),
Combatant.setCombatant(PhysicalAgent),
Combatant.getCombatant(),
Combatant.setRangeToTarget(int),
Combatant.mayIFight(PhysicalAgent)public PairList<Weapon,int[]> getSiegeWeaponAimings()
SiegableItemgetSiegeWeaponAimings in interface SiegableItemprotected int[] getTacticalCoordinates(SiegableItem targetI)
protected int getTacticalDistance(SiegableItem targetI)
public java.lang.String getTacticalView(SiegableItem viewer)
SiegableItemgetTacticalView in interface SiegableItemviewer - an object viewing this oneprotected int getLowestTacticalDistanceFromThis()
protected int[] getMagicCoords()
protected boolean amInTacticalMode()
protected void clearTacticalMode()
protected void clearTacticalModeInternal()
protected boolean isAnyoneAtCoords(int[] xy)
protected int getDirectionToTarget(SiegableItem dirTarget)
protected java.lang.String getDirectionStrToTarget(SiegableItem siegeTarget)
protected java.lang.Boolean startAttack(MOB sourceM, Room thisRoom, java.lang.String rest)
protected final boolean isASiegeWeaponReadyToFire(Item I)
protected static java.lang.String staticL(java.lang.String str,
java.lang.String... xs)
public java.lang.String healthText(MOB viewer)
CombatanthealthText in interface Combatantviewer - the mob viewing this mobpublic static void appendCondition(java.lang.StringBuilder visualCondition,
double pct,
java.lang.String name)
public boolean okMessage(Environmental myHost, CMMsg msg)
MsgListenerokMessage in interface MsgListenerokMessage in class StdBoardablemyHost - either the initiator of the event, or the host of this objectmsg - the CMMsg that wants to be executedCMMsg,
CMMsg.source()public boolean tick(Tickable ticking, int tickID)
Tickabletick in interface Tickabletick in class StdBoardableticking - a reference to this Tickable objecttickID - the TICKID_ constant describing this periodic call, as defined in TickableTickable,
ServiceEngine,
TickableGrouppublic Item killMeDead(boolean createBody)
CombatantkillMeDead in interface CombatantcreateBody - true to create a corpse, false otherwiseCombatant.amDead(),
MOB.bringToLife(Room, boolean),
MOB.removeFromGame(boolean, boolean)public int getMaxHullPoints()
SiegableItemgetMaxHullPoints in interface SiegableItempublic void executeMsg(Environmental myHost, CMMsg msg)
MsgListenerexecuteMsg in interface MsgListenerexecuteMsg in class StdBoardablemyHost - either the initiator of the event, or the host of this objectmsg - the CMMsg that needs to be executedCMMsgpublic boolean amDead()
SiegableItemamDead in interface CombatantamDead in interface SiegableItemCombatant.killMeDead(boolean),
MOB.bringToLife(Room, boolean),
MOB.removeFromGame(boolean, boolean)public void setStat(java.lang.String code,
java.lang.String val)
ModifiablesetStat in interface ModifiablesetStat in class StdItemcode - the name of the field to setval - the value to set the field toModifiable.getStatCodes()