Skip to content
Spencer Brown edited this page Dec 19, 2022 · 2 revisions

Chamber Attributes

Chamber attributes are a mechanism for items and styles to indicate what general things are present in a chamber (gels, glass, cubes, etc). This is used to then drive things like selection of voicelines, display of signage, vactubes, etc. Each attribute is simply a name (case-insensitive), which can be enabled by the Has condition result and checked by the Has flag.

In addition to general use to notify other items, in some cases it can be useful to use attributes to communicate among items in the map.

Default Attributes

This is an non-exhastive list of attributes used by the default packages. If multiple names are mentioned, the first is the preferred name. In addition to mentioned items, any variants will set the same attributes.

General

  • Deadly: Set by items which are hazardous to the player, like Turrets or Goo. Though technically able to kill you, this isn't set by things like panels and piston platforms, since that really has to be done on purpose.
  • Bridge, HardLight: Set by Hard Light Bridges.
  • Funnel, ExcursionFunnel: Set by Excursion Funnels.
  • Glass: Set by glass, glass panels, windows, etc.
  • Grating: Set by Grating in any meaningful form.
  • Goo: Set by the compiler if Toxic Goo is present and remains Goo.
  • BottomlessPit: Set by the compiler if Goo is converted to a Bottomless Pit.
  • Laser: Set by Discouragement Beam Emitters, and also Laserfields.
  • PedestalButton: Set by the Pedestal Button
  • Monitor: Set when Monitor Screens are present.
  • Neurotoxin: Set when either item is present.
  • NeurotoxinTimer: Set when the Neurotoxin Timer screen is present.
  • NeurotoxinVent: Set when the Neurotoxin Vent is present. If not set, the timer will refuse to activate.
  • pistonPlatform, Piston: Set by Piston Platforms.
  • Panel: Set by most panel/platform items.
  • Turret: Set by both regular Turrets and the Rocket Turret.
  • RocketTurret: Set by the Rocket Turret.
  • Crusher: Set by the Crusher.
  • Flamethrower, Fire: Set by the special 60s variant of the Crusher.
  • ObservationGrate: Set by the worldportal-containing Old Aperture Large Observation Room variant.
  • ObsWorldPortal: This attribute is used to handle duplicate Large Observation Rooms - the first to be processed and set this attribute gets a worldportal, the others revert to the regular office design. It also causes the other end to be added to the sphere.

Gels

  • blueGel, bounceGel: Repulsion Gel in any form (splat, dropper, gel-faith-plate). This must be set to enable packing of the relevant painted cube skins.
  • orangeGel, speedGel: Propulsion Gel in any form (splat, dropper). This must be set to enable packing of the relevant painted cube skins.
  • whiteGel, portalGel: Conversion Gel in any form (splat, dropper).
  • GreyGel, ReflectionGel: Reflection Gel in any form (splat, dropper).
  • ClearGel, WaterGel, Water: Cleansing Gel in any form (splat, dropper). Avoid using Water for Cleansing Gel since it's somewhat ambiguous.
  • GelDropper: Any kind of gel dropper.
  • gel: Any kind of gel is present in the chamber. When this is present, the paintinmap worldspawn setting is forced on.

Lasers

  • LaserEmitter: Set by Laser Emitters.
  • LaserCatcher: Set by both Laser Catchers and Relays.
  • LaserRelay: Set by Laser Relays.
  • Sendificator, Sendtor: Set by Sendificators. This causes a fizzler to be added to exit corridors, to destroy cubes sent past the fizzler there.

