Affectable
, Behavable
, CMObject
, Contingent
, DBIdentifiable
, Environmental
, Expireable
, Modifiable
, MsgListener
, Physical
, PhysicalAgent
, Readable
, Rider
, StatsAffecting
, Tickable
, AmmunitionWeapon
, Item
, Weapon
, Wearable
, java.lang.Cloneable
, java.lang.Comparable<CMObject>
Arquebus
, Cestus
, Dagger
, GenWeapon
, Glaive
, Halberd
, Javelin
, Mace
, Natural
, Quarterstaff
, Sabre
, ShieldWeapon
, Sickle
, SmallHammer
, SmallMace
, Spear
, Staff
, StdBoffWeapon
, StdBow
, StdLasso
, StdNet
, StdSling
, StdSpear
, Sword
, ThrowingStone
, Trident
, WarHammer
, Whip
public class StdWeapon extends StdItem implements Weapon, AmmunitionWeapon
Wearable.CODES
Modifier and Type | Field | Description |
---|---|---|
protected int |
ammoCapacity |
|
protected long |
lastReloadTime |
|
protected int[] |
ranges |
|
protected boolean |
useExtendedMissString |
|
protected int |
weaponClassification |
|
protected int |
weaponDamageType |
idConverter
_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
CLASS_AXE, CLASS_BLUNT, CLASS_DAGGER, CLASS_DESCS, CLASS_EDGED, CLASS_FLAILED, CLASS_HAMMER, CLASS_NATURAL, CLASS_POLEARM, CLASS_RANGED, CLASS_STAFF, CLASS_SWORD, CLASS_THROWN, MASK_MAXRANGEBITS, MASK_MAXRANGEFLAG, MASK_MAXRANGESHFT, MASK_MAXRANGEZERO, MASK_MINRANGEBITS, MASK_MINRANGEFLAG, MASK_MINRANGESHFT, MASK_MINRANGEZERO, MASK_MOAMMOBITS, MASK_MOAMMOFLAG, MASK_MOAMMOSHFT, MASK_MOAMMOZERO, MSG_TYPE_MAP, TYPE_BASHING, TYPE_BURNING, TYPE_BURSTING, TYPE_CORRUPTING, TYPE_DESCS, TYPE_DISRUPTING, TYPE_FROSTING, TYPE_GASSING, TYPE_LASERING, TYPE_MELTING, TYPE_MSG_MAP, TYPE_NATURAL, TYPE_PIERCING, TYPE_SCRAPING, TYPE_SHOOT, TYPE_SLASHING, TYPE_SONICING, TYPE_STRIKING, TYPE_STULTIFYING
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 |
---|---|
StdWeapon() |
Modifier and Type | Method | Description |
---|---|---|
protected boolean |
abilityImbuesMagic() |
|
void |
affectPhyStats(Physical affected,
PhyStats affectableStats) |
This method is called by the recoverPhyStats() method on other Environmental objects.
|
int |
ammunitionCapacity() |
The current adjected maximum amount of Units of ammunition which can be loaded
into this weapon.
|
int |
ammunitionRemaining() |
The amount of Units of ammunition loaded into this weapon.
|
java.lang.String |
ammunitionType() |
The type/class of ammunition required by this weapon.
|
void |
executeMsg(Environmental myHost,
CMMsg msg) |
The general message event handler for the object.
|
java.lang.String |
genericName() |
Returns a generic name for this object, devoid of its particular
identifying details.
|
int[] |
getRanges() |
Gets the raw minimum and maximum range of this weapon.
|
java.lang.String |
hitString(int damageAmount) |
Gets the string that would be shown if someone gets a hit with
this weapon.
|
java.lang.String |
ID() |
The CoffeeMud Java Class ID shared by all instances of
this object.
|
protected boolean |
inventoryAmmoCheck(MOB M) |
|
boolean |
isFreeStanding() |
Returns true if the weapon is a free-standing missile weapon, meaning
it can be loaded and fired from the ground, like a siege weapon/catapult.
|
int |
maxRange() |
the modified maximum range of this object, if applicable.
|
int |
minRange() |
the modified minimum range of this object, if applicable.
|
java.lang.String |
missString() |
Gets the string that would be shown if someone misses with
this weapon.
|
boolean |
okMessage(Environmental myHost,
CMMsg msg) |
The general message event previewer for the object.
|
int |
rawAmmunitionCapacity() |
The base unadjusted maximum amount of Units of ammunition which can be loaded
into this weapon.
|
void |
recoverOwner() |
|
void |
recoverPhyStats() |
This method copies the basePhyStats() object into the phyStats() object, then makes repeated calls to
all surrounding objects with affectPhyStats(Environmental,PhyStats) method.
|
boolean |
requiresAmmunition() |
Returns true if the weapon requires ammunition, ever.
|
java.lang.String |
secretIdentity() |
This method returns the calculated and expanded description of the properties
of the item as would be discovered through the Identify spell.
|
void |
setAmmoCapacity(int amount) |
Sets the maximum amount of Units of ammunition which can be loaded into this weapon.
|
void |
setAmmoRemaining(int amount) |
Sets the amount of Units of ammunition loaded into this weapon.
|
void |
setAmmunitionType(java.lang.String ammo) |
Sets the type/class of ammunition required by this weapon.
|
void |
setRanges(int min,
int max) |
Sets the minimum and maximum range of this weapon.
|
void |
setUsesRemaining(int newUses) |
Sets the uses remaining field, which is a general numeric value whose meaning differs
for different Item types.
|
void |
setWeaponClassification(int newClassification) |
Sets the general classification of this weapon, denoting how the
weapon is used and the skills required.
|
void |
setWeaponDamageType(int newType) |
Sets the type of damage this weapon does, from the weapon damage
type list of codes.
|
boolean |
subjectToWearAndTear() |
Whether the usesRemaining() number above is used to determine the percentage health of
the item.
|
int |
value() |
The default value of the item, represented in the base CoffeeMud currency.
|
int |
weaponClassification() |
Gets the general classification of this weapon, denoting how the
weapon is used and the skills required.
|
int |
weaponDamageType() |
Gets the type of damage this weapon does, from the weapon damage
type list of codes.
|
protected java.lang.String |
weaponHealth() |
addBehavior, addScript, behaviors, delAllBehaviors, delAllScripts, delBehavior, delScript, eachBehavior, eachScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts, scripts
copyOf, initializeClass, newInstance
canSaveDatabaseID, databaseID, setDatabaseID
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, stopTicking, ultimateContainer, usesRemaining
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isReadable, readableText, setReadable, setReadableText
addBehavior, addEffect, addNonUninvokableEffect, addScript, affectCharState, affectCharStats, alreadyWornMsg, amBeingWornProperly, amDestroyed, amWearingAt, baseGoldValue, basePhyStats, behaviors, canSaveDatabaseID, canWear, canWearComplete, cloneFix, compareProperLocations, compareTo, container, copyOf, databaseID, delAllBehaviors, delAllEffects, delAllScripts, delBehavior, delEffect, delScript, description, description, destroy, displayText, displayText, eachBehavior, eachEffect, eachScript, effects, expirationDate, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, fitsOn, getSaveStatIndex, getStat, getStatCodes, getTickStatus, I, image, initializeClass, isGeneric, isReadable, isSavable, isStat, L, material, miscTextFormat, name, name, Name, newInstance, numBehaviors, numberOfItems, numEffects, numScripts, owner, phyStats, rawImage, rawLogicalAnd, rawProperLocationBitmap, rawSecretIdentity, rawWornCode, readableText, recursiveWeight, removeFromOwnerContainer, riding, sameAs, scripts, setBasePhyStats, setBaseValue, setContainer, setDatabaseID, setDescription, setDisplayText, setExpirationDate, setImage, setMaterial, setMiscText, setName, setOwner, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, setReadable, setReadableText, setRiding, setSavable, setSecretIdentity, setStat, stopTicking, tackOns, text, tick, ultimateContainer, unWear, usesRemaining, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
amBeingWornProperly, amWearingAt, canWear, compareProperLocations, fitsOn, rawLogicalAnd, rawProperLocationBitmap, rawWornCode, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, unWear, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
protected int weaponDamageType
protected int weaponClassification
protected boolean useExtendedMissString
protected int[] ranges
protected int ammoCapacity
protected long lastReloadTime
public java.lang.String ID()
CMObject
public java.lang.String genericName()
Physical
genericName
in interface Physical
genericName
in class StdItem
public int weaponDamageType()
Weapon
weaponDamageType
in interface Weapon
Weapon.TYPE_DESCS
public int weaponClassification()
Weapon
weaponClassification
in interface Weapon
Weapon.CLASS_DESCS
public void setWeaponDamageType(int newType)
Weapon
setWeaponDamageType
in interface Weapon
newType
- get weapon damage type codeWeapon.TYPE_DESCS
public void setWeaponClassification(int newClassification)
Weapon
setWeaponClassification
in interface Weapon
newClassification
- the weapon classification codeWeapon.CLASS_DESCS
public java.lang.String secretIdentity()
Item
secretIdentity
in interface Item
secretIdentity
in class StdItem
public void affectPhyStats(Physical affected, PhyStats affectableStats)
StatsAffecting
affectPhyStats
in interface StatsAffecting
affectPhyStats
in class StdItem
affected
- the host of the PhyStats object being affectedaffectableStats
- the particular PhyStats object being affectedPhyStats
,
Environmental
,
Affectable.basePhyStats()
,
Affectable.phyStats()
,
Affectable.recoverPhyStats()
protected boolean abilityImbuesMagic()
abilityImbuesMagic
in class StdItem
public void recoverPhyStats()
Affectable
recoverPhyStats
in interface Affectable
recoverPhyStats
in class StdItem
Affectable.basePhyStats()
,
Affectable.phyStats()
,
Affectable.addEffect(Ability)
,
Behavable.addBehavior(Behavior)
,
PhyStats
public void executeMsg(Environmental myHost, CMMsg msg)
MsgListener
executeMsg
in interface MsgListener
executeMsg
in class StdItem
myHost
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that needs to be executedCMMsg
public boolean okMessage(Environmental myHost, CMMsg msg)
MsgListener
okMessage
in interface MsgListener
okMessage
in class StdItem
myHost
- either the initiator of the event, or the host of this objectmsg
- the CMMsg that wants to be executedCMMsg
,
CMMsg.source()
protected boolean inventoryAmmoCheck(MOB M)
public void setUsesRemaining(int newUses)
Item
setUsesRemaining
in interface Item
setUsesRemaining
in class StdItem
newUses
- a new general numeric value for this field.protected java.lang.String weaponHealth()
public java.lang.String missString()
Weapon
missString
in interface Weapon
Weapon.hitString(int)
public java.lang.String hitString(int damageAmount)
Weapon
hitString
in interface Weapon
damageAmount
- the amount of damage done with this weaponWeapon.missString()
public int minRange()
Environmental
minRange
in interface Environmental
minRange
in class StdItem
public int maxRange()
Environmental
maxRange
in interface Environmental
maxRange
in class StdItem
public void setRanges(int min, int max)
Weapon
setRanges
in interface Weapon
min
- the minimum range 0=meleemax
- the maximum range 0=meleeEnvironmental.maxRange()
,
Environmental.minRange()
public int[] getRanges()
Weapon
getRanges
in interface Weapon
Weapon.setRanges(int, int)
,
Environmental.maxRange()
,
Environmental.minRange()
public boolean requiresAmmunition()
AmmunitionWeapon
requiresAmmunition
in interface AmmunitionWeapon
public boolean isFreeStanding()
AmmunitionWeapon
isFreeStanding
in interface AmmunitionWeapon
public void setAmmunitionType(java.lang.String ammo)
AmmunitionWeapon
setAmmunitionType
in interface AmmunitionWeapon
ammo
- the ammunition type stringAmmunition.setAmmunitionType(String)
,
AmmunitionWeapon.ammunitionType()
public java.lang.String ammunitionType()
AmmunitionWeapon
ammunitionType
in interface AmmunitionWeapon
Ammunition.ammunitionType()
,
AmmunitionWeapon.setAmmunitionType(String)
public int ammunitionRemaining()
AmmunitionWeapon
ammunitionRemaining
in interface AmmunitionWeapon
AmmunitionWeapon.setAmmoRemaining(int)
public void setAmmoRemaining(int amount)
AmmunitionWeapon
setAmmoRemaining
in interface AmmunitionWeapon
amount
- the number of units of ammunitionAmmunitionWeapon.ammunitionRemaining()
public int ammunitionCapacity()
AmmunitionWeapon
ammunitionCapacity
in interface AmmunitionWeapon
AmmunitionWeapon.setAmmoCapacity(int)
,
AmmunitionWeapon.rawAmmunitionCapacity()
public int rawAmmunitionCapacity()
AmmunitionWeapon
rawAmmunitionCapacity
in interface AmmunitionWeapon
AmmunitionWeapon.setAmmoCapacity(int)
,
AmmunitionWeapon.ammunitionCapacity()
public void setAmmoCapacity(int amount)
AmmunitionWeapon
setAmmoCapacity
in interface AmmunitionWeapon
amount
- the max number of units of ammunition that can be loadedAmmunitionWeapon.ammunitionCapacity()
,
AmmunitionWeapon.rawAmmunitionCapacity()
public int value()
Item
public boolean subjectToWearAndTear()
Item
subjectToWearAndTear
in interface Item
subjectToWearAndTear
in class StdItem
public void recoverOwner()