Interactive Appliances & Bathing
Properties come alive with usable appliances and bathroom fixtures. Each interaction plays an animation, satisfies a need (hunger, thirst, stress) or transforms an item, and draws metered power and water that feeds into the property's utility bills.
Every appliance is a normal furniture prop placed with the Furniture Modeler. Its interaction is enabled by a feature tag on the furniture entry, so anything you place that is tagged as an appliance becomes usable automatically.
Metered-utility gating
The differentiator for appliances is that they respect the property's power and water state:
- If the property's power is off (unpaid bill, tripped breaker), appliances refuse to run.
- The washer additionally requires water to be on.
- Each use adds metered units to the property's
power_usage/water_usage, which are billed on the next utility cycle.
Appliances
| Appliance | What it does |
|---|---|
| Coffee machine | Two-step brew → drink. Boosts thirst, relieves stress, and grants a short sprint-stamina buff. |
| Washer → Dryer | Laundry chain: wash a load (uses power and water), then dry it for a stress-relief bonus. |
| BBQ grill | An electric grill that cooks raw ingredients into food (server-validated, with a burn chance). |
| Microwave | Quick reheat for a small hunger top-up. |
| TV | Toggle on/off for ambience. |
| Fridge | Opens as a small stash for storing food and drink. |
BBQ cooking
The BBQ transforms raw ingredients into cooked food server-side, so it can't be exploited from the client. Recipes are fully configurable, a recipe whose raw item you don't carry is simply hidden from the grill menu. Hunger is restored when the cooked item is eaten (via the item's own use-effect), not at cook time.
Bathing
Shower, bathtub, and sink fixtures let players clean up:
- Shower / Bath: relieve stress, strip damage/blood/dirt, and consume water. Baths relieve more stress than showers.
- Sink: a quick hand/face wash that cleans off damage for a small stress relief.
Bathing (and most appliance use) also accelerates property cleanliness decay, a busy household gets dirty faster.
Configuration
Appliances and bathing live in shared/config_bathing.lua.
Config.Appliances = {
-- Electricity draw (metered units) added to power_usage per use
DrawUnits = {
coffee = 1, washer = 3, dryer = 2, bbq = 2, microwave = 1, tv = 2,
},
Coffee = { Duration = 6000, ThirstBoost = 25, RelieveStress = 15, StaminaBoostSeconds = 30, --[[ ... ]] },
Washer = { Duration = 8000, WaterUnits = 2 }, -- laundry also consumes water
Dryer = { Duration = 8000, RelieveStress = 10 },
BBQ = {
Duration = 10000,
BurnedItem = 'burnt_food',
-- Raw -> cooked transforms. Item names MUST match your inventory/framework.
Recipes = {
raw_meat = { label = 'Raw Meat', result = 'cooked_meat', burnChance = 0.15 },
raw_chicken = { label = 'Raw Chicken', result = 'cooked_chicken', burnChance = 0.15 },
raw_fish = { label = 'Raw Fish', result = 'grilled_fish', burnChance = 0.10 },
},
},
Microwave = { Duration = 5000, RelieveHunger = 10 },
}
Config.Bathing = {
UsageUnits = { shower = 3, bath = 5, sink = 1 }, -- water units per interaction
Shower = { Duration = 12000, RemoveDamage = true, RelieveStress = 15, --[[ ... ]] },
Bath = { Duration = 12000, RemoveDamage = true, RelieveStress = 25, --[[ ... ]] },
Sink = { Duration = 5000, RemoveDamage = true, RelieveStress = 5 },
}Notes
- BBQ recipe items (
raw_meat,cooked_meat, etc.) and the fridge stash rely on items existing in your inventory/framework, a recipe whose raw item is undefined is hidden from the menu. - Appliances are data-driven, adding a new one is a furniture entry plus a small config/handler block; no NUI rebuild is required.
- Metered power/water usage rolls up into the property's bill, see Utilities & Billing.