com.planet_ink.coffee_mud.core.interfaces
Interface LandTitle

All Superinterfaces:
java.lang.Cloneable, CMObject, java.lang.Comparable<CMObject>, Contingent, Environmental, Modifiable, MsgListener, PrivateProperty, StatsAffecting, Tickable
All Known Implementing Classes:
GenTitle, Prop_AreaForSale, Prop_LotForSale, Prop_LotsForSale, Prop_RoomForSale, Prop_RoomPlusForSale, Prop_RoomsForSale, StdTitle

public interface LandTitle
extends PrivateProperty

Interface for objects which represents real estate purchasable by players. May be found implemented by Abilities which are placed as effects on the room objects for sale, or implemented as Items representing the sellable title.


Field Summary
 
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
 boolean allowsExpansionConstruction()
          Returns whether this title allows property to be expanded through masonry or construction.
 int backTaxes()
          If back taxes is owned on this property, this is how the value is retrieved.
 LandTitle generateNextRoomTitle()
          If this title allows expansion construction, this this will return the new title to assign to the newly constructed rooms.
 java.util.List<Room> getAllTitledRooms()
          The complete set of room objects represented by this title
 java.util.List<Room> getConnectedPropertyRooms()
          The complete set of room objects that are tied together by one or more titles.
 java.lang.String getUniqueLotID()
          Returns a unique identifier corresponding to getConnectedPropertyRooms.
 boolean gridLayout()
          Returns whether this title creates connected walls between new rooms as if the rooms were laid out in a grid.
 java.lang.String landPropertyID()
          Get the roomID or the Area name of the property for sale
 boolean rentalProperty()
          Whether this property is a rental.
 void setBackTaxes(int amount)
          If back taxes is owned on this property, this is how the value is set.
 void setGridLayout(boolean gridLayout)
          Sets whether this title creates connected walls between new rooms as if the rooms were laid out in a grid.
 void setLandPropertyID(java.lang.String landID)
          Set the roomID or the Area name of the property for sale
 void setRentalProperty(boolean truefalse)
          Sets whether this property is a rental.
 void updateLot(java.util.Set<java.lang.String> optPlayerList)
          Checks for changes in the content or condition of the rooms represented by this title and saves the changes to the database, if necessary.
 void updateTitle()
          Simply resaves the rooms represented by this title to reflect change in ownership or price.
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.PrivateProperty
getOwnerName, getOwnerObject, getPrice, getTitleID, setOwnerName, setPrice
 
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
 

Method Detail

landPropertyID

java.lang.String landPropertyID()
Get the roomID or the Area name of the property for sale

Returns:
the roomID or the Area name of the property for sale

setLandPropertyID

void setLandPropertyID(java.lang.String landID)
Set the roomID or the Area name of the property for sale

Parameters:
landID - the roomID or the Area name of the property for sale

updateLot

void updateLot(java.util.Set<java.lang.String> optPlayerList)
Checks for changes in the content or condition of the rooms represented by this title and saves the changes to the database, if necessary.

Parameters:
optPlayerList - - null, or a vector of player names for quick confirms
See Also:
updateTitle()

updateTitle

void updateTitle()
Simply resaves the rooms represented by this title to reflect change in ownership or price. The state of the rooms is not inspected or updated as in updateLot.

See Also:
updateLot(Set)

getAllTitledRooms

java.util.List<Room> getAllTitledRooms()
The complete set of room objects represented by this title

Returns:
a list of the complete set of Room objects represented by this title
See Also:
Room

getConnectedPropertyRooms

java.util.List<Room> getConnectedPropertyRooms()
The complete set of room objects that are tied together by one or more titles.

Returns:
a list of the complete set of Room objects represented by property
See Also:
Room

getUniqueLotID

java.lang.String getUniqueLotID()
Returns a unique identifier corresponding to getConnectedPropertyRooms. An identifier that uniquely identifies all the connected lots of this property, even if they are unowned, or owned by different people. Think of it as a "subdivision" when lots are variously owned, or a "mansion id" when lots are owned by one person.

Returns:
unique identifier

rentalProperty

boolean rentalProperty()
Whether this property is a rental.

Returns:
true if the property is rental, false if ownable outright

setRentalProperty

void setRentalProperty(boolean truefalse)
Sets whether this property is a rental.

Parameters:
truefalse - true if the property is rental, false if ownable outright

setBackTaxes

void setBackTaxes(int amount)
If back taxes is owned on this property, this is how the value is set. The value should be in base coffeemud currency

Parameters:
amount - the back taxes owed

backTaxes

int backTaxes()
If back taxes is owned on this property, this is how the value is retrieved. The value should be in base coffeemud currency

Returns:
amount the back taxes owed

generateNextRoomTitle

LandTitle generateNextRoomTitle()
If this title allows expansion construction, this this will return the new title to assign to the newly constructed rooms.

Returns:
the new title to assigne to a new room.
See Also:
allowsExpansionConstruction()

allowsExpansionConstruction

boolean allowsExpansionConstruction()
Returns whether this title allows property to be expanded through masonry or construction.

Returns:
true if expansion is OK, false otherwise
See Also:
generateNextRoomTitle()

gridLayout

boolean gridLayout()
Returns whether this title creates connected walls between new rooms as if the rooms were laid out in a grid.

Returns:
true if the rooms can lay out as a grid, false otherwise

setGridLayout

void setGridLayout(boolean gridLayout)
Sets whether this title creates connected walls between new rooms as if the rooms were laid out in a grid.

Parameters:
gridLayout - true if the rooms can lay out as a grid, false otherwise