tgstation/-tg-station — pull request #3655 by Rolan7 (2014-05-07 08:36:36+00:00)
Title: Makes trays a subclass of bag.

This somewhat changes how items are placed on them, but for the better as it's more consistent with existing mechanics.
Hitting someone with the tray still scatters the contents around! Works on nonhumans.
Placing icons on the tray still makes them show up on the tray. Using the tray on a table now places the items onto the table, or places the tray itself if it's empty. Robots can't lose their tray this way, I checked.
Service borgs can actually use their tray to carry things! Trays can hold all sorts of stuff, as long as it's small...
A service borg can carry the nuke disk around. The pinpointer does follow it correctly.
If the service borg stashes its tray module, dies, explodes, gibselfs, or is forced to stash its modules by damage, it drops all the tray's contents on the ground.

Fixes #236 (service borgs can't use trays) and #2991 (Items on food trays can't be picked up). Didn't address #1919, the layer issue.