Sven Co-op Entity Guide
INDEX

The game engine's internal trigger system
  Generic information


Introduction
The game engine holds all entities in one chained list. Every entity has an internal unique entity id by which it can be referenced. For every entity there is, one edict is required. An edict is a sort of entity slot. The default amount of edicts is 885 + (maxplayers * 15) and cannot be changed while a map is running on a server. The number '885' in that formula can be altered by using the command line parameter 'num_edicts #', whereas the hash has to be replaced with a number greater than 885. This is commonly set to 4095 for Sven Co-op servers. If an entity has to be created, but no free edict is available, the game will crash with the error "ED_Alloc: No free edicts.".


Triggering
Entities can trigger each other with different inputs. The following is a list of these inputs. This guide may refer to these at some points in order to explain things better, so make sure you remember them.


Expected default behaviour
Some default behaviour is to be expected from most entities, in which cases this guide will not specifically explain the according keyvalue(s) and/or spawnflag(s). Whenever an entity can have a target, it will usually mean that all entities by the name specified as the target will be fired. Same goes for kill-target, which will remove all targeted entities from the game. Whenever an entity allows 'Trigger-state' to be set, this guide should not be expected to explain what that means, as you should already have read about use-types above. This guide, for most of it, only explains things which work different from the normally to-be-expected default behaviour. I am not here to copy and paste the same basic keyvalues a thousand times for every entity, as this guide is written in pure HTML entirely, without any help from programs other than Notepad2. I also do not intend to make this a guide about mapping in general. It is mainly for reference on how specific entities work in Sven Co-op 4.5. Mapping experience with some GoldSource mod is expected.


Special targetnames
The game engine knows five special targetnames. Entities which are named with these are triggered with use-type 'Toggle' whenever the according player-event occurs. Activator and caller are set to the player who causes the event. On another note, entity names should never start with '0'.