A class representing any object in the game that runs logic every game tick, i.e., "thinks." Most classes derive from `Thinker`, directly or indirectly.
All thinkers are grouped by their "stat" number, or "statnum," which specifies the ordering of which thinkers are run, first to last. There are 127 stat numbers total, 20 of which are not used by the engine and may be used for any purpose.
The user-defined stat numbers begin at `Thinker.STAT_USER` and end at `Thinker.STAT_USER_MAX`. Do not attempt to use normal integers as stat numbers except as relative to these two.
(Note to authors: These tables are not alphabetically organized as their ordering is meaningful.)
Thinkers which do not think and are elided from many checks:
| Name | Description |
| ---- | ----------- |
| `Thinker.STAT_INFO` | Info queue (used by `SpecialSpot` and its descendants.) |
| `Thinker.STAT_DECAL` | Decals that cannot be deleted. |
| `Thinker.STAT_AUTODECAL` | Decals that can be deleted (were not placed by the map.) |
| `Thinker.STAT_CORPSEPOINTER` | An entry in Hexen's corpse queue. |
| `Thinker.STAT_TRAVELLING` | Any actor travelling between maps in a hub. |
| `Thinker.STAT_STATIC` | Thinkers persistent across maps. |
Thinkers which do think and are mandatory to many checks:
| Name | Description |
| ---- | ----------- |
| `Thinker.STAT_SCROLLER` | Texture scrollers and carriers. |
| `Thinker.STAT_PLAYER` | All `PlayerPawn` actors. |