Portals

  • NeedsPortalMan: This causes the bee2/portal_man.nut script to be included, allowing tracking which portals are placed in the chamber. It is set when Portalgun Pedestals, Sendificators, On/Off Buttons or Absolute Fizzlers are present.
  • BluePortal: Set by autportals and portalgun pedestals. If set, this prevents the player from automatically being able to shoot blue portals.
  • OrangePortal: Set by autportals and portalgun pedestals. If set, this prevents the player from automatically being able to shoot blue portals.
  • spawn_dual: Set after condition priority 500 if the player starts with a dual portal gun.
  • spawn_single: Set after condition priority 500 if the player starts with a single portal device.
  • spawn_nogun: Set after condition priority 500 if the player starts with a no portal gun.
  • OrangePortalSpawner: Set if a Orange Autoportal or a Blue-capable Portalgun Pedestal is present.
  • BluePortalSpawner: Set if a Blue Autoportal or a Blue-capable Portalgun Pedestal is present.
  • OrangePortalGun: Set if an Orange-capable Portalgun Pedestal is present.
  • BluePortalGun: Set if an Orange-capable Portalgun Pedestal is present.
  • DualPortalGun: Set if a dual-colour Portalgun Pedestal is present.
  • SinglePortalGun: Set if a single-colour Portalgun Pedestal is present.
  • AutoPortal: Set if either Autoportal is present.
  • PortalGunOnOff: Implies NeedsPortalMan, enables the Portalgun On/Off functionality.
  • PortalGunOnOffBlue: Set if the blue player-only Portalgun On/Off button is present.
  • PortalGunOnOffOrange: Set if the orange player/cube Portalgun On/Off button is present.
  • PortalGunOnOffDissolver: Set if the Portalgun On/Off dissolver trigger is present. This causes the fizzling trigger to be added to orange buttons.

Fizzlers

  • Catapult, Faith, FaithPlate: Set by Aerial Faith Plates (and variants).
  • LaserField: Set by Laserfields.
  • Fizzler: Set by Emancipation Grids and most custom fizzlers (but not the sensors).
  • FR_csf: Set for Compressed Smoke Fields.
  • FR_fdf: Set for Force Deflection Fields.
  • FR_mif: Set for Matter Inquisition Fields.
  • TDB_FF: Set for Closed Solid Fields.
  • PaintFizzler: Set for Paint Fizzlers.
  • Physler: Set for the Physics Repulsion Field.
  • ProLifeformSensor: Set for the Lifeform Sensor.
  • DeathFizzler: Set by the Death Fizzler, in addition to Fizzler and LaserField.
  • NeedsAbsFizz: Set by Portalgun On/Off buttons. This causes Checkpoints and SP Exit Corridors to switch to using an Absolute Fizzler, and for checkpoints contain an orange pgun button dissolver trigger.

Supercolliding Super Buttons

  • FloorButton: Set by all three variants of Super Buttons.
  • WeightedButton: Set by the regular Super Button.
  • CubeButton: Set by the Cube Button.
  • BallButton: Set by the Ball Button.
  • ButtonAcceptsCube: Set by both the regular and Cube Buttons.
  • ButtonAcceptsBall: Set by both the regular and Ball Buttons.

Pellets

  • Pellet: Set by both the HEP Launcher and stand-alone Infinite HEP.
  • PelletCatcher: HEP Catcher.
  • TimedPelletCatcher: The Rexaura High Energy Pellet Catcher variant which resets automatically.
  • PelletLauncher: Set by the HEP Launcher.
  • InfinitePellet: Set by the HEP Launcher in infinite mode, and the stand-alone Infinite HEP.

Cube attributes

Each cube item should set a HasName, which is used to set many attributes automatically. In addition to this specific name, some generic names are set:

  • SphereShaped: Cubes which press sphere buttons (Edgeless Safety Cube, Bumbleball, etc).
  • NotSphereShaped: Cubes which press cube buttons.
  • NotCompanion: Cubes which aren't the companion type, and don't have isCompanion set.

For each of these names, two attributes are then set:

  • CubeXXX is always set.
  • Either CubeDropperXXX or CubeDropperlessXXX, depending on if the dropper is present.

Cubes also set these fixed attributes:

  • Cube: If a cube of any kind is present.
  • CubeDropper: If any cube dropper is present.
  • Gel, BounceGel, BlueGel: If a cube starts painted with Repulsion Gel.
  • Gel, SpeedGel, OrangeGel: If a cube starts painted with Propulsion Gel.

The default cubes have names of Standard, Companion, Reflect, Sphere, and Franken.

For example, a dropperless Reflection Cube will set all of the following:

  • Cube
  • CubeReflect
  • CubeNotSphereShaped
  • CubeNotCompanion
  • CubeDropperlessReflect
  • CubeDropperlessNotSphereShaped
  • CubeDropperlessNotCompanion
Clone this wiki locally