Maraiah/doc/data/5-flag.md

408 lines
11 KiB
Markdown

# FLAGS #######################################################################
### Endpoint Flags ###
| Name | Bit |
| ---- | --- |
| `Solid` | `0` |
| `SameHeight` | `1` |
| `Transparent` | `2` |
- `Solid` means the point belongs to a solid line.
- `SameHeight` means all polygons with this point have the same height, relative
to the point's lines
- `Transparent` means the point does not belong to an opaque line.
### Line Flags ###
| Name | Bit |
| ---- | --- |
| `TransSide` | `9` |
| `ElevVar` | `10` |
| `Elevation` | `11` |
| `Landscape` | `12` |
| `Transparent` | `13` |
| `Solid` | `14` |
- `TransSide` means the line has a transparent side.
- `ElevVar` means polygons on both sides do not have the same heights.
- `Elevation` means there is a differing height between this line's polygons.
- `Landscape` means this line shows only sky.
- `Transparent` means both sides are see-through.
- `Solid` means the line cannot be walked through.
### Side Flags ###
If `DataVersion` is `DataM1`, then `ItemOpt` must be set by the client.
| Name | Bit |
| ---- | --- |
| `Status` | `0` |
| `Panel` | `1` |
| `Repair` | `2` |
| `ItemUse` | `3` |
| `Lighted` | `4` |
| `CanDestroy` | `5` |
| `HitOnly` | `6` |
| `ItemOpt` | `7` |
- `Status` means the panel is switched already.
- `Panel` means the side is a control panel.
- `Repair` means the panel must be switched for Repair.
- `ItemUse` means the panel uses an item (for scripts, unused otherwise.)
- `Lighted` means the panel must be 3/4ths or more lit up to be used.
- `CanDestroy` makes projectiles toggle and disable this panel.
- `HitOnly` means the panel can only be hit by projectiles.
- `ItemOpt` means the item is optional for this panel (for scripts.)
### Polygon Flags ###
| Name | Bit |
| ---- | --- |
| `Detached` | `14` |
### Map Object Flags ###
| Name | Bit |
| ---- | --- |
| `Invisible` | `0` |
| `Ceiling` | `1` |
| `Blind` | `2` |
| `Deaf` | `3` |
| `Floating` | `4` |
| `NetOnly` | `5` |
- `Invisible` makes the object initially invisible (warps in.)
- `Ceiling` reverses the Z coordinate (from the ceiling.)
- `Blind` makes the object unable to be activated by sight.
- `Deaf` makes the object unable to be activated by sound.
- `NetOnly` makes the object only show up in net-games (items only.)
### Mission Flags ###
| Name | Bit |
| ---- | --- |
| `Extermination` | `0` |
| `Exploration` | `1` |
| `Retrieval` | `2` |
| `Repair` | `3` |
| `Rescue` | `4` |
| `M1Exploration` | `5` |
| `M1Rescue` | `6` |
| `M1Repair` | `7` |
- `Extermination` means you must kill all monsters on the map, with an error
threshold of 8 alien enemies maximum.
- `Exploration` means you must explore marked polygons.
- `Retrieval` means you must grab marked items.
- `Repair` means you must flip marked switches.
- `Rescue` means you must keep 50% of BoBs alive.
- `M1Exploration` is the same as `Exploration` except you only need to look at
each marked polygon, not actually enter them.
- `M1Rescue` is the same as `Rescue`. Since this is an internal flag, all it
actually does is change which monster class it checks.
- `M1Repair` is the same as `Repair`, except it only requires that the last
switch (by side index) be switched to succeed.
### Environment Flags ###
| Name | Bit |
| ---- | --- |
| `Vacuum` | `0` |
| `Magnetic` | `1` |
| `Rebellion` | `2` |
| `LowGrav` | `3` |
| `M1Glue` | `4` |
| `LavaFloor` | `5` |
| `Rebellion2` | `6` |
| `Music` | `7` |
| `TermPause` | `8` |
| `M1Monster` | `9` |
| `M1Weps` | `10` |
- `Vacuum` makes most weapons not work and oxygen deplete.
- `Magnetic` fucks up the motion sensor.
- `Rebellion` makes S'pht friendly and strips items and health.
- `LowGrav` lowers gravity.
- `M1Glue` makes glue handle like Marathon 1.
- `LavaFloor` makes the floor damage you.
- `Rebellion2` is the same as `Rebellion` but does not strip items/health.
- `Music` makes the level have music.
- `TermPause` makes terminals stop time (in Solo only.)
- `M1Monster` sets monster activation limits to Marathon 1's.
- `M1Weps` changes weapon pickups on Total Carnage and makes grenades low
gravity.
### Light Flags ###
| Name | Bit |
| ---- | --- |
| `InitActive` | `0` |
| `SlaveValue` | `1` |
| `Stateless` | `2` |
### Entry Point Flags ###
| Name | Bit |
| ---- | --- |
| `Solo` | `0` |
| `CoOp` | `1` |
| `Carnage` | `2` |
| `KTMWTB` | `3` |
| `KOTH` | `4` |
| `Defense` | `5` |
| `Rugby` | `6` |
| `CTF` | `7` |
- `KTMWTB` is Kill The Man With The Ball.
### Terminal Flags ###
| Name | Bit |
| ---- | --- |
| `Encoded` | `0` |
### Terminal Group Flags ###
| Name | Bit |
| ---- | --- |
| `DrawOnRight` | `0` |
| `DrawCenter` | `1` |
### CopyBits Flags ###
| Name | Bit |
| ---- | --- |
| `PICT2` | `15` |
### Color Table Flags ###
| Name | Bit |
| ---- | --- |
| `DeviceMap` | `15` |
### Frame Flags ###
| Name | Bit |
| ---- | --- |
| `Obscure` | `13` |
| `FlipY` | `14` |
| `FlipX` | `15` |
- `Obscure` makes the player's torso obscure the legs.
- `FlipY` and `FlipX` flip pixels on the respective axis.
### Sound Definition Flags ###
| Name | Bit |
| ---- | --- |
| `NoRestart` | `0` |
| `NoChannelSwitch` | `1` |
| `LessPitchChange` | `2` |
| `NoPitchChange` | `3` |
| `NoObstruction` | `4` |
| `NoMediaObstruct` | `5` |
| `Ambient` | `6` |
### Random Sound Flags ###
| Name | Bit |
| ---- | --- |
| `IgnoreDirection` | `0` |
### Media Flags ###
| Name | Bit |
| ---- | --- |
| `SoundObstruct` | `0` |
- `SoundObstruct` means the media makes no sound when under the floor. This is
most sensible for, for instance, lava which can be drained.
### Object Frequency Flags ###
| Name | Bit |
| ---- | --- |
| `RandomLocation` | `0` |
### Static Platform Flags ###
| Name | Bit |
| ---- | --- |
| `InitActive` | `0` |
| `InitExtended` | `1` |
| `StopAtEachLevel` | `2` |
| `StopAtInitLevel` | `3` |
| `StartAdjOnStop` | `4` |
| `ExtendsFloorToCeil` | `5` |
| `ComesFromFloor` | `6` |
| `ComesFromCeil` | `7` |
| `CausesDamage` | `8` |
| `NoActivateParent` | `9` |
| `ActivatesOnce` | `10` |
| `ActivatesLight` | `11` |
| `DeactivatesLight` | `12` |
| `PlayerControls` | `13` |
| `MonsterControls` | `14` |
| `ReverseOnObstruct` | `15` |
| `NoExtDeactivation` | `16` |
| `UsePolygonHeights` | `17` |
| `DelayedActivation` | `18` |
| `StartAdjOnStart` | `19` |
| `StopAdjOnStart` | `20` |
| `StopAdjOnStop` | `21` |
| `Slow` | `22` |
| `StartAtEachLevel` | `23` |
| `Locked` | `24` |
| `Secret` | `25` |
| `Door` | `26` |
If I could explain to you why there are this many flags, I gladly would, but
this actually hurts my head.
### Effect Definition Flags ###
| Name | Bit |
| ---- | --- |
| `EndOnLoop` | `0` |
| `EndOnXferLoop` | `1` |
| `SoundOnly` | `2` |
| `MakeTwinVisible` | `3` |
| `MediaEffect` | `4` |
### Weapon Flags ###
| Name | Bit |
| ---- | --- |
| `Automatic` | `0` |
| `RemoveAfterUse` | `1` |
| `InstantCasing` | `2` |
| `Overloads` | `3` |
| `RandomAmmo` | `4` |
| `TemporaryPower` | `5` |
| `ReloadOneHand` | `6` |
| `FireOutOfPhase` | `7` |
| `FireUnderMedia` | `8` |
| `TriggerSameAmmo` | `9` |
| `SecondaryFlip` | `10` |
### Damage Flags ###
| Name | Bit |
| ---- | --- |
| `AlienDamage` | `0` |
- `AlienDamage` will decrease the damage on Easy and Wuss.
### Projectile Flags ###
| Name | Bit |
| ---- | --- |
| `Guided` | `0` |
| `StopOnLoop` | `1` |
| `Persistent` | `2` |
| `Alien` | `3` |
| `Gravity` | `4` |
| `NoHorzError` | `5` |
| `NoVertError` | `6` |
| `TogglePanels` | `7` |
| `PosVertError` | `8` |
| `Melee` | `9` |
| `Ripper` | `10` |
| `PassTransRandom` | `11` |
| `PassTransMore` | `12` |
| `DoubleGravity` | `13` |
| `ReboundFloor` | `14` |
| `ThroughMedia` | `15` |
| `BecomeItem` | `16` |
| `Bloody` | `17` |
| `WanderHorz` | `18` |
| `WanderVert` | `19` |
| `UseLowGrav` | `20` |
| `PassMedia` | `21` |
### Monster Flags ###
| Name | Bit |
| ---- | --- |
| `IgnoreLOS` | `0` |
| `Flying` | `1` |
| `Alien` | `2` |
| `Major` | `3` |
| `Minor` | `4` |
| `NoOmit` | `5` |
| `Floats` | `6` |
| `NoAttack` | `7` |
| `Snipe` | `8` |
| `Invisible` | `9` |
| `SubtlyInvisible` | `10` |
| `Kamikaze` | `11` |
| `Berserker` | `12` |
| `Enlarged` | `13` |
| `DelayedDeath` | `14` |
| `FireSymmetrical` | `15` |
| `NuclearDeath` | `16` |
| `NoFireBackwards` | `17` |
| `CanDieInFlames` | `18` |
| `WaitForGoodShot` | `19` |
| `Tiny` | `20` |
| `FastAttack` | `21` |
| `LikesWater` | `22` |
| `LikesSewage` | `23` |
| `LikesLava` | `24` |
| `LikesGoo` | `25` |
| `TeleUnderMedia` | `26` |
| `UseRandomWeapon` | `27` |
### Monster Class ###
| Name | Bit |
| ---- | --- |
| `Player` | `0` |
| `Civilian` | `1` |
| `Madd` | `2` |
| `PossessedHummer` | `3` |
| `Defender` | `4` |
| `Fighter` | `5` |
| `Trooper` | `6` |
| `Hunter` | `7` |
| `Enforcer` | `8` |
| `Juggernaut` | `9` |
| `Hummer` | `10` |
| `Compiler` | `11` |
| `Cyborg` | `12` |
| `Assimilated` | `13` |
| `Tick` | `14` |
| `Yeti` | `15` |
### Damage Type Flag ###
| Name | Bit |
| ---- | --- |
| `Explosion` | `0` |
| `ElectricalStaff` | `1` |
| `Projectile` | `2` |
| `Absorbed` | `3` |
| `Flame` | `4` |
| `HoundClaws` | `5` |
| `AlienProjectile` | `6` |
| `HulkSlap` | `7` |
| `CompilerBolt` | `8` |
| `FusionBolt` | `9` |
| `HunterBolt` | `10` |
| `Fist` | `11` |
| `Teleporter` | `12` |
| `Defender` | `13` |
| `YetiClaws` | `14` |
| `YetiProjectile` | `15` |
| `Crushing` | `16` |
| `Lava` | `17` |
| `Suffocation` | `18` |
| `Goo` | `19` |
| `EnergyDrain` | `20` |
| `OxygenDrain` | `21` |
| `HummerBolt` | `22` |
| `ShotgunProjectile` | `23` |
<!-- EOF -->