com.planet_ink.coffee_mud.Libraries
Class MUDTracker
java.lang.Object
com.planet_ink.coffee_mud.Libraries.StdLibrary
com.planet_ink.coffee_mud.Libraries.MUDTracker
- All Implemented Interfaces:
- CMObject, Tickable, CMLibrary, TrackingLibrary, java.lang.Cloneable, java.lang.Comparable<CMObject>
public class MUDTracker
- extends StdLibrary
- implements TrackingLibrary
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 |
Method Summary |
static java.util.List<Rider> |
addRiders(Rider theRider,
Rideable riding,
java.util.List<Rider> riders)
|
boolean |
autoTrack(MOB mob,
Room destR)
|
boolean |
beMobile(MOB mob,
boolean dooropen,
boolean wander,
boolean roomprefer,
boolean roomobject,
int[] status,
java.util.Set<Room> rooms)
|
PairVector<Room,int[]> |
buildGridList(Room room,
java.lang.String ownerName,
int maxDepth)
|
boolean |
canValidTrail(Room R1,
java.util.List<Room> set,
java.lang.String where,
int radius,
java.util.Set<Room> ignoreRooms,
int maxMins)
|
Rideable |
findALadder(MOB mob,
Room room)
|
java.util.List<java.util.List<java.lang.Integer>> |
findAllTrails(Room from,
java.util.List<Room> tos,
java.util.List<Room> radiantTrail)
|
java.util.List<java.util.List<java.lang.Integer>> |
findAllTrails(Room from,
Room to,
java.util.List<Room> radiantTrail)
|
int |
findExitDir(MOB mob,
Room R,
java.lang.String desc)
|
int |
findRoomDir(MOB mob,
Room R)
|
java.util.List<Room> |
findTrailToAnyRoom(Room location,
java.util.List<Room> destRooms,
TrackingLibrary.TrackingFlags flags,
int maxRadius)
|
java.util.List<Room> |
findTrailToAnyRoom(Room location,
TrackingLibrary.RFilter destFilter,
TrackingLibrary.TrackingFlags flags,
int maxRadius)
|
java.util.List<Room> |
findTrailToRoom(Room location,
Room destRoom,
TrackingLibrary.TrackingFlags flags,
int maxRadius)
|
java.util.List<Room> |
findTrailToRoom(Room location,
Room destRoom,
TrackingLibrary.TrackingFlags flags,
int maxRadius,
java.util.List<Room> radiant)
|
void |
forceEntry(MOB M,
Room toHere,
boolean andFollowers,
boolean forceLook,
java.lang.String msg)
|
void |
forceRecall(MOB mob,
boolean includeFollowers)
|
Room |
getCalculatedAdjacentRoom(PairVector<Room,int[]> rooms,
Room R,
int dir)
|
protected int |
getCheckedDir(MOB M,
Room toHere)
|
protected java.util.List<java.lang.String> |
getCloseCommandSet(int direction)
|
protected java.util.List<java.lang.String> |
getDirectionCommandSet(int direction)
|
protected int |
getIndexEnsureSet(Room R1,
Room R2,
java.util.List<Room> set,
int radius,
java.util.Set<Room> ignoreRooms)
|
protected java.util.List<java.lang.String> |
getOpenCommandSet(int direction)
|
void |
getRadiantRooms(Room room,
java.util.List<Room> rooms,
TrackingLibrary.RFilters filters,
Room radiateTo,
int maxDepth,
java.util.Set<Room> ignoreRooms)
|
void |
getRadiantRooms(Room room,
java.util.List<Room> rooms,
TrackingLibrary.TrackingFlags flags,
Room radiateTo,
int maxDepth,
java.util.Set<Room> ignoreRooms)
|
java.util.List<Room> |
getRadiantRooms(Room room,
TrackingLibrary.RFilters filters,
int maxDepth)
|
java.util.List<Room> |
getRadiantRooms(Room room,
TrackingLibrary.TrackingFlags flags,
int maxDepth)
|
protected boolean |
getRadiantRoomsToTarget(Room room,
java.util.List<Room> rooms,
TrackingLibrary.RFilters filters,
TrackingLibrary.RFilter radiateTo,
int maxDepth)
|
protected boolean |
getRadiantRoomsToTarget(Room room,
java.util.List<Room> rooms,
TrackingLibrary.TrackingFlags flags,
TrackingLibrary.RFilter radiateTo,
int maxDepth)
|
Room |
getRadiantRoomTarget(Room room,
TrackingLibrary.RFilters filters,
TrackingLibrary.RFilter radiateTo)
|
protected int |
getRoomDirection(Room R,
Room toRoom,
java.util.List<Room> ignore)
|
java.util.List<java.lang.Integer> |
getShortestTrail(java.util.List<java.util.List<java.lang.Integer>> finalSets)
|
java.lang.String |
getTrailToDescription(Room R1,
java.util.List<Room> set,
java.lang.String where,
boolean areaNames,
boolean confirm,
int radius,
java.util.Set<Room> ignoreRooms,
int maxMins)
|
protected Room |
getWhere(java.lang.String where,
java.util.List<Room> set)
|
java.lang.String |
ID()
The CoffeeMud Java Class ID shared by all instances of
this object. |
boolean |
isAnAdminHere(Room R,
boolean sysMsgsOnly)
|
CMMsg.CheckedMsgResponse |
isOkWaterSurfaceAffect(Room room,
CMMsg msg)
|
boolean |
makeFall(Physical P,
Room room,
boolean reverseFall)
|
void |
makeSink(Physical P,
Room room,
boolean reverseSink)
|
void |
markToWanderHomeLater(MOB M)
|
protected boolean |
move(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders,
boolean always,
boolean running)
|
TrackingLibrary.TrackingFlags |
newFlags()
|
void |
postMountLadder(MOB mob,
Rideable ladder)
|
int |
radiatesFromDir(Room room,
java.util.List<Room> rooms)
|
java.util.List<Rider> |
ridersAhead(Rider theRider,
Room sourceRoom,
Room destRoom,
int directionCode,
boolean flee,
boolean running)
|
void |
ridersBehind(java.util.List<Rider> riders,
Room sourceRoom,
Room destRoom,
int directionCode,
boolean flee,
boolean running)
|
boolean |
run(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders)
|
boolean |
run(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders,
boolean always)
|
void |
stopTracking(MOB mob)
|
int |
trackNextDirectionFromHere(java.util.List<Room> theTrail,
Room location,
boolean openOnly)
|
boolean |
walk(Item I,
int directionCode)
|
boolean |
walk(MOB mob,
int directionCode,
boolean flee,
boolean nolook)
|
boolean |
walk(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders)
|
boolean |
walk(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders,
boolean always)
|
void |
walkForced(MOB M,
Room fromHere,
Room toHere,
boolean andFollowers,
boolean forceLook,
java.lang.String msgStr)
|
void |
wanderAway(MOB M,
boolean mindPCs,
boolean andGoHome)
|
boolean |
wanderCheckedAway(MOB M,
boolean mindPCs,
boolean andGoHome)
|
boolean |
wanderCheckedFromTo(MOB M,
Room toHere,
boolean mindPCs)
|
void |
wanderFromTo(MOB M,
Room toHere,
boolean mindPCs)
|
void |
wanderIn(MOB M,
Room toHere)
|
Methods inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary |
activate, checkDatabase, compareTo, copyOf, getServiceClient, getTickStatus, initializeClass, L, name, newInstance, propertiesLoaded, setThreadStatus, shutdown, tick |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.lang.Comparable |
compareTo |
directionCommandSets
protected java.util.Map<java.lang.Integer,java.util.List<java.lang.String>> directionCommandSets
openCommandSets
protected java.util.Map<java.lang.Integer,java.util.List<java.lang.String>> openCommandSets
closeCommandSets
protected java.util.Map<java.lang.Integer,java.util.List<java.lang.String>> closeCommandSets
trackingFilters
protected java.util.Map<TrackingLibrary.TrackingFlags,TrackingLibrary.RFilters> trackingFilters
EMPTY_FLAGS
protected static final TrackingLibrary.TrackingFlags EMPTY_FLAGS
EMPTY_FILTERS
protected static final TrackingLibrary.RFilters EMPTY_FILTERS
MUDTracker
public MUDTracker()
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 StdLibrary
- Returns:
- the name of this class
autoTrack
public boolean autoTrack(MOB mob,
Room destR)
- Specified by:
autoTrack
in interface TrackingLibrary
getDirectionCommandSet
protected java.util.List<java.lang.String> getDirectionCommandSet(int direction)
getOpenCommandSet
protected java.util.List<java.lang.String> getOpenCommandSet(int direction)
getCloseCommandSet
protected java.util.List<java.lang.String> getCloseCommandSet(int direction)
findTrailToRoom
public java.util.List<Room> findTrailToRoom(Room location,
Room destRoom,
TrackingLibrary.TrackingFlags flags,
int maxRadius)
- Specified by:
findTrailToRoom
in interface TrackingLibrary
findTrailToRoom
public java.util.List<Room> findTrailToRoom(Room location,
Room destRoom,
TrackingLibrary.TrackingFlags flags,
int maxRadius,
java.util.List<Room> radiant)
- Specified by:
findTrailToRoom
in interface TrackingLibrary
markToWanderHomeLater
public void markToWanderHomeLater(MOB M)
- Specified by:
markToWanderHomeLater
in interface TrackingLibrary
findTrailToAnyRoom
public java.util.List<Room> findTrailToAnyRoom(Room location,
java.util.List<Room> destRooms,
TrackingLibrary.TrackingFlags flags,
int maxRadius)
- Specified by:
findTrailToAnyRoom
in interface TrackingLibrary
findTrailToAnyRoom
public java.util.List<Room> findTrailToAnyRoom(Room location,
TrackingLibrary.RFilter destFilter,
TrackingLibrary.TrackingFlags flags,
int maxRadius)
- Specified by:
findTrailToAnyRoom
in interface TrackingLibrary
trackNextDirectionFromHere
public int trackNextDirectionFromHere(java.util.List<Room> theTrail,
Room location,
boolean openOnly)
- Specified by:
trackNextDirectionFromHere
in interface TrackingLibrary
radiatesFromDir
public int radiatesFromDir(Room room,
java.util.List<Room> rooms)
- Specified by:
radiatesFromDir
in interface TrackingLibrary
getRadiantRooms
public java.util.List<Room> getRadiantRooms(Room room,
TrackingLibrary.TrackingFlags flags,
int maxDepth)
- Specified by:
getRadiantRooms
in interface TrackingLibrary
getRadiantRooms
public java.util.List<Room> getRadiantRooms(Room room,
TrackingLibrary.RFilters filters,
int maxDepth)
- Specified by:
getRadiantRooms
in interface TrackingLibrary
getRadiantRooms
public void getRadiantRooms(Room room,
java.util.List<Room> rooms,
TrackingLibrary.TrackingFlags flags,
Room radiateTo,
int maxDepth,
java.util.Set<Room> ignoreRooms)
- Specified by:
getRadiantRooms
in interface TrackingLibrary
newFlags
public TrackingLibrary.TrackingFlags newFlags()
- Specified by:
newFlags
in interface TrackingLibrary
getRadiantRooms
public void getRadiantRooms(Room room,
java.util.List<Room> rooms,
TrackingLibrary.RFilters filters,
Room radiateTo,
int maxDepth,
java.util.Set<Room> ignoreRooms)
- Specified by:
getRadiantRooms
in interface TrackingLibrary
getRadiantRoomsToTarget
protected boolean getRadiantRoomsToTarget(Room room,
java.util.List<Room> rooms,
TrackingLibrary.TrackingFlags flags,
TrackingLibrary.RFilter radiateTo,
int maxDepth)
getRadiantRoomsToTarget
protected boolean getRadiantRoomsToTarget(Room room,
java.util.List<Room> rooms,
TrackingLibrary.RFilters filters,
TrackingLibrary.RFilter radiateTo,
int maxDepth)
getRadiantRoomTarget
public Room getRadiantRoomTarget(Room room,
TrackingLibrary.RFilters filters,
TrackingLibrary.RFilter radiateTo)
- Specified by:
getRadiantRoomTarget
in interface TrackingLibrary
stopTracking
public void stopTracking(MOB mob)
- Specified by:
stopTracking
in interface TrackingLibrary
isAnAdminHere
public boolean isAnAdminHere(Room R,
boolean sysMsgsOnly)
- Specified by:
isAnAdminHere
in interface TrackingLibrary
beMobile
public boolean beMobile(MOB mob,
boolean dooropen,
boolean wander,
boolean roomprefer,
boolean roomobject,
int[] status,
java.util.Set<Room> rooms)
- Specified by:
beMobile
in interface TrackingLibrary
wanderAway
public void wanderAway(MOB M,
boolean mindPCs,
boolean andGoHome)
- Specified by:
wanderAway
in interface TrackingLibrary
wanderCheckedAway
public boolean wanderCheckedAway(MOB M,
boolean mindPCs,
boolean andGoHome)
- Specified by:
wanderCheckedAway
in interface TrackingLibrary
wanderFromTo
public void wanderFromTo(MOB M,
Room toHere,
boolean mindPCs)
- Specified by:
wanderFromTo
in interface TrackingLibrary
getCheckedDir
protected int getCheckedDir(MOB M,
Room toHere)
wanderCheckedFromTo
public boolean wanderCheckedFromTo(MOB M,
Room toHere,
boolean mindPCs)
- Specified by:
wanderCheckedFromTo
in interface TrackingLibrary
wanderIn
public void wanderIn(MOB M,
Room toHere)
- Specified by:
wanderIn
in interface TrackingLibrary
forceEntry
public void forceEntry(MOB M,
Room toHere,
boolean andFollowers,
boolean forceLook,
java.lang.String msg)
- Specified by:
forceEntry
in interface TrackingLibrary
walkForced
public void walkForced(MOB M,
Room fromHere,
Room toHere,
boolean andFollowers,
boolean forceLook,
java.lang.String msgStr)
- Specified by:
walkForced
in interface TrackingLibrary
ridersBehind
public void ridersBehind(java.util.List<Rider> riders,
Room sourceRoom,
Room destRoom,
int directionCode,
boolean flee,
boolean running)
addRiders
public static java.util.List<Rider> addRiders(Rider theRider,
Rideable riding,
java.util.List<Rider> riders)
ridersAhead
public java.util.List<Rider> ridersAhead(Rider theRider,
Room sourceRoom,
Room destRoom,
int directionCode,
boolean flee,
boolean running)
walk
public boolean walk(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders)
- Specified by:
walk
in interface TrackingLibrary
run
public boolean run(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders)
- Specified by:
run
in interface TrackingLibrary
walk
public boolean walk(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders,
boolean always)
- Specified by:
walk
in interface TrackingLibrary
run
public boolean run(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders,
boolean always)
- Specified by:
run
in interface TrackingLibrary
move
protected boolean move(MOB mob,
int directionCode,
boolean flee,
boolean nolook,
boolean noriders,
boolean always,
boolean running)
walk
public boolean walk(MOB mob,
int directionCode,
boolean flee,
boolean nolook)
- Specified by:
walk
in interface TrackingLibrary
walk
public boolean walk(Item I,
int directionCode)
- Specified by:
walk
in interface TrackingLibrary
findExitDir
public int findExitDir(MOB mob,
Room R,
java.lang.String desc)
- Specified by:
findExitDir
in interface TrackingLibrary
findRoomDir
public int findRoomDir(MOB mob,
Room R)
- Specified by:
findRoomDir
in interface TrackingLibrary
getShortestTrail
public java.util.List<java.lang.Integer> getShortestTrail(java.util.List<java.util.List<java.lang.Integer>> finalSets)
- Specified by:
getShortestTrail
in interface TrackingLibrary
findAllTrails
public java.util.List<java.util.List<java.lang.Integer>> findAllTrails(Room from,
Room to,
java.util.List<Room> radiantTrail)
- Specified by:
findAllTrails
in interface TrackingLibrary
findAllTrails
public java.util.List<java.util.List<java.lang.Integer>> findAllTrails(Room from,
java.util.List<Room> tos,
java.util.List<Room> radiantTrail)
- Specified by:
findAllTrails
in interface TrackingLibrary
getRoomDirection
protected int getRoomDirection(Room R,
Room toRoom,
java.util.List<Room> ignore)
getWhere
protected Room getWhere(java.lang.String where,
java.util.List<Room> set)
getIndexEnsureSet
protected int getIndexEnsureSet(Room R1,
Room R2,
java.util.List<Room> set,
int radius,
java.util.Set<Room> ignoreRooms)
canValidTrail
public boolean canValidTrail(Room R1,
java.util.List<Room> set,
java.lang.String where,
int radius,
java.util.Set<Room> ignoreRooms,
int maxMins)
- Specified by:
canValidTrail
in interface TrackingLibrary
getTrailToDescription
public java.lang.String getTrailToDescription(Room R1,
java.util.List<Room> set,
java.lang.String where,
boolean areaNames,
boolean confirm,
int radius,
java.util.Set<Room> ignoreRooms,
int maxMins)
- Specified by:
getTrailToDescription
in interface TrackingLibrary
findALadder
public Rideable findALadder(MOB mob,
Room room)
- Specified by:
findALadder
in interface TrackingLibrary
postMountLadder
public void postMountLadder(MOB mob,
Rideable ladder)
- Specified by:
postMountLadder
in interface TrackingLibrary
makeFall
public boolean makeFall(Physical P,
Room room,
boolean reverseFall)
- Specified by:
makeFall
in interface TrackingLibrary
isOkWaterSurfaceAffect
public CMMsg.CheckedMsgResponse isOkWaterSurfaceAffect(Room room,
CMMsg msg)
- Specified by:
isOkWaterSurfaceAffect
in interface TrackingLibrary
makeSink
public void makeSink(Physical P,
Room room,
boolean reverseSink)
- Specified by:
makeSink
in interface TrackingLibrary
forceRecall
public void forceRecall(MOB mob,
boolean includeFollowers)
- Specified by:
forceRecall
in interface TrackingLibrary
buildGridList
public PairVector<Room,int[]> buildGridList(Room room,
java.lang.String ownerName,
int maxDepth)
- Specified by:
buildGridList
in interface TrackingLibrary
getCalculatedAdjacentRoom
public Room getCalculatedAdjacentRoom(PairVector<Room,int[]> rooms,
Room R,
int dir)
- Specified by:
getCalculatedAdjacentRoom
in interface TrackingLibrary