With increasing use of overlays, we need generic ways to determined the kinds of overlays attached to objects. We cannot rely on checking for overlays by UNID (type) because new types are being created all the time. Instead, we rely on the standard attribute mechanism for categorizing overlays.

The <OverlayType> definition should have an attributes= parameter describing the overlay. The following standard attributes should be used on overlays when appropriate:

  • attached: Use this attribute for objects that attach themselves to the outer part of the target. For example, pteravore overlays have this attribute. Use this only for foreign objects—do not use for installed items (such as side-mounted weapons).
  • behavior: A behavior overlay is used to implement some kind of functionality. For example, an overlay with a timer to kick off some event. These overlays do not represent an additional object—they are merely an implementation detail for some other object or process. Like effect overlays, these can generally be ignored by other code.
  • energyField: The overlay covers the target with an energy field. For example, Domina's Sustain power.
  • effect: The overlay is only a visual effect and does not represent an additional object. For example, an overlay which emits smoke when a ship is damaged. In general, these overlays can be ignored by other code.
    • Use this for HUD effects (e.g., an overlay on an enemy ship to indicate that it is a target).
    • Use this for effects like Domina Strengthen which do not represent a real object (i.e., an external observer can't see the overlay, though they may see its effects).
    • Do not use if the overlay is a physical (or energy) object (e.g., an attached object which emits smoke is not just a visual effect).
  • installed: This attribute implies that the overlay is part of the normal functioning of the target. For example, a side-loaded weapon.
  • structure: An overlay with this attribute represents a construction or other physical object, generally on top of an asteroid or planetoid.
    • This attribute is mostly used to coordinate structures on top of asteroids. If a structure has already been built on an asteroid, perhaps a second structure should not be built.
    • Note: The difference between attached and structure is fuzzy. In general, small objects (like pteravore claws) are attached, while larger objects are structures. Attached objects can generally be easily removed, whereas removing structures requires significant effort.
  • temporary: Temporary overlays have a well-defined time-out. This only includes overlays that are guaranteed to disappear in time, with no additional action. Do not include this attribute if an additional action is required to remove the overlay.