com.planet_ink.coffee_mud.MOBS
Class StdAuctioneer

java.lang.Object
  extended by com.planet_ink.coffee_mud.MOBS.StdMOB
      extended by com.planet_ink.coffee_mud.MOBS.StdAuctioneer
All Implemented Interfaces:
Behavable, CMModifiable, CMObject, Economics, Environmental, MsgListener, Rider, ShopKeeper, StatsAffecting, Tickable, Auctioneer, MOB, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
GenAuctioneer

public class StdAuctioneer
extends StdMOB
implements Auctioneer


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.MOBS.interfaces.Auctioneer
Auctioneer.AuctionData, Auctioneer.AuctionRates
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.core.interfaces.ShopKeeper
ShopKeeper.ShopPrice
 
Field Summary
protected static java.util.Hashtable lastCheckTimes
           
 Auctioneer.AuctionData lastMsgData
           
protected  int maxTimedAuctionDays
           
protected  int minTimedAuctionDays
           
protected  double timedFinalCutPct
           
protected  double timedListingPct
           
protected  double timedListingPrice
           
 
Fields inherited from class com.planet_ink.coffee_mud.MOBS.StdMOB
abilities, affects, AgeHours, Alignment, amDead, amDestroyed, amFollowing, atRange, attributesBitmap, baseCharStats, baseEnvStats, baseState, behaviors, charStats, clanID, clanRole, CODES, commandQue, curState, databaseID, DeityIndex, description, displayText, envStats, Experience, expertises, factions, followers, imageName, imMobile, inventory, kickFlag, lastLocation, LiegeID, location, maxState, miscText, Money, moneyVariation, mySession, peaceTime, playerStats, pleaseDestroy, Practices, QuestPoint, riding, scripts, soulMate, startRoomPossibly, tattoos, tickCounter, tickStatus, Trains, Username, victim, WimpHitPoint, WorshipCharID, xtraValues
 
Fields inherited from interface com.planet_ink.coffee_mud.MOBS.interfaces.Auctioneer
STATE_CLOSED, STATE_ONCE, STATE_RUNOUT, STATE_START, STATE_THREE, STATE_TWICE
 
Fields inherited from interface com.planet_ink.coffee_mud.core.interfaces.ShopKeeper
DEAL_ALCHEMIST, DEAL_ANYTECHNOLOGY, DEAL_ANYTHING, DEAL_ARMOR, DEAL_AUCTIONEER, DEAL_BANKER, DEAL_BUTCHER, DEAL_CASTER, DEAL_CLANBANKER, DEAL_CLANDSELLER, DEAL_CLANPOSTMAN, DEAL_CSHIPSELLER, DEAL_DESCS, DEAL_FOODSELLER, DEAL_GENERAL, DEAL_GROWER, DEAL_HIDESELLER, DEAL_INNKEEPER, DEAL_INVENTORYONLY, DEAL_JEWELLER, DEAL_LANDSELLER, DEAL_LEATHER, DEAL_LUMBERER, DEAL_MAGIC, DEAL_METALSMITH, DEAL_PETS, DEAL_POSTMAN, DEAL_SHIPSELLER, DEAL_SLAVES, DEAL_STONEYARDER, DEAL_TRAINER, DEAL_WEAPONS
 
Fields inherited from interface com.planet_ink.coffee_mud.MOBS.interfaces.MOB
ATT_ANSI, ATT_AUTOASSIST, ATT_AUTODRAW, ATT_AUTOEXITS, ATT_AUTOFORWARD, ATT_AUTOGOLD, ATT_AUTOGUARD, ATT_AUTOIMPROVE, ATT_AUTOLOOT, ATT_AUTOMELEE, ATT_AUTONOTIFY, ATT_AUTORUN, ATT_AUTOWEATHER, ATT_BRIEF, ATT_COMPRESS, ATT_DAILYMESSAGE, ATT_MXP, ATT_NOFOLLOW, ATT_NOTEACH, ATT_PLAYERKILL, ATT_QUIET, ATT_SOUND, ATT_SYSOPMSGS, AUTODESC, AUTOREV, SHEATH_TIME
 
