Files
CHOMPStation2/code/game/objects/items/stacks/stack_vr.dm
2022-04-17 09:15:33 +00:00

24 lines
716 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
if(S.stacktype != stacktype)
return
if(S.amount >= S.max_amount)
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(isturf(AM.loc) && AM != src && istype(AM, src.type) && !AM.throwing)
merge(AM)
return ..()