Numbered Steps to Reproduce Problem:
Code Snippet (if applicable) to Reproduce Problem:
mob
verb
AppearanceBug()
var/mutable_appearance/app = new(src.appearance)
world << "Mob: [usr.invisibility]"
world << "App: [app.invisibility]"
usr.appearance = app
world << "Mob2: [usr.invisibility]"
app.invisibility = 0
world << "App2: [app.invisibility]"
Expected Results:
Mob: 0
App: 0
Mob2: 0
App2: 0
Actual Results:
Mob: 0
App: 1
Mob2: 0
App2: 1
Workarounds:
Set invisibility back to 0 after setting the appearance.
Mutable appearances seem to clone with invisibility set to 1:
Expected output:
0
0
Actual output:
1
0
Similarly, the values of the deprecated visibility variable do not appear to be copied quite right. I see 0 for the appearance, and 1 for the object after cloning.