Properties: Difference between revisions

161 bytes added ,  02:03, 15 September 2021
m
add reference
No edit summary
m (add reference)
Line 1: Line 1:
{{stub}}{{Missing info|TODO: Add query that has all occluding items, not including walls}}{{Missing info | Describe the consequences of the organic property.}}
{{stub}}
Aside from standard properties like damage and weight, items, objects, and creatures can have miscellaneous other properties that affect how they behave.
Aside from standard properties like damage and weight, items, objects, and creatures can have miscellaneous other properties that affect how they behave.
==Properties==
==Properties==
Line 8: Line 8:


===Organic===
===Organic===
{{Missing info | Describe the consequences of this property.}}
For modding purposes, this property corresponds to having a zero <code>Inorganic</code> integer property.
For modding purposes, this property corresponds to having a zero <code>Inorganic</code> integer property.


Line 20: Line 22:
For modding purposes, this property usually corresponds to having an <code>IsEMPSensitive</code> attribute of <code>true</code> on an appropriate object part. There are several such parts; refer to <code>ObjectBlueprints.xml</code> for examples. There is a generic base class that supports parts with involved conditional behavior, called <code>IActivePart</code>; see [[Modding:Active Parts]] for details. <code>IsEMPSensitive</code>is a field on that class.
For modding purposes, this property usually corresponds to having an <code>IsEMPSensitive</code> attribute of <code>true</code> on an appropriate object part. There are several such parts; refer to <code>ObjectBlueprints.xml</code> for examples. There is a generic base class that supports parts with involved conditional behavior, called <code>IActivePart</code>; see [[Modding:Active Parts]] for details. <code>IsEMPSensitive</code>is a field on that class.


Some parts implement hardcoded EMP sensitivity because they do not use <code>IActivePart</code>. These include support parts for geomagnetic discs, night vision implants, mines, bombs, high-powered magnets, melee weapon elemental damage, walltraps, and conveyor belts.
Some parts implement hardcoded EMP sensitivity because they do not use <code>IActivePart</code>. These include support parts for geomagnetic discs, night vision implants, mines, bombs, high-powered magnets, melee weapon elemental damage, walltraps, and conveyor belts.<ref>Most of these special cases can be found by searching the codebase for "IsEMPed", an IComponent method used for less conventional EMP status checking.</ref>


=== Reality Distortion Based ===
=== Reality Distortion Based ===
Line 30: Line 32:


===Occluding===
===Occluding===
Occluding objects are objects that block a character's field of view. Objects that are occluding also block non-seeping gases from passing through their tile. In terms of AI, even though the enemy knows their target is behind an occluding object, and the object does not block bullets, they will still refuse to fire until they are able to see their target again. Occluding items can also prevent NPCs from witnessing the player stealing an object. The most common classes of objects that occlude light are [[:Category:Walls|walls]], trees, and [[brinestalk]]. A portable occluding item is the {{favilink|plastic tree}}.
{{Missing info|TODO: Add query that has all occluding items, not including walls}}
Occluding objects are objects that block a character's field of view. Objects that are occluding also block gas from passing through. In terms of AI, even though the enemy knows their target is behind an occluding object, and the object does not block bullets, they will still refuse to fire until they are able to see their target again. Occluding items can also prevent NPCs from witnessing the player stealing an object. The most common classes of objects that occlude light are [[:Category:Walls|walls]], trees, and [[brinestalk]]. A portable occluding item is the {{favilink|plastic tree}}.


This can be set on an object by adding <code>Occluding="true"</code> in the object's <code>Render</code> part.
This can be set on an object by adding <code>Occluding="true"</code> in the object's <code>Render</code> part.


==References==
<references/>


[[Category:Mechanics]]
[[Category:Mechanics]]