Assigning a valid value to an atom's gender var will remove its TILE_MOVER flag, if it has one.
Numbered Steps to Reproduce Problem:
1. Give an atom TILE_MOVER
2. Set its gender, even to what it already was
3. Watch as TILE_MOVER vanishes
Code Snippet (if applicable) to Reproduce Problem:
var/obj/O = new()
O.appearance_flags = TILE_MOVER
world.log << O.appearance_flags
O.gender = NEUTER
world.log << O.appearance_flags
Expected Results:
Setting gender has no effect on appearance_flags
Actual Results:
Magic
When does the problem NOT occur?
As far as I can tell, it always occurs.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Pretty sure it has been the case for all of 514. I noticed something weird was going on long ago, but never got around to debugging it properly until just now.
Workarounds:
Don't use TILE_MOVER, I guess?