Differences between Reflex and id Tech entities Reflex uses a right-handed coordinate system and id Tech uses a left-handed system so many positions and angles must take this into account when being converted. Position of Players and Pickups are stored differently in Reflex. Player positions are stored at a players feet, while in id Tech, at the center of the character. Converting from Reflex requires the vertical component of position to be offset by 32 units. Similarly, pickups must be offset by two units. Entity attributes are often implicit; i.e. if an attribute is required but unspecified, a default is used. -All game modes are enabled by default and attributes are used to disable undesired modes or to set 2v2. -Entities without a position are implicitly at the origin. -PointLights without a color default to white. Attributes set in a WorldSpawn are used by all the entities it contains. -WorldSpawns often group PlayerSpawns by game mode Angles -Can be stored as a Vector3, since rotation about any axis is possible -Keyword angle is also supported (rotation about the vertical axis) Race Entities -Unlike id Tech games, is limited by not having checkpoint brushes. -CTS only Reflex entity types and all known attributes * is used to denote unsupported attributes and entity types ** For parsing purposes, is handled differently than other entities **WorldSpawn *String32 targetGameOverCamera *Float timeOfDay *Float skyAngle *UInt8 playersMin *UInt8 playersMax Bool8 modeFFA Bool8 modeTDM Bool8 modeCTF Bool8 mode1v1 Bool8 modeRace Bool8 mode2v2 Pickup (pickupType Required) Vector3 position Vector3 angles UInt8 pickupType - See list of pickup IDs in this document PlayerSpawn Vector3 position Vector3 angles Vector3 angle bool8 teamA bool8 teamB Bool8 modeFFA Bool8 modeTDM Bool8 modeCTF Bool8 mode1v1 Bool8 modeRace *Bool8 mode2v2 JumpPad String32 target brush Teleporter String32 target brush Target (name Required) Vector3 position Vector3 angles Vector3 angle String32 name RaceStart brush RaceFinish brush PointLight Vector3 position ColourXRGB32 color - ARGB, alpha channel always full for PointLights Float nearAttenuation Float farAttenuation *Prefab Vector3 position String64 prefabName *CameraPath (No direct id Tech equivalent) UInt8 posLerp Uint8angleLerp *Effect Vector3 position Vector3 angles String64 effectName String256 material0Name ColourARGB32 material0Albedo Pickup IDs (of pickups suitable for conversion) Burst Gun (spawn weapon) This entity will not have a pickupType field. Weapons If the player doesn't have the weapon, then s/he will acquire it. If it is present, the player gains some ammo respective to the gun. pickupType 1 = Shotgun pickupType 2 = Grenade Launcher pickupType 3 = Plasma Rifle pickupType 4 = Rocket Launcher pickupType 5 = Ion Cannon pickupType 6 = Bolt Rifle Ammo Ammunition for weapons gained on pickup. pickupType 20 = Burst Gun Ammo pickupType 21 = Shotgun Ammo pickupType 22 = Grenade launcher Ammo pickupType 23 = Plasma Rifle Ammo pickupType 24 = Rocket Launcher Ammo pickupType 25 = Ion Cannon Ammo pickupType 26 = Bolt Rifle Ammo Power Up A temporary buff granted to the player. pickupType 60 = Carnage (increases a player's outgoing damage) pickupType 62 = Resist (decreases a player's incoming damage) Flags For use in Capture the Flag pickupType 70 = Team Alpha Flag (red team) pickupType 71 = Team Zeta Flag (blue team) Health Restores the player's hitpoints. pickupType 40 = Small health pickupType 41 = Medium health pickupType 42 = large health pickupType 43 = Mega Health Armor Restores the player's armor. Reflex has a tiered Armor system. Green absorbs the least damage, and Red absorbs the most. pickupType 50 = Armor shard pickupType 51 = Green Armor pickupType 52 = Yellow Armor pickupType 53 = Red Armor