com.tootsville.npc
Class Harmony

java.lang.Object
  extended by org.starhope.appius.user.GeneralUser
      extended by org.starhope.appius.user.AbstractNonPlayerCharacter
          extended by com.tootsville.npc.Harmony
All Implemented Interfaces:
Serializable, Comparable<Object>, RoomListener, Collidable, HasVariables, AbstractUser, DataRecordBacked<UserRecord>, AcceptsMetronomeTicks, HasName

public class Harmony
extends AbstractNonPlayerCharacter

Author:
brpocock@star-hope.org
See Also:
Serialized Form

Nested Class Summary
(package private) static class Harmony.EnterForestRunner
          WRITEME: Document this type.
(package private) static class Harmony.GoAwayRunner
          WRITEME: Document this type.
(package private) static class Harmony.GoNowhere
          WRITEME: Document this type.
(package private) static class Harmony.KidWalksUpTo
          WRITEME: Document this type.
(package private) static class Harmony.SitOnTuffetRunner
          WRITEME: Document this type.
 
Field Summary
protected static int CLEANUP_ITEM_ID
          WRITEME
static String EVENT_MONIKER
          WRITEME
protected static AtomicInteger instanceCounter
          Counter for getting instance ID's
private  ActionHandler kidWalksUpHandler
          handler for kids walking onto her Tuffet
static int LEVEL_1_COUNT
          WRITEME
static int LEVEL_1_ITEM
          WRITEME
static int LEVEL_2_COUNT
          WRITEME
static int LEVEL_2_ITEM
          WRITEME
private  long nextAppearance
          WRITEME: Document this brpocock@star-hope.org
private  long nextExit
          WRITEME: Document this brpocock@star-hope.org
(package private) static Set<AbstractUser> saidNeedMore
          Don't nag them about not cleaning up more, once we know about it
(package private) static Set<AbstractUser> saidNotCleaned
          Don't nag them about not cleaning up more, once we know about it
private static long serialVersionUID
          WRITEME: Document this brpocock@star-hope.org
 
Fields inherited from class org.starhope.appius.user.AbstractNonPlayerCharacter
buddyList, casualSpeechQueue, casualSpeechRate, instanceID, kalendor, lastActive, lastSpoken
 
Fields inherited from class org.starhope.appius.user.GeneralUser
baseStats, collisionBounds, currentRoom, facing, lastUserMovement, pathFinder, userRecord
 
Constructor Summary
Harmony(Zone z)
          WRITEME brpocock@star-hope.org
 
Method Summary
 void acceptPublicMessage(AbstractUser from, String message)
          Accept a public chat message.
 void ban(AbstractUser u, String banReason)
           
 void enterEnchantedForest()
          enters Enchanted Forest from “stage left” where we imagine her house must be.
protected  int getInstanceID()
           
 void goAway()
          Leave…
 void scheduleExit()
          Schedule to leave on the next even-numbered hour
 void scheduleNextAppearance()
          Schedule to appear on the next odd-numbered hour
protected  void setLastSpoken()
          WRITEME: Document this method brpocock@star-hope.org
protected  void sitOnTuffet()
          WRITEME: Document this method brpocock@star-hope.org
 
Methods inherited from class org.starhope.appius.user.AbstractNonPlayerCharacter
acceptErrorReply, acceptGameAction, acceptGameStateChange, acceptMessage, acceptPrivateMessage, acceptPublicMessage, acceptSuccessReply, acceptUserList, addBuddy, addGiftSubscription, addItem, canTalk, destroy, doTransport, equals, getAccessibleRooms, getAvatarClass, getAvatarLabel, getBaseColor, getBuddyListNames, getDebugName, getGreeting, getIPAddress, getKickedMessage, getLag, getLanguage, getLocation, getMail, getName, getNameApprovedAt, getNameRequestedAt, getNameStripped, getPublicInfo_new, getServerThread, hashCode, inviteBuddy, isBuddy, isNPC, isOnline, isPaidMember, kick, liftBan, needsParent, reportedToModeratorBy, reportedToModeratorBy, sendMigrate, sendOops, sendResponse, setLastActive, setMail, setParent, speak, speakCasually, tick, toJSON, toSFSXML, toString, whenAtTarget
 
