com.planet_ink.coffee_mud.Behaviors
Class Concierge

java.lang.Object
  extended by com.planet_ink.coffee_mud.Behaviors.StdBehavior
      extended by com.planet_ink.coffee_mud.Behaviors.Concierge
All Implemented Interfaces:
Behavior, CMObject, Contingent, Modifiable, MsgListener, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
TaxiBehavior

public class Concierge
extends StdBehavior


Field Summary
protected  double basePrice
           
protected static java.lang.String defaultGreeting
           
protected static TrackingLibrary.TrackingFlags defaultRoomRadiusFlags
           
protected static TrackingLibrary.TrackingFlags defaultTrackingFlags
           
protected  QuadVector<MOB,Room,java.lang.Double,TrackingLibrary.TrackingFlags> destinations
           
protected  MOB fakeTalker
           
protected  java.lang.String greeting
           
protected  int maxRange
           
protected  java.lang.String mountStr
           
protected  double perRoomPrice
           
protected  boolean portal
           
protected  PairVector<java.lang.Object,java.lang.Double> rates
           
protected  java.util.List<Room> ratesVec
           
protected  TrackingLibrary.TrackingFlags roomRadiusFlags
           
protected  Room startRoom
           
protected  java.lang.String talkerName
           
protected  PairVector<MOB,java.lang.String> thingsToSay
           
protected  TrackingLibrary.TrackingFlags trackingFlags
           
 
Fields inherited from class com.planet_ink.coffee_mud.Behaviors.StdBehavior
CODES, isSavableBehavior, parms
 
Fields inherited from interface com.planet_ink.coffee_mud.Behaviors.interfaces.Behavior
CAN_AREAS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, FLAG_LEGALBEHAVIOR, FLAG_MOBILITY, FLAG_POTENTIALLYAGGRESSIVE, FLAG_POTENTIALLYAUTODEATHING, FLAG_TROUBLEMAKING
 
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
 
Constructor Summary
Concierge()
           
 
Method Summary
 java.lang.String accountForYourself()
          Returns a string describing what this behavior does.
protected  int canImproveCode()
           
protected  boolean disableComingsAndGoings()
           
protected  void executeMoneyDrop(MOB source, MOB conciergeM, Environmental possibleCoins, CMMsg addToMsg)
           
 void executeMsg(Environmental affecting, CMMsg msg)
          The general message event handler for the object.
protected  Room findDestination(Environmental observer, MOB mob, Room centerRoom, java.lang.String where, TrackingLibrary.TrackingFlags roomRadiusFlags)
           
protected  Room findNearestAreaRoom(Area A, java.util.List<Room> roomsInRange)
           
protected  java.lang.String getDestinationName(MOB mob, Environmental destination)
           
protected  java.lang.String getGiveMoneyMessage(MOB mob, Environmental observer, Environmental destination, java.lang.String moneyName)
           
protected  double getPrice(Room centerRoom, Room destR)
           
protected  Environmental getReceiver(Environmental o, Room room)
           
protected  java.util.List<Room> getRoomsInRange(Room centerRoom, java.util.List<Room> roomsInRange, TrackingLibrary.TrackingFlags roomRadiusFlags)
           
protected  MOB getTalker(Environmental o, Room room)
           
protected  void giveMerchandise(MOB whoM, Room destination, Environmental observer, Room room, TrackingLibrary.TrackingFlags trackingFlags)
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
protected  boolean mayGiveThisMoney(MOB source, MOB conceirgeM, Room room, Environmental possibleCoins)
           
 boolean okMessage(Environmental host, CMMsg msg)
          The general message event previewer for the object.
protected  void resetDefaults()
           
protected  void resetFlags()
           
 void setParms(java.lang.String newParm)
          Sets the raw parameter string for this behavior.
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 
Methods inherited from class com.planet_ink.coffee_mud.Behaviors.StdBehavior
amDestroyed, canActAtAll, canFreelyBehaveNormal, canImprove, canImprove, compareTo, copyOf, destroy, externalFiles, flags, getBehaversMOB, getBehaversRoom, getCodeNum, getParms, getSaveStatIndex, getStat, getStatCodes, getTickStatus, grantsAggressivenessTo, initializeClass, isSavable, isStat, L, name, newInstance, parmsFormat, registerDefaultQuest, sameAs, setSavable, setStat, startBehavior
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rates

protected PairVector<java.lang.Object,java.lang.Double> rates

ratesVec

protected java.util.List<Room> ratesVec

thingsToSay

protected PairVector<MOB,java.lang.String> thingsToSay

destinations

protected QuadVector<MOB,Room,java.lang.Double,TrackingLibrary.TrackingFlags> destinations

defaultGreeting

protected static final java.lang.String defaultGreeting
See Also:
Constant Field Values

defaultTrackingFlags

protected static final TrackingLibrary.TrackingFlags defaultTrackingFlags

defaultRoomRadiusFlags

protected static final TrackingLibrary.TrackingFlags defaultRoomRadiusFlags

basePrice

protected double basePrice

perRoomPrice

protected double perRoomPrice

talkerName

protected java.lang.String talkerName

fakeTalker

protected MOB fakeTalker

startRoom

protected Room startRoom

greeting

protected java.lang.String greeting

mountStr

protected java.lang.String mountStr

portal

protected boolean portal

maxRange