Constructor Summary
StdAuctioneer()
           
 
Method Summary
 java.lang.String auctionHouse()
           
 void autoGive(MOB src, MOB tgt, Item I)
           
 void bringToLife(Room newLocation, boolean resetStats)
           
 java.lang.String budget()
          Returns a description of the buying budget of the shopkeeper.
 void destroy()
          Utterly and permanently destroy this object, not only removing it from the map, but causing this object to be collected as garbage by Java.
 java.lang.String devalueRate()
          Returns a string describing the percentage in the drop of the price at which this ShopKeeper will buy back items based on the number already in his inventory.
 boolean doISellThis(Environmental thisThang)
          Returns whether this ShopKeeper deals in the type of item passed in.
 void executeMsg(Environmental myHost, CMMsg msg)
          The general message event handler for the object.
 java.lang.String finalBudget()
          Returns a description of the buying budget of the shopkeeper.
 java.lang.String finalDevalueRate()
          Returns a string describing the percentage in the drop of the price at which this ShopKeeper will buy back items based on the number already in his inventory.
 java.lang.String finalIgnoreMask()
          Returns the mask used to determine if a customer is ignored by the ShopKeeper.
 int finalInvResetRate()
          Returns the number of ticks between totally resetting this ShopKeepers inventory back to what it was.
 java.lang.String[] finalItemPricingAdjustments()
          A string set describing how pricing for this ShopKeeper will differ based on item masks The format for each string is a floating point number followers by a space and a zapper mask
 java.lang.String finalPrejudiceFactors()
          A string describing how pricing for this ShopKeeper will differ based on customer attributes such as race.
 CoffeeShop getShop()
          the CoffeeShop method to access the shopkeepers store of goods
protected  Area getStartArea()
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 java.lang.String ignoreMask()
          Returns the mask used to determine if a customer is ignored by the ShopKeeper.
 int invResetRate()
          Returns the number of ticks between totally resetting this ShopKeepers inventory back to what it was.
 java.lang.String[] itemPricingAdjustments()
          A string set describing how pricing for this ShopKeeper will differ based on item masks The format for each string is a floating point number followers by a space and a zapper mask
 int maxTimedAuctionDays()
           
 int minTimedAuctionDays()
           
 boolean okMessage(Environmental myHost, CMMsg msg)
          The general message event previewer for the object.
protected  java.lang.String parseBidString(java.lang.String targetMessage)
           
 java.lang.String prejudiceFactors()
          A string describing how pricing for this ShopKeeper will differ based on customer attributes such as race.
 void setAuctionHouse(java.lang.String name)
           
 void setBudget(java.lang.String factors)
          Sets a description of the buying budget of the shopkeeper.
 void setDevalueRate(java.lang.String factors)
          Sets a string describing the percentage in the drop of the price at which this ShopKeeper will buy back items based on the number already in his inventory.
 void setIgnoreMask(java.lang.String factors)
          Sets the mask used to determine if a customer is ignored by the ShopKeeper.
 void setInvResetRate(int ticks)
          Sets the number of ticks between totally resetting this ShopKeepers inventory back to what it was.
 void setItemPricingAdjustments(java.lang.String[] factors)
          Sets the string set describing how pricing for this ShopKeeper will differ based on item masks The format for each string is a floating point number followers by a space and a zapper mask
 void setMaxTimedAuctionDays(int d)
           
 void setMinTimedAuctionDays(int d)
           
 void setPrejudiceFactors(java.lang.String factors)
          Sets the string describing how pricing for this ShopKeeper will differ based on customer attributes such as race.
 void setTimedFinalCutPct(double d)
           
 void setTimedListingPct(double d)
           
 void setTimedListingPrice(double d)
           
 void setWhatIsSold(int newSellCode)
          Sets the ShopKeeper DEAL_* constant describing what is sold or bought by this ShopKeeper
 java.lang.String storeKeeperString()
          Based on the value of this ShopKeepers whatIsSold() method, this will return a displayable string describing that type.
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 double timedFinalCutPct()
           
 double timedListingPct()
           
 double timedListingPrice()
           
 int whatIsSold()
          Returns the ShopKeeper DEAL_* constant describing what is sold or bought by this ShopKeeper
 
