items/items.ron
Every item: food, tools, clothing, bags, weapons. Read by the game’s rules: a change here changes how the game plays, and a world remembers the content it was made with.
File: assets/data/items/items.ron
About this file
Section titled “About this file”Items: everything a survivor can carry. Schema: zombye_sim::items::ItemDef (validated on load; unknown fields are refused). All names and numbers are our own, using real-world weights and sizes so a new item’s numbers can be guessed without a table.
id lowercase letters, digits and _ (saves and loot tables name items by it) category Food, Drink, Medical, Tool, Material, Clothing, Bag, Weapon, Light or Junk weight_kg counts in full wherever it is carried (hands, pockets, bags, worn) volume_l room it takes in pockets, bags and furniture (held and worn items take none) stack how many share one slot (default 1) tags for rules that recipes and actions check: needs_tin_opener, opens_tins, cuts, rippable, fire, fuel, light_source, junk, bandage, clean, disinfects, ... two_handed held in both hands (default false) weapon Some("id") of a weapon in weapons.ron: the item swings like it. Every weapon there (but bare hands) should have an item here; one without gets a plain 1 kg item. food, drink Some((hunger: 0..1 restored, thirst: 0..1 restored (negative: makes you thirsty), uses: goes, spoils_hours: Some(game hours) or None, poison: 0..1 chance of food poisoning each go eaten as it is: raw meat and eggs, cook them first)). medical Some((uses: n)). What it treats comes with #9 and #10 (by tag). bag Some((capacity_l: room it adds, carried: Back | Shoulder | Hand, slow: 0..1 speed lost while carried)) clothing Some((covers: [Head, Torso, Arms, Hands, Legs, Feet], takes: [Face, HeadTop, Neck], protection: 0..1, layer: Base | Mid | Outer, hood: false)). Two worn items can't share a body part or a place they take on one layer. Accessories (glasses, hats, scarves) take a place; a hood covers the head while nothing is on the head top. model Some("name"): what the client draws while it's worn, held or on your back (assets/models/wearables/<name>.glb); none (or no file): a grey-box in its colour. light Some((radius_m, hours)): a light source (comes with night lighting). color grey-box colour on the floor, linear-ish RGB 0..1Fields
Section titled “Fields”The file is a list of ItemDef, each in round brackets.
One kind of item. Weights in kg (they count in full wherever the item is carried), volumes in litres (room taken in pockets, bags and furniture). All numbers are ours.
| Field | Type | What it is |
|---|---|---|
id |
String |
|
name |
String |
|
category |
ItemCategory |
|
weight_kg |
f32 |
|
volume_l |
f32 |
|
stack |
u16 |
How many share one slot. |
tags |
Vec<String> |
For rules that recipes and actions check (opens_tins, rippable, fire, …). |
two_handed |
bool |
Held in both hands. |
one_hand |
bool |
A two-handed thing that can be swung in one hand while the other holds something, weaker and slower (crate::CombatTuning::one_hand_power). Only read when two_handed. |
weapon |
Option<String> |
The weapon (id in weapons.ron) it swings as. |
food |
Option<Consumable> |
|
drink |
Option<Consumable> |
|
medical |
Option<MedicalDef> |
|
bag |
Option<BagDef> |
|
clothing |
Option<ClothingDef> |
|
light |
Option<LightDef> |
|
model |
Option<String> |
The model the client draws while it’s worn, held or carried on the back: a wearable’s file name without .glb (assets/models/wearables/<model>.glb). None, or a model the client doesn’t have: a grey-box in its colour. |
color |
(f32, f32, f32) |
Grey-box colour (linear-ish RGB 0..1). |
ItemCategory
Section titled “ItemCategory”What an item is, broadly: drives which slot it goes to and what using it does.
| Value | What it means |
|---|---|
Food |
|
Drink |
|
Medical |
|
Tool |
|
Material |
|
Clothing |
|
Bag |
|
Weapon |
|
Light |
|
Junk |
Everyday clutter: light and mostly useless. |
Consumable
Section titled “Consumable”Something eaten or drunk (food / drink). Hunger and thirst are on a 0..1 scale (taken off the need per go; negative makes it worse; see crate::needs).
| Field | Type | What it is |
|---|---|---|
hunger |
f32 |
|
thirst |
f32 |
|
uses |
u8 |
How many goes one item lasts. |
spoils_hours |
Option<f32> |
Game hours until it goes off (None: keeps). |
poison |
f32 |
Chance of food poisoning each go, eaten as it is (raw meat, raw eggs: cook them first, crate::fire). On top of going off. |
MedicalDef
Section titled “MedicalDef”A medical item. What it treats is in its tags (bandage, clean, disinfects, …); the treatments come with #9 and #10.
| Field | Type | What it is |
|---|---|---|
uses |
u8 |
BagDef
Section titled “BagDef”| Field | Type | What it is |
|---|---|---|
capacity_l |
f32 |
Room it adds (litres). |
carried |
BagCarry |
|
slow |
f32 |
Share of speed lost while carrying it (an awkward strap), 0..1. |
BagCarry
Section titled “BagCarry”How a bag is carried: which slot it goes in.
| Value | What it means |
|---|---|
Back |
|
Shoulder |
|
Hand |
In a hand (either). |
ClothingDef
Section titled “ClothingDef”Clothing and accessories: worn (crate::inventory::Place::Worn), two of them never sharing a body part or a WearSlot on one layer.
| Field | Type | What it is |
|---|---|---|
covers |
Vec<BodyPart> |
Body regions it covers (and protects). |
takes |
Vec<WearSlot> |
Accessory places it takes (glasses the face, a hat the head top). |
protection |
f32 |
Chance (0..1) a strike on a covered part only bruises; layers combine. |
layer |
Layer |
|
hood |
bool |
Has a hood: up over a bare head (it covers the head too), down while anything is worn on the head top (a hat can’t go on with a hood up, so putting one on pulls the hood down). |
BodyPart
Section titled “BodyPart”A region of the body clothing covers: both arms at once, say. Wounds land on finer parts (crate::health::Part, left and right apart), each in one of these.
| Value | What it means |
|---|---|
Head |
|
Torso |
|
Arms |
|
Hands |
|
Legs |
|
Feet |
WearSlot
Section titled “WearSlot”A place on the body an accessory takes, beside the regions clothing covers: glasses on the face, a hat on the head top, a scarf round the neck. Two worn items can’t take one on one layer.
| Value | What it means |
|---|---|
Face |
|
HeadTop |
|
Neck |
Which layer of clothing: two worn items can’t share a body part on the same layer.
| Value | What it means |
|---|---|
Base |
|
Mid |
|
Outer |
LightDef
Section titled “LightDef”| Field | Type | What it is |
|---|---|---|
radius_m |
f32 |
|
hours |
f32 |
Game hours of light from one charge (batteries, a candle’s length). |
As shipped
Section titled “As shipped”104 entries. Columns are the fields short enough for a table; the rest are in the file below.
id |
name |
category |
color |
one_hand |
stack |
tags |
two_handed |
volume_l |
weight_kg |
|---|---|---|---|---|---|---|---|---|---|
| “tinned_beans” | “Tin of beans” | “Food” | [0.55, 0.55, 0.58] | false | 6 | [“needs_tin_opener”] | false | 0.4 | 0.45 |
| “tinned_soup” | “Tin of soup” | “Food” | [0.6, 0.35, 0.3] | false | 6 | [“needs_tin_opener”] | false | 0.4 | 0.42 |
| “tinned_fruit” | “Tin of fruit” | “Food” | [0.75, 0.6, 0.3] | false | 6 | [] | false | 0.4 | 0.43 |
| “crackers” | “Box of crackers” | “Food” | [0.8, 0.65, 0.4] | false | 4 | [] | false | 0.8 | 0.25 |
| “peanut_butter” | “Jar of peanut butter” | “Food” | [0.6, 0.42, 0.25] | false | 4 | [] | false | 0.4 | 0.4 |
| “cereal” | “Box of cereal” | “Food” | [0.85, 0.7, 0.3] | false | 2 | [] | false | 2.5 | 0.5 |
| “chocolate_bar” | “Chocolate bar” | “Food” | [0.35, 0.2, 0.12] | false | 10 | [] | false | 0.05 | 0.05 |
| “crisps” | “Bag of crisps” | “Food” | [0.85, 0.2, 0.2] | false | 6 | [] | false | 0.6 | 0.1 |
| “bread” | “Loaf of bread” | “Food” | [0.78, 0.6, 0.38] | false | 2 | [] | false | 2 | 0.5 |
| “apple” | “Apple” | “Food” | [0.7, 0.1, 0.08] | false | 8 | [] | false | 0.2 | 0.18 |
| “cheese” | “Block of cheese” | “Food” | [0.92, 0.8, 0.35] | false | 4 | [] | false | 0.25 | 0.25 |
| “raw_chicken” | “Raw chicken” | “Food” | [0.93, 0.78, 0.72] | false | 2 | [“raw”] | false | 0.7 | 0.6 |
| “cooked_chicken” | “Cooked chicken” | “Food” | [0.78, 0.55, 0.3] | false | 2 | [] | false | 0.7 | 0.5 |
| “sausages” | “Pack of sausages” | “Food” | [0.8, 0.5, 0.48] | false | 2 | [“raw”] | false | 0.5 | 0.45 |
| “cooked_sausages” | “Cooked sausages” | “Food” | [0.55, 0.3, 0.2] | false | 2 | [] | false | 0.5 | 0.4 |
| “egg” | “Egg” | “Food” | [0.95, 0.9, 0.8] | false | 12 | [“raw”] | false | 0.08 | 0.06 |
| “scrambled_eggs” | “Scrambled eggs” | “Food” | [0.98, 0.85, 0.4] | false | 2 | [] | false | 0.2 | 0.12 |
| “dry_pasta” | “Bag of pasta” | “Food” | [0.93, 0.83, 0.55] | false | 4 | [] | false | 0.8 | 0.5 |
| “cooked_pasta” | “Pot of pasta” | “Food” | [0.95, 0.88, 0.62] | false | 1 | [] | false | 1.2 | 1.1 |
| “dry_rice” | “Bag of rice” | “Food” | [0.96, 0.95, 0.9] | false | 4 | [] | false | 0.6 | 0.5 |
| “cooked_rice” | “Pot of rice” | “Food” | [0.97, 0.96, 0.92] | false | 1 | [] | false | 1.2 | 1.1 |
| “hot_soup” | “Hot soup” | “Food” | [0.7, 0.3, 0.2] | false | 1 | [] | false | 0.4 | 0.42 |
| “hot_beans” | “Hot beans” | “Food” | [0.6, 0.35, 0.2] | false | 1 | [] | false | 0.4 | 0.45 |
| “water_bottle” | “Bottle of water” | “Drink” | [0.55, 0.75, 0.9] | false | 4 | [“refillable”] | false | 1 | 1.05 |
| “empty_bottle” | “Empty bottle” | “Junk” | [0.7, 0.8, 0.85] | false | 4 | [“refillable”] | false | 1 | 0.05 |
| “soda_can” | “Can of soda” | “Drink” | [0.75, 0.15, 0.15] | false | 6 | [] | false | 0.35 | 0.35 |
| “juice_carton” | “Carton of juice” | “Drink” | [0.95, 0.6, 0.15] | false | 3 | [] | false | 1 | 1.05 |
| “milk” | “Bottle of milk” | “Drink” | [0.95, 0.95, 0.92] | false | 3 | [] | false | 1 | 1.05 |
| “plasters” | “Box of plasters” | “Medical” | [0.85, 0.7, 0.6] | false | 5 | [“plaster”] | false | 0.1 | 0.05 |
| “gauze” | “Gauze roll” | “Medical” | [0.95, 0.95, 0.95] | false | 5 | [“bandage”, “clean”] | false | 0.15 | 0.08 |
| “rag” | “Rag” | “Medical” | [0.6, 0.55, 0.45] | false | 10 | [“bandage”] | false | 0.1 | 0.05 |
| “clean_rag” | “Clean rag” | “Medical” | [0.85, 0.85, 0.8] | false | 10 | [“bandage”, “clean”] | false | 0.1 | 0.05 |
| “antiseptic” | “Bottle of antiseptic” | “Medical” | [0.55, 0.3, 0.2] | false | 3 | [“disinfects”] | false | 0.3 | 0.3 |
| “painkillers” | “Painkillers” | “Medical” | [0.9, 0.9, 0.95] | false | 5 | [“painkiller”] | false | 0.05 | 0.05 |
| “antibiotics” | “Antibiotics” | “Medical” | [0.9, 0.85, 0.5] | false | 5 | [“antibiotic”] | false | 0.05 | 0.05 |
| “sewing_kit” | “Sewing kit” | “Medical” | [0.6, 0.4, 0.6] | false | 1 | [“stitches”] | false | 0.15 | 0.1 |
| “tin_opener” | “Tin opener” | “Tool” | [0.6, 0.6, 0.62] | false | 1 | [“opens_tins”] | false | 0.1 | 0.15 |
| “screwdriver” | “Screwdriver” | “Tool” | [0.85, 0.75, 0.2] | false | 1 | [] | false | 0.1 | 0.15 |
| “scissors” | “Scissors” | “Tool” | [0.2, 0.3, 0.7] | false | 1 | [“cuts”] | false | 0.1 | 0.1 |
| “saw” | “Hand saw” | “Tool” | [0.65, 0.65, 0.68] | false | 1 | [“saws”] | false | 1.2 | 0.6 |
| “lighter” | “Lighter” | “Tool” | [0.8, 0.2, 0.5] | false | 5 | [“fire”] | false | 0.02 | 0.03 |
| “cooking_pot” | “Cooking pot” | “Tool” | [0.55, 0.56, 0.58] | false | 1 | [“cookware”, “pot”] | false | 4 | 1.3 |
| “firewood” | “Firewood” | “Material” | [0.45, 0.32, 0.2] | false | 4 | [“wood”, “fuel”] | false | 1.2 | 1.5 |
| “newspaper” | “Newspaper” | “Junk” | [0.82, 0.8, 0.74] | false | 5 | [“junk”, “fuel”] | false | 0.4 | 0.3 |
| “matches” | “Box of matches” | “Tool” | [0.85, 0.3, 0.2] | false | 10 | [“fire”] | false | 0.03 | 0.02 |
| “duct_tape” | “Roll of duct tape” | “Tool” | [0.55, 0.57, 0.6] | false | 4 | [] | false | 0.3 | 0.3 |
| “nails” | “Box of nails” | “Material” | [0.45, 0.45, 0.47] | false | 5 | [] | false | 0.2 | 0.5 |
| “nail” | “Nail” | “Material” | [0.55, 0.55, 0.57] | false | 100 | [] | false | 0.004 | 0.01 |
| “rope” | “Rope” | “Material” | [0.7, 0.6, 0.4] | false | 2 | [“restrains”] | false | 1.5 | 0.8 |
| “cable_tie” | “Cable tie” | “Material” | [0.12, 0.12, 0.13] | false | 10 | [“restrains”, “ties_once”] | false | 0.01 | 0.01 |
| “roller_blind” | “Roller blind” | “Tool” | [0.85, 0.81, 0.7] | false | 1 | [“blind”] | false | 2.5 | 1.1 |
| “flashlight” | “Flashlight” | “Light” | [0.15, 0.15, 0.17] | false | 1 | [“light_source”] | false | 0.3 | 0.25 |
| “batteries” | “Batteries” | “Light” | [0.3, 0.5, 0.3] | false | 8 | [] | false | 0.05 | 0.1 |
| “candle” | “Candle” | “Light” | [0.95, 0.92, 0.8] | false | 6 | [“light_source”, “needs_fire”] | false | 0.1 | 0.1 |
| “bed_sheet” | “Bed sheet” | “Material” | [0.85, 0.85, 0.9] | false | 2 | [“rippable”] | false | 1.5 | 0.6 |
| “towel” | “Towel” | “Material” | [0.4, 0.6, 0.75] | false | 2 | [“rippable”] | false | 1.5 | 0.5 |
| “log” | “Log” | “Material” | [0.42, 0.3, 0.19] | false | 1 | [“wood”, “log”, “fuel”] | true | 9 | 6 |
| “thread” | “Reel of thread” | “Material” | [0.85, 0.85, 0.85] | false | 10 | [] | false | 0.02 | 0.02 |
| “t_shirt” | “T-shirt” | “Clothing” | [0.54, 0.29, 0.26] | false | 1 | [“rippable”] | false | 0.5 | 0.15 |
| “jumper” | “Jumper” | “Clothing” | [0.24, 0.29, 0.38] | false | 1 | [“rippable”] | false | 1.2 | 0.4 |
| “hoodie” | “Hoodie” | “Clothing” | [0.33, 0.38, 0.26] | false | 1 | [“rippable”] | false | 1.5 | 0.5 |
| “jeans” | “Jeans” | “Clothing” | [0.29, 0.35, 0.45] | false | 1 | [“rippable”] | false | 1.2 | 0.6 |
| “leather_jacket” | “Leather jacket” | “Clothing” | [0.25, 0.17, 0.13] | false | 1 | [] | false | 3 | 1.6 |
| “work_gloves” | “Work gloves” | “Clothing” | [0.6, 0.48, 0.31] | false | 1 | [] | false | 0.3 | 0.2 |
| “trainers” | “Trainers” | “Clothing” | [0.85, 0.84, 0.79] | false | 1 | [] | false | 2 | 0.7 |
| “work_boots” | “Work boots” | “Clothing” | [0.35, 0.26, 0.19] | false | 1 | [] | false | 3 | 1.4 |
| “glasses” | “Glasses” | “Clothing” | [0.05, 0.05, 0.06] | false | 1 | [] | false | 0.1 | 0.03 |
| “baseball_cap” | “Baseball cap” | “Clothing” | [0.48, 0.23, 0.2] | false | 1 | [] | false | 0.5 | 0.1 |
| “beanie” | “Beanie” | “Clothing” | [0.21, 0.23, 0.26] | false | 1 | [“rippable”] | false | 0.3 | 0.08 |
| “woolly_hat” | “Woolly hat” | “Clothing” | [0.6, 0.45, 0.26] | false | 1 | [“rippable”] | false | 0.5 | 0.12 |
| “scarf” | “Scarf” | “Clothing” | [0.42, 0.18, 0.17] | false | 1 | [“rippable”] | false | 0.6 | 0.2 |
| “dust_mask” | “Dust mask” | “Clothing” | [0.86, 0.85, 0.82] | false | 5 | [] | false | 0.1 | 0.01 |
| “bandana” | “Bandana” | “Clothing” | [0.54, 0.23, 0.2] | false | 1 | [“rippable”] | false | 0.1 | 0.03 |
| “balaclava” | “Balaclava” | “Clothing” | [0.17, 0.17, 0.18] | false | 1 | [“rippable”] | false | 0.3 | 0.08 |
| “plastic_bag” | “Plastic bag” | “Bag” | [0.83, 0.82, 0.78] | false | 10 | [] | false | 0.05 | 0.02 |
| “tote_bag” | “Tote bag” | “Bag” | [0.7, 0.65, 0.52] | false | 1 | [] | false | 0.5 | 0.2 |
| “school_backpack” | “School backpack” | “Bag” | [0.27, 0.38, 0.49] | false | 1 | [] | false | 1 | 0.5 |
| “duffel_bag” | “Duffel bag” | “Bag” | [0.31, 0.34, 0.25] | false | 1 | [] | false | 2 | 1 |
| “hiking_pack” | “Hiking rucksack” | “Bag” | [0.54, 0.33, 0.2] | false | 1 | [] | false | 3 | 1.6 |
| “kitchen_knife” | “Kitchen knife” | “Weapon” | [0.75, 0.75, 0.78] | false | 1 | [“cuts”] | false | 0.3 | 0.2 |
| “claw_hammer” | “Claw hammer” | “Weapon” | [0.45, 0.3, 0.2] | false | 1 | [“hammers”, “pries”] | false | 0.5 | 0.6 |
| “frying_pan” | “Frying pan” | “Weapon” | [0.15, 0.15, 0.16] | false | 1 | [“cookware”] | false | 2 | 1.2 |
| “baseball_bat” | “Baseball bat” | “Weapon” | [0.7, 0.55, 0.35] | true | 1 | [] | true | 2.5 | 1 |
| “golf_club” | “Golf club” | “Weapon” | [0.75, 0.75, 0.8] | true | 1 | [] | true | 2 | 0.4 |
| “wooden_plank” | “Wooden plank” | “Weapon” | [0.6, 0.45, 0.28] | true | 1 | [“wood”, “fuel”] | true | 4 | 2 |
| “crowbar” | “Crowbar” | “Weapon” | [0.5, 0.15, 0.12] | false | 1 | [“pries”] | false | 1.2 | 1.5 |
| “hatchet” | “Hatchet” | “Weapon” | [0.5, 0.36, 0.22] | false | 1 | [“chops”] | false | 1 | 0.9 |
| “fire_axe” | “Fire axe” | “Weapon” | [0.75, 0.15, 0.1] | false | 1 | [“chops”] | true | 4 | 2.5 |
| “pistol” | “Pistol” | “Weapon” | [0.16, 0.16, 0.18] | false | 1 | [] | false | 0.6 | 0.9 |
| “pistol_magazine” | “Pistol magazine” | “Tool” | [0.2, 0.2, 0.22] | false | 1 | [“ammo”, “magazine”] | false | 0.15 | 0.25 |
| “pistol_rounds” | “Pistol round” | “Material” | [0.72, 0.56, 0.25] | false | 50 | [“ammo”] | false | 0.004 | 0.012 |
| “hunting_rifle” | “Hunting rifle” | “Weapon” | [0.36, 0.24, 0.14] | false | 1 | [] | true | 6 | 3.4 |
| “rifle_rounds” | “Rifle round” | “Material” | [0.75, 0.6, 0.3] | false | 20 | [“ammo”] | false | 0.01 | 0.025 |
| “shotgun” | “Shotgun” | “Weapon” | [0.2, 0.18, 0.16] | false | 1 | [] | true | 6 | 3.2 |
| “shotgun_shells” | “Shotgun shell” | “Material” | [0.7, 0.14, 0.12] | false | 25 | [“ammo”] | false | 0.03 | 0.045 |
| “mug” | “Mug” | “Junk” | [0.9, 0.9, 0.85] | false | 4 | [“junk”] | false | 0.4 | 0.3 |
| “magazine” | “Magazine” | “Junk” | [0.8, 0.4, 0.5] | false | 5 | [“junk”, “fuel”] | false | 0.3 | 0.2 |
| “tv_remote” | “TV remote” | “Junk” | [0.1, 0.1, 0.1] | false | 1 | [“junk”] | false | 0.15 | 0.15 |
| “picture_frame” | “Picture frame” | “Junk” | [0.6, 0.5, 0.35] | false | 1 | [“junk”] | false | 0.6 | 0.4 |
| “pen” | “Pen” | “Junk” | [0.1, 0.2, 0.6] | false | 10 | [“junk”] | false | 0.01 | 0.01 |
| “umbrella” | “Umbrella” | “Junk” | [0.15, 0.15, 0.2] | false | 1 | [“junk”] | false | 1 | 0.5 |
| “baking_tray” | “Baking tray” | “Junk” | [0.5, 0.5, 0.52] | false | 1 | [“junk”, “cookware”] | false | 1.5 | 0.6 |
| “alarm_clock” | “Alarm clock” | “Junk” | [0.8, 0.3, 0.2] | false | 1 | [“junk”] | false | 0.4 | 0.3 |
| “cushion” | “Cushion” | “Junk” | [0.5, 0.3, 0.45] | false | 1 | [“junk”] | false | 3 | 0.4 |
The file
Section titled “The file”The whole file as shipped
// Items: everything a survivor can carry. Schema: zombye_sim::items::ItemDef (validated on load;// unknown fields are refused). All names and numbers are our own, using real-world weights and// sizes so a new item's numbers can be guessed without a table.//// id lowercase letters, digits and _ (saves and loot tables name items by it)// category Food, Drink, Medical, Tool, Material, Clothing, Bag, Weapon, Light or Junk// weight_kg counts in full wherever it is carried (hands, pockets, bags, worn)// volume_l room it takes in pockets, bags and furniture (held and worn items take none)// stack how many share one slot (default 1)// tags for rules that recipes and actions check: needs_tin_opener, opens_tins, cuts,// rippable, fire, fuel, light_source, junk, bandage, clean, disinfects, ...// two_handed held in both hands (default false)// weapon Some("id") of a weapon in weapons.ron: the item swings like it. Every weapon there// (but bare hands) should have an item here; one without gets a plain 1 kg item.// food, drink Some((hunger: 0..1 restored, thirst: 0..1 restored (negative: makes you thirsty),// uses: goes, spoils_hours: Some(game hours) or None, poison: 0..1 chance of food// poisoning each go eaten as it is: raw meat and eggs, cook them first)).// medical Some((uses: n)). What it treats comes with #9 and #10 (by tag).// bag Some((capacity_l: room it adds, carried: Back | Shoulder | Hand, slow: 0..1// speed lost while carried))// clothing Some((covers: [Head, Torso, Arms, Hands, Legs, Feet], takes: [Face, HeadTop, Neck],// protection: 0..1, layer: Base | Mid | Outer, hood: false)). Two worn items can't share// a body part or a place they take on one layer. Accessories (glasses, hats, scarves)// take a place; a hood covers the head while nothing is on the head top.// model Some("name"): what the client draws while it's worn, held or on your back// (assets/models/wearables/<name>.glb); none (or no file): a grey-box in its colour.// light Some((radius_m, hours)): a light source (comes with night lighting).// color grey-box colour on the floor, linear-ish RGB 0..1[ // ---- Food ---------------------------------------------------------------------------------- (id: "tinned_beans", name: "Tin of beans", category: Food, weight_kg: 0.45, volume_l: 0.4, stack: 6, tags: ["needs_tin_opener"], food: Some((hunger: 0.30, thirst: -0.02)), color: (0.55, 0.55, 0.58)), (id: "tinned_soup", name: "Tin of soup", category: Food, weight_kg: 0.42, volume_l: 0.4, stack: 6, tags: ["needs_tin_opener"], food: Some((hunger: 0.22, thirst: 0.08)), color: (0.6, 0.35, 0.3)), (id: "tinned_fruit", name: "Tin of fruit", category: Food, weight_kg: 0.43, volume_l: 0.4, stack: 6, food: Some((hunger: 0.15, thirst: 0.10)), color: (0.75, 0.6, 0.3)), (id: "crackers", name: "Box of crackers", category: Food, weight_kg: 0.25, volume_l: 0.8, stack: 4, food: Some((hunger: 0.18, thirst: -0.05)), color: (0.8, 0.65, 0.4)), (id: "peanut_butter", name: "Jar of peanut butter", category: Food, weight_kg: 0.4, volume_l: 0.4, stack: 4, food: Some((hunger: 0.35, uses: 4)), color: (0.6, 0.42, 0.25)), (id: "cereal", name: "Box of cereal", category: Food, weight_kg: 0.5, volume_l: 2.5, stack: 2, food: Some((hunger: 0.25, uses: 3)), color: (0.85, 0.7, 0.3)), (id: "chocolate_bar", name: "Chocolate bar", category: Food, weight_kg: 0.05, volume_l: 0.05, stack: 10, food: Some((hunger: 0.06)), color: (0.35, 0.2, 0.12)), (id: "crisps", name: "Bag of crisps", category: Food, weight_kg: 0.1, volume_l: 0.6, stack: 6, food: Some((hunger: 0.08, thirst: -0.03)), color: (0.85, 0.2, 0.2)), (id: "bread", name: "Loaf of bread", category: Food, weight_kg: 0.5, volume_l: 2.0, stack: 2, food: Some((hunger: 0.30, uses: 3, spoils_hours: Some(48.0))), color: (0.78, 0.6, 0.38)), (id: "apple", name: "Apple", category: Food, weight_kg: 0.18, volume_l: 0.2, stack: 8, food: Some((hunger: 0.08, thirst: 0.04, spoils_hours: Some(120.0))), color: (0.7, 0.1, 0.08)), (id: "cheese", name: "Block of cheese", category: Food, weight_kg: 0.25, volume_l: 0.25, stack: 4, food: Some((hunger: 0.20, uses: 2, spoils_hours: Some(48.0))), color: (0.92, 0.8, 0.35)),
// ---- Food to cook (recipes.ron: over a lit campfire or a working stove) ---------------------- // Raw meat and eggs can be eaten as they are, at a good chance of food poisoning. (id: "raw_chicken", name: "Raw chicken", category: Food, weight_kg: 0.6, volume_l: 0.7, stack: 2, tags: ["raw"], food: Some((hunger: 0.30, uses: 2, spoils_hours: Some(36.0), poison: 0.6)), color: (0.93, 0.78, 0.72)), (id: "cooked_chicken", name: "Cooked chicken", category: Food, weight_kg: 0.5, volume_l: 0.7, stack: 2, food: Some((hunger: 0.45, uses: 2, spoils_hours: Some(48.0))), color: (0.78, 0.55, 0.3)), (id: "sausages", name: "Pack of sausages", category: Food, weight_kg: 0.45, volume_l: 0.5, stack: 2, tags: ["raw"], food: Some((hunger: 0.25, uses: 2, spoils_hours: Some(72.0), poison: 0.35)), color: (0.8, 0.5, 0.48)), (id: "cooked_sausages", name: "Cooked sausages", category: Food, weight_kg: 0.4, volume_l: 0.5, stack: 2, food: Some((hunger: 0.35, uses: 2, spoils_hours: Some(48.0))), color: (0.55, 0.3, 0.2)), (id: "egg", name: "Egg", category: Food, weight_kg: 0.06, volume_l: 0.08, stack: 12, tags: ["raw"], food: Some((hunger: 0.05, spoils_hours: Some(240.0), poison: 0.15)), color: (0.95, 0.9, 0.8)), (id: "scrambled_eggs", name: "Scrambled eggs", category: Food, weight_kg: 0.12, volume_l: 0.2, stack: 2, food: Some((hunger: 0.18, spoils_hours: Some(12.0))), color: (0.98, 0.85, 0.4)), // Dry, it keeps for ever and does little for you; boiled in a pot of water it's a meal. (id: "dry_pasta", name: "Bag of pasta", category: Food, weight_kg: 0.5, volume_l: 0.8, stack: 4, food: Some((hunger: 0.06, thirst: -0.06)), color: (0.93, 0.83, 0.55)), (id: "cooked_pasta", name: "Pot of pasta", category: Food, weight_kg: 1.1, volume_l: 1.2, stack: 1, food: Some((hunger: 0.35, thirst: 0.04, uses: 3, spoils_hours: Some(36.0))), color: (0.95, 0.88, 0.62)), (id: "dry_rice", name: "Bag of rice", category: Food, weight_kg: 0.5, volume_l: 0.6, stack: 4, food: Some((hunger: 0.05, thirst: -0.06)), color: (0.96, 0.95, 0.9)), (id: "cooked_rice", name: "Pot of rice", category: Food, weight_kg: 1.1, volume_l: 1.2, stack: 1, food: Some((hunger: 0.33, thirst: 0.04, uses: 3, spoils_hours: Some(36.0))), color: (0.97, 0.96, 0.92)), (id: "hot_soup", name: "Hot soup", category: Food, weight_kg: 0.42, volume_l: 0.4, stack: 1, food: Some((hunger: 0.26, thirst: 0.12, spoils_hours: Some(8.0))), color: (0.7, 0.3, 0.2)), (id: "hot_beans", name: "Hot beans", category: Food, weight_kg: 0.45, volume_l: 0.4, stack: 1, food: Some((hunger: 0.36, thirst: -0.02, spoils_hours: Some(8.0))), color: (0.6, 0.35, 0.2)),
// ---- Drink --------------------------------------------------------------------------------- (id: "water_bottle", name: "Bottle of water", category: Drink, weight_kg: 1.05, volume_l: 1.0, stack: 4, tags: ["refillable"], drink: Some((thirst: 0.5, uses: 2)), color: (0.55, 0.75, 0.9)), (id: "empty_bottle", name: "Empty bottle", category: Junk, weight_kg: 0.05, volume_l: 1.0, stack: 4, tags: ["refillable"], color: (0.7, 0.8, 0.85)), (id: "soda_can", name: "Can of soda", category: Drink, weight_kg: 0.35, volume_l: 0.35, stack: 6, drink: Some((thirst: 0.25, hunger: 0.03)), color: (0.75, 0.15, 0.15)), (id: "juice_carton", name: "Carton of juice", category: Drink, weight_kg: 1.05, volume_l: 1.0, stack: 3, drink: Some((thirst: 0.35, hunger: 0.05, uses: 3, spoils_hours: Some(96.0))), color: (0.95, 0.6, 0.15)), (id: "milk", name: "Bottle of milk", category: Drink, weight_kg: 1.05, volume_l: 1.0, stack: 3, drink: Some((thirst: 0.35, hunger: 0.08, uses: 3, spoils_hours: Some(72.0))), color: (0.95, 0.95, 0.92)),
// ---- Medical ------------------------------------------------------------------------------- (id: "plasters", name: "Box of plasters", category: Medical, weight_kg: 0.05, volume_l: 0.1, stack: 5, tags: ["plaster"], medical: Some((uses: 8)), color: (0.85, 0.7, 0.6)), (id: "gauze", name: "Gauze roll", category: Medical, weight_kg: 0.08, volume_l: 0.15, stack: 5, tags: ["bandage", "clean"], medical: Some((uses: 3)), color: (0.95, 0.95, 0.95)), (id: "rag", name: "Rag", category: Medical, weight_kg: 0.05, volume_l: 0.1, stack: 10, tags: ["bandage"], medical: Some((uses: 1)), color: (0.6, 0.55, 0.45)), (id: "clean_rag", name: "Clean rag", category: Medical, weight_kg: 0.05, volume_l: 0.1, stack: 10, tags: ["bandage", "clean"], medical: Some((uses: 1)), color: (0.85, 0.85, 0.8)), (id: "antiseptic", name: "Bottle of antiseptic", category: Medical, weight_kg: 0.3, volume_l: 0.3, stack: 3, tags: ["disinfects"], medical: Some((uses: 10)), color: (0.55, 0.3, 0.2)), (id: "painkillers", name: "Painkillers", category: Medical, weight_kg: 0.05, volume_l: 0.05, stack: 5, tags: ["painkiller"], medical: Some((uses: 12)), color: (0.9, 0.9, 0.95)), (id: "antibiotics", name: "Antibiotics", category: Medical, weight_kg: 0.05, volume_l: 0.05, stack: 5, tags: ["antibiotic"], medical: Some((uses: 7)), color: (0.9, 0.85, 0.5)), (id: "sewing_kit", name: "Sewing kit", category: Medical, weight_kg: 0.1, volume_l: 0.15, tags: ["stitches"], medical: Some((uses: 6)), color: (0.6, 0.4, 0.6)),
// ---- Tools --------------------------------------------------------------------------------- (id: "tin_opener", name: "Tin opener", category: Tool, weight_kg: 0.15, volume_l: 0.1, tags: ["opens_tins"], color: (0.6, 0.6, 0.62)), (id: "screwdriver", name: "Screwdriver", category: Tool, weight_kg: 0.15, volume_l: 0.1, color: (0.85, 0.75, 0.2)), (id: "scissors", name: "Scissors", category: Tool, weight_kg: 0.1, volume_l: 0.1, tags: ["cuts"], color: (0.2, 0.3, 0.7)), (id: "saw", name: "Hand saw", category: Tool, weight_kg: 0.6, volume_l: 1.2, tags: ["saws"], color: (0.65, 0.65, 0.68)), (id: "lighter", name: "Lighter", category: Tool, weight_kg: 0.03, volume_l: 0.02, stack: 5, tags: ["fire"], color: (0.8, 0.2, 0.5)), // A pot boils pasta and rice; a pot or a pan (or a baking tray) cooks the rest (tag cookware). (id: "cooking_pot", name: "Cooking pot", category: Tool, weight_kg: 1.3, volume_l: 4.0, tags: ["cookware", "pot"], color: (0.55, 0.56, 0.58)), // Firewood: the fuel a campfire is built from (planks, magazines and newspapers burn too). (id: "firewood", name: "Firewood", category: Material, weight_kg: 1.5, volume_l: 1.2, stack: 4, tags: ["wood", "fuel"], color: (0.45, 0.32, 0.2)), (id: "newspaper", name: "Newspaper", category: Junk, weight_kg: 0.3, volume_l: 0.4, stack: 5, tags: ["junk", "fuel"], color: (0.82, 0.8, 0.74)), (id: "matches", name: "Box of matches", category: Tool, weight_kg: 0.02, volume_l: 0.03, stack: 10, tags: ["fire"], color: (0.85, 0.3, 0.2)), (id: "duct_tape", name: "Roll of duct tape", category: Tool, weight_kg: 0.3, volume_l: 0.3, stack: 4, color: (0.55, 0.57, 0.6)), (id: "nails", name: "Box of nails", category: Material, weight_kg: 0.5, volume_l: 0.2, stack: 5, color: (0.45, 0.45, 0.47)), // Loose nails, out of a box (a recipe): what boarding up a window or door uses (build.ron). (id: "nail", name: "Nail", category: Material, weight_kg: 0.01, volume_l: 0.004, stack: 100, color: (0.55, 0.55, 0.57)), // Restraints (#73): `restrains` ties a survivor's hands; `ties_once` is used up, and has to be cut off. (id: "rope", name: "Rope", category: Material, weight_kg: 0.8, volume_l: 1.5, stack: 2, tags: ["restrains"], color: (0.7, 0.6, 0.4)), (id: "cable_tie", name: "Cable tie", category: Material, weight_kg: 0.01, volume_l: 0.01, stack: 10, tags: ["restrains", "ties_once"], color: (0.12, 0.12, 0.13)), // A roller blind, rolled up: fitted from inside to a window or a glass door (Shift+F, or its menu), it hides the glass when down. (id: "roller_blind", name: "Roller blind", category: Tool, weight_kg: 1.1, volume_l: 2.5, tags: ["blind"], color: (0.85, 0.81, 0.7)),
// ---- Light --------------------------------------------------------------------------------- (id: "flashlight", name: "Flashlight", category: Light, weight_kg: 0.25, volume_l: 0.3, tags: ["light_source"], light: Some((radius_m: 12.0, hours: 6.0)), color: (0.15, 0.15, 0.17)), (id: "batteries", name: "Batteries", category: Light, weight_kg: 0.1, volume_l: 0.05, stack: 8, color: (0.3, 0.5, 0.3)), (id: "candle", name: "Candle", category: Light, weight_kg: 0.1, volume_l: 0.1, stack: 6, tags: ["light_source", "needs_fire"], light: Some((radius_m: 3.0, hours: 4.0)), color: (0.95, 0.92, 0.8)),
// ---- Materials ----------------------------------------------------------------------------- (id: "bed_sheet", name: "Bed sheet", category: Material, weight_kg: 0.6, volume_l: 1.5, stack: 2, tags: ["rippable"], color: (0.85, 0.85, 0.9)), (id: "towel", name: "Towel", category: Material, weight_kg: 0.5, volume_l: 1.5, stack: 2, tags: ["rippable"], color: (0.4, 0.6, 0.75)), // A length of trunk from a felled tree (zombye_sim::trees): sawn into planks or split into // firewood (recipes.ron). Heavy and bulky: a bag, or both hands. (id: "log", name: "Log", category: Material, weight_kg: 6.0, volume_l: 9.0, two_handed: true, tags: ["wood", "log", "fuel"], color: (0.42, 0.3, 0.19)), (id: "thread", name: "Reel of thread", category: Material, weight_kg: 0.02, volume_l: 0.02, stack: 10, color: (0.85, 0.85, 0.85)),
// ---- Clothing ------------------------------------------------------------------------------ (id: "t_shirt", name: "T-shirt", category: Clothing, weight_kg: 0.15, volume_l: 0.5, tags: ["rippable"], clothing: Some((covers: [Torso], protection: 0.05, layer: Base)), model: Some("t_shirt"), color: (0.54, 0.29, 0.26)), (id: "jumper", name: "Jumper", category: Clothing, weight_kg: 0.4, volume_l: 1.2, tags: ["rippable"], clothing: Some((covers: [Torso, Arms], protection: 0.15, layer: Mid)), model: Some("jumper"), color: (0.24, 0.29, 0.38)), (id: "hoodie", name: "Hoodie", category: Clothing, weight_kg: 0.5, volume_l: 1.5, tags: ["rippable"], clothing: Some((covers: [Torso, Arms], protection: 0.15, layer: Mid, hood: true)), model: Some("hoodie"), color: (0.33, 0.38, 0.26)), (id: "jeans", name: "Jeans", category: Clothing, weight_kg: 0.6, volume_l: 1.2, tags: ["rippable"], clothing: Some((covers: [Legs], protection: 0.25, layer: Base)), model: Some("jeans"), color: (0.29, 0.35, 0.45)), (id: "leather_jacket", name: "Leather jacket", category: Clothing, weight_kg: 1.6, volume_l: 3.0, clothing: Some((covers: [Torso, Arms], protection: 0.45, layer: Outer)), model: Some("leather_jacket"), color: (0.25, 0.17, 0.13)), (id: "work_gloves", name: "Work gloves", category: Clothing, weight_kg: 0.2, volume_l: 0.3, clothing: Some((covers: [Hands], protection: 0.35, layer: Base)), model: Some("work_gloves"), color: (0.6, 0.48, 0.31)), (id: "trainers", name: "Trainers", category: Clothing, weight_kg: 0.7, volume_l: 2.0, clothing: Some((covers: [Feet], protection: 0.2, layer: Outer)), model: Some("trainers"), color: (0.85, 0.84, 0.79)), (id: "work_boots", name: "Work boots", category: Clothing, weight_kg: 1.4, volume_l: 3.0, clothing: Some((covers: [Feet, Legs], protection: 0.5, layer: Outer)), model: Some("work_boots"), color: (0.35, 0.26, 0.19)),
// ---- Accessories (clothing that takes a place on the body: Face, HeadTop, Neck) ------------- (id: "glasses", name: "Glasses", category: Clothing, weight_kg: 0.03, volume_l: 0.1, clothing: Some((takes: [Face], layer: Base)), model: Some("glasses"), color: (0.05, 0.05, 0.06)), (id: "baseball_cap", name: "Baseball cap", category: Clothing, weight_kg: 0.1, volume_l: 0.5, clothing: Some((covers: [Head], takes: [HeadTop], protection: 0.03, layer: Outer)), model: Some("baseball_cap"), color: (0.48, 0.23, 0.2)), (id: "beanie", name: "Beanie", category: Clothing, weight_kg: 0.08, volume_l: 0.3, tags: ["rippable"], clothing: Some((covers: [Head], takes: [HeadTop], protection: 0.04, layer: Outer)), model: Some("beanie"), color: (0.21, 0.23, 0.26)), (id: "woolly_hat", name: "Woolly hat", category: Clothing, weight_kg: 0.12, volume_l: 0.5, tags: ["rippable"], clothing: Some((covers: [Head], takes: [HeadTop], protection: 0.05, layer: Outer)), model: Some("woolly_hat"), color: (0.6, 0.45, 0.26)), (id: "scarf", name: "Scarf", category: Clothing, weight_kg: 0.2, volume_l: 0.6, tags: ["rippable"], clothing: Some((takes: [Neck], protection: 0.0, layer: Outer)), model: Some("scarf"), color: (0.42, 0.18, 0.17)), // Masks (#92): over the nose and mouth, a layer above glasses (so both go on), one at a time. (id: "dust_mask", name: "Dust mask", category: Clothing, weight_kg: 0.01, volume_l: 0.1, stack: 5, clothing: Some((takes: [Face], protection: 0.0, layer: Mid)), model: Some("dust_mask"), color: (0.86, 0.85, 0.82)), (id: "bandana", name: "Bandana", category: Clothing, weight_kg: 0.03, volume_l: 0.1, tags: ["rippable"], clothing: Some((takes: [Face], protection: 0.01, layer: Mid)), model: Some("bandana"), color: (0.54, 0.23, 0.2)), (id: "balaclava", name: "Balaclava", category: Clothing, weight_kg: 0.08, volume_l: 0.3, tags: ["rippable"], clothing: Some((covers: [Head], takes: [Face, HeadTop], protection: 0.05, layer: Mid)), model: Some("balaclava"), color: (0.17, 0.17, 0.18)),
// ---- Bags ---------------------------------------------------------------------------------- (id: "plastic_bag", name: "Plastic bag", category: Bag, weight_kg: 0.02, volume_l: 0.05, stack: 10, bag: Some((capacity_l: 8.0, carried: Hand)), model: Some("plastic_bag"), color: (0.83, 0.82, 0.78)), (id: "tote_bag", name: "Tote bag", category: Bag, weight_kg: 0.2, volume_l: 0.5, bag: Some((capacity_l: 12.0, carried: Shoulder)), model: Some("tote_bag"), color: (0.7, 0.65, 0.52)), (id: "school_backpack", name: "School backpack", category: Bag, weight_kg: 0.5, volume_l: 1.0, bag: Some((capacity_l: 20.0, carried: Back)), model: Some("school_backpack"), color: (0.27, 0.38, 0.49)), (id: "duffel_bag", name: "Duffel bag", category: Bag, weight_kg: 1.0, volume_l: 2.0, bag: Some((capacity_l: 40.0, carried: Hand, slow: 0.1)), model: Some("duffel_bag"), color: (0.31, 0.34, 0.25)), (id: "hiking_pack", name: "Hiking rucksack", category: Bag, weight_kg: 1.6, volume_l: 3.0, bag: Some((capacity_l: 50.0, carried: Back)), model: Some("hiking_pack"), color: (0.54, 0.33, 0.2)),
// ---- Weapons (combat numbers in weapons.ron) ------------------------------------------------- (id: "kitchen_knife", name: "Kitchen knife", category: Weapon, weight_kg: 0.2, volume_l: 0.3, tags: ["cuts"], weapon: Some("kitchen_knife"), color: (0.75, 0.75, 0.78)), (id: "claw_hammer", name: "Claw hammer", category: Weapon, weight_kg: 0.6, volume_l: 0.5, tags: ["hammers", "pries"], weapon: Some("claw_hammer"), color: (0.45, 0.3, 0.2)), (id: "frying_pan", name: "Frying pan", category: Weapon, weight_kg: 1.2, volume_l: 2.0, tags: ["cookware"], weapon: Some("frying_pan"), color: (0.15, 0.15, 0.16)), (id: "baseball_bat", name: "Baseball bat", category: Weapon, weight_kg: 1.0, volume_l: 2.5, two_handed: true, one_hand: true, weapon: Some("baseball_bat"), color: (0.7, 0.55, 0.35)), (id: "golf_club", name: "Golf club", category: Weapon, weight_kg: 0.4, volume_l: 2.0, two_handed: true, one_hand: true, weapon: Some("golf_club"), color: (0.75, 0.75, 0.8)), (id: "wooden_plank", name: "Wooden plank", category: Weapon, weight_kg: 2.0, volume_l: 4.0, two_handed: true, one_hand: true, tags: ["wood", "fuel"], weapon: Some("wooden_plank"), color: (0.6, 0.45, 0.28)), (id: "crowbar", name: "Crowbar", category: Weapon, weight_kg: 1.5, volume_l: 1.2, tags: ["pries"], weapon: Some("crowbar"), color: (0.5, 0.15, 0.12)), (id: "hatchet", name: "Hatchet", category: Weapon, weight_kg: 0.9, volume_l: 1.0, tags: ["chops"], weapon: Some("hatchet"), color: (0.5, 0.36, 0.22)), (id: "fire_axe", name: "Fire axe", category: Weapon, weight_kg: 2.5, volume_l: 4.0, two_handed: true, tags: ["chops"], weapon: Some("fire_axe"), color: (0.75, 0.15, 0.1)),
// ---- Guns, their rounds and magazines (#72; numbers in weapons.ron's `ranged`) ----------------- // A gun or a magazine has its rounds in it (they don't stack); loose rounds do. Using the gun in // your hand reloads it, using a magazine in your pocket fills it. (id: "pistol", name: "Pistol", category: Weapon, weight_kg: 0.9, volume_l: 0.6, weapon: Some("pistol"), color: (0.16, 0.16, 0.18)), (id: "pistol_magazine", name: "Pistol magazine", category: Tool, weight_kg: 0.25, volume_l: 0.15, tags: ["ammo", "magazine"], color: (0.2, 0.2, 0.22)), (id: "pistol_rounds", name: "Pistol round", category: Material, weight_kg: 0.012, volume_l: 0.004, stack: 50, tags: ["ammo"], color: (0.72, 0.56, 0.25)), (id: "hunting_rifle", name: "Hunting rifle", category: Weapon, weight_kg: 3.4, volume_l: 6.0, two_handed: true, weapon: Some("hunting_rifle"), color: (0.36, 0.24, 0.14)), (id: "rifle_rounds", name: "Rifle round", category: Material, weight_kg: 0.025, volume_l: 0.01, stack: 20, tags: ["ammo"], color: (0.75, 0.6, 0.3)), (id: "shotgun", name: "Shotgun", category: Weapon, weight_kg: 3.2, volume_l: 6.0, two_handed: true, weapon: Some("shotgun"), color: (0.2, 0.18, 0.16)), (id: "shotgun_shells", name: "Shotgun shell", category: Material, weight_kg: 0.045, volume_l: 0.03, stack: 25, tags: ["ammo"], color: (0.7, 0.14, 0.12)),
// ---- Junk: everyday clutter (light, mostly useless; some taken apart later) --------------------- (id: "mug", name: "Mug", category: Junk, weight_kg: 0.3, volume_l: 0.4, stack: 4, tags: ["junk"], color: (0.9, 0.9, 0.85)), (id: "magazine", name: "Magazine", category: Junk, weight_kg: 0.2, volume_l: 0.3, stack: 5, tags: ["junk", "fuel"], color: (0.8, 0.4, 0.5)), (id: "tv_remote", name: "TV remote", category: Junk, weight_kg: 0.15, volume_l: 0.15, tags: ["junk"], color: (0.1, 0.1, 0.1)), (id: "picture_frame", name: "Picture frame", category: Junk, weight_kg: 0.4, volume_l: 0.6, tags: ["junk"], color: (0.6, 0.5, 0.35)), (id: "pen", name: "Pen", category: Junk, weight_kg: 0.01, volume_l: 0.01, stack: 10, tags: ["junk"], color: (0.1, 0.2, 0.6)), (id: "umbrella", name: "Umbrella", category: Junk, weight_kg: 0.5, volume_l: 1.0, tags: ["junk"], color: (0.15, 0.15, 0.2)), (id: "baking_tray", name: "Baking tray", category: Junk, weight_kg: 0.6, volume_l: 1.5, tags: ["junk", "cookware"], color: (0.5, 0.5, 0.52)), (id: "alarm_clock", name: "Alarm clock", category: Junk, weight_kg: 0.3, volume_l: 0.4, tags: ["junk"], color: (0.8, 0.3, 0.2)), (id: "cushion", name: "Cushion", category: Junk, weight_kg: 0.4, volume_l: 3.0, tags: ["junk"], color: (0.5, 0.3, 0.45)),]