Class KeyDestroyingDoor
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.portal.Portal
games.stendhal.server.entity.mapstuff.portal.AccessCheckingPortal
games.stendhal.server.entity.mapstuff.portal.Door
games.stendhal.server.entity.mapstuff.portal.LockedDoor
games.stendhal.server.entity.mapstuff.portal.KeyDestroyingDoor
- All Implemented Interfaces:
TurnListener,UseListener,Killer,Cloneable,Iterable<String>,Serializable
A KeyDestroyingDoor works just like a normal locked door, except that it
destroys the key item when used. By using the requiredAmount parameter, it
can also be programmed to consume more than one key item each time.
Note that the item needn't be a real key; one could, for instance, also
create a door that costs 5 pieces of gold to use.
If you add such a door to the world, don't forget to add a sign or an NPC
which tells the player how the door works.
- Author:
- daniel/kymara
-
Nested Class Summary
Nested classes/interfaces inherited from class games.stendhal.server.entity.mapstuff.portal.AccessCheckingPortal
AccessCheckingPortal.SendMessageNested classes/interfaces inherited from class marauroa.common.game.RPObject
RPObject.ID -
Field Summary
Fields inherited from class games.stendhal.server.entity.mapstuff.portal.LockedDoor
requiredAmountFields inherited from class games.stendhal.server.entity.mapstuff.portal.AccessCheckingPortal
forceStop, instantAction, listeningRadius, passwordAcceptedMessage, passwordRejectedMessage, portalID, portalIDCounter, rejectedAction, rejectedMessage, requiredPasswordFields inherited from class games.stendhal.server.entity.mapstuff.portal.Portal
ATTR_FACE, ATTR_HIDDEN, ATTR_OFFSET, ATTR_USEFields inherited from class marauroa.common.game.RPObject
INVALID_ID -
Constructor Summary
ConstructorsConstructorDescriptionKeyDestroyingDoor(String key, String clazz) Creates a new KeyDestroying door which destroys 1 key when the player uses it.KeyDestroyingDoor(String key, String clazz, int requiredAmount) Creates a new KeyDestroying door. -
Method Summary
Methods inherited from class games.stendhal.server.entity.mapstuff.portal.LockedDoor
isAllowedMethods inherited from class games.stendhal.server.entity.mapstuff.portal.Door
close, describe, generateRPClass, isOpen, onTurnReached, onUsedBackwards, open, updateMethods inherited from class games.stendhal.server.entity.mapstuff.portal.AccessCheckingPortal
getListeningRadius, getPasswordAcceptedMessage, getPasswordRejectedMessage, getRejectedMessage, getRequiredPassword, hasInstanceAction, logic, playerIsPortalUnlocked, rejected, sendMessage, setForceStop, setInstantAction, setListeningRadius, setPasswordAcceptedMessage, setPasswordRejectedMessage, setRejectedAction, setRejectedMessage, setRequiredPasswordMethods inherited from class games.stendhal.server.entity.mapstuff.portal.Portal
getDestinationReference, getDestinationZone, getFaceDirection, getIdentifier, getOffset, hasFaceDirection, hasOffset, isHidden, loaded, onPushedOntoFrom, setDestination, setFaceDirection, setFaceDirection, setHidden, setIdentifier, setIgnoreNoDestination, toString, usePortalMethods inherited from class games.stendhal.server.entity.Entity
getAdjacentNodes, getArea, getArea, getCursor, getDescription, getDescriptionName, getEntitySlot, getHeight, getName, 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, stoppedMethods 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, 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, unhide, unstore, writeObject, writeObject, writeToJsonMethods inherited from class marauroa.common.game.SlotOwner
deserializeRPSlots, fill, serializeRPSlotsMethods 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, toAttributeStringMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
KeyDestroyingDoor
Creates a new KeyDestroying door which destroys 1 key when the player uses it.- Parameters:
key- The name of the item that is required to use the doorclazz- The class. Responsible for how this door looks like.
-
KeyDestroyingDoor
Creates a new KeyDestroying door.- Parameters:
key- The name of the item that is required to use the doorclazz- The class. Responsible for how this door looks like.requiredAmount- The number of key items that are destroyed while passing through the door
-
-
Method Details
-
onUsed
Description copied from class:DoorTeleport (if the door is now open).- Specified by:
onUsedin interfaceUseListener- Overrides:
onUsedin classDoor- Parameters:
user- that wants to pass.- Returns:
- true if passed , false otherwise.
-