Methods inherited from class org.starhope.appius.user.GeneralUser
acceptObjectJoinRoom, acceptObjectPartRoom, acceptOutOfBandMessage, acceptUserAction, acceptUserVariableUpdate, assertLocationUnlocked, assertStaffLevel, attend, canApproveSelf, canBetaTest, canEnterChatZone, canEnterMenuZone, changeBaseDefenses, compareTo, deleteVariable, doffClothes, getAge, getAgeGroup, getApprovedDateString, getBaseDefenses, getBaseStat, getCenterOfMass, getCollisionBounds, getCurrentAction, getD, getDialect, getDisplayName, getEffectiveDefenses, getEndMovementTime, getExtraColor, getFacing, getGameEquipItems_JSON, getGameEquipItems, getHeight, getHouse, getInventory, getItemsByType, getItemsByType, getItemsByTypeAsArray, getKickedByUserID, getKickedReasonCode, getKickedUntil, getLocationForUpdate, getMass, getMoney, getPathFinder, getPublicInfo, getRegisteredAt, getRegisteredDate, getRegisteredDateString, getRequestedName, getResponsibleMail, getRoom, getRoomNumber, getSizeScalar, getStaffLevel, getStartMovementTime, getStartT, getStat, getTarget, getTravelRate, getTravelStart, getUserID, getUserListIterator, getUserName, getUserVariables, getVariable, getVariables, getVariablesJSON, getVelocity, getWallet, getZone, handleWalkFail, hasStaffLevel, hasVariable, ignore, isActive, isApproved, isBanned, isCanceled, isKicked, local_publicInfo, purchase, removeBuddy, resetVariables, sendBuddyList, sendEarnings, sendEarnings, sendEarnings, sendWardrobe, setAgeGroupToSystem, setBackingRecord, setBaseColor, setCanTalk, setCenterOfMass, setCurrentAction, setExtraColor, setFacing, setLocation, setRoom, setStartT, setTarget, setTravelRate, setTravelStart, setVariable, setVariable, setVariables, setVelocity, takeAttack, unlockLocation, updateWallet
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
WRITEME: Document this brpocock@star-hope.org

See Also:
Constant Field Values

nextAppearance

private long nextAppearance
WRITEME: Document this brpocock@star-hope.org


nextExit

private long nextExit
WRITEME: Document this brpocock@star-hope.org


saidNotCleaned

static final Set<AbstractUser> saidNotCleaned
Don't nag them about not cleaning up more, once we know about it


saidNeedMore

static final Set<AbstractUser> saidNeedMore
Don't nag them about not cleaning up more, once we know about it


LEVEL_1_COUNT

public static final int LEVEL_1_COUNT
WRITEME

See Also:
Constant Field Values

LEVEL_1_ITEM

public static final int LEVEL_1_ITEM
WRITEME

See Also:
Constant Field Values

LEVEL_2_COUNT

public static final int LEVEL_2_COUNT
WRITEME

See Also:
Constant Field Values

LEVEL_2_ITEM

public static final int LEVEL_2_ITEM
WRITEME

See Also:
Constant Field Values

CLEANUP_ITEM_ID

protected static final int CLEANUP_ITEM_ID
WRITEME

See Also:
Constant Field Values

instanceCounter

protected static final AtomicInteger instanceCounter
Counter for getting instance ID's


EVENT_MONIKER

public static final String EVENT_MONIKER
WRITEME

See Also:
Constant Field Values

kidWalksUpHandler

private final ActionHandler kidWalksUpHandler
handler for kids walking onto her Tuffet

Constructor Detail

Harmony

public Harmony(Zone z)
        throws NotFoundException,
               GameLogicException
WRITEME brpocock@star-hope.org

Parameters:
z - WRITEME
Throws:
GameLogicException - WRITEME
NotFoundException - WRITEME
Method Detail

acceptPublicMessage

public void acceptPublicMessage(AbstractUser from,
                                String message)
Description copied from interface: RoomListener
Accept a public chat message. This prototype does not specify the room, on the (potentially invalid) assumption that the room listener doesn't care from which room the speech was made.

Specified by:
acceptPublicMessage in interface RoomListener
Overrides:
acceptPublicMessage in class AbstractNonPlayerCharacter
Parameters:
from - The speaker
message - The spoken text or /emote
See Also:
AbstractNonPlayerCharacter.acceptPublicMessage(org.starhope.appius.user.AbstractUser, java.lang.String)

ban

public void ban(AbstractUser u,
                String banReason)
         throws PrivilegeRequiredException
Parameters:
u - WRITEME
banReason - WRITEME
Throws:
PrivilegeRequiredException - WRITEME
See Also:
AbstractUser.ban(org.starhope.appius.user.AbstractUser, java.lang.String)

enterEnchantedForest

public void enterEnchantedForest()
enters Enchanted Forest from “stage left” where we imagine her house must be.


getInstanceID

protected int getInstanceID()
Specified by:
getInstanceID in class AbstractNonPlayerCharacter
Returns:
An unique ID for this instance of
See Also:
AbstractNonPlayerCharacter.getInstanceID()

goAway

public void goAway()
Leave…


scheduleExit

public void scheduleExit()
Schedule to leave on the next even-numbered hour


scheduleNextAppearance

public void scheduleNextAppearance()
Schedule to appear on the next odd-numbered hour


setLastSpoken

protected void setLastSpoken()
WRITEME: Document this method brpocock@star-hope.org


sitOnTuffet

protected void sitOnTuffet()
WRITEME: Document this method brpocock@star-hope.org