Methods inherited from class com.planet_ink.coffee_mud.MOBS.StdMOB
actions, addAbility, addBehavior, addEffect, addExpertise, addFaction, addFollower, addInventory, addNonUninvokableEffect, addPriorityEffect, addScript, addTattoo, adjustedArmor, adjustedAttackBonus, adjustedDamage, adjustFaction, affectCharState, affectCharStats, affectEnvStats, amActive, amDead, amDestroyed, amFollowing, amUltimatelyFollowing, baseCharStats, baseEnvStats, baseState, baseWeight, bringToLife, calculateTickDelay, charStats, cloneEffects, cloneFix, commandQueSize, compareTo, confirmWearability, copyFactions, copyOf, curState, databaseID, delAbility, delBehavior, delEffect, delExpertise, delFollower, delInventory, delScript, delTattoo, dequeCommand, description, displayName, displayText, displayText, dispossess, doCommand, doCommand, enqueCommand, envStats, expirationDate, fetchAbility, fetchAbility, fetchBehavior, fetchBehavior, fetchCarried, fetchEffect, fetchEffect, fetchExpertise, fetchExpertise, fetchFaction, fetchFactionRanges, fetchFactions, fetchFirstWornItem, fetchFollower, fetchFollower, fetchFollowerOrder, fetchFromInventory, fetchInventory, fetchInventory, fetchInventory, fetchScript, fetchTattoo, fetchTattoo, fetchWieldedItem, fetchWornItem, fetchWornItems, finalize, findAbility, flagVariableEq, freeWearPositions, genericName, getAgeHours, getBitmap, getClanID, getClanRole, getCodeNum, getExperience, getExpNeededDelevel, getExpNeededLevel, getExpNextLevel, getExpPrevLevel, getFactionListing, getGroupMembers, getLiegeID, getMoney, getMoneyVariation, getMyDeity, getPractices, getQuestPoint, getRideBuddies, getSaveStatIndex, getStartRoom, getStat, getStatCodes, getTickStatus, getTrains, getVictim, getWearPositions, getWimpHitPoint, getWorshipCharID, giveItem, hasFaction, hasOnlyGoldInInventory, healthText, image, initializeClass, inventorySize, isFollowedBy, isGeneric, isInCombat, isMarriedToLiege, isMine, isMonster, isPossessing, isStat, killMeDead, lastTickedDateTime, location, makePeace, maxCarry, maxFollowers, maxItems, maxRange, maxRange, maxState, mayIFight, mayPhysicallyAttack, minRange, minRange, miscTextFormat, myNaturalWeapon, name, Name, newInstance, numAbilities, numAllEffects, numBehaviors, numEffects, numExpertises, numFollowers, numLearnedAbilities, numScripts, numTattoos, peaceTime, playerStats, prequeCommand, processVariableEquipment, rangeToTarget, rawImage, recoverCharStats, recoverEnvStats, recoverMaxState, removeFaction, removeFromGame, resetToMaxState, resetVectors, riding, sameAs, savable, session, setActions, setAgeHours, setAtRange, setBaseCharStats, setBaseEnvStats, setBaseState, setBitmap, setClanID, setClanRole, setDatabaseID, setDescription, setDisplayText, setExperience, setExpirationDate, setExpNextLevel, setFollowing, setImage, setLiegeID, setLocation, setMiscText, setMoney, setMoneyVariation, setName, setPlayerStats, setPractices, setQuestPoint, setRiding, setSession, setSoulMate, setStartRoom, setStat, setTrains, setVictim, setWimpHitPoint, setWorshipCharID, soulMate, tell, tell, text, titledName, totalFollowers, uniqueExpertises, willFollowOrdersOf
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lastMsgData

public Auctioneer.AuctionData lastMsgData

lastCheckTimes

protected static final java.util.Hashtable lastCheckTimes

timedListingPrice

protected double timedListingPrice

timedListingPct

protected double timedListingPct

timedFinalCutPct

protected double timedFinalCutPct

maxTimedAuctionDays

protected int maxTimedAuctionDays

minTimedAuctionDays

protected int minTimedAuctionDays
Constructor Detail

StdAuctioneer

public StdAuctioneer()
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 StdMOB
Returns:
the name of this class

getShop

public CoffeeShop getShop()
Description copied from interface: ShopKeeper
the CoffeeShop method to access the shopkeepers store of goods

Specified by:
getShop in interface ShopKeeper
Returns:
the CoffeeShop object
See Also:
CoffeeShop

auctionHouse

public java.lang.String auctionHouse()
Specified by:
auctionHouse in interface Auctioneer

setAuctionHouse

public void setAuctionHouse(java.lang.String name)
Specified by:
setAuctionHouse in interface Auctioneer

timedListingPrice

public double timedListingPrice()
Specified by:
timedListingPrice in interface Auctioneer

setTimedListingPrice

public void setTimedListingPrice(double d)
Specified by:
setTimedListingPrice in interface Auctioneer

timedListingPct

public double timedListingPct()
Specified by:
timedListingPct in interface Auctioneer

setTimedListingPct

public void setTimedListingPct(double d)
Specified by:
setTimedListingPct in interface Auctioneer

timedFinalCutPct

public double timedFinalCutPct()
Specified by:
timedFinalCutPct in interface Auctioneer

