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.