com.planet_ink.coffee_mud.Abilities.Properties
Class Prop_RoomForSale

java.lang.Object
  extended by com.planet_ink.coffee_mud.Abilities.Properties.Property
      extended by com.planet_ink.coffee_mud.Abilities.Properties.Prop_RoomForSale
All Implemented Interfaces:
Ability, CMObject, Contingent, Environmental, LandTitle, Modifiable, MsgListener, StatsAffecting, Tickable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
Prop_LotsForSale, Prop_RoomsForSale

public class Prop_RoomForSale
extends Property
implements LandTitle


Field Summary
protected  int lastDayDone
           
protected  int lastItemNums
           
static java.lang.String RENTSTR
           
static java.lang.String SALESTR
           
protected  boolean scheduleReset
           
 
Fields inherited from class com.planet_ink.coffee_mud.Abilities.Properties.Property
affected, amDestroyed, empty, miscText, savable
 
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_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MOB, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SPELL_AFFECT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET, TICKMASK_SOLITARY
 
Fields inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
ACODE_CHANT, ACODE_COMMON_SKILL, ACODE_DESCS, ACODE_DISEASE, ACODE_LANGUAGE, ACODE_POISON, ACODE_PRAYER, ACODE_PROPERTY, ACODE_SKILL, ACODE_SONG, ACODE_SPELL, ACODE_SUPERPOWER, ACODE_THIEF_SKILL, ACODE_TRAP, ALL_ACODES, ALL_DOMAINS, CAN_AREAS, CAN_DESCS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, DOMAIN_ABJURATION, DOMAIN_ACROBATIC, DOMAIN_ALERT, DOMAIN_ALTERATION, DOMAIN_ANATOMY, DOMAIN_ANIMALAFFINITY, DOMAIN_ARCANELORE, DOMAIN_ARCHON, DOMAIN_ARMORUSE, DOMAIN_ARTISTIC, DOMAIN_BINDING, DOMAIN_BLESSING, DOMAIN_BREEDING, DOMAIN_CALLIGRAPHY, DOMAIN_COMBATFLUIDITY, DOMAIN_COMBATLORE, DOMAIN_COMMUNING, DOMAIN_CONJURATION, DOMAIN_CORRUPTION, DOMAIN_CRAFTINGSKILL, DOMAIN_CREATION, DOMAIN_CRIMINAL, DOMAIN_CURSING, DOMAIN_DANCING, DOMAIN_DEATHLORE, DOMAIN_DECEPTIVE, DOMAIN_DEEPMAGIC, DOMAIN_DESCS, DOMAIN_DETRAP, DOMAIN_DIRTYFIGHTING, DOMAIN_DIVINATION, DOMAIN_ENCHANTMENT, DOMAIN_ENDURING, DOMAIN_EVANGELISM, DOMAIN_EVASIVE, DOMAIN_EVOCATION, DOMAIN_FITNESS, DOMAIN_FOOLISHNESS, DOMAIN_GATHERINGSKILL, DOMAIN_GRAPPLING, DOMAIN_HEALING, DOMAIN_HOLYPROTECTION, DOMAIN_ILLUSION, DOMAIN_INFLUENTIAL, DOMAIN_KICKING, DOMAIN_LEGAL, DOMAIN_MARTIALLORE, DOMAIN_MOONALTERING, DOMAIN_MOONSUMMONING, DOMAIN_NATURELORE, DOMAIN_NEUTRALIZATION, DOMAIN_PLANTCONTROL, DOMAIN_PLANTGROWTH, DOMAIN_PLAYING, DOMAIN_POISONING, DOMAIN_PRESERVING, DOMAIN_PUNCHING, DOMAIN_RACIALABILITY, DOMAIN_RESTORATION, DOMAIN_ROCKCONTROL, DOMAIN_SHAPE_SHIFTING, DOMAIN_SHIELDUSE, DOMAIN_SINGING, DOMAIN_STEALING, DOMAIN_STEALTHY, DOMAIN_STREETSMARTS, DOMAIN_TRANSMUTATION, DOMAIN_TRAPPING, DOMAIN_VERBS, DOMAIN_VEXING, DOMAIN_WARDING, DOMAIN_WEAPON_USE, DOMAIN_WEATHER_MASTERY, FLAG_AIRBASED, FLAG_BINDING, FLAG_CHARMING, FLAG_CLANMAGIC, FLAG_DESCS, FLAG_EARTHBASED, FLAG_FIREBASED, FLAG_HEALINGMAGIC, FLAG_HEATING, FLAG_HOLY, FLAG_INTOXICATING, FLAG_MOVING, FLAG_NOORDERING, FLAG_PARALYZING, FLAG_SUMMONING, FLAG_TRACKING, FLAG_TRANSPORTING, FLAG_UNHOLY, FLAG_WATERBASED, FLAG_WEATHERAFFECTING, QUALITY_BENEFICIAL_OTHERS, QUALITY_BENEFICIAL_SELF, QUALITY_DESCS, QUALITY_INDIFFERENT, QUALITY_MALICIOUS, QUALITY_OK_OTHERS, QUALITY_OK_SELF, RANGE_CHOICES, USAGE_DESCS, USAGE_HITPOINTS, USAGE_MANA, USAGE_MOVEMENT, USAGE_NADA, USAGEINDEX_HITPOINTS, USAGEINDEX_MANA, USAGEINDEX_MOVEMENT
 
