package com.planet_ink.coffee_mud.Common.interfaces;
import com.planet_ink.coffee_mud.core.interfaces.*;
import com.planet_ink.coffee_mud.core.*;
import com.planet_ink.coffee_mud.core.collections.*;
import com.planet_ink.coffee_mud.Abilities.interfaces.*;
import com.planet_ink.coffee_mud.Areas.interfaces.*;
import com.planet_ink.coffee_mud.Behaviors.interfaces.*;
import com.planet_ink.coffee_mud.CharClasses.interfaces.*;
import com.planet_ink.coffee_mud.Commands.interfaces.*;
import com.planet_ink.coffee_mud.Common.interfaces.*;
import com.planet_ink.coffee_mud.Exits.interfaces.*;
import com.planet_ink.coffee_mud.Items.interfaces.*;
import com.planet_ink.coffee_mud.Libraries.interfaces.*;
import com.planet_ink.coffee_mud.Locales.interfaces.*;
import com.planet_ink.coffee_mud.MOBS.interfaces.*;
import com.planet_ink.coffee_mud.Races.interfaces.*;
import java.util.List;
import java.util.Vector;
/**
* Tattoos are arbitrary markers or flags. They server no other
* purpose other than to be checked by other things for their existence.
* They can automatically expire by setting a tick down, or a number of
* ticks to live.
*/
public interface Tattoo extends Cloneable, CMObject, CMCommon
{
/**
* Set the tattoo name
* @param name the tattoo name
* @return this
*/
public Tattoo set(String name);
/**
* Set the tatoo name and tick-down
* @param name the tatoo name
* @param down the tick down life span
* @return this
*/
public Tattoo set(String name, int down);
/**
* Returns the current tick-down
* @return the tickDown
*/
public int getTickDown();
/**
* Reduces the tick down by one and returns the new value
* @return the new tick down
*/
public int tickDown();
/**
* @return the tattooName
*/
public String getTattooName();
}