setTimedFinalCutPct

public void setTimedFinalCutPct(double d)
Specified by:
setTimedFinalCutPct in interface Auctioneer

maxTimedAuctionDays

public int maxTimedAuctionDays()
Specified by:
maxTimedAuctionDays in interface Auctioneer

setMaxTimedAuctionDays

public void setMaxTimedAuctionDays(int d)
Specified by:
setMaxTimedAuctionDays in interface Auctioneer

minTimedAuctionDays

public int minTimedAuctionDays()
Specified by:
minTimedAuctionDays in interface Auctioneer

setMinTimedAuctionDays

public void setMinTimedAuctionDays(int d)
Specified by:
setMinTimedAuctionDays in interface Auctioneer

destroy

public void destroy()
Description copied from interface: Environmental
Utterly and permanently destroy this object, not only removing it from the map, but causing this object to be collected as garbage by Java. Containers, rooms. and mobs who have their destroy() method called will also call the destroy() methods on all items and other objects listed as content, recursively.

Specified by:
destroy in interface Environmental
Overrides:
destroy in class StdMOB

bringToLife

public void bringToLife(Room newLocation,
                        boolean resetStats)
Specified by:
bringToLife in interface MOB
Overrides:
bringToLife in class StdMOB

whatIsSold

public int whatIsSold()
Description copied from interface: ShopKeeper
Returns the ShopKeeper DEAL_* constant describing what is sold or bought by this ShopKeeper

Specified by:
whatIsSold in interface ShopKeeper
Returns:
the dealer constant
See Also:
ShopKeeper

setWhatIsSold

public void setWhatIsSold(int newSellCode)
Description copied from interface: ShopKeeper
Sets the ShopKeeper DEAL_* constant describing what is sold or bought by this ShopKeeper

Specified by:
setWhatIsSold in interface ShopKeeper
Parameters:
newSellCode - the dealer type constant
See Also:
ShopKeeper

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 StdMOB
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

autoGive

public void autoGive(MOB src,
                     MOB tgt,
                     Item I)

parseBidString

protected java.lang.String parseBidString(java.lang.String targetMessage)

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 StdMOB
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()

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 StdMOB
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

storeKeeperString

public java.lang.String storeKeeperString()
Description copied from interface: ShopKeeper
Based on the value of this ShopKeepers whatIsSold() method, this will return a displayable string describing that type.

Specified by:
storeKeeperString in interface ShopKeeper
Returns:
a description of the whatIsSold() code
See Also:
ShopKeeper.whatIsSold()

doISellThis

public boolean doISellThis(Environmental thisThang)
Description copied from interface: ShopKeeper
Returns whether this ShopKeeper deals in the type of item passed in. The determination is based on the whatIsSold() code.

Specified by:
doISellThis in interface ShopKeeper
Parameters:
thisThang - the item to determine if the shopkeeper deals in
Returns:
whether the shopkeeper deals in the type of item passed in
See Also:
ShopKeeper.whatIsSold()

getStartArea

protected Area getStartArea()

finalPrejudiceFactors

public java.lang.String finalPrejudiceFactors()
Description copied from interface: Economics
A string describing how pricing for this ShopKeeper will differ based on customer attributes such as race.

Specified by:
finalPrejudiceFactors in interface Economics
Returns:
the string describing price prejudicing

prejudiceFactors

public java.lang.String prejudiceFactors()
Description copied from interface: Economics
A string describing how pricing for this ShopKeeper will differ based on customer attributes such as race.

Specified by:
prejudiceFactors in interface Economics
Returns:
the string describing price prejudicing

setPrejudiceFactors

public void setPrejudiceFactors(java.lang.String factors)
Description copied from interface: Economics
Sets the string describing how pricing for this ShopKeeper will differ based on customer attributes such as race.

Specified by:
setPrejudiceFactors in interface Economics
Parameters:
factors - the string describing price prejudicing

finalIgnoreMask

public java.lang.String finalIgnoreMask()
Description copied from interface: Economics
Returns the mask used to determine if a customer is ignored by the ShopKeeper.

Specified by:
finalIgnoreMask in interface Economics
Returns:
the mask used
See Also:
MaskingLibrary

ignoreMask

public java.lang.String ignoreMask()
Description copied from interface: Economics
Returns the mask used to determine if a customer is ignored by the ShopKeeper.

Specified by:
ignoreMask in interface Economics
Returns:
the mask used
See Also:
MaskingLibrary

setIgnoreMask

