# Laundromat

**URL:** <https://discourse.cataclysmdda.org/t/laundromat/9513>\
**Category:** The Lab\
**Created:** [April 29, 2015, 7:38pm UTC](https://discourse.cataclysmdda.org/t/laundromat/9513 "2015-04-29T19:38:48Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Noodles\_of\_Doom](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/noodles_of_doom/32/431_2.png) [@Noodles\_of\_Doom](https://discourse.cataclysmdda.org/u/Noodles_of_Doom)\
**Post date:** [April 29, 2015, 7:38pm UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/1 "2015-04-29T19:38:48Z")

</div>

I made a quaint little Laundromat when I had some free time, so I thought I’d share the result. Mostly just a flavor addition, but whatevs. If anyone wants to PR this on Git, go ahead, I was going to but I got a lot of stuff going so I couldn’t devote enough time to figuring the git out. Have a nice day, folks 🙂

![](http://i.imgur.com/Y1vCqKL.png)

To “install”:

Create a new .json file in your “data/json/mapgen” folder and paste the following text into it. This file will be the layout of the Laundromat building.

[spoiler=laundromat.json][  
{  
“type” : “item\_group”,  
“id” : “laundry”,  
“items”:[  
[“jeans”, 90],  
[“pants\_checkered”, 5],  
[“shorts”, 70],  
[“shorts\_denim”, 35],  
[“pants”, 75],  
[“suit”, 60],  
[“waistcoat”, 30],  
[“bowhat”, 10],  
[“pants\_leather”, 60],  
[“pants\_cargo”, 70],  
[“shorts\_cargo”, 50],  
[“skirt”, 75],  
[“skirt\_leather”, 5],  
[“tshirt”, 70],  
[“longshirt”, 80],  
[“polo\_shirt”, 65],  
[“dress\_shirt”, 60],  
[“tank\_top”, 50],  
[“camisole”, 30],  
[“bra”, 30],  
[“undershirt”, 30],  
[“boxer\_shorts”, 30],  
[“briefs”, 15],  
[“panties”, 30],  
[“boy\_shorts”, 25],  
[“sweatshirt”, 75],  
[“sweater”, 75],  
[“hoodie”, 65],  
[“jacket\_light”, 50],  
[“jacket\_jean”, 35],  
[“blazer”, 35],  
[“jacket\_leather”, 30],  
[“coat\_winter”, 50],  
[“peacoat”, 30],  
[“gloves\_light”, 35],  
[“mittens”, 30],  
[“gloves\_wool”, 33],  
[“gloves\_winter”, 40],  
[“gloves\_liner”, 25],  
[“gloves\_leather”, 45],  
[“scarf”, 45],  
[“knit\_scarf”, 35],  
[“long\_knit\_scarf”, 5],  
[“scarf\_long”, 1],  
[“hat\_cotton”, 45],  
[“hat\_knit”, 25],  
[“hat\_newsboy”, 20],  
[“hat\_fur”, 15],  
[“under\_armor”, 20],  
[“under\_armor\_shorts”, 20],  
[“tights”, 20],  
[“leggings”, 20],  
[“stockings”, 20],  
[“balclava”, 15],  
[“pants\_ski”, 60],  
[“long\_underpants”, 40],  
[“long\_undertop”, 40],  
[“union\_suit”, 20],  
[“arm\_warmers”, 20],  
[“leg\_warmers”, 20],  
[“trenchcoat\_leather”, 12],  
[“sleeveless\_trenchcoat”, 2],  
[“sleeveless\_trenchcoat\_leather”, 2],  
[“sleeveless\_trenchcoat\_fur”, 1],  
[“duster\_leather”, 12],  
[“sleeveless\_duster”, 2],  
[“sleeveless\_duster\_leather”, 2],  
[“sleeveless\_duster\_fur”, 1],  
[“cloak”, 5],  
[“house\_coat”, 25],  
[“flotation\_vest”, 1],  
[“fishing\_waders”, 5],  
[“wetsuit”, 5],  
[“wetsuit\_spring”, 5],  
[“wetsuit\_gloves”, 10],  
[“wetsuit\_booties”, 10],  
[“wetsuit\_hood”, 5],  
[“apron\_leather”, 1],  
[“clown\_suit”, 1],  
[“clownshoes”, 1],  
[“bondage\_suit”, 1],  
[“corset”, 10],  
[“pants\_army”, 10],  
[“jacket\_army”, 10],  
[“winter\_pants\_army”, 10],  
[“winter\_jacket\_army”, 10],  
[“winter\_gloves\_army”, 10],  
[“army\_top”, 20],  
[“tux”, 1],  
[“dress\_wedding”, 1],  
[“porkpie”, 5],  
[“skinny\_tie”, 5],  
[“tieclip”, 2],  
[“collarpin”, 2],  
[“jersey”, 40],  
[“postman\_shorts”, 5],  
[“postman\_shirt”, 5],  
[“postman\_hat”, 5],  
[“maid\_dress”, 3],  
[“maid\_hat”, 3],  
[“halter\_top”, 50],  
[“linuxtshirt”, 20],  
[“kilt”, 5],  
[“nanoskirt”, 10],  
[“sleeveless\_tunic”, 5],  
[“ear\_spool”, 30],  
[“fedora”, 5],  
[“straw\_hat”, 5],  
[“straw\_fedora”, 5],  
[“kufi”, 2],  
[“kippah”, 2],  
[“thawb”, 1],  
[“kittel”, 1],  
[“cassock”, 1],  
[“robe”, 5],  
[“eboshi”, 1],  
[“kariginu”, 1],  
[“kimono”, 3]  
]  
},

{  
“type” : “item\_group”,  
“id” : “laundromat\_bleach”,  
“items” : [  
[“bleach”, 50]  
]  
},

{  
“type” : “item\_group”,  
“id” : “laundromat\_containers”,  
“items” : [  
[“duffelbag”, 5],  
[“backpack”, 5],  
[“bag\_plastic”, 30]  
]  
},

{  
“type” : “overmap\_terrain”,  
“id” : “s\_laundromat”,  
“name” : “laundromat”,  
“rotate” : true,  
“sym” : [94, 62, 118, 60],  
“color” : “white\_white”,  
“see\_cost” : 5,  
“extras” : “build”,  
“mondensity” : 2,  
“sidewalk” : true,  
“mapgen”: [ {  
“method”: “json”,  
“weight”: 400,  
“object”: {  
“rows”: [  
“ssssssssssssssssssssssss”,  
“ssssssssssssssssssssssss”,  
“ssssssssssssssssssssssss”,  
“ssssssssssssssssssssssss”,  
"_|===========-[[-===|__",  
"|^…^…^…|",  
"|t…#…&|",  
"|C.ct…D|",  
"|ttt#…rrrr…D|",  
"|WWWWWWWWWWWt…D|**",  
"|…D|%**",  
"|WWWWWWWWWWWt…D|%",  
"|…D|",  
"|WWWWWWWWWWWt…D|",  
"|t…D|",  
"|c…DDD####t…D|",  
"|c…-------…|–|",  
"|c…WWWWWWWt…|lS|",  
"|6…+lT|",  
"|6…rrrrrrrr…|–|",  
"|V…rrrrrrrr…|lS|",  
"|V…+lT|",  
"|------------+±-----|_",  
"\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\__"  
],  
“terrain”: {  
"_": “t\_pavement”,  
"%": “t\_pavement”,  
".": “t\_linoleum\_white”,  
"-": “t\_wall”,  
"=": “t\_wall\_glass”,  
"|": “t\_wall”,  
"[": “t\_door\_glass\_c”,  
"+": “t\_door\_c”,  
“l”: “t\_linoleum\_gray”,  
"]": “t\_floor”,  
“r”: “t\_floor”,  
“W”: “t\_floor”,  
“D”: “t\_floor”,  
“6”: “t\_floor”,  
"#": “t\_floor”,  
“c”: “t\_floor”,  
“V”: “t\_floor”,  
“t”: “t\_floor”,  
"&": “t\_floor”,  
“s”: “t\_sidewalk”,  
“C”: “t\_console\_broken”,  
“A”: “t\_atm”,  
"^": “t\_linoleum\_white”,  
“S”: “t\_linoleum\_white”,  
“y”: “t\_linoleum\_white”,  
"~": “t\_linoleum\_white”,  
“T”: “t\_linoleum\_white”,  
“w”: “t\_linoleum\_white”  
},  
“furniture”: {  
“W”: “f\_washer”,  
“6”: “f\_arcade\_machine”,  
“V”: “f\_vending\_c”,  
“c”: “f\_chair”,  
“D”: “f\_dryer”,  
“T”: “f\_toilet”,  
“S”: “f\_sink”,  
"^": “f\_indoor\_plant”,  
“t”: “f\_table”,  
“r”: “f\_rack”,  
"%": “f\_trashcan”,  
"&": “f\_trashcan”,  
"#": “f\_counter”  
},  
“toilets”: {  
“T”: { }  
},  
“place\_vehicles”: [  
{ “vehicle”: “shopping\_cart”, “chance”: 10, “x”: 14, “y”: 9 },  
{ “vehicle”: “shopping\_cart”, “chance”: 10, “x”: 14, “y”: 13 },  
{ “vehicle”: “shopping\_cart”, “chance”: 10, “x”: 15, “y”: 12 },  
{ “vehicle”: “shopping\_cart”, “chance”: 10, “x”: 17, “y”: 18 },  
{ “vehicle”: “shopping\_cart”, “chance”: 10, “x”: 17, “y”: 21 }  
],  
“place\_items”: [  
{ “item”: “trash”, “chance”: 80, “x”: 19, “y”: 6},  
{ “item”: “behindcounter”, “chance”: 60, “x”: 4, “y”: 8},  
{ “item”: “laundry”, “chance”: 60, “x”: [2,13], “y”: 9, “repeat”: [1,2] },  
{ “item”: “laundry”, “chance”: 60, “x”: 19, “y”: [7,15], “repeat”: [1,2] },  
{ “item”: “laundry”, “chance”: 60, “x”: [2,13], “y”: 11, “repeat”: [1,2] },  
{ “item”: “laundry”, “chance”: 60, “x”: [2,13], “y”: 13, “repeat”: [1,2] },  
{ “item”: “laundry”, “chance”: 60, “x”: [6,12], “y”: 17, “repeat”: [1,2] },  
{ “item”: “magazines”, “chance”: 60, “x”: [12,13], “y”: 8, “repeat”: [1,2] },  
{ “item”: “snacks”, “chance”: 60, “x”: [10,11], “y”: 8, “repeat”: [1,2] },  
{ “item”: “laundromat\_containers”, “chance”: 60, “x”: [9,12], “y”: 15, “repeat”: [1,2] },  
{ “item”: “laundromat\_bleach”, “chance”: 75, “x”: [6,12], “y”: [19,20], “repeat”: [1,2] },  
{ “item”: “vending\_drink”, “chance”: 75, “x”: 2, “y”: 20 },  
{ “item”: “vending\_food”, “chance”: 75, “x”: 2, “y”: 21 }  
]  
}  
}  
]  
}  
][/spoiler]

Open regional\_map\_settings.json in your data/json folder, delete everything in the file, and then paste the code below into the file. Save, and now when you play the Laundromat actually has a chance of showing up.

[  
{  
“type”: “region\_settings”,  
“id”: “default”, “//”: “identifier, when region\_map is in it will determine alternatives (‘desert’ etc)”,  
“house\_basement\_chance”: 2, “//”: “one\_in(n) houses with basements”,  
“default\_oter”: “field”, “//”: “default oter\_id (anything that isn’t a house/road/etc) some become forests”,  
“default\_groundcover”: { “//”: “biome settings for generic ‘grass\_or\_dirt’ (which is reproduced below”,  
“primary”: “t\_grass”, “//”: “default ter\_id on ground”,  
“ratio”: 4, “//”: “one\_in(n) chance that it becomes…”,  
“secondary”: “t\_dirt”, “//”: “…this instead”  
},  
“field\_coverage”: { “//”: “biome settings for builtin field mapgen. The values below replicate results of hardcoded ‘field’ mapgen”,  
“percent\_coverage”: 0.9333, “//”: “% of tiles that have a plant: one\_in(120)”,  
“default\_ter”: “t\_shrub”, “//”: “default plant”,  
“other”: { “//”: “% of plants that aren’t default\_ter”,  
“t\_shrub\_blueberry”: 0.4166,  
“t\_shrub\_strawberry”: 0.4166,  
“f\_mutpoppy”: 8.3333,  
“f\_bluebell”: 8.3333,  
“f\_dahlia”: 8.3333,  
“f\_datura”: 4.3333,  
“f\_dandelion”: 8.3333  
},  
“boost\_chance”: 0.833, “//”: “% of fields with boosted plant growth”,  
“boosted\_percent\_coverage”: 2.5, “//”: “for the above: total percent coverage jumps to this amount”,  
“boosted\_other”: { “//”: “…and the first non-default picked from this list…”,  
“t\_shrub\_blueberry”: 40.0,  
“t\_shrub\_strawberry”: 30.0,  
“f\_mutpoppy”: 6.6,  
“f\_bluebell”: 6.6,  
“f\_dahlia”: 6.6,  
“f\_datura”: 0.2,  
“f\_dandelion”: 6.6  
},  
“boosted\_other\_percent”: 50.0, “//”: “…accounts for this % of total coverage”  
},  
“num\_forests”: 250, “//”: “# of forest chunks”,  
“forest\_size\_min”: 15, “//”: “size range of forest chunk”,  
“forest\_size\_max”: 40, “//”: “note: 32400 tiles in omap, 250\*minmax = 3750-10000 default\_oters become forests”,  
“swamp\_maxsize”: 4, “//”: “SWAMPINESS // Affects the size of a swamp”,  
“swamp\_river\_influence”: 5, “//”: “voodoo magic sauce: more increases swampyness of forests around rivers”,  
“swamp\_spread\_chance”: 8500, “//”: “one\_in(n) chance a swampy forest makes a swamp in a non-forest. Apparently.”,  
“city”: {  
“type”: “town”,  
“shop\_radius”: 80, “//”: “determine radial frequency of shops / parks / houses for towns. tldr: less means more”,  
“park\_radius”: 130, “//”: “this is not a cut and dry % but rather an inverse voodoo number; rng(0,99) \> VOODOO \* distance / citysize;”,  
“parks”: { “//”: “weighted list for park overmap terrains”,  
“park”: 4,  
“pool”: 1  
},  
“shops”: { “//”: “weighted list of oterrains for commercial zoning”,  
“s\_gas”: 5,  
“s\_pharm”: 3,  
“s\_grocery”: 15,  
“s\_hardware”: 5,  
“s\_sports”: 5,  
“dojo”: 2,  
“gym”: 1,  
“gym\_fitness”: 2,  
“s\_liquor”: 5,  
“s\_gun”: 5,  
“s\_clothes”: 5,  
“s\_library”: 4,  
“s\_restaurant”: 4,  
“sub\_station”: 5,  
“bank”: 3,  
“s\_pizza\_parlor”: 4,  
“bar”: 4,  
“s\_electronics”: 5,  
“pawn”: 3,  
“mil\_surplus”: 2,  
“s\_garage”: 5,  
“station\_radio”: 4,  
“office\_doctor”: 2,  
“s\_restaurant\_fast”: 4,  
“s\_restaurant\_coffee”: 3,  
“bowling\_alley”: 2,  
“church”: 2,  
“office\_cubical”: 2,  
“furniture”: 2,  
“abstorefront”: 2,  
“police”: 1,  
“fire\_station”: 2,  
“home\_improvement”: 2,  
“s\_lot”: 4,  
“s\_arcade”: 2,  
“s\_jewelry”:2,  
“s\_antique”: 2,  
“s\_gardening”: 2,  
“museum”: 1,  
“s\_music”: 2,  
“s\_laundromat”: 2  
}  
}  
}  
]

---

<div class="post-metadata">

**Author:** ![Wally-kun](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/wally-kun/32/375_2.png) [@Wally-kun](https://discourse.cataclysmdda.org/u/Wally-kun)\
**Post date:** [April 29, 2015, 8:34pm UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/2 "2015-04-29T20:34:06Z")

</div>

Why do I feel like putting an electric thermal outfit into a washing machine would be a bad idea…?

---

<div class="post-metadata">

**Author:** ![Noodles\_of\_Doom](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/noodles_of_doom/32/431_2.png) [@Noodles\_of\_Doom](https://discourse.cataclysmdda.org/u/Noodles_of_Doom)\
**Post date:** [April 29, 2015, 9:13pm UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/3 "2015-04-29T21:13:28Z")

</div>

> [@Wally-kun](#):
>
> Why do I feel like putting an electric thermal outfit into a washing machine would be a bad idea…?

Haha, whoops :P. Now it’s gone.

---

<div class="post-metadata">

**Author:** ![Zireael](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/zireael/32/956_2.png) [@Zireael](https://discourse.cataclysmdda.org/u/Zireael)\
**Post date:** [April 30, 2015, 9:48am UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/4 "2015-04-30T09:48:25Z")

</div>

Makes me wonder whether we can disassemble washing machines…

---

<div class="post-metadata">

**Author:** ![Wally-kun](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/wally-kun/32/375_2.png) [@Wally-kun](https://discourse.cataclysmdda.org/u/Wally-kun)\
**Post date:** [May 1, 2015, 6:25am UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/5 "2015-05-01T06:25:27Z")

</div>

You can. I don’t think they give anything especially interesting, though. Just sheet metal and some odd electric piece or two.

---

<div class="post-metadata">

**Author:** ![Krazy](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/krazy/32/1149_2.png) [@Krazy](https://discourse.cataclysmdda.org/u/Krazy)\
**Post date:** [May 1, 2015, 3:06pm UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/6 "2015-05-01T15:06:15Z")

</div>

Heh, you beat me to it. I was in the middle of making one for my map editor testing.

---

<div class="post-metadata">

**Author:** ![Noodles\_of\_Doom](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/noodles_of_doom/32/431_2.png) [@Noodles\_of\_Doom](https://discourse.cataclysmdda.org/u/Noodles_of_Doom)\
**Post date:** [May 2, 2015, 1:12am UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/7 "2015-05-02T01:12:25Z")

</div>

> [@Krazy](#):
>
> Heh, you beat me to it. I was in the middle of making one for my map editor testing.

Hey, if you finish your Laundromat it would be awesome if you could to share it with everybody :)… you can never have enough washing machines.

---

<div class="post-metadata">

**Author:** ![Arek\_PL](https://avatars.discourse-cdn.com/v4/letter/a/b77776/32.png) [@Arek\_PL](https://discourse.cataclysmdda.org/u/Arek_PL)\
**Post date:** [May 2, 2015, 12:19pm UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/8 "2015-05-02T12:19:27Z")

</div>

> [@Noodles of Doom](#):
>
> [quote=“Krazy, post:6, topic:9513”]Heh, you beat me to it. I was in the middle of making one for my map editor testing.

Hey, if you finish your Laundromat it would be awesome if you could to share it with everybody :)… you can never have enough washing machines.[/quote]  
and not every building is this same in real life so 2 versions of laundromats are nothing bad

---

<div class="post-metadata">

**Author:** ![Random\_dragon](https://avatars.discourse-cdn.com/v4/letter/r/4da419/32.png) [@Random\_dragon](https://discourse.cataclysmdda.org/u/Random_dragon)\
**Post date:** [May 2, 2015, 4:59pm UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/9 "2015-05-02T16:59:21Z")

</div>

Now if hygiene ever becomes a thing… o3o

---

<div class="post-metadata">

**Author:** ![jokermatt999](https://avatars.discourse-cdn.com/v4/letter/j/e9bcb4/32.png) [@jokermatt999](https://discourse.cataclysmdda.org/u/jokermatt999)\
**Post date:** [May 2, 2015, 5:32pm UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/10 "2015-05-02T17:32:02Z")

</div>

> <https://github.com/CleverRaven/Cataclysm-DDA/pull/12271>

Went ahead and submitted this for you. I’d been meaning to for a few days and finally got around to it.

---

<div class="post-metadata">

**Author:** ![Noodles\_of\_Doom](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/noodles_of_doom/32/431_2.png) [@Noodles\_of\_Doom](https://discourse.cataclysmdda.org/u/Noodles_of_Doom)\
**Post date:** [May 3, 2015, 4:44pm UTC](https://discourse.cataclysmdda.org/t/laundromat/9513/11 "2015-05-03T16:44:12Z")

</div>

> [@jokermatt999](#):
>
> Went ahead and submitted this for you. I’d been meaning to for a few days and finally got around to it.

Oh, wow thanks :). I’m not exactly Git savvy, so this probably would have never gotten added if it weren’t for you 😃
