Type System
- Each entity is of a specific
entity type (see below for common entity types)
- Example: Player Hanack is a player
- Each
entity inherits and overwrites attributes of the entity type - Example: Player Hanack is a player, therefore there is an attribute frags because all _player_s have an attribute named frags
- An
entity type can have a parent entity type - Example:
projectiles are specialized particles - See the type hierarchy below
- Each
entity type has an entity renderer - Example:
Quad Damage Renderer renders entities of type quad damage - Entity renderers are implemented in C++
Entity Types
- players
- mapmodels
- positional trigger (often mode specific)
- flag
- base
- teleporter
- teleport destination
- ...
- pickups (modifies player state or game state)
- ammo
- armor
- health
- health boost
- quad damage
- extra bomb
- increase bomb damage
- ...
- weapons
- chainsaw
- pistol
- chaingun
- rocket launcher
- grenade launcher (= projectile emitter + geometry collision particle modifier)
- rifle
- bomb launcher
- ...
- particles
- visual effects
- steam
- fire
- flare
- explosion
- volumetric expansion of explosions (also using the densitiy attributes)
- projectiles
- grenade
- rocket
- fog grenade
- shot line
- decals
- particle emitter
- particle modifier