public void setIgnoreMask(java.lang.String factors)
Description copied from interface: Economics
Sets the mask used to determine if a customer is ignored by the ShopKeeper.

Specified by:
setIgnoreMask in interface Economics
Parameters:
factors - the mask to use
See Also:
MaskingLibrary

finalItemPricingAdjustments

public java.lang.String[] finalItemPricingAdjustments()
Description copied from interface: Economics
A string set describing how pricing for this ShopKeeper will differ based on item masks The format for each string is a floating point number followers by a space and a zapper mask

Specified by:
finalItemPricingAdjustments in interface Economics
Returns:
an array of the strings describing price adjustments

itemPricingAdjustments

public java.lang.String[] itemPricingAdjustments()
Description copied from interface: Economics
A string set describing how pricing for this ShopKeeper will differ based on item masks The format for each string is a floating point number followers by a space and a zapper mask

Specified by:
itemPricingAdjustments in interface Economics
Returns:
an array of the strings describing price adjustments

setItemPricingAdjustments

public void setItemPricingAdjustments(java.lang.String[] factors)
Description copied from interface: Economics
Sets the string set describing how pricing for this ShopKeeper will differ based on item masks The format for each string is a floating point number followers by a space and a zapper mask

Specified by:
setItemPricingAdjustments in interface Economics
Parameters:
factors - the string describing price prejudicing

finalBudget

public java.lang.String finalBudget()
Description copied from interface: Economics
Returns a description of the buying budget of the shopkeeper. Format is an amount of base currency followed by HOUR,WEEK,DAY,MONTH or YEAR.

Specified by:
finalBudget in interface Economics
Returns:
the string for the shopkeepers buying budget

budget

public java.lang.String budget()
Description copied from interface: Economics
Returns a description of the buying budget of the shopkeeper. Format is an amount of base currency followed by HOUR,WEEK,DAY,MONTH or YEAR.

Specified by:
budget in interface Economics
Returns:
the string for the shopkeepers buying budget

setBudget

public void setBudget(java.lang.String factors)
Description copied from interface: Economics
Sets a description of the buying budget of the shopkeeper. Format is an amount of base currency followed by HOUR,WEEK,DAY,MONTH or YEAR.

Specified by:
setBudget in interface Economics
Parameters:
factors - the string for the shopkeepers buying budget

finalDevalueRate

public java.lang.String finalDevalueRate()
Description copied from interface: Economics
Returns a string describing the percentage in the drop of the price at which this ShopKeeper will buy back items based on the number already in his inventory. The format is a number representing the percentage price drop per normal item followed by a space, followed by a number representing the percentage price drop per raw resource item. A value of "0 0" would mean no drop in price for either, ever.

Specified by:
finalDevalueRate in interface Economics
Returns:
the price dropping percentage rule for this shopkeeper

devalueRate

public java.lang.String devalueRate()
Description copied from interface: Economics
Returns a string describing the percentage in the drop of the price at which this ShopKeeper will buy back items based on the number already in his inventory. The format is a number representing the percentage price drop per normal item followed by a space, followed by a number representing the percentage price drop per raw resource item. A value of "0 0" would mean no drop in price for either, ever.

Specified by:
devalueRate in interface Economics
Returns:
the price dropping percentage rule for this shopkeeper

setDevalueRate

public void setDevalueRate(java.lang.String factors)
Description copied from interface: Economics
Sets a string describing the percentage in the drop of the price at which this ShopKeeper will buy back items based on the number already in his inventory. The format is a number representing the percentage price drop per normal item followed by a space, followed by a number representing the percentage price drop per raw resource item. A value of "0 0" would mean no drop in price for either, ever.

Specified by:
setDevalueRate in interface Economics
Parameters:
factors - the price dropping percentage rule for this shopkeeper

finalInvResetRate

public int finalInvResetRate()
Description copied from interface: Economics
Returns the number of ticks between totally resetting this ShopKeepers inventory back to what it was.

Specified by:
finalInvResetRate in interface Economics
Returns:
the number of ticks between total resets of inventory

invResetRate

public int invResetRate()
Description copied from interface: Economics
Returns the number of ticks between totally resetting this ShopKeepers inventory back to what it was.

Specified by:
invResetRate in interface Economics
Returns:
the number of ticks between total resets of inventory

setInvResetRate

public void setInvResetRate(int ticks)
Description copied from interface: Economics
Sets the number of ticks between totally resetting this ShopKeepers inventory back to what it was.

Specified by:
setInvResetRate in interface Economics
Parameters:
ticks - the number of ticks between total resets of inventory