Furnish the empty rooms: the dunnies get fittings, the bar gets fridges, the yard gets a heater

Audit found the dunnies were the biggest room in the venue with ONE prop in it
(and a minigame happening there). Nine new kinds placed across the five thinnest
spaces. House-style note recorded: props are raked three-quarter top-down, not
strict orthographic — a fridge from directly overhead is a grey box.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
type-two 2026-07-27 13:29:55 +10:00
parent 9bc7dd1bfd
commit 9b6bc6355c
13 changed files with 32 additions and 0 deletions

BIN
public/props/barFridge.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

BIN
public/props/cueRack.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

BIN
public/props/handDryer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

BIN
public/props/iceWell.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

View File

@ -1,6 +1,7 @@
{
"props": [
"arcade",
"barFridge",
"barShelf",
"boothLamp",
"boothTable",
@ -8,14 +9,20 @@
"carpet",
"cloak",
"crate",
"cubicleDoor",
"cueRack",
"deck",
"discoball",
"dishwasher",
"glassRack",
"glassStack",
"handDryer",
"highTable",
"iceWell",
"mixer",
"monitor",
"mopBucket",
"patioHeater",
"plant",
"poolTable",
"poster1",
@ -27,6 +34,8 @@
"street_backdrop",
"taps",
"till",
"truss",
"urinal",
"wetFloor"
]
}

BIN
public/props/mopBucket.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

BIN
public/props/truss.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

BIN
public/props/urinal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -643,6 +643,7 @@ const PROP_SIZES: Record<PropKind, [number, number]> = {
cloak: [16, 48], stampPodium: [16, 16], arcade: [32, 32],
highTable: [16, 16], plant: [16, 16], wetFloor: [16, 16], poolTable: [48, 32],
dishwasher: [32, 16],
urinal: [48, 16], handDryer: [16, 16], cubicleDoor: [16, 16], mopBucket: [16, 16], cueRack: [16, 16], barFridge: [32, 32], iceWell: [32, 16], patioHeater: [16, 32], truss: [48, 16],
};
function bakePropPlaceholder(scene: Phaser.Scene, kind: PropKind): string {

View File

@ -184,6 +184,8 @@ export type PropKind =
| 'barShelf' | 'taps' | 'till' | 'glassStack' | 'glassRack'
| 'boothTable' | 'highTable' | 'sinkRow'
| 'buttBin' | 'crate' | 'plant' | 'wetFloor' | 'poolTable' | 'dishwasher'
| 'urinal' | 'handDryer' | 'cubicleDoor' | 'mopBucket' | 'cueRack'
| 'barFridge' | 'iceWell' | 'patioHeater' | 'truss'
| 'poster1' | 'poster2' | 'poster3' | 'cloak' | 'stampPodium' | 'arcade';
export interface PropEmissive {
@ -268,6 +270,25 @@ export const PROPS: readonly PropDef[] = Object.freeze([
P('wet', 'wetFloor', 35, 8, 1, 1),
// the pool corner — it is still an Australian venue underneath the techno
P('pool', 'poolTable', 15, 10, 3, 2),
P('cues', 'cueRack', 19, 9, 1, 1),
// The dunnies were the emptiest room in the venue: one sink row across
// 17x14 tiles, with a whole minigame happening in it (audit 2026-07-22).
P('urinals', 'urinal', 72, 5, 3, 1),
P('dryer', 'handDryer', 65, 5, 1, 1),
P('mopBucket', 'mopBucket', 75, 14, 1, 1),
P('cubDoorA', 'cubicleDoor', 62, 12, 1, 1),
P('cubDoorB', 'cubicleDoor', 68, 12, 1, 1),
// The bar had four props along thirty-one tiles of counter.
P('fridgeA', 'barFridge', 27, 3, 2, 2, { colour: 0x60c0e0, radius: 16 }),
P('fridgeB', 'barFridge', 41, 3, 2, 2, { colour: 0x60c0e0, radius: 16 }),
P('iceWell', 'iceWell', 37, 4, 2, 1),
// Yard + rig.
P('heater', 'patioHeater', 21, 39, 1, 2, { colour: 0xe07030, radius: 34, pulse: 'flicker' }),
P('trussN', 'truss', 34, 15, 3, 1),
P('trussS', 'truss', 34, 30, 3, 1),
]);
const L = (

View File

@ -27,6 +27,7 @@ TARGETS = {
"cloak": (16, 48), "stampPodium": (16, 16), "arcade": (32, 32),
"highTable": (16, 16), "plant": (16, 16), "wetFloor": (16, 16), "poolTable": (48, 32),
"dishwasher": (32, 16),
"urinal": (48, 16), "handDryer": (16, 16), "cubicleDoor": (16, 16), "mopBucket": (16, 16), "cueRack": (16, 16), "barFridge": (32, 32), "iceWell": (32, 16), "patioHeater": (16, 32), "truss": (48, 16),
# the door-scene backdrop plate is special-cased: full size, no quantise
"street:backdrop": (640, 176),
# door-scene red carpet plate (front-on, not a floor prop)