From 6d8fbee8553e4832b127d51a13762e0038235961 Mon Sep 17 00:00:00 2001 From: oranges Date: Sat, 4 Apr 2015 21:08:14 +1300 Subject: [PATCH] Add an optional target var to the do_after helper The target item's loc must not move for do_after to return true, if left null behaviour is unchanged from before --- code/__HELPERS/unsorted.dm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 0b5b128540a..7d050241b99 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -781,30 +781,32 @@ Turf and target are seperate in case you want to teleport some distance from a t return 1 -/proc/do_after(mob/user, delay, numticks = 5, needhand = 1) - if(!user || isnull(user)) +/proc/do_after(mob/user, delay, numticks = 5, needhand = 1, atom/target = null) + if(!user) return 0 + if(numticks == 0) return 0 + var/atom/Tloc = null + if(target) + Tloc = target.loc + var/delayfraction = round(delay/numticks) - var/turf/T = user.loc + var/atom/Uloc = user.loc var/holding = user.get_active_hand() - var/holdingnull = 1 - if(holding) - holdingnull = 0 for(var/i = 0, i