Constructor Summary
Prop_RoomForSale()
           
 
Method Summary
 java.lang.String accountForYourself()
          For use by the identify spell, this should return a nice description of any properties incorporated by this effect.
 int backTaxes()
          If back taxes is owned on this property, this is how the value is retreived.
protected  int canAffectCode()
          Designates whether, when used as a property/effect, what sort of objects this ability can affect.
static void colorForSale(Room R, boolean rental, boolean reset)
           
static boolean doRentalProperty(Area A, java.lang.String ID, java.lang.String owner, int rent)
           
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
 java.util.List<Room> getPropertyRooms()
          The complete set of room objects represented by this title
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 java.lang.String landOwner()
          Get the owner of the property, usually a clan name or a player name.
 CMObject landOwnerObject()
          Get the actual clan or mob owner of the property, or null if it can not.
 int landPrice()
          The value of the property in base currency values
 java.lang.String landPropertyID()
          Get the roomID or the Area name of the property for sale
 java.lang.String name()
          The displayable name of this object.
 boolean okMessage(Environmental myHost, CMMsg msg)
          The general message event previewer for the object.
 boolean rentalProperty()
          Whether this property is a rental.
static boolean robberyCheck(LandTitle A, CMMsg msg)
           
 void setBackTaxes(int tax)
          If back taxes is owned on this property, this is how the value is set.
 void setLandOwner(java.lang.String owner)
          Set the owner of the property, usually a clan name or a player name.
 void setLandPrice(int price)
          set the value of the property in base currency values
 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.
