Deterministic output slots for smartfridges (#32225)
* a spooky commit * It is too late, the skeleton is already inside you * mexican river dolphins for halloween 2018 * Compiler warnings for halloween 2018
This commit is contained in:
committed by
CitadelStationBot
parent
241d2d88e6
commit
5bd7184d9c
@@ -506,3 +506,14 @@ Class Procs:
|
||||
. = ..()
|
||||
if (AM == occupant)
|
||||
occupant = null
|
||||
|
||||
/obj/machinery/proc/adjust_item_drop_location(atom/movable/AM) // Adjust item drop location to a 3x3 grid inside the tile, returns slot id from 0 to 8
|
||||
var/md5 = md5(AM.name) // Oh, and it's deterministic too. A specific item will always drop from the same slot.
|
||||
#if DM_VERSION > 511
|
||||
#warn Refactor the loop in /obj/machinery/proc/adjust_item_drop_location() to make use of 512's list-like access to characters in a string
|
||||
#endif
|
||||
for (var/i in 1 to 32)
|
||||
. += hex2num(copytext(md5,i,i+1))
|
||||
. = . % 9
|
||||
AM.pixel_x = -8 + ((.%3)*8)
|
||||
AM.pixel_y = -8 + (round( . / 3)*8)
|
||||
Reference in New Issue
Block a user