Package games.stendhal.server.entity.status
package games.stendhal.server.entity.status
This package handles status effects such as eating, poisoned, confused.
General structure
The class StatusList keeps track of all statuses of an rpentity.
The *Statusclasses store the information of each status effect. This may be as simple as "this status is active" or as complex as consumable statuses such as eating or poison.
The logic of whether statuses of the same type stack or not is quite different. The *StatusHandler take care of that.
Some statuses need to do something periodically, such as modifying hp. This is done in *StatusTurnListener.
Things to keep in mind
- The name of the attribute for the client does not start with status_ for poison, eating and choking for compatiblity reasons
- The attributes for poison and eating are removed by the *StatusTurnListener in the following turn because this attribute carries the information about the hp-impact of the last event.
-
ClassDescriptionA status effect that causes the entity to get confused of directionshandles ConfuseStatusA status effect that causes the entity to show signs of being drunkhandles DrunkStatusHandlereat status Note: this class has a natural ordering that is inconsistent with equals.handles eatingeating turn listenerA status ailment that causes the entity to move more slowlyHandles HeavyStatusa status attacker for poisonpoison status Note: this class has a natural ordering that is inconsistent with equals.handles ShockStatusHandlerpoison turn listenerA status effect that causes the entity to stop moving after a set amount of stepshandles ShockStatusHandlerhandles the shock status each turnA base class for status effectsa status attackerhandles a list of status for an entityremoves a statusA status effect that causes the player to move more slowlyHandles ZombieStatus