Properties: Difference between revisions

2,621 bytes added ,  19:29, 30 September 2021
Add occluding object queries
m (restore tidbit that was lost in previous edit)
(Add occluding object queries)
Line 32: Line 32:


===Occluding===
===Occluding===
{{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 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 class of objects that occlude light are [[:Category:Walls|walls]] (including closed [[:Category:Doors|doors]] and [[:Category:Wall Traps|wall traps]]). Other occluding objects are shown below.<ref>Occlusion can be set on an object by adding <code>Occluding="true"</code> in the object's <code>Render</code> part.</ref>
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}}.


This can be set on an object by adding <code>Occluding="true"</code> in the object's <code>Render</code> part.
<div style="display:flex;flex-wrap:wrap;">
<div style="margin-right: 2.5em;">
====Occluding Plants and Fungi====
{{#cargo_query:
  | tables=GeneralData=GD,ExtraInfo=EI,CreatureFactions=CF
  | join on=GD.JoinKey=EI.JoinKey,GD.ObjectID=CF.ObjectID
  | fields=
      CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Object
  | where=EI.Info LIKE '%Occluding,,,%' AND (GD.Categories = 'Plants' OR GD.Categories = 'Fungus') AND GD._pageNamespace = 0 AND CF.Value IS NULL
  | format=table
  | order by=GD._pageName
}}
</div>
<div style="margin-right: 2.5em;">
====Occluding Statues and Monuments====
{{#cargo_query:
  | tables=GeneralData=GD,ExtraInfo=EI,CreatureFactions=CF
  | join on=GD.JoinKey=EI.JoinKey,GD.ObjectID=CF.ObjectID
  | fields=
      CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Object
  | where=EI.Info LIKE '%Occluding,,,%' AND (GD.Categories LIKE '%Monuments' OR GD.Categories LIKE '%Statues') AND GD._pageNamespace = 0 AND CF.Value IS NULL
  | format=table
  | order by=GD._pageName
}}
</div>
<div style="margin-right: 2.5em;">
====Occluding Objects====
Non-plant, non-statue, non-wall<br>objectsthat are occluding.
{{#cargo_query:
  | tables=GeneralData=GD,ExtraInfo=EI,CreatureFactions=CF
  | join on=GD.JoinKey=EI.JoinKey,GD.ObjectID=CF.ObjectID
  | fields=
      CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Object
  | where=EI.Info LIKE '%Occluding,,,%' AND GD.Categories NOT LIKE '%Wall%' AND GD.Categories NOT LIKE '%Monuments' AND GD.Categories NOT LIKE '%Statues' AND GD.Categories <> 'Plants' AND GD.Categories <> 'Fungus' AND CF.Value IS NULL
  | format=table
  | order by=GD._pageName
}}
</div>
<div style="margin-right: 2.5em;">
====Non-Occluding Walls====
Most walls are occluding, but the<br>following are exceptions to that rule:
{{#cargo_query:
  | tables=GeneralData=GD,ExtraInfo=EI
  | join on=GD.JoinKey=EI.JoinKey
  | fields=
      CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Object
  | where=(EI.Info IS NULL OR EI.Info NOT LIKE '%Occluding,,,%') AND GD.Categories LIKE '%Walls'
  | format=table
  | order by=GD._pageName
}}
</div>
<div style="margin-right: 2.5em;">
====Occluding Holograms====
Surprisingly, although holographic,<br>these objects are occluding.
{{#cargo_query:
  | tables=GeneralData=GD,ExtraInfo=EI,CreatureFactions=CF
  | join on=GD.JoinKey=EI.JoinKey,GD.ObjectID=CF.ObjectID
  | fields=
      CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{!}}{{(}}lc:',GD._pageTitle,'{{)}}{{))}}')=Object
  | where=EI.Info LIKE '%Occluding,,,%' AND (GD.ObjectID LIKE '%Holo%')
  | format=table
  | order by=GD._pageName
}}
</div>
</div>


==References==
==References==