Commit graph

9 commits

Author SHA1 Message Date
Erik Ogenvik
664988645e Make all properties define type and optional name. 2018-04-27 23:12:15 +02:00
Erik Ogenvik
7aaa9b9ba7 Optimize includes. 2017-03-19 21:36:52 +01:00
Erik Ogenvik
c21a3d8c7c Store instance property data separately.
In some cases you want to store property data for each instance. Often
you'll use member data on the entities themselves for this. But in some
cases you don't want to bloat the entity class with data for seldomly
used properties.
In these cases you can instead use the PropertyInstanceState class, and
keep a static instance of this per property.
2015-04-28 20:56:15 +02:00
Erik Ogenvik
308b9078e5 Suspend entities placed in limbo.
And resume when they are moved out of limbo. This fixes an issue where
entities in limbo kept on being destroyed over and over again, producing
an ever increasing number of skulls (due to the "decays" property).
2014-12-30 13:10:50 +01:00
Erik Ogenvik
70a817cf12 Added additional comments. 2014-09-20 22:59:39 +02:00
Erik Ogenvik
4fa0896bfd Detect if we spawn in limbo. 2014-09-20 22:43:53 +02:00
Erik Ogenvik
10de08034b Implmented proof of concept limbo property.
When a player controlled entity is deleted, and the player currently
isn't controlling it, it's placed in limbo. When the player once more
connects and start controlling it, the entity is respawned.
This prevents the world from being littered by inactive player
characters.
2014-09-18 21:45:35 +02:00
Erik Ogenvik
9433992096 Initial work on putting entities in limbo.
The idea is that entities which aren't externally controlled at the
moment of death are put in limbo. Once they become externally controlled
again (i.e. the user logs in) they are respawned. This ought to fix the
issue with the graveyard being full of abandoned characters.
2014-09-18 21:45:35 +02:00
Erik Ogenvik
edc5fd604b Added property for respawning entity.
The "respawning" property makes an entity respawn instead of being
deleted. It intercepts the Delete op and instead of deleting the entity
it moves it to the specified spawn point.
A typical use case of this is to place the property on any user
controlled entity, thus making sure that it's never deleted and istead
respawned when killed or defeated.
2013-11-16 21:05:45 +01:00