items¶
items.item_flags¶
<bitfield-type type-name="item_flags">
<flag-bit name="on_ground">
Item on ground
</flag-bit>
<flag-bit name="in_job">
Item currently being used in a job
</flag-bit>
<flag-bit name="hostile">
Item owned by hostile
</flag-bit>
<flag-bit name="in_inventory">
Item in a creature, workshop or container inventory
</flag-bit>
<flag-bit name="removed">
completely invisible and with no position
</flag-bit>
<flag-bit name="in_building">
Part of a building (including mechanisms, bodies in coffins)
</flag-bit>
<flag-bit name="container">
Set on anything that contains or contained items?
</flag-bit>
<flag-bit name="dead_dwarf">
Dwarfs dead body or body part
</flag-bit>
<flag-bit name="rotten">
Rotten food
</flag-bit>
<flag-bit name="spider_web">
Thread in spider web
</flag-bit>
<flag-bit name="construction">
Material used in construction
</flag-bit>
<flag-bit name="encased">
Item encased in ice or obsidian
</flag-bit>
<flag-bit name="unk12">
unknown, unseen
</flag-bit>
<flag-bit name="murder">
Implies murder - used in fell moods
</flag-bit>
<flag-bit name="foreign">
Item is imported
</flag-bit>
<flag-bit name="trader">
Item ownwed by trader
</flag-bit>
<flag-bit name="owned">
Item is owned by a dwarf
</flag-bit>
<flag-bit name="garbage_collect">
Marked for deallocation by DF it seems
</flag-bit>
<flag-bit name="artifact">
Artifact
</flag-bit>
<flag-bit name="forbid">
Forbidden item
</flag-bit>
<flag-bit name="already_uncategorized">
unknown, unseen
</flag-bit>
<flag-bit name="dump">
Designated for dumping
</flag-bit>
<flag-bit name="on_fire">
Indicates if item is on fire, Will Set Item On Fire if Set!
</flag-bit>
<flag-bit name="melt">
Designated for melting, if applicable
</flag-bit>
<flag-bit name="hidden">
Hidden item
</flag-bit>
<flag-bit name="in_chest">
Stored in chest/part of well?
</flag-bit>
<flag-bit name="use_recorded">
transient in unit.used_items update
</flag-bit>
<flag-bit name="artifact_mood">
created by mood/named existing item
</flag-bit>
<flag-bit name="temps_computed">
melting/boiling/ignite/etc. points
</flag-bit>
<flag-bit name="weight_computed"/>
<flag-bit name="unk30">
unknown, unseen
</flag-bit>
<flag-bit name="from_worldgen">
created by underground critters?
</flag-bit>
</bitfield-type>
items.item_flags2¶
<bitfield-type type-name="item_flags2">
<flag-bit name="has_rider">
vehicle with a rider
</flag-bit>
<flag-bit name="unk1"/>
<flag-bit name="grown"/>
<flag-bit name="has_written_content"/>
</bitfield-type>
items.item_magicness_type¶
<enum-type type-name="item_magicness_type" base-type="int16_t">
<enum-item name="Sparkle"/>
<enum-item name="AirWarped"/>
<enum-item name="Whistle"/>
<enum-item name="OddlySquare"/>
<enum-item name="SmallBumps"/>
<enum-item name="EarthSmell"/>
<enum-item name="Lightning"/>
<enum-item name="GrayHairs">
with value of 10 or higher, creatures that look at the item cannot
think negative thoughts
</enum-item>
<enum-item name="RustlingLeaves"/>
</enum-type>
items.item_magicness¶
<struct-type type-name="item_magicness">
<enum base-type="int16_t" name="type"
type-name="item_magicness_type"/>
<int16_t name="value">
boosts item value by 50*this
</int16_t>
<int16_t/>
<int32_t name="flags">
1=does not show up in item description or alter item value
</int32_t>
</struct-type>
items.temperaturest¶
<struct-type type-name="temperaturest">
seems like a convenient name
<uint16_t name="whole" init-value="10050"/>
<int16_t name="fraction" init-value="0"/>
</struct-type>
items.spatter_common¶
<struct-type type-name="spatter_common">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<enum type-name="matter_state" base-type="int16_t"
name="mat_state"/>
<compound name="temperature" type-name="temperaturest"/>
<int32_t name="size">
1-24=spatter, 25-49=smear, 50-* = coating
</int32_t>
<bitfield base-type="uint16_t" name="base_flags">
<flag-bit name="evaporates">
does not contaminate tile when washed away
</flag-bit>
v0.40.13
</bitfield>
<padding size="2">
needed for proper alignment of spatter on gcc
</padding>
</struct-type>
items.spatter¶
<struct-type type-name="spatter" inherits-from="spatter_common">
<int16_t name="body_part_id"
refers-to="$$._global._parent._global.body.body_plan.body_parts[
$]"/>
<bitfield base-type="uint16_t" name="flags">
<flag-bit name="water_soluble"/>
</bitfield>
</struct-type>
items.item_quality¶
<enum-type type-name="item_quality" base-type="int16_t">
<enum-item name="Ordinary"/>
<enum-item name="WellCrafted"/>
<enum-item name="FinelyCrafted"/>
<enum-item name="Superior"/>
<enum-item name="Exceptional"/>
<enum-item name="Masterful"/>
<enum-item name="Artifact"/>
</enum-type>
items.slab_engraving_type¶
<enum-type type-name="slab_engraving_type" base-type="int16_t">
<enum-item name="Slab" value="-1"/>
<enum-item name="Memorial"/>
<enum-item name="CraftShopSign"/>
<enum-item name="WeaponsmithShopSign"/>
<enum-item name="ArmorsmithShopSign"/>
<enum-item name="GeneralStoreSign"/>
<enum-item name="FoodShopSign"/>
<enum-item name="Secrets">
from the gods?
</enum-item>
<enum-item name="FoodImportsSign"/>
<enum-item name="ClothingImportsSign"/>
<enum-item name="GeneralImportsSign"/>
<enum-item name="ClothShopSign"/>
<enum-item name="LeatherShopSign"/>
<enum-item name="WovenClothingShopSign"/>
<enum-item name="LeatherClothingShopSign"/>
<enum-item name="BoneCarverShopSign"/>
<enum-item name="GemCutterShopSign"/>
<enum-item name="WeaponsmithShopSign2"/>
<enum-item name="BowyerShopSign"/>
<enum-item name="BlacksmithShopSign"/>
<enum-item name="ArmorsmithShopSign2"/>
<enum-item name="MetalCraftShopSign"/>
<enum-item name="LeatherGoodsShopSign"/>
<enum-item name="CarpenterShopSign"/>
<enum-item name="StoneFurnitureShopSign"/>
<enum-item name="MetalFurnitureShopSign"/>
<enum-item name="DemonIdentity">
when a demon assumes identity?
</enum-item>
<enum-item name="TavernSign"/>
</enum-type>
items.item¶
<class-type type-name="item" original-name="itemst"
instance-vector="$global.world.items.all" key-field="id">
<compound name="pos" type-name="coord"/>
<compound name="flags" type-name="item_flags"/>
<compound name="flags2" type-name="item_flags2">
v0.34.08
</compound>
<uint32_t name="age"/>
<int32_t name="id"/>
<stl-vector name="specific_refs" pointer-type="specific_ref"/>
<stl-vector name="general_refs" pointer-type="general_ref"/>
<int32_t name="world_data_id" ref-target="world_object_data">
v0.34.01
</int32_t>
<int32_t name="world_data_subid" init-value="-1">
v0.34.01
</int32_t>
<uint8_t name="stockpile_countdown">
-1 per 50 frames; then check if needs moving
</uint8_t>
<uint8_t name="stockpile_delay">
used to reset countdown; randomly varies
</uint8_t>
<int16_t name="unk2"/>
<int32_t name="base_uniform_score"/>
<int16_t name="walkable_id">
from map_block.walkable
</int16_t>
<uint16_t name="spec_heat"/>
<uint16_t name="ignite_point"/>
<uint16_t name="heatdam_point"/>
<uint16_t name="colddam_point"/>
<uint16_t name="boiling_point"/>
<uint16_t name="melting_point"/>
<uint16_t name="fixed_temp"/>
<int32_t name="weight">
if flags.weight_computed
</int32_t>
<int32_t name="weight_fraction">
1e-6
</int32_t>
<virtual-methods>
<vmethod ret-type="item_type" name="getType"/>
<vmethod ret-type="int16_t" name="getSubtype"/>
<vmethod ret-type="int16_t" name="getMaterial"/>
<vmethod ret-type="int32_t" name="getMaterialIndex"/>
<vmethod name="setSubtype">
<int16_t/>
</vmethod>
<vmethod name="setMaterial">
<int16_t/>
</vmethod>
<vmethod name="setMaterialIndex">
<int32_t/>
</vmethod>
<vmethod ret-type="int16_t" name="getActualMaterial">
returns an actual material type, never a race
</vmethod>
<vmethod ret-type="int32_t" name="getActualMaterialIndex">
returns an actual material index, never a caste
</vmethod>
<vmethod ret-type="int16_t" name="getRace">
only if the object is made of a "specific creature mat"
</vmethod>
<vmethod ret-type="int16_t" name="getCaste">
only if the object is made of a "specific creature mat"
</vmethod>
<vmethod ret-type="int16_t" name="getPlantID">
only if the object is made of a plant material
</vmethod>
<vmethod>
v0.40.01
</vmethod>
<vmethod>
<int32_t/>
v0.40.01
</vmethod>
<vmethod>
v0.40.01
</vmethod>
<vmethod ret-type="int32_t" name="getTotalDimension"/>
<vmethod name="setDimension">
<int32_t name="amount"/>
</vmethod>
<vmethod ret-type="bool" name="subtractDimension">
<int32_t name="amount"/>
</vmethod>
<vmethod ret-type="bool" name="isFoodStorage"/>
<vmethod ret-type="bool" name="isTrackCart"/>
<vmethod ret-type="bool" name="isWheelbarrow"/>
<vmethod ret-type="int32_t" name="getVehicleID"/>
<vmethod name="getStockpile">
<ret-type>
<pointer type-name="item_stockpile_ref"/>
</ret-type>
</vmethod>
<vmethod ret-type="bool" name="containsPlaster"/>
<vmethod ret-type="bool" name="isPlaster"/>
<vmethod ret-type="bool" name="getColorOverride">
<pointer/>
</vmethod>
<vmethod name="getHistoryInfo">
<ret-type>
<pointer>
<pointer type-name="item_history_info"/>
</pointer>
</ret-type>
</vmethod>
<vmethod ret-type="bool" name="hasToolUse">
<int16_t/>
</vmethod>
<vmethod ret-type="bool"/>
<vmethod name="becomePaste"/>
<vmethod name="becomePressed"/>
<vmethod name="calculateWeight"/>
<vmethod ret-type="bool" name="isSharpStone"/>
<vmethod ret-type="bool" name="isCrystalGlassable"/>
<vmethod ret-type="bool" name="isMetalOre">
<int16_t name="matIndex"/>
</vmethod>
<vmethod name="clearLastTempUpdateTS"/>
<vmethod name="listNotableKills">
<pointer type-name="stl-string" name="string_ptr"/>
</vmethod>
<vmethod ret-type="uint16_t" name="getSpecHeat"/>
<vmethod ret-type="uint16_t" name="getIgnitePoint"/>
<vmethod ret-type="uint16_t" name="getHeatdamPoint"/>
<vmethod ret-type="uint16_t" name="getColddamPoint"/>
<vmethod ret-type="uint16_t" name="getBoilingPoint"/>
<vmethod ret-type="uint16_t" name="getMeltingPoint"/>
<vmethod ret-type="uint16_t" name="getFixedTemp"/>
<vmethod ret-type="int32_t" name="getSolidDensity"/>
<vmethod ret-type="bool" name="materialRots"/>
<vmethod ret-type="uint16_t" name="getTemperature"/>
<vmethod ret-type="bool" name="adjustTemperature">
<uint16_t name="target"/>
<int32_t name="unk"/>
</vmethod>
<vmethod/>
<vmethod name="extinguish"/>
<vmethod ret-type="int8_t" name="getGloveHandedness"/>
<vmethod name="setGloveHandedness">
<int8_t/>
</vmethod>
<vmethod ret-type="bool" name="isSpike"/>
<vmethod ret-type="bool" name="isScrew"/>
<vmethod ret-type="bool" name="isBuildMat"/>
<vmethod ret-type="bool" name="isTemperatureSafe">
<int8_t>
1 fire, 2 magma
</int8_t>
</vmethod>
<vmethod name="setRandSubtype">
<int32_t name="entity_id"/>
</vmethod>
<vmethod ret-type="int8_t" name="getWeaponSize">
weapon racks have capacity 5
</vmethod>
<vmethod ret-type="int16_t" name="getWear"/>
<vmethod name="setWear">
<int16_t/>
</vmethod>
<vmethod ret-type="int32_t" name="getMaker"/>
<vmethod name="setMaker">
<int32_t name="unit_id"/>
</vmethod>
<vmethod name="getCorpseInfo">
<pointer type-name="int16_t" name="prace"/>
<pointer type-name="int16_t" name="pcaste"/>
<pointer name="phfig">
<pointer type-name="historical_figure"/>
</pointer>
<pointer name="punit">
<pointer type-name="unit"/>
</pointer>
</vmethod>
<vmethod/>
<vmethod name="getGloveFlags">
<ret-type>
<pointer>
<df-flagarray/>
</pointer>
</ret-type>
</vmethod>
<vmethod name="getItemShapeDesc">
<ret-type>
<pointer type-name="stl-string"/>
</ret-type>
a statue/figurine of "string goes here"
</vmethod>
<vmethod ret-type="bool" name="isMatchingAmmoItem">
<pointer type-name="item_filter_spec"/>
</vmethod>
<vmethod>
<pointer/>
<pointer/>
</vmethod>
<vmethod>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod name="setSeedsPlantSkillLevel">
<int32_t name="level"/>
</vmethod>
<vmethod ret-type="int16_t" name="getCorpseSize">
size_info.size_cur
</vmethod>
<vmethod ret-type="bool" name="ageItem">
<int32_t name="amount"/>
</vmethod>
<vmethod ret-type="int32_t" name="getCritterAirdrownTimer"/>
<vmethod name="setCritterAirdrownTimer">
<int32_t/>
</vmethod>
<vmethod name="incrementCritterAirdrownTimer"/>
<vmethod ret-type="int32_t" name="getRotTimer"/>
<vmethod name="setRotTimer">
<int32_t name="val"/>
</vmethod>
<vmethod name="incrementRotTimer"/>
<vmethod ret-type="bool" name="isBogeymanCorpse"/>
<vmethod>
<int32_t/>
</vmethod>
<vmethod name="getAmmoType">
<ret-type>
<pointer type-name="stl-string"/>
</ret-type>
<pointer type-name="stl-string"/>
</vmethod>
<vmethod ret-type="bool" name="isLiquidPowder"/>
<vmethod ret-type="bool" name="isLiquid"/>
<vmethod ret-type="bool"/>
<vmethod ret-type="int32_t" name="getVolume">
for putting in containers, building clutter
</vmethod>
<vmethod name="addImprovementFromJob">
<ret-type>
<pointer type-name="itemimprovement"/>
</ret-type>
<enum base-type="int32_t" type-name="improvement_type"
name="imp_type"/>
<pointer type-name="job" name="job"/>
<pointer type-name="unit" name="unit"/>
<int16_t name="mat_type"/>
<int32_t name="mat_index"/>
<int32_t name="shape" ref-target="descriptor_shape"/>
<pointer type-name="historical_entity" name="entity"/>
<pointer type-name="item" name="item"/>
<pointer type-name="world_site" name="site"/>
<int16_t name="unk">
used to compute quality if !job||!unit
</int16_t>
<bool name="unshaped">
glazed
</bool>
</vmethod>
<vmethod ret-type="bool" name="isWeapon"/>
<vmethod ret-type="bool" name="isArmorNotClothing"/>
<vmethod ret-type="bool" name="isMillable"/>
<vmethod ret-type="bool" name="isProcessableThread"/>
<vmethod ret-type="bool" name="isProcessableVial"/>
<vmethod ret-type="bool" name="isProcessableBarrel"/>
<vmethod ret-type="bool" name="isEdiblePlant"/>
<vmethod ret-type="bool" name="isEdibleRaw">
<int32_t name="hunger"/>
</vmethod>
<vmethod ret-type="bool" name="isEdibleCarnivore">
In item_foodst, requires MEAT or FISH ingredient.
<int32_t name="hunger"/>
</vmethod>
<vmethod ret-type="bool" name="isEdibleBonecarn">
In item_foodst, requires CORPSEPIECE, MEAT or FISH ingredient.
<int32_t name="hunger"/>
</vmethod>
<vmethod ret-type="bool" name="moveToGround">
<int16_t name="x"/>
<int16_t name="y"/>
<int16_t name="z"/>
</vmethod>
<vmethod name="categorize">
<bool name="in_play"/>
Add item to world.items.other.*
</vmethod>
<vmethod name="uncategorize">
Remove item from world.items.other.*
</vmethod>
<vmethod ret-type="bool" name="isFurniture">
<bool name="empty"/>
</vmethod>
<vmethod ret-type="bool" name="isPressed"/>
<vmethod ret-type="bool" name="isAnimal">
stored in Animal stockpiles
</vmethod>
<vmethod name="assignQuality">
<pointer name="maker" type-name="unit"/>
<enum base-type="int16_t" name="job_skill"
type-name="job_skill"/>
</vmethod>
<vmethod>
<int32_t/>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod>
<int32_t/>
</vmethod>
<vmethod name="notifyLostMasterwork"/>
<vmethod name="addMagic">
<int32_t/>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod name="magic_unk1">
<int32_t/>
<int32_t/>
</vmethod>
<vmethod name="magic_unk2">
<int32_t/>
<int32_t/>
</vmethod>
<vmethod name="magic_unk3">
<int32_t/>
</vmethod>
<vmethod name="magic_unk4">
<int32_t/>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod name="setDisplayColor">
<pointer/>
</vmethod>
<vmethod ret-type="bool" name="isDamagedByHeat"/>
<vmethod ret-type="bool" name="needTwoHandedWield">
<int32_t/>
</vmethod>
<vmethod name="splitStack">
<ret-type>
<pointer type-name="item"/>
</ret-type>
<int32_t name="stack_size"/>
<bool name="preserve_containment"/>
</vmethod>
<vmethod ret-type="bool" name="isTameableVermin"/>
<vmethod ret-type="bool" name="isDye"/>
<vmethod ret-type="bool" name="isMilkable">
<int32_t/>
<int32_t/>
</vmethod>
<vmethod ret-type="bool" name="isSandBearing"/>
<vmethod ret-type="bool" name="isLyeBearing"/>
<vmethod ret-type="bool" name="isAnimalProduct"/>
<vmethod name="getStorageInfo">
<pointer type-name="int16_t" name="item_type"/>
<pointer type-name="int16_t" name="material_category"/>
</vmethod>
<vmethod ret-type="bool" name="addWear">
<int32_t name="delta"/>
<bool name="simple"/>
<bool name="lose_masterwork"/>
</vmethod>
<vmethod ret-type="bool" name="incWearTimer">
<int32_t name="delta"/>
</vmethod>
<vmethod ret-type="bool" name="checkWearDestroy">
<bool name="simple"/>
<bool name="lose_masterwork"/>
</vmethod>
<vmethod name="addContaminant">
<int16_t name="mat_type"/>
<int32_t name="mat_index"/>
<enum type-name="matter_state" base-type="int16_t"
name="mat_state"/>
<uint16_t name="temp"/>
<int32_t name="size"/>
<int16_t name="body_part_id"/>
<uint16_t name="flags"/>
</vmethod>
<vmethod name="removeContaminantByIdx">
<int32_t name="index"/>
<int32_t name="amount"/>
</vmethod>
<vmethod name="removeContaminant">
<int16_t name="mat_type"/>
<int32_t name="mat_index"/>
<int32_t name="amount"/>
</vmethod>
<vmethod name="tradeUnitContaminants">
<pointer type-name="unit"/>
<int16_t name="body_part_id"/>
</vmethod>
<vmethod name="tradeItemContaminants">
<pointer type-name="item"/>
calls item.tIC2(this)
</vmethod>
<vmethod name="tradeItemContaminants2">
<pointer type-name="item_actual"/>
</vmethod>
<vmethod name="contaminateWound">
<pointer type-name="unit"/>
<pointer type-name="unit_wound"/>
<uint8_t name="shift"/>
<int16_t name="body_part_id"/>
</vmethod>
<vmethod name="write_file">
<pointer name="file" type-name="file_compressorst"/>
</vmethod>
<vmethod name="read_file">
<pointer name="file" type-name="file_compressorst"/>
<int32_t name="loadversion"/>
</vmethod>
<vmethod name="getWeaponAttacks">
<ret-type>
<pointer>
<stl-vector type-name="pointer"/>
</pointer>
</ret-type>
</vmethod>
<vmethod/>
<vmethod ret-type="bool" name="isSplittable">
if false, you throw the entire stack at once
</vmethod>
<vmethod>
<pointer/>
</vmethod>
<vmethod>
<pointer/>
<pointer/>
</vmethod>
<vmethod name="propagateUnitRefs"/>
<vmethod ret-type="bool" name="isBag">
BOX made of cloth
</vmethod>
<vmethod ret-type="bool" name="isSand"/>
<vmethod>
returns item_actual.anon_1
</vmethod>
<vmethod ret-type="int32_t" name="getStackSize"/>
<vmethod name="addStackSize">
<int32_t name="amount"/>
</vmethod>
<vmethod name="setStackSize">
<int32_t name="amount"/>
</vmethod>
<vmethod ret-type="bool" name="isAmmoClass">
<pointer type-name="stl-string"/>
</vmethod>
<vmethod ret-type="bool" name="isAutoClean">
delete on_ground every season when in ANY_AUTO_CLEAN; default
true
</vmethod>
<vmethod ret-type="bool" name="setTemperatureFromMapTile">
<int32_t name="x"/>
<int32_t name="y"/>
<int32_t name="z"/>
<bool name="local"/>
<bool name="contained"/>
</vmethod>
<vmethod ret-type="bool" name="setTemperatureFromMap">
<bool name="local"/>
<bool name="contained"/>
</vmethod>
<vmethod ret-type="bool" name="setTemperature">
<uint16_t name="temp"/>
<bool name="local"/>
<bool name="contained"/>
</vmethod>
<vmethod ret-type="bool" name="updateTempFromMap">
<bool name="local"/>
<bool name="contained"/>
<bool name="adjust"/>
<int32_t name="multiplier"/>
</vmethod>
<vmethod ret-type="bool" name="updateTemperature">
<uint16_t name="temp"/>
<bool name="local"/>
<bool name="contained"/>
<bool name="adjust"/>
<int32_t name="multiplier"/>
</vmethod>
<vmethod ret-type="bool" name="updateFromWeather"/>
<vmethod ret-type="bool" name="updateContaminants"/>
<vmethod ret-type="bool" name="checkTemperatureDamage"/>
<vmethod ret-type="bool" name="checkHeatColdDamage"/>
<vmethod ret-type="bool" name="checkMeltBoil"/>
<vmethod ret-type="int16_t" name="getMeleeSkill"/>
<vmethod ret-type="int16_t" name="getRangedSkill"/>
<vmethod name="setQuality">
<int16_t name="quality"/>
</vmethod>
<vmethod ret-type="int16_t" name="getQuality"/>
<vmethod ret-type="int16_t" name="getOverallQuality"/>
<vmethod ret-type="int16_t" name="getImprovementQuality"/>
<vmethod ret-type="int32_t" name="getProjectileSize"/>
<vmethod ret-type="bool" name="isImprovable">
<pointer type-name="job"/>
<int16_t name="mat_type"/>
<int32_t name="mat_index"/>
</vmethod>
<vmethod name="setSharpness">
<int32_t name="unk1"/>
<int32_t name="unk2"/>
</vmethod>
<vmethod ret-type="int32_t" name="getSharpness"/>
<vmethod ret-type="bool" name="isTotemable"/>
<vmethod ret-type="bool" name="isDyeable"/>
<vmethod ret-type="bool" name="isNotDyed"/>
<vmethod ret-type="bool" name="isDyed"/>
<vmethod ret-type="bool" name="canSewImage"/>
<vmethod ret-type="bool"/>
<vmethod ret-type="bool" name="isProcessableVialAtStill"/>
<vmethod ret-type="bool" name="isSimilarToItem">
<enum base-type="int16_t" name="item_type"
type-name="item_type"/>
<int16_t name="item_subtype"/>
<int16_t name="mat_type"/>
<int32_t name="mat_index"/>
</vmethod>
<vmethod ret-type="int32_t" name="getBlockChance"/>
<vmethod/>
<vmethod ret-type="int16_t" name="getMakerRace"/>
<vmethod name="setMakerRace">
<int16_t/>
</vmethod>
<vmethod ret-type="int8_t" name="getEffectiveArmorLevel">
adds 1 if it has [METAL_ARMOR_LEVELS] and it's made of an
inorganic mat
</vmethod>
<vmethod/>
<vmethod ret-type="bool" name="isItemOrganicCloth"/>
<vmethod ret-type="bool" name="isMadeOfOrganicCloth"/>
<vmethod name="coverWithContaminant">
<int16_t name="mat_type"/>
<int32_t name="mat_index"/>
<enum type-name="matter_state" base-type="int16_t"
name="mat_state"/>
<uint16_t name="temperature"/>
also stops fire; used for rain
</vmethod>
<vmethod ret-type="bool" name="hasSpecificImprovements">
<enum type-name="improvement_type" name="imp_type"/>
</vmethod>
<vmethod ret-type="bool" name="hasImprovements"/>
<vmethod ret-type="bool" name="isImproved"/>
<vmethod name="getMagic">
<ret-type>
<pointer>
<stl-vector pointer-type="item_magicness"/>
</pointer>
</ret-type>
</vmethod>
<vmethod name="getItemDescription">
<pointer type-name="stl-string"/>
<int8_t name="mode"/>
</vmethod>
<vmethod name="getItemDescriptionPrefix">
<pointer type-name="stl-string"/>
<int8_t name="mode"/>
"a " or "the "
</vmethod>
<vmethod name="getItemBasicName">
<pointer type-name="stl-string"/>
usually just "item"
</vmethod>
<vmethod ret-type="int32_t" name="getImprovementsValue">
<pointer type-name="caravan_state" name="caravan"/>
</vmethod>
<vmethod ret-type="bool" name="isExtractBearingFish"/>
<vmethod ret-type="bool" name="isExtractBearingVermin"/>
<vmethod/>
<vmethod ret-type="int32_t" name="getBaseWeight"/>
<vmethod ret-type="int32_t" name="getWeightShiftBits"/>
<vmethod ret-type="bool" name="isCollected"/>
<vmethod ret-type="bool" name="isEdibleVermin"/>
<vmethod ret-type="uint8_t" name="drawSelf"/>
<vmethod ret-type="bool" name="isRangedWeapon"/>
<vmethod ret-type="bool" name="isClothing"/>
<vmethod ret-type="bool" name="isWet"/>
<vmethod ret-type="int32_t" name="getCurrencyValue">
<pointer type-name="historical_entity" name="appraiser"/>
that is, value of coins
</vmethod>
<vmethod ret-type="bool" name="isAssignedToStockpile"/>
<vmethod ret-type="bool" name="isAssignedToThisStockpile">
<int32_t/>
</vmethod>
<vmethod name="detachStockpileAssignment">
also removes links from the pile
</vmethod>
<vmethod name="removeStockpileAssignment">
just wipes the fields
</vmethod>
<vmethod name="getStockpile2">
<ret-type>
<pointer type-name="item_stockpile_ref"/>
</ret-type>
</vmethod>
<vmethod>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod>
<int32_t/>
</vmethod>
<vmethod ret-type="int32_t" name="getThreadDyeValue">
<pointer type-name="caravan_state" name="caravan"/>
</vmethod>
<vmethod name="getColorAndShape">
<pointer name="colors">
<stl-vector type-name="int16_t"/>
</pointer>
<pointer name="shapes">
<stl-vector type-name="int16_t"/>
</pointer>
</vmethod>
<vmethod ret-type="bool"/>
<vmethod ret-type="bool" name="isArmor">
for armor user skill encumberance
</vmethod>
<vmethod ret-type="int32_t" name="calcUniformScore">
<pointer type-name="squad_uniform_spec"/>
<bool name="exact_match"/>
<enum base-type="int16_t" type-name="job_skill"
name="best_any"/>
<enum base-type="int16_t" type-name="job_skill"
name="best_melee"/>
<enum base-type="int16_t" type-name="job_skill"
name="best_ranged"/>
</vmethod>
<vmethod ret-type="int32_t" name="calcBaseUniformScore"/>
<vmethod>
<int32_t/>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod ret-type="bool"/>
<vmethod ret-type="bool"/>
<vmethod>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
<int32_t/>
</vmethod>
<vmethod/>
<vmethod/>
<vmethod name="getSlabEngravingType">
<ret-type>
<enum base-type="int16_t" type-name="slab_engraving_type"/>
</ret-type>
</vmethod>
<vmethod ret-type="int32_t" name="getAbsorption"/>
<vmethod ret-type="bool"/>
<vmethod ret-type="bool" name="isGemMaterial"/>
<vmethod name="setGemShape">
<int32_t name="shape" ref-target="descriptor_shape"/>
</vmethod>
<vmethod ret-type="bool" name="hasGemShape"/>
<vmethod name="getGemShape">
<ret-type>
<int32_t ref-target="descriptor_shape"/>
</ret-type>
</vmethod>
<vmethod ret-type="bool">
v0.40.01
</vmethod>
<vmethod is-destructor="true"/>
</virtual-methods>
</class-type>
items.item_kill_info¶
<struct-type type-name="item_kill_info">
<compound name="targets" type-name="historical_kills"/>
<stl-vector name="slayers" type-name="int32_t"
ref-target="historical_figure"/>
<stl-vector name="slayer_kill_counts" type-name="int32_t"/>
</struct-type>
items.item_history_info¶
<struct-type type-name="item_history_info">
<pointer name="kills" type-name="item_kill_info"/>
<int32_t name="unk1"/>
<int32_t name="unk2"/>
</struct-type>
items.item_actual¶
<class-type type-name="item_actual" inherits-from="item"
original-name="item_actualst">
<int32_t name="stack_size" init-value="1"/>
<pointer name="history_info">
<pointer type-name="item_history_info"/>
</pointer>
<pointer name="magic">
<stl-vector pointer-type="item_magicness"/>
</pointer>
<pointer name="contaminants">
<stl-vector pointer-type="spatter"/>
</pointer>
<compound name="temperature" type-name="temperaturest"/>
<int16_t name="wear"/>
<int32_t name="wear_timer">
counts up to 806400
</int32_t>
<int32_t init-value="-1">
v0.34.01
</int32_t>
<int32_t name="temp_updated_frame" init-value="-1"/>
</class-type>
items.item_crafted¶
<class-type type-name="item_crafted" inherits-from="item_actual"
original-name="item_craftedst">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int16_t name="maker_race" ref-target="creature_raw"/>
<enum base-type="int16_t" name="quality" type-name="item_quality"/>
<enum base-type="int32_t" name="skill_used" type-name="job_skill"/>
<int32_t name="maker" ref-target="historical_figure"/>
<int32_t name="masterpiece_event" ref-target="history_event"/>
</class-type>
items.item_constructed¶
<class-type type-name="item_constructed" inherits-from="item_crafted"
original-name="item_constructedst">
<stl-vector name="improvements" pointer-type="itemimprovement"/>
</class-type>
items.body_part_status¶
<bitfield-type type-name="body_part_status">
<flag-bit name="on_fire"/>
<flag-bit name="missing"/>
<flag-bit name="organ_loss">
cyan
</flag-bit>
<flag-bit name="organ_damage">
yellow
</flag-bit>
<flag-bit name="muscle_loss">
red
</flag-bit>
<flag-bit name="muscle_damage">
yellow
</flag-bit>
<flag-bit name="bone_loss">
red
</flag-bit>
<flag-bit name="bone_damage">
yellow
</flag-bit>
<flag-bit name="skin_damage">
brown
</flag-bit>
<flag-bit name="motor_nerve_severed"/>
<flag-bit name="sensory_nerve_severed"/>
<flag-bit name="spilled_guts"/>
<flag-bit name="has_splint"/>
<flag-bit name="has_bandage"/>
<flag-bit name="has_plaster_cast"/>
<flag-bit name="grime" count="3"/>
<flag-bit name="severed_or_jammed">
seen e.g. on ribs smashed by blunt attack, but quickly disappeared
</flag-bit>
<flag-bit name="under_shell"/>
<flag-bit name="is_shell"/>
<flag-bit name="unk19">
on zombified head
</flag-bit>
<flag-bit name="unk20">
on zombified head
</flag-bit>
</bitfield-type>
items.body_layer_status¶
<bitfield-type type-name="body_layer_status">
<flag-bit name="gone"/>
<flag-bit name="leaking"/>
</bitfield-type>
items.body_component_info¶
<struct-type type-name="body_component_info">
<stl-vector name="body_part_status" type-name="body_part_status" ind
ex-refers-to="$$._global._upglobal.caste.ref-target.body_info.bo
dy_parts[$]"/>
<stl-vector name="numbered_masks" type-name="uint32_t">
1 bit per instance of a numbered body part
</stl-vector>
<stl-vector name="nonsolid_remaining" type-name="uint32_t" index-ref
ers-to="$$._global._upglobal.caste.ref-target.body_info.nonsolid
_layers[$].refers-to">
0-100%
</stl-vector>
<stl-vector name="layer_status" type-name="body_layer_status" index-
refers-to="$$._global._upglobal.caste.ref-target.body_info.layer
_idx[$].refers-to"/>
<stl-vector name="layer_wound_area" type-name="uint32_t" index-refer
s-to="$$._global._upglobal.caste.ref-target.body_info.layer_idx[
$].refers-to"/>
<stl-vector name="layer_cut_fraction" type-name="uint32_t" index-ref
ers-to="$$._global._upglobal.caste.ref-target.body_info.layer_id
x[$].refers-to">
0-10000
</stl-vector>
<stl-vector name="layer_dent_fraction" type-name="uint32_t" index-re
fers-to="$$._global._upglobal.caste.ref-target.body_info.layer_i
dx[$].refers-to">
0-10000
</stl-vector>
<stl-vector name="layer_effect_fraction" type-name="uint32_t" index-
refers-to="$$._global._upglobal.caste.ref-target.body_info.layer
_idx[$].refers-to">
0-1000000000
</stl-vector>
</struct-type>
items.body_size_info¶
<struct-type type-name="body_size_info">
<int32_t name="size_cur"/>
<int32_t name="size_base"/>
<int32_t name="area_cur">
size_cur^0.666
</int32_t>
<int32_t name="area_base">
size_base^0.666
</int32_t>
<int32_t name="length_cur">
(size_cur*10000)^0.333
</int32_t>
<int32_t name="length_base">
(size_base*10000)^0.333
</int32_t>
</struct-type>
items.corpse_material_type¶
<enum-type type-name="corpse_material_type">
<enum-item name="Plant"/>
<enum-item name="Silk"/>
<enum-item name="Leather"/>
<enum-item name="Bone"/>
<enum-item name="Shell"/>
<enum-item/>
<enum-item name="Soap"/>
<enum-item name="Tooth"/>
<enum-item name="Horn"/>
<enum-item name="Pearl"/>
<enum-item name="HairWool"/>
<enum-item name="Yarn"/>
</enum-type>
items.item_body_component¶
<class-type type-name="item_body_component"
inherits-from="item_actual" original-name="item_body_componentst">
<int16_t name="race" ref-target="creature_raw"/>
<int32_t name="hist_figure_id" ref-target="historical_figure"/>
<int32_t name="unit_id" ref-target="unit"/>
<int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
<int8_t name="sex">
-1 n/a, 0 female, 1 male
</int8_t>
<int16_t name="race2" ref-target="creature_raw"/>
<int16_t name="caste2" ref-target="caste_raw" aux-value="$$.race2"/>
<int32_t name="rot_timer"/>
<int8_t name="unk_8c"/>
<compound name="body">
<stl-vector name="wounds" pointer-type="unit_wound"/>
<static-array name="unk_100" type-name="int32_t" count="10"/>
<int32_t name="unk_c8"/>
<compound name="components" type-name="body_component_info"/>
<static-array type-name="int32_t" name="physical_attr_value"
count="6" index-enum="physical_attribute_type"/>
<static-array type-name="int32_t" name="physical_attr_unk2"
count="6" index-enum="physical_attribute_type"/>
<compound name="size_info" type-name="body_size_info"/>
<stl-vector name="body_part_relsize" type-name="int32_t">
=unit.enemy.body_part_relsize
</stl-vector>
<stl-vector name="body_modifiers" type-name="int32_t" index-refers
-to="$$._global.caste.ref-target.body_appearance_modifiers[$]"
/>
<stl-vector name="bp_modifiers" type-name="int32_t" index-refers-t
o="$$._global.caste.ref-target.bp_appearance.modifier_idx[$].r
efers-to"/>
<int32_t name="size_modifier">
=unit.appearance.size_modifier
</int32_t>
</compound>
<int32_t name="birth_year"/>
<int32_t name="birth_time"/>
<int32_t name="curse_year">
v0.34.01
</int32_t>
<int32_t name="curse_time">
v0.34.01
</int32_t>
<int32_t name="birth_year_bias" init-value="0">
v0.34.01
</int32_t>
<int32_t name="birth_time_bias" init-value="0">
v0.34.01
</int32_t>
<int32_t name="death_year"/>
<int32_t name="death_time"/>
<compound name="appearance">
<stl-vector name="colors" type-name="int32_t"/>
<stl-vector name="unk_1e8" type-name="int16_t"/>
<stl-vector name="unk_1f8" type-name="int32_t"/>
<stl-vector name="unk_208" type-name="int32_t"/>
<stl-vector name="unk_218" type-name="int32_t"/>
</compound>
<int32_t name="blood_count"/>
<int32_t name="stored_fat"/>
<int32_t name="hist_figure_id2" ref-target="historical_figure"/>
<int32_t>
v0.34.01, actual offset unknown
</int32_t>
<int32_t name="unit_id2" ref-target="unit"/>
<bitfield name="corpse_flags">
<flag-bit name="unbutchered"/>
<flag-bit/>
<flag-bit/>
<flag-bit/>
<flag-bit name="bone"/>
<flag-bit name="shell"/>
<flag-bit/>
<flag-bit/>
<flag-bit/>
<flag-bit/>
<flag-bit/>
<flag-bit/>
<flag-bit name="skull"/>
<flag-bit name="separated_part">
?
</flag-bit>
<flag-bit name="hair_wool"/>
<flag-bit name="yarn"/>
</bitfield>
<static-array name="material_amount" type-name="int32_t" count="19"
index-enum="corpse_material_type"/>
<compound name="bone1">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
</compound>
<compound name="bone2">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
</compound>
</class-type>
items.item_corpsest¶
<class-type type-name="item_corpsest"
inherits-from="item_body_component"/>
items.item_corpsepiecest¶
<class-type type-name="item_corpsepiecest"
inherits-from="item_body_component"/>
items.item_critter¶
<class-type type-name="item_critter" inherits-from="item_actual"
original-name="item_critterst">
<int16_t name="race" ref-target="creature_raw"/>
<int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
<int32_t name="milk_timer"/>
<int32_t name="airdrown_timer"/>
<compound name="name" type-name="language_name"/>
</class-type>
items.item_matstate¶
<bitfield-type type-name="item_matstate">
<flag-bit name="no_auto_clean">
isAutoClean returns false
</flag-bit>
<flag-bit name="pressed"/>
<flag-bit name="paste"/>
</bitfield-type>
items.item_liquipowder¶
<class-type type-name="item_liquipowder" inherits-from="item_actual"
original-name="item_liquipowderst">
<compound name="mat_state" type-name="item_matstate"/>
<int32_t name="dimension" init-value="150"/>
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
</class-type>
items.item_liquid¶
<class-type type-name="item_liquid" inherits-from="item_liquipowder"
original-name="item_liquidst"/>
items.item_powder¶
<class-type type-name="item_powder" inherits-from="item_liquipowder"
original-name="item_powderst"/>
items.item_barst¶
<class-type type-name="item_barst" inherits-from="item_actual">
<int16_t name="subtype"/>
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="dimension" init-value="150"/>
</class-type>
items.item_smallgemst¶
<class-type type-name="item_smallgemst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="shape" ref-target="descriptor_shape"/>
</class-type>
items.item_blocksst¶
<class-type type-name="item_blocksst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
</class-type>
items.item_roughst¶
<class-type type-name="item_roughst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
</class-type>
items.item_boulderst¶
<class-type type-name="item_boulderst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
</class-type>
items.item_woodst¶
<class-type type-name="item_woodst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
</class-type>
items.item_branchst¶
<class-type type-name="item_branchst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
</class-type>
items.item_rockst¶
<class-type type-name="item_rockst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="sharpness"/>
<int32_t name="unk_84"/>
</class-type>
items.item_seedsst¶
<class-type type-name="item_seedsst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="grow_counter"/>
<int32_t name="planting_skill"/>
</class-type>
items.item_skin_tannedst¶
<class-type type-name="item_skin_tannedst"
inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="unk_80"/>
</class-type>
items.item_meatst¶
<class-type type-name="item_meatst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="rot_timer"/>
</class-type>
items.item_plantst¶
<class-type type-name="item_plantst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="rot_timer"/>
</class-type>
items.item_plant_growthst¶
<class-type type-name="item_plant_growthst"
inherits-from="item_actual">
<int16_t name="subtype"/>
<int32_t/>
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="rot_timer"/>
</class-type>
items.item_cheesest¶
<class-type type-name="item_cheesest" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="rot_timer"/>
</class-type>
items.item_globst¶
<class-type type-name="item_globst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="rot_timer"/>
<compound name="mat_state" type-name="item_matstate"/>
<int32_t/>
</class-type>
items.item_remainsst¶
<class-type type-name="item_remainsst" inherits-from="item_actual">
<int16_t name="race" ref-target="creature_raw"/>
<int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
<int32_t name="rot_timer"/>
</class-type>
items.item_fishst¶
<class-type type-name="item_fishst" inherits-from="item_actual">
<int16_t name="race" ref-target="creature_raw"/>
<int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
<int32_t name="rot_timer"/>
</class-type>
items.item_fish_rawst¶
<class-type type-name="item_fish_rawst" inherits-from="item_actual">
<int16_t name="race" ref-target="creature_raw"/>
<int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
<int32_t name="rot_timer"/>
</class-type>
items.item_foodst¶
<class-type type-name="item_foodst" inherits-from="item_crafted">
<pointer name="subtype" type-name="itemdef_foodst"/>
<int32_t name="entity" ref-target="historical_entity"/>
<int16_t name="recipe_id"/>
<stl-vector name="ingredients">
<pointer>
<int16_t/>
<enum base-type="int16_t" name="item_type"
type-name="item_type"/>
<int16_t name="unk_4" init-value="-1"/>
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index" init-value="-1"/>
<int32_t name="maker" ref-target="historical_figure"/>
<enum base-type="int16_t" name="quality"
type-name="item_quality"/>
<int32_t name="unk_14"/>
<int32_t name="unk_18"/>
</pointer>
</stl-vector>
<int32_t name="rot_timer"/>
</class-type>
items.item_verminst¶
<class-type type-name="item_verminst" inherits-from="item_critter"/>
items.item_petst¶
<class-type type-name="item_petst" inherits-from="item_critter">
<int32_t name="owner_id" ref-target="unit"/>
<bitfield name="pet_flags">
<flag-bit name="available_for_adoption"/>
</bitfield>
</class-type>
items.item_drinkst¶
<class-type type-name="item_drinkst" inherits-from="item_liquid"/>
items.item_powder_miscst¶
<class-type type-name="item_powder_miscst"
inherits-from="item_powder"/>
items.item_liquid_miscst¶
<class-type type-name="item_liquid_miscst"
inherits-from="item_liquid">
<int32_t name="unk_88"/>
</class-type>
items.item_threadst¶
<class-type type-name="item_threadst" inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int16_t name="dye_mat_type" ref-target="material"
aux-value="$$.dye_mat_index"/>
<int32_t name="dye_mat_index"/>
<int32_t name="unk_88"/>
<int32_t name="unk_8c"/>
<int16_t name="dye_quality"/>
<int16_t name="unk_92"/>
<int32_t name="unk_94"/>
<int8_t name="unk_98"/>
<int32_t name="dimension" init-value="15000"/>
</class-type>
items.item_eggst¶
<class-type type-name="item_eggst" inherits-from="item_actual">
<int16_t name="race" ref-target="creature_raw"/>
<int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
<int32_t name="unk_7c"/>
<compound name="egg_materials" type-name="material_vec_ref"/>
<bitfield name="egg_flags">
<flag-bit name="fertile">
allows the incubation_counter to be checked/incremented
</flag-bit>
</bitfield>
<int32_t name="incubation_counter" init-value="0">
increments when fertile in unforbidden nestbox, hatch at >= 100800
(3 months)
</int32_t>
<int32_t name="hatchling_civ_id" ref-target="historical_entity">
hatchlings will have this civ_id
</int32_t>
<int32_t name="hatchling_population_id"
ref-target="entity_population">
hatchlings will have this population_id
</int32_t>
<int32_t name="hatchling_unit_unk_c0" init-value="-1">
hatchlings will have this unit.unk_c0 value
</int32_t>
<int32_t>
v0.40.01
</int32_t>
<pointer name="mothers_genes" type-name="unit_genes">
object owned by egg item
</pointer>
<int16_t name="mothers_caste" ref-target="caste_raw"
aux-value="$$.race"/>
<int32_t>
v0.40.01
</int32_t>
<pointer name="fathers_genes" type-name="unit_genes">
object owned by egg item
</pointer>
<int16_t name="fathers_caste" ref-target="caste_raw"
aux-value="$$.race">
-1 if no father genes
</int16_t>
<int32_t>
v0.40.01
</int32_t>
<compound name="hatchling_flags1" type-name="unit_flags1">
used primarily for bit_flag:tame
</compound>
<compound name="hatchling_flags2" type-name="unit_flags2">
used primarily for bit_flag:roaming_wilderness_population_source
</compound>
<compound name="hatchling_flags3" type-name="unit_flags3">
not normally used, most/all do not stick
</compound>
<int32_t name="unk_v42_1">
v0.42.01
</int32_t>
<enum name="hatchling_training_level" base-type="int32_t"
type-name="animal_training_level" init-value="WildUntamed"/>
<compound name="hatchling_animal_population"
type-name="world_population_ref"/>
<int32_t name="hatchling_mother_id" ref-target="unit"/>
<int32_t name="size"/>
</class-type>
items.item_doorst¶
<class-type type-name="item_doorst" inherits-from="item_constructed"/>
items.item_floodgatest¶
<class-type type-name="item_floodgatest"
inherits-from="item_constructed"/>
items.item_bedst¶
<class-type type-name="item_bedst" inherits-from="item_constructed"/>
items.item_chairst¶
<class-type type-name="item_chairst"
inherits-from="item_constructed"/>
items.item_chainst¶
<class-type type-name="item_chainst"
inherits-from="item_constructed"/>
items.item_flaskst¶
<class-type type-name="item_flaskst"
inherits-from="item_constructed"/>
items.item_gobletst¶
<class-type type-name="item_gobletst"
inherits-from="item_constructed"/>
items.item_windowst¶
<class-type type-name="item_windowst"
inherits-from="item_constructed"/>
items.item_cagest¶
<class-type type-name="item_cagest" inherits-from="item_constructed"/>
items.item_bucketst¶
<class-type type-name="item_bucketst"
inherits-from="item_constructed"/>
items.item_animaltrapst¶
<class-type type-name="item_animaltrapst"
inherits-from="item_constructed"/>
items.item_tablest¶
<class-type type-name="item_tablest"
inherits-from="item_constructed"/>
items.item_coffinst¶
<class-type type-name="item_coffinst"
inherits-from="item_constructed"/>
items.item_boxst¶
<class-type type-name="item_boxst" inherits-from="item_constructed"/>
items.item_armorstandst¶
<class-type type-name="item_armorstandst"
inherits-from="item_constructed"/>
items.item_weaponrackst¶
<class-type type-name="item_weaponrackst"
inherits-from="item_constructed"/>
items.item_cabinetst¶
<class-type type-name="item_cabinetst"
inherits-from="item_constructed"/>
items.item_amuletst¶
<class-type type-name="item_amuletst"
inherits-from="item_constructed"/>
items.item_scepterst¶
<class-type type-name="item_scepterst"
inherits-from="item_constructed"/>
items.item_crownst¶
<class-type type-name="item_crownst"
inherits-from="item_constructed"/>
items.item_ringst¶
<class-type type-name="item_ringst" inherits-from="item_constructed"/>
items.item_earringst¶
<class-type type-name="item_earringst"
inherits-from="item_constructed"/>
items.item_braceletst¶
<class-type type-name="item_braceletst"
inherits-from="item_constructed"/>
items.item_anvilst¶
<class-type type-name="item_anvilst"
inherits-from="item_constructed"/>
items.item_backpackst¶
<class-type type-name="item_backpackst"
inherits-from="item_constructed"/>
items.item_quiverst¶
<class-type type-name="item_quiverst"
inherits-from="item_constructed"/>
items.item_catapultpartsst¶
<class-type type-name="item_catapultpartsst"
inherits-from="item_constructed"/>
items.item_ballistapartsst¶
<class-type type-name="item_ballistapartsst"
inherits-from="item_constructed"/>
items.item_trappartsst¶
<class-type type-name="item_trappartsst"
inherits-from="item_constructed"/>
items.item_pipe_sectionst¶
<class-type type-name="item_pipe_sectionst"
inherits-from="item_constructed"/>
items.item_hatch_coverst¶
<class-type type-name="item_hatch_coverst"
inherits-from="item_constructed"/>
items.item_gratest¶
<class-type type-name="item_gratest"
inherits-from="item_constructed"/>
items.item_quernst¶
<class-type type-name="item_quernst"
inherits-from="item_constructed"/>
items.item_millstonest¶
<class-type type-name="item_millstonest"
inherits-from="item_constructed"/>
items.item_splintst¶
<class-type type-name="item_splintst"
inherits-from="item_constructed"/>
items.item_crutchst¶
<class-type type-name="item_crutchst"
inherits-from="item_constructed"/>
items.item_traction_benchst¶
<class-type type-name="item_traction_benchst"
inherits-from="item_constructed"/>
items.item_instrumentst¶
<class-type type-name="item_instrumentst"
inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_instrumentst"/>
</class-type>
items.item_toyst¶
<class-type type-name="item_toyst" inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_toyst"/>
</class-type>
items.item_armorst¶
<class-type type-name="item_armorst" inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_armorst"/>
</class-type>
items.item_shoesst¶
<class-type type-name="item_shoesst" inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_shoesst"/>
</class-type>
items.item_shieldst¶
<class-type type-name="item_shieldst"
inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_shieldst"/>
</class-type>
items.item_helmst¶
<class-type type-name="item_helmst" inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_helmst"/>
</class-type>
items.item_glovesst¶
<class-type type-name="item_glovesst"
inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_glovesst"/>
<df-flagarray name="handedness">
1 right, 2 left
</df-flagarray>
</class-type>
items.item_pantsst¶
<class-type type-name="item_pantsst" inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_pantsst"/>
</class-type>
items.item_siegeammost¶
<class-type type-name="item_siegeammost"
inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_siegeammost"/>
<int32_t name="sharpness" init-value="10000">
v0.40.15
</int32_t>
</class-type>
items.item_weaponst¶
<class-type type-name="item_weaponst"
inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_weaponst"/>
<int32_t name="sharpness"/>
</class-type>
items.item_ammost¶
<class-type type-name="item_ammost" inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_ammost"/>
<int32_t name="sharpness"/>
</class-type>
items.item_trapcompst¶
<class-type type-name="item_trapcompst"
inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_trapcompst"/>
<int32_t name="sharpness"/>
</class-type>
items.item_toolst¶
<class-type type-name="item_toolst" inherits-from="item_constructed">
<pointer name="subtype" type-name="itemdef_toolst"/>
<int32_t name="sharpness"/>
<compound name="stockpile" type-name="item_stockpile_ref"/>
<int32_t name="vehicle_id" ref-target="vehicle">
v0.34.08
</int32_t>
</class-type>
items.item_stockpile_ref¶
<struct-type type-name="item_stockpile_ref">
<int32_t name="id" ref-target="building"/>
<int16_t name="x"/>
<int16_t name="y"/>
</struct-type>
items.item_barrelst¶
<class-type type-name="item_barrelst"
inherits-from="item_constructed">
<compound name="stockpile" type-name="item_stockpile_ref"/>
</class-type>
items.item_binst¶
<class-type type-name="item_binst" inherits-from="item_constructed">
<compound name="stockpile" type-name="item_stockpile_ref"/>
</class-type>
items.item_gemst¶
<class-type type-name="item_gemst" inherits-from="item_constructed">
<int32_t name="shape" ref-target="descriptor_shape"/>
</class-type>
items.item_statuest¶
<class-type type-name="item_statuest"
inherits-from="item_constructed">
<compound name="image" type-name="art_image_ref"/>
<stl-string name="description"/>
</class-type>
items.item_figurinest¶
<class-type type-name="item_figurinest"
inherits-from="item_constructed">
<compound name="image" type-name="art_image_ref"/>
<stl-string name="description"/>
</class-type>
items.item_slabst¶
<class-type type-name="item_slabst" inherits-from="item_constructed">
<stl-string name="description"/>
<int32_t name="topic" ref-target="historical_figure">
or interaction id for secrets?
</int32_t>
<enum base-type="int16_t" type-name="slab_engraving_type"
name="engraving_type"/>
</class-type>
items.item_orthopedic_castst¶
<class-type type-name="item_orthopedic_castst"
inherits-from="item_constructed">
<stl-string name="body_part"/>
<stl-string name="material"/>
</class-type>
items.item_coinst¶
<class-type type-name="item_coinst" inherits-from="item_constructed">
<int16_t name="coin_batch" ref-target="coin_batch"/>
</class-type>
items.item_totemst¶
<class-type type-name="item_totemst" inherits-from="item_constructed">
<int16_t name="race" ref-target="creature_raw"/>
<int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
<int16_t name="body_part_idx"/>
</class-type>
items.item_clothst¶
<class-type type-name="item_clothst" inherits-from="item_constructed">
<int32_t name="dimension" init-value="10000"/>
</class-type>
items.item_bookst¶
<class-type type-name="item_bookst" inherits-from="item_constructed">
<stl-string name="title"/>
</class-type>
items.item_ballistaarrowheadst¶
<class-type type-name="item_ballistaarrowheadst"
inherits-from="item_actual">
<int16_t name="mat_type" ref-target="material"
aux-value="$$.mat_index"/>
<int32_t name="mat_index"/>
<int32_t name="sharpness" init-value="10000">
v0.40.15
</int32_t>
</class-type>
items.item_sheetst¶
<class-type type-name="item_sheetst" inherits-from="item_constructed">
<int32_t/>
<int32_t/>
</class-type>