com.planet_ink.coffee_mud.Items.interfaces
Interface AmmunitionWeapon

All Superinterfaces:
Affectable, Behavable, java.lang.Cloneable, CMObject, java.lang.Comparable<CMObject>, Contingent, DBIdentifiable, Environmental, Item, Modifiable, MsgListener, Physical, PhysicalAgent, Readable, Rider, StatsAffecting, Tickable, Weapon, Wearable
All Known Implementing Classes:
ArchonStaff, Arquebus, BattleAxe, Broom, Cestus, Claymore, Dagger, DaggerOfVenom, Dirk, DragonClaw, DrowDagger, DrowMace, DrowQuarterstaff, DrowSword, EternityQuarterstaff, FlamingSword, GenBoffWeapon, GenBow, GenHandBow, GenLasso, GenNet, GenSiegeWeapon, GenSling, GenSpear, GenStaff, GenWeapon, Glaive, Halberd, HolyAvenger, Javelin, Katana, Longsword, Mace, Natural, Quarterstaff, Rapier, Ruler, Sabre, Scimitar, ShieldWeapon, Shortsword, Sickle, SmallDagger, SmallMace, Staff, StdBoffWeapon, StdBow, StdLasso, StdNet, StdSiegeWeapon, StdSling, StdSpear, StdWeapon, Stiletto, Sword, ThrowingStone, Trident, TwoHandedSword, WarHammer, Whip

public interface AmmunitionWeapon
extends Weapon

An interface for a weapon which does not work without ammunition, or which can potentially require ammunition.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
Wearable.CODES
 
Field Summary
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Weapon
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, TYPE_BASHING, TYPE_BURNING, TYPE_BURSTING, TYPE_DESCS, TYPE_FROSTING, TYPE_GASSING, TYPE_LASERING, TYPE_MELTING, TYPE_NATURAL, TYPE_PIERCING, TYPE_SHOOT, TYPE_SLASHING, TYPE_SONICING, TYPE_STRIKING
 
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
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
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
 
Method Summary
 int ammunitionCapacity()
          The 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.
 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.
 boolean requiresAmmunition()
          Returns true if the weapon requires ammunition, ever.
 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.
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Weapon
hitString, missString, setRanges, setWeaponClassification, setWeaponDamageType, weaponClassification, weaponDamageType
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Item
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, secretIdentity, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, setUsesRemaining, stopTicking, subjectToWearAndTear, ultimateContainer, usesRemaining, value
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Rider
riding, setRiding
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Physical
description, displayText, name
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, displayText, expirationDate, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, setName, text
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus, name, tick
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.StatsAffecting
affectCharState, affectCharStats, affectPhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.MsgListener
executeMsg, okMessage
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Contingent
amDestroyed, destroy, isSavable, setSavable
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, ID, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Modifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Affectable
addEffect, addNonUninvokableEffect, basePhyStats, delAllEffects, delEffect, eachEffect, effects, fetchEffect, fetchEffect, numEffects, phyStats, recoverPhyStats, setBasePhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Behavable
addBehavior, addScript, behaviors, delAllBehaviors, delAllScripts, delBehavior, delScript, eachBehavior, eachScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts, scripts
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.DBIdentifiable
canSaveDatabaseID, databaseID, setDatabaseID
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
amBeingWornProperly, amWearingAt, canWear, compareProperLocations, fitsOn, rawLogicalAnd, rawProperLocationBitmap, rawWornCode, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, unWear, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Readable
isReadable, readableText, setReadable, setReadableText
 

Method Detail

requiresAmmunition

boolean requiresAmmunition()
Returns true if the weapon requires ammunition, ever. Not sure why this would ever return false for an AmmunitionWeapon, but it can, so here it is.

Returns:
true if the weapon requires ammunition, false otherwise

setAmmunitionType

void setAmmunitionType(java.lang.String ammo)
Sets the type/class of ammunition required by this weapon. This must match the ammunition type of the ammunition item in order to be reloaded. This can be an arbitrary string.

Parameters:
ammo - the ammunition type string
See Also:
Ammunition.setAmmunitionType(String), ammunitionType()

ammunitionType

java.lang.String ammunitionType()
The type/class of ammunition required by this weapon. This must match the ammunition type of the ammunition item in order to be reloaded. This can be an arbitrary string.

Returns:
the ammunition type string
See Also:
Ammunition.ammunitionType(), setAmmunitionType(String)

ammunitionRemaining

int ammunitionRemaining()
The amount of Units of ammunition loaded into this weapon. If this is, for example, a bow, or a gun, how many are in the clip or ready to shoot.

Returns:
the number of units of ammunition
See Also:
setAmmoRemaining(int)

setAmmoRemaining

void setAmmoRemaining(int amount)
Sets the amount of Units of ammunition loaded into this weapon. If this is, for example, a bow, or a gun, how many are in the clip or ready to shoot.

Parameters:
amount - the number of units of ammunition
See Also:
ammunitionRemaining()

ammunitionCapacity

int ammunitionCapacity()
The maximum amount of Units of ammunition which can be loaded into this weapon. If this is, for example, a bow, or a gun, how many does the clip hold or can be ready to shoot.

Returns:
the max number of units of ammunition that can be loaded
See Also:
setAmmoCapacity(int)

setAmmoCapacity

void setAmmoCapacity(int amount)
Sets the maximum amount of Units of ammunition which can be loaded into this weapon. If this is, for example, a bow, or a gun, how many does the clip hold or can be ready to shoot.

Parameters:
amount - the max number of units of ammunition that can be loaded
See Also:
ammunitionCapacity()

isFreeStanding

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.

Returns:
true if the weapon is free standing, false if held only