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
, StdNavigableBoardable
public class StdSiegableBoardable extends StdBoardable implements SiegableItem
Rideable.Basis
SiegableItem.SiegeCommand
Wearable.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_STRINGS
idConverter
CONTAIN_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_SWORDS
area, head_offTheDeck, homePortID, internalPrice, noun_word, ownerName, price, readableText
capacity, 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, xtraValues
closedText, dismountString, doorName, mountString, putString, rideString, stateString, stateSubjectStr, tempExitPairs
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
DEFAULT_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, setBasePhyStats
addBehavior, addScript, behaviors, delAllBehaviors, delAllScripts, delBehavior, delScript, eachBehavior, eachScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts, scripts
hasALock, isLocked, isOpen
copyOf, initializeClass, newInstance
amDestroyed, destroy, isSavable, setSavable
canSaveDatabaseID, databaseID, setDatabaseID
description, displayText, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setImage, setMiscText, setName, text
expirationDate, setExpirationDate
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, secretIdentity, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, setUsesRemaining, stopTicking, ultimateContainer, usesRemaining, value
getSaveStatIndex, getStat, getStatCodes, isStat
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
description, displayText, genericName, name
isReadable, readableText, setReadable, setReadableText
affectCharState, affectCharStats, affectPhyStats
abilityImbuesMagic, 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, value
canContain, capacity, containTypes, emptyPlease, getContents, getDeepContents, hasALock, hasContent, isInside, isLocked, isOpen, numberOfItems, recursiveWeight, setCapacity, setContainTypes
addBehavior, 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, whereCantWear
addRider, 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, viewableText
getTickStatus, name
amBeingWornProperly, amWearingAt, canWear, compareProperLocations, fitsOn, rawLogicalAnd, rawProperLocationBitmap, rawWornCode, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, unWear, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
protected 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()
CMObject
ID
in interface CMObject
ID
in class StdBoardable
protected SiegableItem.SiegeCommand findSiegeCommand(java.lang.String word, java.lang.String secondWord)
public boolean subjectToWearAndTear()
Item
subjectToWearAndTear
in interface Item
subjectToWearAndTear
in class StdBoardable
public void setRangeToTarget(int newRange)
Combatant
setRangeToTarget
in interface Combatant
newRange
- the range from this combatant to their targetMOB.getVictim()
,
Combatant.setCombatant(PhysicalAgent)
,
Combatant.getCombatant()
,
Combatant.rangeToTarget()
,
Combatant.mayIFight(PhysicalAgent)
public PairList<Item,int[]> getCombatField()
SiegableItem
getCombatField
in interface SiegableItem
public int rangeToTarget()
Combatant
rangeToTarget
in interface Combatant
MOB.getVictim()
,
Combatant.setCombatant(PhysicalAgent)
,
Combatant.getCombatant()
,
Combatant.setRangeToTarget(int)
,
Combatant.mayIFight(PhysicalAgent)
public boolean mayPhysicallyAttack(PhysicalAgent victim)
Combatant
mayPhysicallyAttack
in interface Combatant
victim
- the potential combat targetMOB.getVictim()
,
Combatant.setCombatant(PhysicalAgent)
,
Combatant.getCombatant()
,
Combatant.setRangeToTarget(int)
,
Combatant.mayPhysicallyAttack(PhysicalAgent)
public boolean isInCombat()
Combatant
isInCombat
in interface Combatant
MOB.getVictim()
,
MOB.setVictim(MOB)
,
Combatant.setCombatant(PhysicalAgent)
,
Combatant.getCombatant()
,
Combatant.makePeace(boolean)
,
Combatant.setRangeToTarget(int)
,
Combatant.mayIFight(PhysicalAgent)
public boolean mayIFight(PhysicalAgent victim)
Combatant
mayIFight
in interface Combatant
victim
- the potential combat targetMOB.getVictim()
,
Combatant.setCombatant(PhysicalAgent)
,
Combatant.getCombatant()
,
Combatant.setRangeToTarget(int)
,
Combatant.mayPhysicallyAttack(PhysicalAgent)
protected void fixArea(Area area)
public Area getArea()
Boardable
getArea
in interface Boardable
getArea
in class StdBoardable
public void setArea(java.lang.String xml)
Boardable
setArea
in interface Boardable
setArea
in class StdBoardable
xml
- area xml for the shippublic void makePeace(boolean includePlayerFollowers)
Combatant
makePeace
in interface Combatant
includePlayerFollowers
- 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()
Combatant
getCombatant
in interface Combatant
Combatant.isInCombat()
,
Combatant.setCombatant(PhysicalAgent)
,
Combatant.makePeace(boolean)
,
Combatant.setRangeToTarget(int)
,
Combatant.mayIFight(PhysicalAgent)
public void setCombatant(PhysicalAgent other)
Combatant
setCombatant
in interface Combatant
other
- the combat target, or null for a peace stateCombatant.isInCombat()
,
Combatant.getCombatant()
,
Combatant.makePeace(boolean)
,
Combatant.setRangeToTarget(int)
,
Combatant.mayIFight(PhysicalAgent)
public int[] getTacticalCoords()
SiegableItem
getTacticalCoords
in interface SiegableItem
public int getDirectionToTarget()
Combatant
getDirectionToTarget
in interface Combatant
MOB.getVictim()
,
Combatant.setCombatant(PhysicalAgent)
,
Combatant.getCombatant()
,
Combatant.setRangeToTarget(int)
,
Combatant.mayIFight(PhysicalAgent)
public PairList<Weapon,int[]> getSiegeWeaponAimings()
SiegableItem
getSiegeWeaponAimings
in interface SiegableItem
protected int[] getTacticalCoordinates(SiegableItem targetI)
protected int getTacticalDistance(SiegableItem targetI)
public java.lang.String getTacticalView(SiegableItem viewer)
SiegableItem
getTacticalView
in interface SiegableItem
viewer
- 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)
Combatant
healthText
in interface Combatant
viewer
- 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)
MsgListener
okMessage
in interface MsgListener
okMessage
in class StdBoardable
myHost
- 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)
Tickable
tick
in interface Tickable
tick
in class StdBoardable
ticking
- a reference to this Tickable objecttickID
- the TICKID_ constant describing this periodic call, as defined in TickableTickable
,
ServiceEngine
,
TickableGroup
public Item killMeDead(boolean createBody)
Combatant
killMeDead
in interface Combatant
createBody
- true to create a corpse, false otherwiseCombatant.amDead()
,
MOB.bringToLife(Room, boolean)
,
MOB.removeFromGame(boolean, boolean)
public int getMaxHullPoints()
SiegableItem
getMaxHullPoints
in interface SiegableItem
public void executeMsg(Environmental myHost, CMMsg msg)
MsgListener
executeMsg
in interface MsgListener
executeMsg
in class StdBoardable
myHost
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that needs to be executedCMMsg
public boolean amDead()
SiegableItem
amDead
in interface Combatant
amDead
in interface SiegableItem
Combatant.killMeDead(boolean)
,
MOB.bringToLife(Room, boolean)
,
MOB.removeFromGame(boolean, boolean)
public void setStat(java.lang.String code, java.lang.String val)
Modifiable
setStat
in interface Modifiable
setStat
in class StdItem
code
- the name of the field to setval
- the value to set the field toModifiable.getStatCodes()