protected int maxRange

trackingFlags

protected TrackingLibrary.TrackingFlags trackingFlags

roomRadiusFlags

protected TrackingLibrary.TrackingFlags roomRadiusFlags
Constructor Detail

Concierge

public Concierge()
Method Detail

ID

public java.lang.String ID()
Description copied from interface: CMObject
The CoffeeMud Java Class ID shared by all instances of this object. Unlike the Java Class name, this method does not include package information. However, it must return a String value unique to its class category in the ClassLoader. Class categories include Libraries, Common, Areas, Abilities, Behaviors, CharClasses, Commands, Exits Locales, MOBS, Races, WebMacros, Basic Items, Armor, Weapons, ClanItems, Tech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
Overrides:
ID in class StdBehavior
Returns:
the name of this class

canImproveCode

protected int canImproveCode()
Overrides:
canImproveCode in class StdBehavior

accountForYourself

public java.lang.String accountForYourself()
Description copied from interface: Behavior
Returns a string describing what this behavior does. Mostly for thought and behavior reading systems.

Specified by:
accountForYourself in interface Behavior
Overrides:
accountForYourself in class StdBehavior
Returns:
a string describing what this behavior does.

disableComingsAndGoings

protected boolean disableComingsAndGoings()

getGiveMoneyMessage

protected java.lang.String getGiveMoneyMessage(MOB mob,
                                               Environmental observer,
                                               Environmental destination,
                                               java.lang.String moneyName)

getTalker

protected MOB getTalker(Environmental o,
                        Room room)

getReceiver

protected Environmental getReceiver(Environmental o,
                                    Room room)

resetDefaults

protected void resetDefaults()

resetFlags

protected void resetFlags()

setParms

public void setParms(java.lang.String newParm)
Description copied from interface: Behavior
Sets the raw parameter string for this behavior. Parameters are meant to modify or specify specific behavior of this Behavior.

Specified by:
setParms in interface Behavior
Overrides:
setParms in class StdBehavior
Parameters:
newParm - the parameter string for this behavior
See Also:
Behavior.getParms()

getPrice

protected double getPrice(Room centerRoom,
                          Room destR)

getRoomsInRange

protected final java.util.List<Room> getRoomsInRange(Room centerRoom,
                                                     java.util.List<Room> roomsInRange,
                                                     TrackingLibrary.TrackingFlags roomRadiusFlags)

findNearestAreaRoom

protected Room findNearestAreaRoom(Area A,
                                   java.util.List<Room> roomsInRange)

findDestination

protected Room findDestination(Environmental observer,
                               MOB mob,
                               Room centerRoom,
                               java.lang.String where,
                               TrackingLibrary.TrackingFlags roomRadiusFlags)

mayGiveThisMoney

protected boolean mayGiveThisMoney(MOB source,
                                   MOB conceirgeM,
                                   Room room,
                                   Environmental possibleCoins)

okMessage

public boolean okMessage(Environmental host,
                         CMMsg msg)
Description copied from interface: MsgListener
The general message event previewer for the object. Messages passed herein are in a pending state, and may be safely modified or rejected without fear that they might be in the middle of being executed. Messages passed herein may not necessarily be FOR or FROM this object, but will almost always represent events which want to happen in the same rom. This method should always always return true UNLESS this message needs to be canceled, in which case it is necessary to tell the mob initiating the event (CMMsg.source()) why it is being cancelled. Every game event goes through these methods.

Specified by:
okMessage in interface MsgListener
Overrides:
okMessage in class StdBehavior
Parameters:
host - either the initiator of the event, or the host of this object
msg - the CMMsg that wants to be executed
Returns:
whether this message is allowed to execute
See Also:
CMMsg, CMMsg.source()

tick

public boolean tick(Tickable ticking,
                    int tickID)
Description copied from interface: Tickable
this is the method which is called periodically by the threading engine. How often it is called depends on the parameters passed to the threadding engine when it is submitted for thread access. Typically the period is once per TIME_TICK period, but that is determined when the object is submitted to the thread engine.

Specified by:
tick in interface Tickable
Overrides:
tick in class StdBehavior
Parameters:
ticking - a reference to this Tickable object
tickID - the TICKID_ constant describing this periodic call, as defined in Tickable
Returns:
true always, unless this object no longer wishes to ever tick again, in which case false
See Also:
Tickable, ServiceEngine, TickableGroup

executeMoneyDrop

protected void executeMoneyDrop(MOB source,
                                MOB conciergeM,
                                Environmental possibleCoins,
                                CMMsg addToMsg)

getDestinationName

protected java.lang.String getDestinationName(MOB mob,
                                              Environmental destination)

giveMerchandise

protected void giveMerchandise(MOB whoM,
                               Room destination,
                               Environmental observer,
                               Room room,
                               TrackingLibrary.TrackingFlags trackingFlags)

executeMsg

public void executeMsg(Environmental affecting,
                       CMMsg msg)
Description copied from interface: MsgListener
The general message event handler for the object. Messages passed herein may not necessarily be FOR this object, or from it, but will almost always represent events happening in the same room. The messages have already been through an approval process, so this method is called only to affect the final execution of the meaning of the message. Every game event goes through these methods.

Specified by:
executeMsg in interface MsgListener
Overrides:
executeMsg in class StdBehavior
Parameters:
affecting - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg