diff --git a/code/game/objects/items/stacks/stack_vr.dm b/code/game/objects/items/stacks/stack_vr.dm new file mode 100644 index 0000000000..25ea848ffb --- /dev/null +++ b/code/game/objects/items/stacks/stack_vr.dm @@ -0,0 +1,20 @@ +// 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 ..() \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index ae4b557bdc..f4de371887 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1299,6 +1299,7 @@ #include "code\game\objects\items\stacks\nanopaste_vr.dm" #include "code\game\objects\items\stacks\sandbags.dm" #include "code\game\objects\items\stacks\stack.dm" +#include "code\game\objects\items\stacks\stack_vr.dm" #include "code\game\objects\items\stacks\telecrystal.dm" #include "code\game\objects\items\stacks\tickets.dm" #include "code\game\objects\items\stacks\tiles\fifty_spawner_tiles.dm"