static boolean shopkeeperMobPresent(Room R)
           
 void updateLot(java.util.List 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.
static int updateLotWithThisData(Room R, LandTitle T, boolean resetRoomName, boolean clearAllItems, java.util.List optPlayerList, int lastNumItems)
           
 void updateTitle()
          Simply resaves the rooms represented by this title to reflect change in ownership or price.
 
Methods inherited from class com.planet_ink.coffee_mud.Abilities.Properties.Property
abilityCode, abstractQuality, adjustedLevel, affectCharState, affectCharStats, affecting, affectPhyStats, amDestroyed, appropriateToMyFactions, autoInvocation, bubbleAffect, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, canTargetCode, castingQuality, castingTime, checkedCastingTime, classificationCode, clearExpertiseCache, combatCastingTime, compareTo, copyOf, description, destroy, displayText, enchantQuality, expirationDate, externalFiles, flags, getCodeNum, getSaveStatIndex, getStat, getStatCodes, getTicksBetweenCasts, getTickStatus, helpProficiency, image, initializeClass, invoke, invoke, invoker, isAutoInvoked, isGeneric, isNowAnAutoEffect, isSavable, isStat, makeLongLasting, makeNonUninvokable, maxRange, minRange, miscTextFormat, Name, newInstance, practice, practicesRequired, preInvoke, proficiency, proficiencyCheck, putInCommandlist, rawImage, requirements, sameAs, setAbilityCode, setAffectedOne, setDescription, setDisplayText, setExpirationDate, setImage, setInvoker, setMiscText, setName, setProficiency, setSavable, setStat, startTickDown, teach, text, tick, trainsRequired, triggerStrings, unInvoke, usageCost, usageType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, displayText, expirationDate, image, isGeneric, 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, 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.Contingent
amDestroyed, destroy, isSavable, setSavable
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, 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
 

Field Detail

SALESTR

public static final java.lang.String SALESTR
See Also:
Constant Field Values

RENTSTR

public static final java.lang.String RENTSTR
See Also:
Constant Field Values

lastItemNums

protected int lastItemNums

lastDayDone

protected int lastDayDone

scheduleReset

protected boolean scheduleReset
Constructor Detail

Prop_RoomForSale

public Prop_RoomForSale()
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, MiscTech. The name is typically identical to the class name.

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

name

public java.lang.String name()
Description copied from interface: Environmental
The displayable name of this object. May be modified by phyStats() object. Is derived from the Name().

Specified by:
name in interface Environmental
Specified by:
name in interface Tickable
Overrides:
name in class Property
Returns:
the modified final name of this object on the map.
See Also:
Environmental.Name()

canAffectCode

protected int canAffectCode()
Description copied from class: Property
Designates whether, when used as a property/effect, what sort of objects this ability can affect. Uses the Ability.CAN_* constants.

Overrides:
canAffectCode in class Property
Returns:
a mask showing the type of objects this ability can affect
See Also:
Ability

accountForYourself

public java.lang.String accountForYourself()
Description copied from interface: Ability
For use by the identify spell, this should return a nice description of any properties incorporated by this effect.

Specified by:
accountForYourself in interface Ability
Overrides:
accountForYourself in class Property
Returns:
a description of properties incorporated

landPrice

public int landPrice()
Description copied from interface: LandTitle
The value of the property in base currency values

Specified by:
landPrice in interface LandTitle
Returns:
the price of the property

setLandPrice

public void setLandPrice(int price)
Description copied from interface: LandTitle
set the value of the property in base currency values

Specified by:
setLandPrice in interface LandTitle
Parameters:
price - the price of the property

landOwner

public java.lang.String landOwner()
Description copied from interface: LandTitle
Get the owner of the property, usually a clan name or a player name.

Specified by:
landOwner in interface LandTitle
Returns:
the name of the owner of the property

landOwnerObject

public CMObject landOwnerObject()
Description copied from interface: LandTitle
Get the actual clan or mob owner of the property, or null if it can not.

Specified by:
landOwnerObject in interface LandTitle
Returns:
the owner of the property

setLandOwner

public void setLandOwner(java.lang.String owner)
Description copied from interface: LandTitle
Set the owner of the property, usually a clan name or a player name.

Specified by:
setLandOwner in interface LandTitle
Parameters:
owner - the name of the owner of the property

backTaxes

public int backTaxes()
Description copied from interface: LandTitle
If back taxes is owned on this property, this is how the value is retreived. The value should be in base coffeemud currency

Specified by:
backTaxes in interface LandTitle
Returns:
amount the back taxes owed

setBackTaxes

public void setBackTaxes(int tax)
Description copied from interface: LandTitle
If back taxes is owned on this property, this is how the value is set. The value should be in base coffeemud currency

Specified by:
setBackTaxes in interface LandTitle
Parameters:
tax - the back taxes owed

rentalProperty

public boolean rentalProperty()
Description copied from interface: LandTitle
Whether this property is a rental.

Specified by:
rentalProperty in interface LandTitle
Returns:
true if the property is rental, false if ownable outright

setRentalProperty

public void setRentalProperty(boolean truefalse)
Description copied from interface: LandTitle
Sets whether this property is a rental.

Specified by:
setRentalProperty in interface LandTitle
Parameters:
truefalse - true if the property is rental, false if ownable outright

updateTitle

public void updateTitle()
Description copied from interface: LandTitle
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.

Specified by:
updateTitle in interface LandTitle
See Also:
LandTitle.updateLot(List)

landPropertyID

public java.lang.String landPropertyID()
Description copied from interface: LandTitle
Get the roomID or the Area name of the property for sale

Specified by:
landPropertyID in interface LandTitle
Returns:
the roomID or the Area name of the property for sale

setLandPropertyID

public void setLandPropertyID(java.lang.String landID)
Description copied from interface: LandTitle
Set the roomID or the Area name of the property for sale

Specified by:
setLandPropertyID in interface LandTitle
Parameters:
landID - the roomID or the Area name of the property for sale

shopkeeperMobPresent

public static boolean shopkeeperMobPresent(Room R)

robberyCheck

public static boolean robberyCheck(LandTitle A,
                                   CMMsg msg)

executeMsg

public void executeMsg(Environmental myHost,
                       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 Property
Parameters:
myHost - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg

okMessage

public boolean okMessage(Environmental myHost,
                         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 Property
Parameters:
myHost - 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()

colorForSale

public static void colorForSale(Room R,
                                boolean rental,
                                boolean reset)

getPropertyRooms

public java.util.List<Room> getPropertyRooms()
Description copied from interface: LandTitle
The complete set of room objects represented by this title

Specified by:
getPropertyRooms in interface LandTitle
Returns:
a Vector of the complete set of Room objects represented by this title
See Also:
Room

updateLotWithThisData

public static int updateLotWithThisData(Room R,
                                        LandTitle T,
                                        boolean resetRoomName,
                                        boolean clearAllItems,
                                        java.util.List optPlayerList,
                                        int lastNumItems)

doRentalProperty

public static boolean doRentalProperty(Area A,
                                       java.lang.String ID,
                                       java.lang.String owner,
                                       int rent)

updateLot

public void updateLot(java.util.List optPlayerList)
Description copied from interface: LandTitle
Checks for changes in the content or condition of the rooms represented by this title and saves the changes to the database, if necessary.

Specified by:
updateLot in interface LandTitle
Parameters:
optPlayerList - - null, or a vector of player names for quick confirms
See Also:
LandTitle.updateTitle()