Hidden Element (Data)
The "hidden" mechanism comes into play when users want to modify existing data files while keeping their changes separate. This comes in extremely handy if there are certain standard things (e.g. skills, feats, etc.) in your campaign that are forbidden by the GM. The "hidden" mechanism flags an object so that HL treats the thing as if it does not exist, even though it remains technically present. This means a hidden object will never be shown to the user for selection. Each hidden thing is defined through the use of a "hidden" element. The complete list of attributes for this element is below.
type (Optional) Set – Designates the type of object to be hidden. Must be one of these values:
- thing – The object must be defined via a "thing" element.
- Default: "thing".
NOTE! At the present time, only things can be hidden. The design of this mechanism allows it to be extended in the future if there is a need to hide other objects.
id Id – Specifies the unique id of the object to be hidden. An object of the specified type must exist within this unique id.
NOTE! Since hidden objects are treated as if they don't exist, any references to hidden objects will fail to resolve successfully. This may have nasty implications, because it means that a hidden thing that is bootstrapped by another thing will cause the second thing to fail to compile. Normally, this will simply create a cascading list of a few things that must all be marked as hidden, but sometimes it can cause circular dependency issues. When that occurs, use the "replace" mechanism on things to substitute a thing that is innocuous.
The following example demonstrates what a "hidden" element might look like. All default values are assumed for optional attributes.
<hidden type="thing" id="thingid"/>