Properties: Difference between revisions

From Caves of Qud Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(9 intermediate revisions by 5 users not shown)
Line 3: Line 3:


==Metal==
==Metal==
Metal items can [[rusted | rust]], be [[magnetized]], and be pulled by {{Favilink | pulsed field magnet | plural}}. Creatures can be metallic as well. This means their entire body becomes pulled if magnetic pulsed, and will refuse to properly function if rusted.
Metal items can [[rusted | rust]], be [[magnetized]], and be pulled by {{Favilink | pulsed field magnet | plural}}. Creatures can be metallic as well. This means their entire body becomes pulled if magnetic pulsed, and will refuse to properly function if rusted. Metal items (but not creatures) cannot be [[burning|set on fire]].{{Code Reference|class=Metal|method=MakeNonflammable}}


For modding purposes, this property corresponds to the <code>Metal</code> object part.
For modding purposes, this property corresponds to the <code>Metal</code> object part.


==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.
A thing that is organic<ref>For modding purposes, “organic” means having an <code>Inorganic</code> integer property set to 0, rather than 1.</ref>:
 
* cannot safely contain {{Favilink | acid}}{{Code Reference | namespace = XRL.Liquids | class = LiquidAcid | method = SafeContainer}}
* can be healed by {{Favilink | convalessence}}{{Code Reference | namespace = XRL.Liquids | class = LiquidConvalessence | method = GetHealingLocationValue}}
* turns to {{Favilink | ashes}} when destroyed by fire or light damage{{Code Reference | class = BurnToAshesIfOrganic}}
* is vulnerable to a {{Favilink | thirst thistle}}'s thirsting effect{{Code Reference | class = ThirstOnHit}}


==Cannot be removed once equipped==
==Cannot be removed once equipped==
{{Missing info | This section requires clean-up - in particular, the "Cursed" tag and internal terminology no longer exists.}}
Items with this property can't be unequipped normally by the player, but can be unequipped under other circumstances by the game, such as when they're destroyed.
Items with this property can't be unequipped normally by the player, but can be unequipped under other circumstances by the game, such as when they're destroyed.


Line 19: Line 22:


==EMP Sensitive==
==EMP Sensitive==
This item will deactivate if hit by an EMP blast, usually from [[Electromagnetic Impulse]] or an EMP grenade.
This item will deactivate if hit by an EMP blast, usually from [[Electromagnetic Pulse]] or an EMP grenade.


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.
Line 43: Line 46:
   | fields=
   | fields=
       CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Object
       CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Object
   | where=EI.Info LIKE '%EMP Sensitive,,,%' AND GD._pageNamespace = 0 AND (GD.Categories = 'Walls' OR GD.Categories = 'Wall Traps')
   | where=EI.Info LIKE '%EMP Sensitive,,,%' AND GD._pageNamespace = 0 AND (GD.Categories = 'Walls' OR GD.Categories = 'Fences' OR GD.Categories = 'Vents' OR GD.Categories = 'Glass Walls' OR GD.Categories = 'Tech Walls' OR GD.Categories = 'Gemstone Walls' OR GD.Categories = 'Sultan Walls' OR GD.Categories = 'Murals' OR GD.Categories = 'Holographic Walls' OR GD.Categories = 'Force Fields')
   | format=ul
   | format=ul
   | order by=GD._pageName
   | order by=GD._pageName
Line 90: Line 93:
   | fields=
   | fields=
       CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Object
       CONCAT('{{((}}favilink id{{!}}',CONCAT(GD.ObjectID),'{{))}}')=Object
   | where=EI.Info LIKE '%EMP Sensitive,,,%' AND GD._pageNamespace = 0 AND CF.Value IS NULL AND (GD.Categories <> 'Melee Weapons' AND GD.Categories <> 'Axes' AND GD.Categories <> 'Long Blades' AND GD.Categories <> 'Short Blades' AND GD.Categories <> 'Cudgels' AND GD.Categories <> 'Rifles' AND GD.Categories <> 'Pistols' AND GD.Categories <> 'Bows' AND GD.Categories <> 'Heavy Weapons' AND GD.Categories <> 'Thrown Weapons' AND GD.ObjectID <> 'Point-Defense Drone' AND GD.Categories <> 'Furniture' AND GD.Categories <> 'Chairs' AND GD.Categories <> 'Walls' AND GD.Categories <> 'Wall Traps')
   | where=EI.Info LIKE '%EMP Sensitive,,,%' AND GD._pageNamespace = 0 AND CF.Value IS NULL AND (GD.Categories <> 'Melee Weapons' AND GD.Categories <> 'Axes' AND GD.Categories <> 'Long Blades' AND GD.Categories <> 'Short Blades' AND GD.Categories <> 'Cudgels' AND GD.Categories <> 'Rifles' AND GD.Categories <> 'Pistols' AND GD.Categories <> 'Bows' AND GD.Categories <> 'Heavy Weapons' AND GD.Categories <> 'Thrown Weapons' AND GD.ObjectID <> 'Point-Defense Drone' AND GD.Categories <> 'Furniture' AND GD.Categories <> 'Chairs' AND GD.Categories <> 'Walls' AND GD.Categories <> 'Fences' AND GD.Categories <> 'Vents' AND GD.Categories <> 'Glass Walls' AND GD.Categories <> 'Tech Walls' AND GD.Categories <> 'Gemstone Walls' AND GD.Categories <> 'Sultan Walls' AND GD.Categories <> 'Murals' AND GD.Categories <> 'Holographic Walls' AND GD.Categories <> 'Force Fields')
   | format=ul
   | format=ul
   | order by=GD._pageName
   | order by=GD._pageName
