mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-02-02 04:10:42 +00:00
20 lines
620 B
Plaintext
20 lines
620 B
Plaintext
// Porting stack dragging/auto stacking from TG.
|
|
|
|
/obj/item/stack/proc/merge(obj/item/stack/S) //Merge src into S, as much as possible
|
|
if(uses_charge || S.uses_charge) // This should realistically never happen, but in case it does lets avoid breaking things.
|
|
return
|
|
|
|
var/transfer = get_amount()
|
|
transfer = min(transfer, S.max_amount - S.amount)
|
|
if(pulledby)
|
|
pulledby.start_pulling(S)
|
|
transfer_fingerprints_to(S)
|
|
if(blood_DNA)
|
|
S.blood_DNA |= blood_DNA
|
|
use(transfer)
|
|
S.add(transfer)
|
|
|
|
/obj/item/stack/Crossed(var/atom/movable/AM)
|
|
if(AM != src && istype(AM, src.type) && !AM.throwing)
|
|
merge(AM)
|
|
return ..() |