Sweep Once
핏자국 하나 닦자고, 평생 갈 청소 구역을 그리시게요?
핏자국 하나 닦자고, 평생 갈 청소 구역을 그리시게요?
안녕하세요, kdh입니다.
습격이 끝난 복도엔 핏자국이 흩어져 있고, 화재가 지나간 자리엔 그을음과 잔해가 남아요. 파티가 끝난 다음 날 아침엔 바닥 곳곳이 엉망이죠. 전부 딱 한 번만 치우면 그만인 더러움인데, 바닐라가 줄 수 있는 답은 하나뿐이에요 — 영구적인 Clean 존을 그리는 것. 그 순간의 더러움 때문에 구역을 새로 그려야 하고, 나중에 지우는 걸 깜빡하면 필요도 없는 청소 배정이 계속 일감 목록에 남아 있어요.
콜로니가 커질수록 이 어색함은 더 눈에 띄어요. 방이 늘고 복도가 길어지고 창고가 넓어질수록 치워야 할 바닥 면적도 함께 늘어나는데, 그때마다 존을 그리고 지우고를 반복하는 건 번거로움이 쌓이는 일이거든요. 바닐라 청소 시스템은 애초에 이 규모의 증가를 따라잡을 방법이 마땅치 않아요.
그래서 Sweep Once를 만들었어요. 딱 필요한 자리에, 딱 필요한 순간에만 청소를 지정하고, 청소가 끝나면 스스로 사라지는 방식으로요. 코드를 쓰기 전에 저 스스로에게 먼저 물어본 게 있었어요 — "이거, Harmony 없이도 되는 일일까?" 답은 "네"였고, 그래서 Designator, WorkGiver, StatPart처럼 바닐라가 원래 열어둔 확장 지점만으로 전부 완성했어요. 뭔가를 가로채거나 덮어쓰는 코드가 없으니 가볍고, 다른 모드와 부딪힐 자리도 그만큼 줄어들어요.
- 더러운 칸을 우클릭하면 "Sweep this area once..." 메뉴가 떠요. 드래그로 범위를 잡으면 선택한 칸들의 더러움 점수 범위(예: 12칸 중 1~8)를 보여주는 다이얼로그가 열리고, "포함할 최소 더러움" 슬라이더로 기준을 정할 수 있어요(기본값은 전체 포함). Confirm을 누르면 기준을 만족한 칸에 체크마크가 붙고, Cleaning 작업이 켜진 개척민이 가서 그 칸의 더러움을 임계값 미만인 것까지 싹 치워요. 청소가 끝나면 지정은 스스로 사라지고 다시 붙지 않아요 — 정말 "한 번"으로 끝나요.
- "지금 하던 일을 멈추고 최우선으로 처리" 체크박스를 켜두면, 징집·기절·사망·정신붕괴 상태만 아니면 다른 일을 하던 개척민도 손에 든 걸 내려놓고 바로 달려와요. 정말 급할 때 켜는 스위치예요.
- 빗자루와 쓰레받이도 만들 수 있어요. 손재봉대·전기재봉대의 제작 목록에서 옷감 30 + 나무 10으로 제작하고, Utility 레이어의 허리 슬롯에 착용해서 기존 옷·방어구와 슬롯이 겹치지 않아요. 청소 속도 보너스는 품질에 따라 정직하게 달라지는데, 조악함 +5%부터 전설 +50%까지 올라가고, 인포카드에도 실제 품질별 수치가 그대로 표시돼요. 콜로니가 커질수록 잘 만든 빗자루 한 자루의 체감 가치도 함께 커지는 셈이죠. 다만 새로 추가된 유틸리티 아이템이라 Outfit 정책에는 기본으로 비허용(빨간 X) 상태로 들어가니, 개척민에게 씌우려면 정책에서 허용으로 바꿔주세요.
개척민 개개인의 Allowed Area 설정은 그대로 존중하고, 다른 구역 지정 모드와도 함께 쓰실 수 있어요.
가볍게 만들었고, 앞으로도 그렇게 유지하고 싶어요. 읽어주셔서 감사해요!
――――――――――――――――
Wiping up one bloodstain shouldn't mean drawing a cleaning zone for life.
Hi, this is kdh.
A raid just ended, and blood is smeared down the hallway. A fire left soot and debris behind. The morning after a party, the floor's a mess everywhere. Every bit of it needs cleaning exactly once — but vanilla only gives you one tool for that: drawing a permanent Clean zone. A one-time mess forces a permanent area designation, and if you forget to erase it afterward, colonists keep queuing up cleaning work you don't actually need anymore.
That awkwardness only grows with your colony. More rooms, longer hallways, wider storage bays — more floor to clean, and redrawing (then erasing) zones every time adds up fast. Vanilla's cleaning system was never really built to keep pace with that kind of scale.
So I built Sweep Once: a way to designate cleaning exactly where it's needed, exactly when it's needed, and have it disappear on its own once the job is done. Before writing a line of code, I asked myself one thing — could this actually work without Harmony? Turns out it could. Sweep Once is built entirely on vanilla's own extension points — Designator, WorkGiver, StatPart — nothing intercepted, nothing overwritten. That keeps it light, and leaves a lot less surface area for conflicts with your other mods.
- Right-click a dirty tile and "Sweep this area once..." shows up. Drag to select an area, and a dialog opens showing the dirtiness range across the selected cells (say, 1–8 out of 12 tiles), along with a "minimum total dirtiness per cell to include" slider (default: include everything). Hit Confirm, and qualifying cells get a checkmark — any colonist with Cleaning enabled heads over and scrubs those tiles completely clean, dirt below the threshold included. Once the job's done, the designation clears itself and never reattaches. It really is "once."
- Check "Interrupt current work and treat as top priority" and colonists will drop whatever they're doing and rush over immediately, unless they're drafted, downed, dead, or having a mental break. Flip it on when the mess really can't wait.
- Craft a Broom and Dustpan at a hand or electric sewing bench for 30 fabric and 10 wood. It equips in the Utility layer's Waist slot, so it never competes with clothing or armor for a slot. Cleaning speed scales honestly with quality — from +5% at Awful up to +50% at Legendary, with the gear tooltip showing the real, quality-specific number. The bigger your colony gets, the more a well-made broom is actually worth. Since it's a new utility item, outfit policies start it disallowed (red X) by default — flip it to allowed if you want colonists to actually wear it.
It respects each colonist's individual Allowed Area settings, and plays nicely alongside other area-designation mods.
Built light, and I want to keep it that way. Thanks for reading!