Line 105: Line 108:


== 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 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 class of objects that occlude light are [[walls]] (including closed [[:Category:Doors|doors]] and [[:Category:Vents|vents]]). 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>


<div style="display:flex;flex-wrap:wrap;">
<div style="display:flex;flex-wrap:wrap;">
Line 134: Line 137:
<div style="margin-right: 2.5em;">
<div style="margin-right: 2.5em;">
====Occluding Objects====
====Occluding Objects====
Non-plant, non-statue, non-wall<br>objectsthat are occluding.
Non-plant, non-statue, non-wall<br>objects that are occluding.
{{#cargo_query:
{{#cargo_query:
   | tables=GeneralData=GD,ExtraInfo=EI,CreatureFactions=CF
   | tables=GeneralData=GD,ExtraInfo=EI,CreatureFactions=CF
Line 176: Line 179:
<references/>
<references/>


{{Mechanics Navbox}}
[[Category:Mechanics]]
[[Category:Mechanics]]

Latest revision as of 19:29, 14 September 2022

This article is a stub. You can help Caves of Qud Wiki by expanding it.
This article is a stub. You can help Caves of Qud Wiki by expanding it.

Aside from standard qualities like damage and weight, items, objects, and creatures can have physical or metaphysical properties that affect how they behave and how other items interact with them.

Metal

Metal items can rust, be magnetized, and be pulled by pulsed field magnets. Creatures can be metallic as well. This means their entire body becomes pulled if magnetic pulsed, and will refuse to properly function if rusted. Metal items (but not creatures) cannot be set on fire.[1]

For modding purposes, this property corresponds to the Metal object part.

Organic

A thing that is organic[2]:

Cannot be removed once equipped

Items with this property can't be unequipped normally by the player, but can be unequipped under other circumstances by the game, such as when they're destroyed.

For modding purposes, this property corresponds to the Cursed, CursedCybernetics, and NaturalEquipment object parts.

EMP Sensitive

This item will deactivate if hit by an EMP blast, usually from Electromagnetic Pulse or an EMP grenade.

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

Some parts implement hardcoded EMP sensitivity because they do not use IActivePart. These include support parts for geomagnetic discs, night vision implants, mines, bombs, high-powered magnets, melee weapon elemental damage, walltraps, and conveyor belts.[7]

EMP-Sensitive Creatures

Other EMP-Sensitive Equipment/Objects

More...

Reality Distortion Based

Capabilities that are reality distortion based are subject to being interfered with by normality.

On items, this property usually corresponds to having an IsRealityDistortionBased attribute of true on an appropriate object part. This is another configuration point provided by IActivePart; see Modding:Active Parts for details.

Some mutation parts can also be configured for this property, using fields called either IsRealityDistortionBased or RealityDistortionBased. There is no way to change these fields via Mutations.xml, so this is only manipulable by scripting mods.

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 class of objects that occlude light are walls (including closed doors and vents). Other occluding objects are shown below.[8]

Occluding Objects

Non-plant, non-statue, non-wall
objects that are occluding.

Object
air well
becoming nook
brinestalk stakes
broadcast power station
chalkboard
mural endcap
mural median
mural of *Sultan*
force projector
frosted pillar
fuming vents
fused security door
fusion power station
fusion pumping station
hydraulic irrigator
hydraulic turbine
industrial fan
locking machine arm
machine press
molting basilisk husk
mural endcap
mural median
norm core mk I
norm core mk II
norm core mk III
painted column
palladium strut
palladium strut with coral growth
plastic tree
quantum rippler
reshaping nook
reshaping pad
rotating machine arm
rubber curtains
scratched vents
sinister wall
sliding drawer cabinet
solar power station
solar pumping station
sparking vents
stairwell teleporter
steaming vents
mural of *Sultan5*
mural of *Sultan1*
mural of *Sultan4*
mural of *Sultan2*
mural of *Sultan6*
mural of *Sultan3*
ticking vents
tinted glass door
vents with hexagonal residue
vents with mold particulate
vents with moss particulate

Non-Occluding Walls

Most walls are occluding, but the
following are exceptions to that rule:

Object
chrome plaque
debris
glass wall
holographic sandstone
low wall
rubble
scintillating glass wall
tetraxenonoglass wall

References

  1. XRL.World.Parts.Metal, method MakeNonflammable
  2. For modding purposes, “organic” means having an Inorganic integer property set to 0, rather than 1.
  3. XRL.Liquids.LiquidAcid, method SafeContainer
  4. XRL.Liquids.LiquidConvalessence, method GetHealingLocationValue
  5. XRL.World.Parts.BurnToAshesIfOrganic
  6. XRL.World.Parts.ThirstOnHit
  7. Most of these special cases can be found by searching the codebase for "IsEMPed", an IComponent method used for less conventional EMP status checking.
  8. Occlusion can be set on an object by adding Occluding="true" in the object's Render part.