Class GoldSource
java.lang.Object
marauroa.common.game.Attributes
marauroa.common.game.SlotOwner
marauroa.common.game.RPObject
games.stendhal.server.entity.Entity
games.stendhal.server.entity.mapstuff.useable.UseableEntity
games.stendhal.server.entity.mapstuff.useable.PlayerActivityEntity
games.stendhal.server.entity.mapstuff.useable.GoldSource
- All Implemented Interfaces:
UseListener
,Killer
,Cloneable
,Iterable<String>
,Serializable
A gold source is a spot where a player can prospect for gold nuggets. He
needs a gold pan, time, and luck.
Prospecting takes 7-11 seconds; during this time, the player keep standing
next to the gold source. In fact, the player only has to be there when the
prospecting action has finished. Therefore, make sure that two gold sources
are always at least 5 sec of walking away from each other, so that the player
can't prospect for gold at several sites simultaneously.
Some karma is used to decide if the player was successful at the well or not.
- Author:
- daniel
-
Nested Class Summary
Nested classes/interfaces inherited from class games.stendhal.server.entity.mapstuff.useable.PlayerActivityEntity
PlayerActivityEntity.Activity
Nested classes/interfaces inherited from class marauroa.common.game.RPObject
RPObject.ID
-
Field Summary
Fields inherited from class marauroa.common.game.RPObject
INVALID_ID
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
protected int
Get the time it takes to perform this activity.getName()
source name.protected boolean
isPrepared(Player player)
Decides if the activity can be done.protected boolean
isSuccessful(Player player)
Decides if the activity was successful.protected void
onFinished(Player player, boolean successful)
Called when the activity has finished.protected void
Called when the activity has started.Methods inherited from class games.stendhal.server.entity.mapstuff.useable.PlayerActivityEntity
activityDone, isPenalized, onUsed
Methods inherited from class games.stendhal.server.entity.mapstuff.useable.UseableEntity
getState, setState
Methods inherited from class games.stendhal.server.entity.Entity
describe, getAdjacentNodes, getArea, getArea, getCursor, getDescription, getDescriptionName, getEntitySlot, getHeight, getOrigin, getResistance, getResistance, getTitle, getWidth, getX, getY, getZone, hasDescription, isInSight, isObstacle, nextTo, nextTo, notifyWorldAboutChanges, onAdded, onMoved, onRemoved, setCursor, setDescription, setEntityClass, setEntitySubclass, setMenu, setPosition, setResistance, setSize, setVisibility, slotIterator, slots, squaredDistance, squaredDistance, stopped, update
Methods inherited from class marauroa.common.game.RPObject
addEvent, addLink, addLink, addMap, addSlot, addSlot, applyDifferences, clearEvents, clearVisible, clone, containsKey, equals, events, eventsIterator, fill, get, getBaseContainer, getBoolean, getContainer, getContainerBaseOwner, getContainerOwner, getContainerSlot, getDifferences, getDouble, getFromSlots, getID, getInt, getLink, getLinkedObject, getMap, getSlot, has, hashCode, hasLink, hasMap, hasSlot, hide, isContained, isEmpty, isHidden, isStorable, maps, put, put, put, put, readObject, remove, removeLink, removeMap, removeSlot, resetAddedAndDeleted, resetAddedAndDeletedMaps, resetAddedAndDeletedRPLink, resetAddedAndDeletedRPSlot, setAddedMaps, setAddedRPSlot, setContainer, setDeletedMaps, setDeletedRPSlot, setID, size, slots, slotsIterator, store, toString, unhide, unstore, writeObject, writeObject, writeToJson
Methods inherited from class marauroa.common.game.SlotOwner
deserializeRPSlots, fill, serializeRPSlots
Methods inherited from class marauroa.common.game.Attributes
add, applyDifferences, get, getBool, getDouble, getInt, getList, getLong, getRPClass, has, instanceOf, iterator, put, put, put, put, put, readFromMap, remove, resetAddedAndDeletedAttributes, setAddedAttributes, setDeletedAttributes, setRPClass, setRPClass, toAttributeString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
GoldSource
public GoldSource()Create a gold source. -
GoldSource
Create a gold source.- Parameters:
itemName
- The name of the item to be prospected.
-
-
Method Details
-
getName
source name. -
generateRPClass
public static void generateRPClass() -
getDuration
protected int getDuration()Get the time it takes to perform this activity.- Specified by:
getDuration
in classPlayerActivityEntity
- Returns:
- The time to perform the activity (in seconds).
-
isPrepared
Decides if the activity can be done.- Specified by:
isPrepared
in classPlayerActivityEntity
- Parameters:
player
- for whom to perform the activity- Returns:
true
if successful.
-
isSuccessful
Decides if the activity was successful.- Specified by:
isSuccessful
in classPlayerActivityEntity
- Parameters:
player
- for whom to perform the activity- Returns:
true
if successful.
-
onFinished
Called when the activity has finished.- Specified by:
onFinished
in classPlayerActivityEntity
- Parameters:
player
- The player that did the activity.successful
- If the activity was successful.
-
onStarted
Called when the activity has started.- Specified by:
onStarted
in classPlayerActivityEntity
- Parameters:
player
- The player starting the activity.
-