Jump to content

Bug: Diluting mop water removes slipping


Recommended Posts

I know this is not the place for bug reports, but this one has me a little conflicted, so i wanted to gather community feedback about a possible solution.

As some of you may know, a janitor can add ammonia to their mop water, to create water that cleans floors without leaving wet patches. The odd thing is that this works with any quantity of ammonia, even adding 1u of it to 99u of water, works.

Poking through the code, i've realised why, This actually happens with ANY chemical at all. Adding even the tiniest amount of anything that isn't water to a bucket of water, will create a nonslip mop solution

The reason this happens, is that the code process for cleaning goes as such:

When you use mop on a tile, it calls that tile's Clean function, with the mop as the source.

The clean function checks whether the mop contains at least 1u of water OR space cleaner. If it does, then it cleans the tile, and transfers 1u of reagents from the mop to the tile. (a mop contains up to 30u of the mixed mop solution)

Water, has a touch-turf effect that causes it to make a tile wet if the amount of water on the tile is at least 1u

What this means is, if you have a bucket containing 99u water and 1u of....salt from the bar for instance (anything works, arbitrary selection) then your mixture is 99% water, and thus transferring 1u of solution from the mop, results in putting 0.99u of water on the tile, which isn't enough to make it slippery.

So there's a bug here. I'll file a report soon, but first i think there needs to be some discussion on how to fix it, and the implications of doing so:

As a regular janitor player, i rather liked going to chemistry to get something to upgrade my skills. It gives me an excuse to visit medical and meet/interact with people. That's a good thing to have, and encouraging cooperation between departments is great. However the fact that anything works means that going to chemistry is actually not needed, i could just use any kind of reagent or condiment from anywhere.

However i did feel that completely removing slipping is a bit much, and makes things too easy. It kind of removes a game mechanic. It might be preferable for augmented mop water to just make tiles slippery for a shorter time, and/or make them LESS slippy (some chance to slip rathern than it being constant.

And there's also the fact that needing only 1u per bucket is too little, and means a janitor will never have to visit chemistry more than once. But as a counterpoint, i feel that the current spacecleaner recipe (1:1 water and ammonia) which would cause a janitor to need 50u of ammonia per bucket, is a bit much

So with all of these factors in mind, i'd like to propose a way to fix this bug without losing the cooperation/RP potential that it creates:

1. Make any amount of water wet the tile (while you're at it, fix the bug where large water spills never dry up)

2. Change the space cleaner recipe to require 7 parts water, and 3 part ammonia (so, 30u ammonia per bucket)

3. When a mop is used to apply it, make space cleaner also wet the tile (wouldn't affect spray bottles) but for a shorter duration. say 20 seconds instead of 80

With these changes, a janitor would actually need ammonia, and one bottle would allow them to do two full buckets of solution


Link to comment

3. This I don't know about. If a mop does it, why wouldn't the spray bottle, which is a larger dose?


Are you asking from a logic perspective, or codewise?

As far as code is concerned, the slipping for spacecleaner can be moved into the mop's attack function

Logicwise, it's a balance thing, to keep spacecleaner spray relevant for the janitor. When i'm playing a janitor with nonslip mop water, i never spray anything

Link to comment
  • Create New...