Package wyvern.lib.classes

Contains the most commonly-found game classes.

See:
          Description

Interface Summary
Terrain.NoFlyweight Tagging interface that tells the MapLoader not to make this Terrain type a "flyweight".
 

Class Summary
BasicBag This is a customizable implementation of the Bag interface; most standard game containers (chests, packs, sacks, jars, etc.) will derive from this class.
Chest A chest that can be opened, closed, locked and unlocked.
CombatFlash This object represents a really minimal and short-lived "flash"...
Corpse This is the generic Corpse interface in the game, the thing that is left behind with a monster/player dies.
Corpse.CorpseState Uses the State pattern to represent the state of the corpse, and handle state transitions.
DynamicObject This class is used for game objects that players can pick up and put in their inventory.
Gem Gemstones.
HiddenObject Implements an invisible map object with a pre-set inventory.
Instrument A musical instrument.
Key The generic Key class (for opening locks).
Lamp Superclass of all "standard" light sources: torches, lanterns, campfires, etc.
NoMonsters This object prevents monsters from moving into a specified map location.
NoSpells If this object is present in a cell, then no magic of any kind is allowed.
OffLimits This object prevents players from moving into a specified map location.
PirateShip This class represents a ship.
QuestItem Quest items cannot be dropped, thrown, given away or otherwise removed from inventory (or they disappear).
ServerBridge A special kind of teleporter that can move a player to another game server.
Ship A player-pilotable Ship.
Shop The basic Shop object.
Sign A sign that you can apply to read.
SimpleApplyable An object you can apply to produce a simple message, or play a very short sound.
StaticBag This class implements a "singleton container" - everyone who has one is sharing the same reference, so it's effectively a single extra-dimensional space that can be used to transfer items across great distances.
StaticObject This class is used for game objects that can't be picked up, like trees and certain indoor objects.
Statue A petrified monster.
Structure Used for buildings and other static exits - typically ones that have some areas you can walk on and others that you can't.
Teleporter The Teleporter is a fundamental game object responsible for moving objects between maps.
Terrain Common superclass for all Terrain objects.
Vault A personal, per-player storage area.
VaultTeleporter Teleports a player to their personal vault.
Vehicle This class implements a generic vehicle that can be boarded and piloted around.
 

Package wyvern.lib.classes Description

Contains the most commonly-found game classes.

You should rarely have to subclass a game class, because all of them are designed to be customized by changing their properties. You can create a new kind of game object without subclassing by storing properties for the object in an XML "Archetype" file.

For example, to create a Key with special attributes, you could create a file called mykey.arch containing the following XML snippet:


  
  
  
  
  
  
  
    
  

This key is made of jade, has a special description when it's identified (e.g. by a spell), and unlocks any Lock with the lock code 1685.

You can create copies of the key in the game by calling Kernel.instantiate(), passing in the path to mykey.arch. The key above is probably intended to be unique, which you can enforce by adding a XML property into the list of properties above.

Some of the classes in this package are intended to be visible to players, and some of them are utility classes that are invisible to anyone but a Wizard character.

The wyvern.lib.classes package has several sub-packages containing groups of common classes that are related in some way - for example, wyvern.lib.classes.weapons contains all the game's standard Weapon implementations.