Merge remote-tracking branch 'origin/master' into luciee

This commit is contained in:
Katherine Kiefer
2022-06-02 10:48:08 +10:00
264 changed files with 874 additions and 697 deletions

View File

@@ -1,9 +1,11 @@
name: Compile changelogs
on:
workflow_dispatch:
schedule:
- cron: "0 2 * * *"
- cron: "0 6 * * *"
- cron: "0 14 * * *"
- cron: "0 22 * * *"
jobs:
compile:

View File

@@ -3738,6 +3738,18 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"bUu" = (
/obj/structure/closet/l3closet/scientist,
/obj/item/extinguisher,
/obj/item/clothing/glasses/science,
/obj/effect/turf_decal/trimline/purple/filled/line{
dir = 9
},
/obj/machinery/light{
dir = 8
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
"bUw" = (
/obj/machinery/door/airlock/engineering{
name = "AI Ship Access";
@@ -14758,6 +14770,39 @@
},
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
"hNk" = (
/obj/structure/window/reinforced{
dir = 4;
pixel_y = 2
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 10
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 10
},
/obj/structure/table/reinforced,
/obj/item/clothing/gloves/color/latex{
pixel_x = -11;
pixel_y = 6
},
/obj/item/clothing/glasses/science{
pixel_x = -9;
pixel_y = -5
},
/obj/item/wrench,
/obj/item/slime_scanner{
pixel_x = 9;
pixel_y = 3
},
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/light{
dir = 1
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"hOa" = (
/obj/machinery/door/window/southleft{
base_state = "right";
@@ -16218,6 +16263,24 @@
},
/turf/open/floor/plasteel,
/area/security/main)
"iHv" = (
/obj/structure/window/reinforced{
dir = 8;
pixel_y = 2
},
/obj/structure/table/reinforced,
/obj/item/storage/box/beakers{
pixel_y = 2
},
/obj/item/storage/box/syringes{
pixel_x = 5;
pixel_y = 6
},
/obj/machinery/light{
dir = 1
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"iHG" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
@@ -16263,36 +16326,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
"iJt" = (
/obj/structure/window/reinforced{
dir = 4;
pixel_y = 2
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 10
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 10
},
/obj/structure/table/reinforced,
/obj/item/clothing/gloves/color/latex{
pixel_x = -11;
pixel_y = 6
},
/obj/item/clothing/glasses/science{
pixel_x = -9;
pixel_y = -5
},
/obj/item/wrench,
/obj/item/slime_scanner{
pixel_x = 9;
pixel_y = 3
},
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"iJF" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
@@ -23382,17 +23415,6 @@
/obj/structure/chair/stool,
/turf/open/floor/plasteel/white,
/area/science/lab)
"mDe" = (
/obj/structure/window/reinforced{
dir = 8;
pixel_y = 2
},
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
dir = 4
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"mDn" = (
/obj/machinery/vending/boozeomat,
/turf/closed/wall,
@@ -28077,21 +28099,6 @@
},
/turf/open/floor/engine/o2,
/area/engine/atmos_distro)
"plq" = (
/obj/structure/window/reinforced{
dir = 8;
pixel_y = 2
},
/obj/structure/table/reinforced,
/obj/item/storage/box/beakers{
pixel_y = 2
},
/obj/item/storage/box/syringes{
pixel_x = 5;
pixel_y = 6
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"pma" = (
/obj/structure/cable{
icon_state = "0-4"
@@ -32840,15 +32847,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/turf/open/floor/plating,
/area/chapel/office)
"rYI" = (
/obj/structure/closet/l3closet/scientist,
/obj/item/extinguisher,
/obj/item/clothing/glasses/science,
/obj/effect/turf_decal/trimline/purple/filled/line{
dir = 9
},
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
"rZF" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 4
@@ -35612,6 +35610,10 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
"tBA" = (
/mob/living/simple_animal/slime,
/turf/open/floor/engine,
/area/science/xenobiology)
"tBB" = (
/obj/structure/cable{
icon_state = "0-4"
@@ -38705,6 +38707,18 @@
/obj/item/stock_parts/scanning_module,
/turf/open/floor/plasteel/white,
/area/science/lab)
"vmQ" = (
/obj/structure/window/reinforced{
dir = 8;
pixel_y = 2
},
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
dir = 4
},
/obj/machinery/light,
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"vnT" = (
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
@@ -39771,33 +39785,6 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/maintenance/aft)
"vNO" = (
/obj/structure/window/reinforced{
dir = 4;
pixel_y = 2
},
/obj/structure/table/reinforced,
/obj/machinery/button/door{
id = "misclab";
name = "Test Chamber Blast Doors";
pixel_x = -7;
pixel_y = 8;
req_access_txt = "55"
},
/obj/item/paper_bin{
pixel_x = 4;
pixel_y = -2
},
/obj/item/pen{
pixel_x = -4;
pixel_y = -4
},
/obj/item/folder/white{
pixel_x = 5;
pixel_y = 4
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"vNV" = (
/obj/machinery/light{
dir = 4
@@ -43124,6 +43111,34 @@
},
/turf/open/floor/plasteel/dark,
/area/ai_monitored/secondarydatacore)
"xFv" = (
/obj/structure/window/reinforced{
dir = 4;
pixel_y = 2
},
/obj/structure/table/reinforced,
/obj/machinery/button/door{
id = "misclab";
name = "Test Chamber Blast Doors";
pixel_x = -7;
pixel_y = 8;
req_access_txt = "55"
},
/obj/item/paper_bin{
pixel_x = 4;
pixel_y = -2
},
/obj/item/pen{
pixel_x = -4;
pixel_y = -4
},
/obj/item/folder/white{
pixel_x = 5;
pixel_y = 4
},
/obj/machinery/light,
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"xFy" = (
/obj/machinery/door/airlock/command/glass{
name = "Head of Security";
@@ -82097,7 +82112,7 @@ uzX
uzX
uzX
vIw
vIw
tBA
imc
vIw
vIw
@@ -82350,7 +82365,7 @@ fXo
rBC
tiB
uzX
rYI
bUu
ohu
uzX
vIw
@@ -82610,7 +82625,7 @@ uzX
nuh
hED
uzX
plq
iHv
xPG
tzg
axu
@@ -82618,7 +82633,7 @@ xPG
rgx
rgx
xPG
mDe
vmQ
uzX
uzX
uzX
@@ -84152,7 +84167,7 @@ uzX
fxN
fdc
uzX
iJt
hNk
gJv
vlM
vhO
@@ -84160,7 +84175,7 @@ gJv
cgP
cgP
gJv
vNO
xFv
uzX
uzX
uzX
@@ -84670,7 +84685,7 @@ vIw
vIw
imc
vIw
vIw
tBA
imc
vIw
vIw
@@ -84924,13 +84939,13 @@ tkl
pCt
uzX
vIw
vIw
uli
imc
vIw
vIw
uli
imc
vIw
vIw
uli
vIw
uzX
tkl

View File

@@ -16392,6 +16392,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/science/storage)
"bsg" = (
@@ -16403,6 +16406,9 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 4
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/science/storage)
"bsi" = (
@@ -16451,6 +16457,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/science/storage)
"bsn" = (
@@ -16471,6 +16480,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/science/storage)
"bsq" = (
@@ -16480,6 +16492,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel/white/side{
dir = 5
},
@@ -18613,6 +18628,9 @@
/obj/structure/cable{
icon_state = "1-8"
},
/obj/structure/cable{
icon_state = "1-2"
},
/turf/open/floor/plasteel/white,
/area/science/research)
"bBH" = (
@@ -18944,6 +18962,9 @@
dir = 4
},
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
icon_state = "1-2"
},
/turf/open/floor/plasteel/white,
/area/science/research)
"bDn" = (
@@ -19028,6 +19049,9 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{
dir = 4
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/science/storage)
"bEg" = (
@@ -19085,6 +19109,9 @@
},
/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2,
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
icon_state = "1-8"
},
/turf/open/floor/plasteel/white,
/area/science/research)
"bEs" = (
@@ -19506,6 +19533,9 @@
network = list("ss13","rd")
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
icon_state = "0-4"
},
/turf/open/floor/plasteel,
/area/science/storage)
"bHi" = (
@@ -39564,14 +39594,6 @@
},
/turf/open/floor/circuit/telecomms/server,
/area/ai_monitored/turret_protected/ai)
"kcy" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4,
/obj/structure/cable{
icon_state = "1-2"
},
/turf/open/floor/plating,
/area/maintenance/port)
"kcH" = (
/obj/machinery/disposal/bin,
/obj/structure/window/reinforced,
@@ -59685,11 +59707,6 @@
pixel_x = -23;
pixel_y = -7
},
/obj/machinery/camera{
c_tag = "Genetics Research";
dir = 4;
network = list("ss13","medbay")
},
/turf/open/floor/plasteel/white,
/area/medical/genetics)
"tZp" = (
@@ -66101,6 +66118,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/maintenance/port)
"xBl" = (
@@ -84561,7 +84579,7 @@ aSf
aSf
xBb
aSf
kcy
pxE
cOY
fLr
bjg

View File

@@ -282,28 +282,28 @@ GLOBAL_LIST_EMPTY(species_list)
checked_health["health"] = health
return ..()
/proc/do_after(mob/user, var/delay, needhand = 1, atom/target = null, progress = 1, datum/callback/extra_checks = null, stayStill = TRUE)
/proc/do_after(mob/user, delay, atom/target = null, needhand = TRUE, progress = TRUE, datum/callback/extra_checks = null, stayStill = TRUE)
if(!user)
return 0
var/atom/Tloc = null
return FALSE
var/atom/target_loc = null
if(target && !isturf(target))
Tloc = target.loc
target_loc = target.loc
if(target)
LAZYADD(user.do_afters, target)
LAZYADD(target.targeted_by, user)
var/atom/Uloc = user.loc
var/atom/user_loc = user.loc
var/drifting = 0
if(!user.Process_Spacemove(0) && user.inertia_dir)
drifting = 1
var/drifting = FALSE
if(!user.Process_Spacemove() && user.inertia_dir)
drifting = TRUE
var/holding = user.get_active_held_item()
var/holdingnull = 1 //User's hand started out empty, check for an empty hand
var/holdingnull = TRUE //User's hand started out empty, check for an empty hand
if(holding)
holdingnull = 0 //Users hand started holding something, check to see if it's still holding that
holdingnull = FALSE //Users hand started holding something, check to see if it's still holding that
delay = ((delay + user.action_speed_adjust) * user.action_speed_modifier * user.do_after_coefficent()) //yogs: darkspawn
@@ -313,33 +313,33 @@ GLOBAL_LIST_EMPTY(species_list)
var/endtime = world.time + delay
var/starttime = world.time
. = 1
. = TRUE
while (world.time < endtime)
stoplag(1)
if (progress)
progbar.update(world.time - starttime)
if(drifting && !user.inertia_dir)
drifting = 0
Uloc = user.loc
drifting = FALSE
user_loc = user.loc
if(QDELETED(user) || user.stat || (!drifting && user.loc != Uloc && stayStill) || (extra_checks && !extra_checks.Invoke()))
. = 0
if(QDELETED(user) || user.stat || (!drifting && user.loc != user_loc && stayStill) || (extra_checks && !extra_checks.Invoke()))
. = FALSE
break
if(isliving(user))
var/mob/living/L = user
if(L.IsStun() || L.IsParalyzed())
. = 0
. = FALSE
break
if(!QDELETED(Tloc) && (QDELETED(target) || Tloc != target.loc))
if((Uloc != Tloc || Tloc != user) && !drifting && stayStill)
. = 0
if(!QDELETED(target_loc) && (QDELETED(target) || target_loc != target.loc))
if((user_loc != target_loc || target_loc != user) && !drifting && stayStill)
. = FALSE
break
if(target && !(target in user.do_afters))
. = 0
. = FALSE
break
if(needhand)
@@ -347,10 +347,10 @@ GLOBAL_LIST_EMPTY(species_list)
//i.e the hand is used to pull some item/tool out of the construction
if(!holdingnull)
if(!holding)
. = 0
. = FALSE
break
if(user.get_active_held_item() != holding)
. = 0
. = FALSE
break
if (progress)
qdel(progbar)

View File

@@ -115,7 +115,7 @@
var/slip_out_message = pick("silently fades in", "leaps out of thin air","appears", "walks out of an invisible doorway",\
"slides out of a fold in spacetime")
to_chat(user, span_notice("You try to align with the bluespace stream..."))
if(do_after(user, 2 SECONDS, target = src))
if(do_after(user, 2 SECONDS, src))
new /obj/effect/temp_visual/bluespace_fissure(get_turf(src))
new /obj/effect/temp_visual/bluespace_fissure(get_turf(linked_to))
user.forceMove(get_turf(linked_to))

View File

@@ -38,7 +38,7 @@
/datum/component/art/proc/on_attack_hand(datum/source, mob/M)
to_chat(M, "You start examining [parent].")
if(!do_after(M, 2 SECONDS, target = parent))
if(!do_after(M, 2 SECONDS, parent))
return
on_obj_examine(source, M)

View File

@@ -165,7 +165,7 @@
R.time *= 0.75
if(check_contents(R, contents))
if(check_tools(user, R, contents))
if(do_after(user, R.time, target = user))
if(do_after(user, R.time, user))
contents = get_surroundings(user)
if(!check_contents(R, contents))
return ", missing component."

View File

@@ -321,7 +321,7 @@
return
M.visible_message(span_warning("[AM] queues their servos to fling [M]!"))
playsound(AM,'sound/misc/borg/fling_start.ogg',80,1,-1)
if(!do_after(AM, 1 SECONDS, target = M))
if(!do_after(AM, 1 SECONDS, M))
M.visible_message(span_boldwarning("[AM]'s servos disengage!"))
playsound(AM,'sound/misc/borg/fling_cancel.ogg',80,1,-1)
return

View File

@@ -215,7 +215,7 @@
return
var/datum/progressbar/progress = new(M, len, I.loc)
var/list/rejections = list()
while(do_after(M, 1 SECONDS, TRUE, parent, FALSE, CALLBACK(src, .proc/handle_mass_pickup, things, I.loc, rejections, progress)))
while(do_after(M, 1 SECONDS, parent, TRUE, FALSE, CALLBACK(src, .proc/handle_mass_pickup, things, I.loc, rejections, progress)))
stoplag(1)
qdel(progress)
to_chat(M, span_notice("You put everything you could [insert_preposition] [parent]."))
@@ -273,7 +273,7 @@
var/turf/T = get_turf(A)
var/list/things = contents()
var/datum/progressbar/progress = new(M, length(things), T)
while (do_after(M, 1 SECONDS, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress)))
while (do_after(M, 1 SECONDS, T, TRUE, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress)))
stoplag(1)
qdel(progress)

View File

@@ -5,7 +5,7 @@
/datum/martial_art/mushpunch/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
var/atk_verb
to_chat(A, span_spider("You begin to wind up an attack..."))
if(!do_after(A, 2.5 SECONDS, target = D))
if(!do_after(A, 2.5 SECONDS, D))
to_chat(A, span_spider("<b>Your attack was interrupted!</b>"))
return TRUE //martial art code was a mistake
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)

View File

@@ -147,7 +147,7 @@
/obj/screen/alert/status_effect/strandling/Click(location, control, params)
. = ..()
to_chat(mob_viewer, span_notice("You attempt to remove the durathread strand from around your neck."))
if(do_after(mob_viewer, 3.5 SECONDS, null, mob_viewer))
if(do_after(mob_viewer, 3.5 SECONDS, mob_viewer, FALSE))
if(isliving(mob_viewer))
var/mob/living/L = mob_viewer
to_chat(mob_viewer, span_notice("You succesfuly remove the durathread strand."))

View File

@@ -125,6 +125,7 @@
/datum/world_topic/server_hop
keyword = "server_hop"
require_comms_key = TRUE
/datum/world_topic/server_hop/Run(list/input)
var/expected_key = input[keyword]

View File

@@ -238,7 +238,7 @@
/datum/wound/blunt/moderate/proc/chiropractice(mob/living/carbon/human/user)
var/time = base_treat_time
if(!do_after(user, time, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
if(!do_after(user, time, victim, extra_checks = CALLBACK(src, .proc/still_exists)))
return
if(prob(65))
@@ -257,7 +257,7 @@
/datum/wound/blunt/moderate/proc/malpractice(mob/living/carbon/human/user)
var/time = base_treat_time
if(!do_after(user, time, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
if(!do_after(user, time, victim, extra_checks = CALLBACK(src, .proc/still_exists)))
return
if(prob(65))
@@ -278,7 +278,7 @@
else
user.visible_message(span_danger("[user] begins resetting [victim]'s [limb.name] with [I]."), span_notice("You begin resetting [victim]'s [limb.name] with [I]..."))
if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists)))
if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), victim, extra_checks=CALLBACK(src, .proc/still_exists)))
return
if(victim == user)
@@ -356,7 +356,7 @@
user.visible_message(span_danger("[user] begins hastily applying [I] to [victim]'s' [limb.name]..."), span_warning("You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name], disregarding the warning label..."))
if(!do_after(user, base_treat_time * 1.5 * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists)))
if(!do_after(user, base_treat_time * 1.5 * (user == victim ? 1.5 : 1), victim, extra_checks=CALLBACK(src, .proc/still_exists)))
return
I.use(1)
@@ -397,7 +397,7 @@
user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [limb.name]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]..."))
if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists)))
if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), victim, extra_checks=CALLBACK(src, .proc/still_exists)))
return
if(victim == user)

View File

@@ -210,7 +210,7 @@
to_chat(user, span_warning("You need to open [I] first."))
return
user.visible_message(span_notice("[user] begins wrapping [victim]'s [limb.name] with [I]..."), span_notice("You begin wrapping [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]..."))
if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), victim, extra_checks = CALLBACK(src, .proc/still_exists)))
return
limb.heal_damage(I.heal_brute, I.heal_burn)

View File

@@ -101,7 +101,7 @@
/datum/wound/pierce/proc/suture(obj/item/stack/medical/suture/I, mob/user)
var/self_penalty_mult = (user == victim ? 1.4 : 1)
user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.name] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]..."))
if(!do_after(user, base_treat_time * self_penalty_mult * I.treatment_speed, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
if(!do_after(user, base_treat_time * self_penalty_mult * I.treatment_speed, victim, extra_checks = CALLBACK(src, .proc/still_exists)))
return
user.visible_message(span_green("[user] stitches up some of the bleeding on [victim]."), span_green("You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"]."))
var/blood_sutured = I.stop_bleeding / self_penalty_mult
@@ -120,7 +120,7 @@
var/self_penalty_mult = (user == victim ? 1.5 : 1) // 50% longer and less effective if you do it to yourself
user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.name] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]..."))
if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, victim, extra_checks = CALLBACK(src, .proc/still_exists)))
return
user.visible_message(span_green("[user] cauterizes some of the bleeding on [victim]."), span_green("You cauterize some of the bleeding on [victim]."))

View File

@@ -171,7 +171,7 @@
user.visible_message(span_notice("[user] begins licking the wounds on [victim]'s [limb.name]."), span_notice("You begin licking the wounds on [victim]'s [limb.name]..."), ignored_mobs=victim)
to_chat(victim, "<span class='notice'>[user] begins to lick the wounds on your [limb.name].</span")
if(!do_after(user, base_treat_time, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
if(!do_after(user, base_treat_time, victim, extra_checks = CALLBACK(src, .proc/still_exists)))
return
user.visible_message(span_notice("[user] licks the wounds on [victim]'s [limb.name]."), span_notice("You lick some of the wounds on [victim]'s [limb.name]"), ignored_mobs=victim)
@@ -195,7 +195,7 @@
/datum/wound/slash/proc/las_cauterize(obj/item/gun/energy/laser/lasgun, mob/user)
var/self_penalty_mult = (user == victim ? 1.25 : 1)
user.visible_message(span_warning("[user] begins aiming [lasgun] directly at [victim]'s [limb.name]..."), span_userdanger("You begin aiming [lasgun] directly at [user == victim ? "your" : "[victim]'s"] [limb.name]..."))
if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
if(!do_after(user, base_treat_time * self_penalty_mult, victim, extra_checks = CALLBACK(src, .proc/still_exists)))
return
var/damage = lasgun.chambered.BB.damage
lasgun.chambered.BB.bare_wound_bonus = 0
@@ -213,7 +213,7 @@
var/self_penalty_mult = (user == victim ? 1.5 : 1) // 50% longer and less effective if you do it to yourself
user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.name] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]..."))
if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, victim, extra_checks = CALLBACK(src, .proc/still_exists)))
return
user.visible_message(span_green("[user] cauterizes some of the bleeding on [victim]."), span_green("You cauterize some of the bleeding on [victim]."))
@@ -233,7 +233,7 @@
var/self_penalty_mult = (user == victim ? 1.4 : 1)
user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.name] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]..."))
if(!do_after(user, base_treat_time * self_penalty_mult * I.treatment_speed, target=victim, extra_checks = CALLBACK(src, .proc/still_exists)))
if(!do_after(user, base_treat_time * self_penalty_mult * I.treatment_speed, victim, extra_checks = CALLBACK(src, .proc/still_exists)))
return
user.visible_message(span_green("[user] stitches up some of the bleeding on [victim]."), span_green("You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"]."))
var/blood_sutured = I.stop_bleeding / self_penalty_mult

View File

@@ -780,7 +780,7 @@
to_chat(user,span_warning("You can't dump the contents of [src_object.parent] into itself!"))
return
//yogs end
while (do_after(user, 1 SECONDS, TRUE, src, FALSE, CALLBACK(STR, /datum/component/storage.proc/handle_mass_item_insertion, things, src_object, user, progress)))
while (do_after(user, 1 SECONDS, src, TRUE, FALSE, CALLBACK(STR, /datum/component/storage.proc/handle_mass_item_insertion, things, src_object, user, progress)))
stoplag(1)
qdel(progress)
to_chat(user, span_notice("You dump as much of [src_object.parent]'s contents into [STR.insert_preposition]to [src] as you can."))

View File

@@ -447,6 +447,7 @@
var/obj/vent = pick_n_take(vents)
var/mob/living/carbon/alien/larva/new_xeno = new(vent.loc)
new_xeno.key = applicant.key
new_xeno.move_into_vent(vent)
message_admins("[ADMIN_LOOKUPFLW(new_xeno)] has been made into an alien by the midround ruleset.")
log_game("DYNAMIC: [key_name(new_xeno)] was spawned as an alien by the midround ruleset.")
return new_xeno

View File

@@ -475,7 +475,7 @@
return
user.visible_message("[user.name] wires the airlock controller.", \
span_notice("You start wiring the airlock controller..."))
if (do_after(user, 2 SECONDS, target = src))
if (do_after(user, 2 SECONDS, src))
if (cable.get_amount() >= 5 && buildstage == 1)
cable.use(5)
to_chat(user, span_notice("You wire the airlock controller."))

View File

@@ -210,7 +210,7 @@
"You begin to load a design from \the [O]...",
"You hear the chatter of a floppy drive.")
var/obj/item/disk/design_disk/D = O
if(do_after(user, 1.5 SECONDS, target = src))
if(do_after(user, 1.5 SECONDS, src))
for(var/B in D.blueprints)
if(B)
stored_research.add_design(B)

View File

@@ -36,7 +36,7 @@
"You begin to load a surgery protocol from \the [O]...",
"You hear the chatter of a floppy drive.")
var/obj/item/disk/surgery/D = O
if(do_after(user, 1 SECONDS, target = src))
if(do_after(user, 1 SECONDS, src))
advanced_surgeries |= D.surgeries
return TRUE
return ..()

View File

@@ -1153,7 +1153,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list(
if(!c_user.get_bodypart(BODY_ZONE_L_ARM) && !c_user.get_bodypart(BODY_ZONE_R_ARM))
return
to_chat(c_user, span_warning("You move your hand towards the machine, and begin to hesitate as a bloodied guillotine emerges from inside of it..."))
if(do_after(c_user, 5 SECONDS, target = src))
if(do_after(c_user, 5 SECONDS, src))
to_chat(c_user, span_userdanger("The guillotine drops on your arm, and the machine sucks it in!"))
playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1)
var/which_hand = BODY_ZONE_L_ARM

View File

@@ -372,7 +372,7 @@
to_chat(user, "[span_sevtug_small("The [target.name]'s inner machinery protests vehemently as it attempts to warp you to a non-brass tile, this will take time...")]")
warp_time = 300
warping = new(T, user, warp_time)
if(!do_after(user, warp_time, target = warping, extra_checks = CALLBACK(src, .proc/is_canceled)))
if(!do_after(user, warp_time, warping, extra_checks = CALLBACK(src, .proc/is_canceled)))
to_chat(user, "<span class='bold sevtug_small'>Warp interrupted.</span>")
QDEL_NULL(warping)
button_icon_state = "warp_down"

View File

@@ -105,7 +105,7 @@
user.visible_message(span_notice("[user] presses [multitool] into [src]'s ID slot..."), \
span_notice("You begin overriding the clamps on [src]..."))
playsound(src, 'sound/machines/click.ogg', 50, TRUE)
if(!do_after(user, 10 SECONDS, target = src) || !clamps_locked)
if(!do_after(user, 10 SECONDS, src) || !clamps_locked)
return
user.visible_message(span_notice("[user] pulses [multitool], and [src]'s clamps slide up."), \
span_notice("You override the locking clamps on [src]!"))

View File

@@ -72,7 +72,7 @@
return
else
to_chat(user, span_notice("You start adding [I] to [src]..."))
if(do_after(user, 5 SECONDS, target=src))
if(do_after(user, 5 SECONDS, src))
W.use(5)
new /turf/closed/wall/mineral/wood/nonmetal(get_turf(src))
qdel(src)

View File

@@ -78,7 +78,7 @@
user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \
span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \
span_italics("You hear a metallic creaking from [src]."))
if(do_after(user,(breakout_time), target = src))
if(do_after(user,(breakout_time), src))
if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked)
return
locked = FALSE

View File

@@ -961,7 +961,7 @@
to_chat(user, span_warning("You need at least 2 metal sheets to reinforce [src]."))
return
to_chat(user, span_notice("You start reinforcing [src]."))
if(do_after(user, 2 SECONDS, TRUE, src))
if(do_after(user, 2 SECONDS, src))
if(!panel_open || !S.use(2))
return
user.visible_message(span_notice("[user] reinforces \the [src] with metal."),
@@ -975,7 +975,7 @@
to_chat(user, span_warning("You need at least 2 plasteel sheets to reinforce [src]."))
return
to_chat(user, span_notice("You start reinforcing [src]."))
if(do_after(user, 2 SECONDS, TRUE, src))
if(do_after(user, 2 SECONDS, src))
if(!panel_open || !S.use(2))
return
user.visible_message(span_notice("[user] reinforces \the [src] with plasteel."),
@@ -1141,10 +1141,10 @@
user.visible_message(span_warning("[user] starts forcing open [src]!"), span_velvet("<b>ueahz</b><br>You begin forcing open [src]..."))
playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE)
if(!T.twin)
if(!do_after(user, 7.5 SECONDS, target = src))
if(!do_after(user, 7.5 SECONDS, src))
return
else
if(!do_after(user, 5 SECONDS, target = src))
if(!do_after(user, 5 SECONDS, src))
return
open(2)
if(density && !open(2))
@@ -1158,12 +1158,12 @@
"<span class='velvet italics'>You loudly begin smashing down [src].</span>")
while(obj_integrity > max_integrity * 0.25)
if(T.twin)
if(!do_after(user, rand(4, 6), target = src))
if(!do_after(user, rand(4, 6), src))
T.darkspawn.use_psi(30)
qdel(T)
return
else
if(!do_after(user, rand(8, 10), target = src))
if(!do_after(user, rand(8, 10), src))
T.darkspawn.use_psi(30)
qdel(T)
return
@@ -1288,7 +1288,7 @@
playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) //is it aliens or just the CE being a dick?
prying_so_hard = TRUE
if(do_after(user, time_to_open, TRUE, src))
if(do_after(user, time_to_open, src))
open(2)
if(density && !open(2))
to_chat(user, span_warning("Despite your attempts, [src] refuses to open."))
@@ -1322,7 +1322,7 @@
if(hasPower())
playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) //is it aliens or just the CE being a dick?
if(do_after(user, time_to_open, TRUE, src))
if(do_after(user, time_to_open, src))
open(2)
if(density && !open(2))
to_chat(user, span_warning("Despite your attempts, [src] refuses to open."))
@@ -1500,7 +1500,7 @@
playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, 1)
if(do_after(user, time_to_open, TRUE, src))
if(do_after(user, time_to_open, src))
if(density && !open(2)) //The airlock is still closed, but something prevented it opening. (Another player noticed and bolted/welded the airlock in time!)
to_chat(user, span_warning("Despite your efforts, [src] managed to resist your attempts to open it!"))

View File

@@ -162,7 +162,7 @@
if(is_holding_pressure())
// tell the user that this is a bad idea, and have a do_after as well
to_chat(user, span_warning("As you begin crowbarring \the [src] a gush of air blows in your face... maybe you should reconsider?"))
if(!do_after(user, 1.5 SECONDS, TRUE, src)) // give them a few seconds to reconsider their decision.
if(!do_after(user, 1.5 SECONDS, src)) // give them a few seconds to reconsider their decision.
return
log_game("[key_name_admin(user)] has opened a firelock with a pressure difference at [AREACOORD(loc)]") // there bibby I made it logged just for you. Enjoy.
// since we have high-pressure-ness, close all other firedoors on the tile
@@ -560,7 +560,7 @@
user.visible_message(span_notice("[user] begins reinforcing [src]..."), \
span_notice("You begin reinforcing [src]..."))
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, 1)
if(do_after(user, 6 SECONDS, target = src))
if(do_after(user, 6 SECONDS, src))
if(constructionStep != CONSTRUCTION_PANEL_OPEN || reinforced || P.get_amount() < 2 || !P)
return
user.visible_message(span_notice("[user] reinforces [src]."), \
@@ -621,7 +621,7 @@
user.visible_message(span_notice("[user] begins wiring [src]..."), \
span_notice("You begin adding wires to [src]..."))
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, 1)
if(do_after(user, 6 SECONDS, target = src))
if(do_after(user, 6 SECONDS, src))
if(constructionStep != CONSTRUCTION_GUTTED || B.get_amount() < 5 || !B)
return
user.visible_message(span_notice("[user] adds wires to [src]."), \
@@ -653,7 +653,7 @@
user.visible_message(span_notice("[user] starts adding [C] to [src]..."), \
span_notice("You begin adding a circuit board to [src]..."))
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, 1)
if(!do_after(user, 4 SECONDS, target = src))
if(!do_after(user, 4 SECONDS, src))
return
if(constructionStep != CONSTRUCTION_NOCIRCUIT)
return

View File

@@ -134,7 +134,7 @@
if(W.tool_behaviour == TOOL_WIRECUTTER)
if(id != null)
to_chat(user, span_notice("You start to unlink the door."))
if(do_after(user, 1 SECONDS SECONDS, target = src))
if(do_after(user, 10 SECONDS, src))
to_chat(user, span_notice("You unlink the door."))
id = null
else
@@ -145,7 +145,7 @@
if(W.tool_behaviour == TOOL_WELDER && constructionstate == INTACT)
to_chat(user, span_notice("You start to remove the outer plasteel cover."))
playsound(src.loc, 'sound/items/welder.ogg', 50, 1)
if(do_after(user, 1 SECONDS SECONDS, target = src))
if(do_after(user, 10 SECONDS, src))
to_chat(user, span_notice("You remove the outer plasteel cover."))
constructionstate = CUT_COVER
id = null // Effectivley breaks the door
@@ -156,7 +156,7 @@
if(W.tool_behaviour == TOOL_CROWBAR && constructionstate == CUT_COVER)
to_chat(user, span_notice("You start to remove all of the internal components"))
if(do_after(user, 15 SECONDS, target = src))
if(do_after(user, 15 SECONDS, src))
if(istype(src, /obj/machinery/door/poddoor/shutters)) // Simplified Code
new /obj/item/stack/sheet/plasteel(loc, 5)
new /obj/item/electronics/airlock(loc)

View File

@@ -76,7 +76,7 @@
user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \
span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \
span_italics("You hear a metallic creaking from [src]."))
if(do_after(user, breakout_time, target = src))
if(do_after(user, breakout_time, src))
if(!user || user.stat != CONSCIOUS || user.loc != src || state_open)
return
free_exit = TRUE

View File

@@ -102,7 +102,7 @@ The console is located at computer/gulag_teleporter.dm
user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \
span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \
span_italics("You hear a metallic creaking from [src]."))
if(do_after(user,(breakout_time), target = src))
if(do_after(user,(breakout_time), src))
if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked)
return
locked = FALSE

View File

@@ -245,7 +245,7 @@
if(!usr.canUseTopic(src, BE_CLOSE, ismonkey(usr)))
return
usr.visible_message(span_notice("[usr] starts closing [src]..."), span_notice("You start closing [src]..."))
if(do_after(usr, 3 SECONDS, target = usr))
if(do_after(usr, 3 SECONDS, usr))
usr.put_in_hands(briefcase)
moveToNullspace() //hides it from suitcase contents
closed = TRUE
@@ -285,7 +285,7 @@
return
add_fingerprint(user)
user.visible_message(span_notice("[user] starts setting down [src]..."), span_notice("You start setting up [pad]..."))
if(do_after(user, 3 SECONDS, target = user))
if(do_after(user, 3 SECONDS, user))
pad.forceMove(get_turf(src))
pad.update_indicator()
pad.closed = FALSE

View File

@@ -51,7 +51,7 @@
update_icon()
to_chat(user, "<span class='notice'>You start pressing a new license plate!</span>")
if(!do_after(user, 40, target = src))
if(!do_after(user, 4 SECONDS, src))
pressing = FALSE
update_icon()
return FALSE

View File

@@ -85,7 +85,7 @@
interact(user, K.qpad)
else
to_chat(user, span_notice("You insert [K] into [src]'s card slot, initiating the link procedure."))
if(do_after(user, 4 SECONDS, target = src))
if(do_after(user, 4 SECONDS, src))
to_chat(user, span_notice("You complete the link between [K] and [src]."))
K.qpad = src

View File

@@ -157,7 +157,7 @@
to_chat(user, span_warning("You need one length of cable to repair [src]!"))
return
to_chat(user, span_notice("You begin to replace the wires..."))
if(do_after(user, 3 SECONDS, target = src))
if(do_after(user, 3 SECONDS, src))
if(coil.get_amount() < 1)
return
coil.use(1)

View File

@@ -306,7 +306,7 @@
user.visible_message(span_notice("You see [user] kicking against the doors of [src]!"), \
span_notice("You start kicking against the doors... (this will take about [DisplayTimeText(breakout_time)].)"), \
span_italics("You hear a thump from [src]."))
if(do_after(user,(breakout_time), target = src))
if(do_after(user, (breakout_time), src))
if(!user || user.stat != CONSCIOUS || user.loc != src )
return
user.visible_message(span_warning("[user] successfully broke out of [src]!"), \

View File

@@ -105,7 +105,7 @@
var/C = chassis.loc
set_ready_state(0)
chassis.use_power(energy_drain)
. = do_after(chassis.occupant, equip_cooldown, target=target)
. = do_after(chassis.occupant, equip_cooldown, target)
set_ready_state(1)
if(!chassis || chassis.loc != C || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir))
return 0
@@ -114,7 +114,7 @@
if(!chassis)
return
var/C = chassis.loc
. = do_after(chassis.occupant, delay, target=target)
. = do_after(chassis.occupant, delay, target)
if(!chassis || chassis.loc != C || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir))
return 0

View File

@@ -926,7 +926,7 @@
visible_message("[user] starts to climb into [name].")
if(do_after(user, enter_delay, target = src))
if(do_after(user, enter_delay, src))
if(obj_integrity <= 0)
to_chat(user, span_warning("You cannot get in the [name], it has been destroyed!"))
else if(occupant)
@@ -975,7 +975,7 @@
visible_message(span_notice("[user] starts to insert an MMI into [name]."))
if(do_after(user, 4 SECONDS, target = src))
if(do_after(user, 4 SECONDS, src))
if(!occupant)
return mmi_moved_inside(mmi_as_oc, user)
else
@@ -1022,7 +1022,7 @@
/obj/mecha/container_resist(mob/living/user)
is_currently_ejecting = TRUE
to_chat(occupant, "<span class='notice'>You begin the ejection procedure. Equipment is disabled during this process. Hold still to finish ejecting.<span>")
if(do_after(occupant,exit_delay, target = src))
if(do_after(occupant, exit_delay, src))
to_chat(occupant, "<span class='notice'>You exit the mech.<span>")
go_out()
else

View File

@@ -223,7 +223,7 @@
/obj/mecha/working/ripley/relay_container_resist(mob/living/user, obj/O)
to_chat(user, span_notice("You lean on the back of [O] and start pushing so it falls out of [src]."))
if(do_after(user, 30 SECONDS, target = O))
if(do_after(user, 30 SECONDS, O))
if(!user || user.stat != CONSCIOUS || user.loc != src || O.loc != src )
return
to_chat(user, span_notice("You successfully pushed [O] out of [src]!"))

View File

@@ -151,7 +151,7 @@
qdel(P) //delete it now to cut down on sanity checks afterwards. Agouri's code supports rerolling it anyway
playsound(D.loc, 'sound/items/poster_being_created.ogg', 100, 1)
if(do_after(user, PLACE_SPEED, target=src))
if(do_after(user, PLACE_SPEED, src))
if(!D || QDELETED(D))
return
@@ -205,7 +205,7 @@
D.forceMove(src)
playsound(D.loc, 'sound/items/poster_being_created.ogg', 100, 1)
if(do_after(user, PLACE_SPEED, target=src))
if(do_after(user, PLACE_SPEED, src))
if(!D || QDELETED(D))
return

View File

@@ -71,7 +71,7 @@
to_chat(user, span_warning("You can't plant the mine here!"))
return
to_chat(user, span_notice("You start arming the [src]..."))
if(do_after(user, arming_time, target = src))
if(do_after(user, arming_time, src))
new mine_type(plantspot)
to_chat(user, span_notice("You plant and arm the [src]."))
log_combat(user, src, "planted and armed")
@@ -91,7 +91,7 @@
/obj/effect/mine/attackby(obj/I, mob/user, params)
if(istype(I, /obj/item/multitool))
to_chat(user, span_notice("You begin to disarm the [src]..."))
if(do_after(user, disarm_time, target = src))
if(do_after(user, disarm_time, src))
to_chat(user, span_notice("You disarm the [src]."))
new disarm_product(src.loc)
qdel(src)

View File

@@ -216,7 +216,7 @@
user.last_special = world.time + CLICK_CD_BREAKOUT
to_chat(user, span_notice("You struggle against the tight bonds... (This will take about [DisplayTimeText(breakout_time)].)"))
visible_message("You see something struggling and writhing in \the [src]!")
if(do_after(user,(breakout_time), target = src))
if(do_after(user, (breakout_time), src))
if(!user || user.stat != CONSCIOUS || user.loc != src)
return
qdel(src)

View File

@@ -795,7 +795,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
return
else
if(!do_after(user, delay, target=target, extra_checks=tool_check))
if(!do_after(user, delay, target, extra_checks=tool_check))
return
else
// Invoke the extra checks once, just in case.

View File

@@ -540,7 +540,7 @@ RLD
var/delay = rcd_results["delay"] * delay_mod
var/obj/effect/constructing_effect/rcd_effect = new(get_turf(A), delay, src.mode)
if(checkResource(rcd_results["cost"], user))
if(do_after(user, delay, target = A))
if(do_after(user, delay, A))
if(checkResource(rcd_results["cost"], user))
if(A.rcd_act(user, src, rcd_results["mode"]))
rcd_effect.end_animation()
@@ -842,7 +842,7 @@ RLD
to_chat(user, span_notice("You start deconstructing [A]..."))
user.Beam(A,icon_state="nzcrentrs_power",time=15)
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
if(do_after(user, decondelay, target = A))
if(do_after(user, decondelay, A))
if(!useResource(deconcost, user))
return FALSE
activate()
@@ -857,7 +857,7 @@ RLD
user.Beam(A,icon_state="nzcrentrs_power",time=15)
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
playsound(src.loc, 'sound/effects/light_flicker.ogg', 50, FALSE)
if(do_after(user, floordelay, target = A))
if(do_after(user, floordelay, A))
if(!istype(W))
return FALSE
var/list/candidates = list()
@@ -903,7 +903,7 @@ RLD
user.Beam(A,icon_state="light_beam",time=15)
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
playsound(src.loc, 'sound/effects/light_flicker.ogg', 50, TRUE)
if(do_after(user, floordelay, target = A))
if(do_after(user, floordelay, A))
if(!istype(F))
return 0
if(!useResource(floorcost, user))

View File

@@ -404,7 +404,7 @@ GLOBAL_LIST_INIT(fluid_duct_recipes, list(
// yogs end
to_chat(user, span_notice("You start destroying a pipe..."))
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, destroy_speed, target = A))
if(do_after(user, destroy_speed, A))
activate()
qdel(A)
return
@@ -414,7 +414,7 @@ GLOBAL_LIST_INIT(fluid_duct_recipes, list(
var/obj/machinery/atmospherics/pipe/P = A
to_chat(user, span_notice("You start painting \the [P] [paint_color]..."))
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, paint_speed, target = A))
if(do_after(user, paint_speed, A))
P.paint(GLOB.pipe_paint_colors[paint_color]) //paint the pipe
user.visible_message(span_notice("[user] paints \the [P] [paint_color]."),span_notice("You paint \the [P] [paint_color]."))
return
@@ -422,7 +422,7 @@ GLOBAL_LIST_INIT(fluid_duct_recipes, list(
if(istype(P) && findtext("[P.pipe_type]", "/obj/machinery/atmospherics/pipe") && !findtext("[P.pipe_type]", "layer_manifold"))
to_chat(user, span_notice("You start painting \the [A] [paint_color]..."))
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, paint_speed, target = A))
if(do_after(user, paint_speed, A))
A.add_atom_colour(GLOB.pipe_paint_colors[paint_color], FIXED_COLOUR_PRIORITY) //paint the pipe
user.visible_message(span_notice("[user] paints \the [A] [paint_color]."),span_notice("You paint \the [A] [paint_color]."))
return
@@ -438,7 +438,7 @@ GLOBAL_LIST_INIT(fluid_duct_recipes, list(
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if (recipe.type == /datum/pipe_info/meter)
to_chat(user, span_notice("You start building a meter..."))
if(do_after(user, atmos_build_speed, target = A))
if(do_after(user, atmos_build_speed, A))
activate()
var/obj/item/pipe_meter/PM = new /obj/item/pipe_meter(get_turf(A))
PM.setAttachLayer(piping_layer)
@@ -449,7 +449,7 @@ GLOBAL_LIST_INIT(fluid_duct_recipes, list(
to_chat(user, span_notice("You can't build this object on the layer..."))
return ..()
to_chat(user, span_notice("You start building a pipe..."))
if(do_after(user, atmos_build_speed, target = A))
if(do_after(user, atmos_build_speed, A))
if(recipe.all_layers == FALSE && (piping_layer == 1 || piping_layer == 5))//double check to stop cheaters (and to not waste time waiting for something that can't be placed)
to_chat(user, span_notice("You can't build this object on the layer..."))
return ..()
@@ -479,7 +479,7 @@ GLOBAL_LIST_INIT(fluid_duct_recipes, list(
return
to_chat(user, span_notice("You start building a disposals pipe..."))
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, disposal_build_speed, target = A))
if(do_after(user, disposal_build_speed, A))
var/obj/structure/disposalconstruct/C = new (A, queued_p_type, queued_p_dir, queued_p_flipped)
if(!C.can_place())
@@ -504,7 +504,7 @@ GLOBAL_LIST_INIT(fluid_duct_recipes, list(
return
to_chat(user, span_notice("You start building a transit tube..."))
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, transit_build_speed, target = A))
if(do_after(user, transit_build_speed, A))
activate()
if(queued_p_type == /obj/structure/c_transit_tube_pod)
var/obj/structure/c_transit_tube_pod/pod = new /obj/structure/c_transit_tube_pod(A)
@@ -533,7 +533,7 @@ GLOBAL_LIST_INIT(fluid_duct_recipes, list(
return
to_chat(user, span_notice("You start building a fluid duct..."))
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, plumbing_build_speed, target = A))
if(do_after(user, plumbing_build_speed, A))
var/obj/machinery/duct/D
if(recipe.type == /datum/pipe_info/plumbing/multilayer)
var/temp_connects = NORTH + SOUTH

View File

@@ -84,7 +84,7 @@
user.last_special = world.time + CLICK_CD_BREAKOUT
to_chat(user, span_notice("You claw at the fabric of [src], trying to tear it open..."))
to_chat(loc, span_warning("Someone starts trying to break free of [src]!"))
if(!do_after(user, 20 SECONDS, target = src))
if(!do_after(user, 20 SECONDS, src))
to_chat(loc, span_warning("The pressure subsides. It seems that they've stopped resisting..."))
return
loc.visible_message(span_warning("[user] suddenly appears in front of [loc]!"), span_userdanger("[user] breaks free of [src]!"))

View File

@@ -104,7 +104,7 @@
var/new_appearance = show_radial_menu(user, src, possible_appearances, custom_check = CALLBACK(src, .proc/check_menu, user, crayon), radius = 36, require_near = TRUE)
if(!new_appearance)
return FALSE
if(!do_after(user, 1 SECONDS, FALSE, src, TRUE))
if(!do_after(user, 1 SECONDS, src, FALSE))
return FALSE
if(!check_menu(user, crayon))
return FALSE

View File

@@ -104,7 +104,7 @@
to_chat(user, span_warning("You need to take that [target.name] off before cleaning it!"))
else if(istype(target, /obj/effect/decal/cleanable))
user.visible_message("[user] begins to scrub \the [target.name] out with [src].", span_warning("You begin to scrub \the [target.name] out with [src]..."))
if(do_after(user, src.cleanspeed, target = target))
if(do_after(user, src.cleanspeed, target))
to_chat(user, span_notice("You scrub \the [target.name] out."))
qdel(target)
decreaseUses(user)
@@ -118,14 +118,14 @@
return
else if(istype(target, /obj/structure/window))
user.visible_message("[user] begins to clean \the [target.name] with [src]...", span_notice("You begin to clean \the [target.name] with [src]..."))
if(do_after(user, src.cleanspeed, target = target))
if(do_after(user, src.cleanspeed, target))
to_chat(user, span_notice("You clean \the [target.name]."))
target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
target.set_opacity(initial(target.opacity))
decreaseUses(user)
else
user.visible_message("[user] begins to clean \the [target.name] with [src]...", span_notice("You begin to clean \the [target.name] with [src]..."))
if(do_after(user, src.cleanspeed, target = target))
if(do_after(user, src.cleanspeed, target))
to_chat(user, span_notice("You clean \the [target.name]."))
target.wash(CLEAN_SCRUB)
target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)

View File

@@ -70,7 +70,7 @@
else
user.visible_message(span_warning("[user] begins to do [H]'s lips with \the [src]."), \
span_notice("You begin to apply \the [src] on [H]'s lips..."))
if(do_after(user, 2 SECONDS, target = H))
if(do_after(user, 2 SECONDS, H))
user.visible_message("[user] does [H]'s lips with \the [src].", \
span_notice("You apply \the [src] on [H]'s lips."))
H.lip_style = "lipstick"
@@ -94,7 +94,7 @@
else
user.visible_message(span_warning("[user] begins to wipe [H]'s lipstick off with \the [src]."), \
span_notice("You begin to wipe off [H]'s lipstick..."))
if(do_after(user, 1 SECONDS, target = H))
if(do_after(user, 1 SECONDS, H))
user.visible_message("[user] wipes [H]'s lipstick off with \the [src].", \
span_notice("You wipe off [H]'s lipstick."))
H.lip_style = null
@@ -146,7 +146,7 @@
to_chat(user, span_warning("The mask is in the way!"))
return
user.visible_message(span_notice("[user] tries to change [H]'s facial hair style using [src]."), span_notice("You try to change [H]'s facial hair style using [src]."))
if(new_style && do_after(user, 6 SECONDS, target = H))
if(new_style && do_after(user, 6 SECONDS, H))
user.visible_message(span_notice("[user] successfully changes [H]'s facial hair style using [src]."), span_notice("You successfully change [H]'s facial hair style using [src]."))
H.facial_hair_style = new_style
H.update_hair()
@@ -168,7 +168,7 @@
if(H == user) //shaving yourself
user.visible_message("[user] starts to shave [user.p_their()] facial hair with [src].", \
span_notice("You take a moment to shave your facial hair with [src]..."))
if(do_after(user, 5 SECONDS, target = H))
if(do_after(user, 5 SECONDS, H))
user.visible_message("[user] shaves [user.p_their()] facial hair clean with [src].", \
span_notice("You finish shaving with [src]. Fast and clean!"))
shave(H, location)
@@ -192,7 +192,7 @@
to_chat(user, span_warning("The headgear is in the way!"))
return
user.visible_message(span_notice("[user] tries to change [H]'s hairstyle using [src]."), span_notice("You try to change [H]'s hairstyle using [src]."))
if(new_style && do_after(user, 6 SECONDS, target = H))
if(new_style && do_after(user, 6 SECONDS, H))
user.visible_message(span_notice("[user] successfully changes [H]'s hairstyle using [src]."), span_notice("You successfully change [H]'s hairstyle using [src]."))
H.hair_style = new_style
H.update_hair()
@@ -212,7 +212,7 @@
if(H == user) //shaving yourself
user.visible_message("[user] starts to shave [user.p_their()] head with [src].", \
span_notice("You start to shave your head with [src]..."))
if(do_after(user, 0.5 SECONDS, target = H))
if(do_after(user, 0.5 SECONDS, H))
user.visible_message("[user] shaves [user.p_their()] head with [src].", \
span_notice("You finish shaving with [src]."))
shave(H, location)
@@ -220,7 +220,7 @@
var/turf/H_loc = H.loc
user.visible_message(span_warning("[user] tries to shave [H]'s head with [src]!"), \
span_notice("You start shaving [H]'s head..."))
if(do_after(user, 5 SECONDS, target = H))
if(do_after(user, 5 SECONDS, H))
if(H_loc == H.loc)
user.visible_message(span_warning("[user] shaves [H]'s head bald with [src]!"), \
span_notice("You shave [H]'s head bald."))

View File

@@ -62,7 +62,7 @@
if(!card.registered_account.being_dumped)
to_chat(user, span_warning("It appears that your funds are safe from draining!"))
return
if(do_after(user, 4 SECONDS, target = src))
if(do_after(user, 4 SECONDS, src))
if(!card.registered_account.being_dumped)
return
to_chat(user, span_warning("You quickly cash out your funds to a more secure banking location. Funds are safu."))

View File

@@ -350,7 +350,7 @@
if(gang) //yogs
instant = FALSE // yogs -- gang spraying must not be instant, balance reasons
if(!instant)
if(!do_after(user, 5 SECONDS, target = target))
if(!do_after(user, 5 SECONDS, target))
return
if(length(text_buffer))

View File

@@ -495,7 +495,7 @@
span_warning("You overcharge the paddles and begin to place them onto [H]'s chest..."))
busy = TRUE
update_icon()
if(do_after(user, 3 SECONDS, target = H))
if(do_after(user, 3 SECONDS, H))
user.visible_message(span_notice("[user] places [src] on [H]'s chest."),
span_warning("You place [src] on [H]'s chest and begin to charge them."))
var/turf/T = get_turf(defib)
@@ -504,7 +504,7 @@
T.audible_message(span_warning("\The [defib] lets out an urgent beep and lets out a steadily rising hum..."))
else
user.audible_message(span_warning("[src] let out an urgent beep."))
if(do_after(user, 3 SECONDS, target = H)) //Takes longer due to overcharging
if(do_after(user, 3 SECONDS, H)) //Takes longer due to overcharging
if(!H)
busy = FALSE
update_icon()
@@ -545,17 +545,17 @@
user.visible_message(span_warning("[user] begins to place [src] on [H]'s chest."), span_warning("You begin to place [src] on [H]'s chest..."))
busy = TRUE
update_icon()
if(do_after(user, 3 SECONDS, target = H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process
if(do_after(user, 3 SECONDS, H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process
user.visible_message(span_notice("[user] places [src] on [H]'s chest."), span_warning("You place [src] on [H]'s chest."))
playsound(src, 'sound/machines/defib_charge.ogg', 75, 0)
var/total_burn = 0
var/total_brute = 0
var/tplus = world.time - H.timeofdeath //length of time spent dead
var/obj/item/organ/heart = H.getorgan(/obj/item/organ/heart)
if(do_after(user, 1.5 SECONDS, target = H))
if(do_after(user, 1.5 SECONDS, H))
if(user.job == "Medical Doctor" || user.job == "Paramedic" || user.job == "Chief Medical Officer")
user.say("Clear!", forced = "defib")
if(do_after(user, 0.5 SECONDS, target = H)) //Counting the delay for "Clear", revive time is 5sec total
if(do_after(user, 0.5 SECONDS, H)) //Counting the delay for "Clear", revive time is 5sec total
for(var/obj/item/carried_item in H.contents)
if(istype(carried_item, /obj/item/clothing/suit/space))
if((!combat && !req_defib) || (req_defib && !defib.combat))

View File

@@ -27,7 +27,7 @@
to_chat(user, span_notice("You deactivate [F]."))
qdel(F)
return
if(do_after(user, creation_time, target = target))
if(do_after(user, creation_time, target))
var/turf/T = get_turf(target)
var/obj/structure/projected_forcefield/found_field = locate() in T
if(found_field)

View File

@@ -21,7 +21,7 @@
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
to_chat(user, span_notice("You start pressing [src]'s unlink button..."))
if(do_after(user, 4 SECONDS, target = src))
if(do_after(user, 4 SECONDS, src))
to_chat(user, span_notice("The keycard beeps twice and disconnects the quantum link."))
qpad = null

View File

@@ -65,7 +65,7 @@
fear_string = ""
C.visible_message(span_danger("[C] fiddles with and pulls at [src]..."), \
span_danger("You [fear_string] try to pull at [src]..."), "<i>You hear clicking and ticking.</i>")
if(!do_after(user, 2 SECONDS, target = src))
if(!do_after(user, 2 SECONDS, src))
struggling = FALSE
return
if(!prob(escape_chance))
@@ -88,7 +88,7 @@
target.visible_message(span_warning("[user] starts forcing [src] onto [target]'s head!"), \
span_userdanger("[target] starts forcing [src] onto your head!"), "<i>You hear clanking.</i>")
to_chat(user, span_danger("You start forcing [src] onto [target]'s head..."))
if(!do_after(user, 3 SECONDS, target = target) || target.get_item_by_slot(SLOT_HEAD))
if(!do_after(user, 3 SECONDS, target) || target.get_item_by_slot(SLOT_HEAD))
return
target.visible_message(span_warning("[user] forces and locks [src] onto [target]'s head!"), \
span_userdanger("[target] locks [src] onto your head!"), "<i>You hear a click, and then a timer ticking down.</i>")

View File

@@ -474,13 +474,13 @@ GENE SCANNER
if(istype(O, /obj/item/disk/surgery))
to_chat(user, span_notice("You load the surgery protocol from [O] into [src]."))
var/obj/item/disk/surgery/D = O
if(do_after(user, 1 SECONDS, target = O))
if(do_after(user, 1 SECONDS, O))
advanced_surgeries |= D.surgeries
return TRUE
if(istype(O, /obj/machinery/computer/operating))
to_chat(user, span_notice("You copy surgery protocols from [O] into [src]."))
var/obj/machinery/computer/operating/OC = O
if(do_after(user, 1 SECONDS, target = O))
if(do_after(user, 1 SECONDS, O))
advanced_surgeries |= OC.advanced_surgeries
return TRUE
return

View File

@@ -59,7 +59,7 @@
shaking = TRUE
start_shaking(user)
if(do_after(user, shake_time, needhand=TRUE, target=user, progress=TRUE))
if(do_after(user, shake_time, user))
var/answer = get_answer()
say(answer)

View File

@@ -116,7 +116,7 @@
to_chat(user, span_notice("You start planting [src]. The timer is set to [det_time]..."))
if(do_after(user, 3 SECONDS, target = AM))
if(do_after(user, 3 SECONDS, AM))
if(!user.temporarilyRemoveItemFromInventory(src))
return
target = AM

View File

@@ -195,7 +195,7 @@
to_chat(user, span_warning("You need at least six metal sheets to make good enough weights!"))
return
to_chat(user, span_notice("You begin to apply [I] to [src]..."))
if(do_after(user, 3.5 SECONDS, target = src))
if(do_after(user, 3.5 SECONDS, src))
if(M.get_amount() < 6 || !M)
return
var/obj/item/restraints/legcuffs/bola/S = new /obj/item/restraints/legcuffs/bola

View File

@@ -37,7 +37,7 @@
playsound(src.loc, 'sound/machines/click.ogg', 20, 1)
if(creation_time)
holocreator_busy = TRUE
if(!do_after(user, creation_time, target = target))
if(!do_after(user, creation_time, target))
holocreator_busy = FALSE
return
holocreator_busy = FALSE

View File

@@ -128,7 +128,7 @@
user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \
span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \
span_italics("You hear a metallic creaking from [src]."))
if(do_after(user,(breakout_time), target = src))
if(do_after(user, (breakout_time), src))
if(!user || user.stat != CONSCIOUS || user.loc != src || state_open)
return
user.visible_message(span_warning("[user] successfully broke out of [src]!"), \

View File

@@ -124,7 +124,7 @@
return TRUE
user.visible_message("[user] starts recharging [A] with [src].",span_notice("You start recharging [A] with [src]."))
while(preternis.charge < PRETERNIS_LEVEL_FULL - 25)
if(do_after(user, 1 SECONDS, target = user) && cell.charge)
if(do_after(user, 1 SECONDS, user) && cell.charge)
done_any = TRUE
cell.use(totransfer*coefficient)
preternis.charge = clamp(preternis.charge + (powertransfer*coefficient), PRETERNIS_LEVEL_NONE, PRETERNIS_LEVEL_FULL)
@@ -149,7 +149,7 @@
return TRUE
user.visible_message("[user] starts recharging [A] with [src].",span_notice("You start recharging [A] with [src]."))
while(C.charge < C.maxcharge)
if(do_after(user, 1 SECONDS, target = user) && cell.charge)
if(do_after(user, 1 SECONDS, user) && cell.charge)
done_any = TRUE
induce(C, coefficient)
do_sparks(1, FALSE, A)

View File

@@ -732,7 +732,7 @@
playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, 1)
else
return
if(do_after(user, 10 SECONDS, target = user))
if(do_after(user, 10 SECONDS, user))
finish_roasting(user, target)
else
QDEL_NULL(beam)

View File

@@ -52,7 +52,7 @@
if(IS_JOB(user, "Janitor"))
realspeed *= 0.8
if(do_after(user, realspeed, target = T))
if(do_after(user, realspeed, T))
to_chat(user, span_notice("You finish mopping."))
clean(T)

View File

@@ -122,7 +122,7 @@
if(user.mob_size <= MOB_SIZE_SMALL)
to_chat(user, span_notice("You poke a limb through [src]'s bars and start fumbling for the lock switch... (This will take some time.)"))
to_chat(loc, span_warning("You see [user] reach through the bars and fumble for the lock switch!"))
if(!do_after(user, rand(300, 400), target = user) || open || !locked || !(user in occupants))
if(!do_after(user, rand(300, 400), user) || open || !locked || !(user in occupants))
return
loc.visible_message(span_warning("[user] flips the lock switch on [src] by reaching through!"), null, null, null, user)
to_chat(user, span_boldannounce("Bingo! The lock pops open!"))
@@ -132,7 +132,7 @@
else
loc.visible_message(span_warning("[src] starts rattling as something pushes against the door!"), null, null, null, user)
to_chat(user, span_notice("You start pushing out of [src]... (This will take about 20 seconds.)"))
if(!do_after(user, 20 SECONDS, target = user) || open || !locked || !(user in occupants))
if(!do_after(user, 20 SECONDS, user) || open || !locked || !(user in occupants))
return
loc.visible_message(span_warning("[user] shoves out of [src]!"), null, null, null, user)
to_chat(user, span_notice("You shove open [src]'s door against the lock's resistance and fall out!"))

View File

@@ -309,7 +309,7 @@
if(staffcooldown + staffwait > world.time)
return
user.visible_message("[user] chants deeply and waves [user.p_their()] staff!")
if(do_after(user, 2 SECONDS,1,src))
if(do_after(user, 2 SECONDS, src))
target.add_atom_colour(conversion_color, WASHABLE_COLOUR_PRIORITY) //wololo
staffcooldown = world.time

View File

@@ -207,7 +207,7 @@
return
to_chat(user, span_notice("You connect to [M]'s power line..."))
while(do_after(user, 1.5 SECONDS, target = M, progress = 0))
while(do_after(user, 1.5 SECONDS, M, progress = FALSE))
if(!user || !user.cell || mode != "draw")
return
@@ -241,7 +241,7 @@
to_chat(user, span_notice("You connect to [target]'s power port..."))
while(do_after(user, 1.5 SECONDS, target = target, progress = 0))
while(do_after(user, 1.5 SECONDS, target, progress = FALSE))
if(!user || !user.cell || mode != "draw")
return
@@ -279,7 +279,7 @@
to_chat(user, span_notice("You connect to [target]'s power port..."))
while(do_after(user, 1.5 SECONDS, target = target, progress = 0))
while(do_after(user, 1.5 SECONDS, target, progress = FALSE))
if(!user || !user.cell || mode != "charge")
return

View File

@@ -171,7 +171,7 @@
return
else
to_chat(user, "You begin to replace the bulb.")
if(do_after(user, 2 SECONDS, target = user))
if(do_after(user, 2 SECONDS, user))
if(flash.burnt_out || !flash || QDELETED(flash))
return
playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE)

View File

@@ -168,7 +168,7 @@
user.visible_message(span_warning("[user] begins wrapping the wounds on [M]'s [limb.name] with [src]..."), span_warning("You begin wrapping the wounds on [user == M ? "your" : "[M]'s"] [limb.name] with [src]..."))
if(!do_after(user, (user == M ? self_delay : other_delay), target=M))
if(!do_after(user, (user == M ? self_delay : other_delay), M))
return
user.visible_message(span_green("[user] applies [src] to [M]'s [limb.name]."), span_green("You bandage the wounds on [user == M ? "yourself" : "[M]'s"] [limb.name]."))

View File

@@ -251,7 +251,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \
if(W.is_sharp())
playsound(loc, 'sound/weapons/slice.ogg', 50, 1, -1)
user.visible_message("[user] starts cutting hair off \the [src].", span_notice("You start cutting the hair off \the [src]..."), span_italics("You hear the sound of a knife rubbing against flesh."))
if(do_after(user, 5 SECONDS, target = src))
if(do_after(user, 5 SECONDS, src))
to_chat(user, span_notice("You cut the hair from this [src.singular_name]."))
new /obj/item/stack/sheet/hairlesshide(user.drop_location(), 1)
use(1)

View File

@@ -262,7 +262,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \
span_hear("You hear wood carving."),
)
// 5 Second Timer
if(!do_after(user, 5 SECONDS, src, NONE, TRUE))
if(!do_after(user, 5 SECONDS, src))
return
// Make Stake
var/obj/item/stake/new_item = new(user.loc)

View File

@@ -188,7 +188,7 @@
return
if (R.time)
usr.visible_message(span_notice("[usr] starts building \a [R.title]."), span_notice("You start building \a [R.title]..."))
if (!do_after(usr, R.time, target = usr))
if (!do_after(usr, R.time, usr))
return
if(!building_checks(R, multiplier))
return

View File

@@ -21,7 +21,7 @@
return
playsound(user, 'sound/effects/tape.ogg', 25)
M.visible_message(span_danger("[user] is trying to put [tape_muzzle.name] on [M]!"), span_userdanger("[user] is trying to put [tape_muzzle.name] on [M]!"))
if(!do_after(user, 2 SECONDS, target = M))
if(!do_after(user, 2 SECONDS, M))
qdel(tape_muzzle)
return
if(!M.equip_to_slot_or_del(tape_muzzle, SLOT_WEAR_MASK, user))

View File

@@ -197,7 +197,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning",
var/obj/item/twohanded/required/cult_bastard/sword = A
to_chat(user, span_notice("You begin to exorcise [sword]."))
playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,1)
if(do_after(user, 4 SECONDS, target = sword))
if(do_after(user, 4 SECONDS, sword))
playsound(src,'sound/effects/pray_chaplain.ogg',60,1)
for(var/obj/item/soulstone/SS in sword.contents)
SS.usability = TRUE
@@ -217,7 +217,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning",
return
to_chat(user, span_notice("You begin to exorcise [SS]."))
playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,1)
if(do_after(user, 4 SECONDS, target = SS))
if(do_after(user, 4 SECONDS, SS))
playsound(src,'sound/effects/pray_chaplain.ogg',60,1)
SS.usability = TRUE
SS.purified = TRUE
@@ -233,7 +233,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning",
var/obj/item/nullrod/scythe/talking/sword = A
to_chat(user, span_notice("You begin to exorcise [sword]..."))
playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,TRUE)
if(do_after(user, 4 SECONDS, target = sword))
if(do_after(user, 4 SECONDS, sword))
playsound(src,'sound/effects/pray_chaplain.ogg',60,TRUE)
for(var/mob/living/simple_animal/shade/S in sword.contents)
to_chat(S, span_userdanger("You were destroyed by the exorcism!"))

View File

@@ -57,7 +57,7 @@
return
else if(istype(C) && C.has_status_effect(STATUS_EFFECT_CHOKINGSTRAND))
to_chat(C, span_notice("You attempt to remove the durathread strand from around your neck."))
if(do_after(user, 1.5 SECONDS, null, C))
if(do_after(user, 1.5 SECONDS, C))
to_chat(C, span_notice("You succesfuly remove the durathread strand."))
C.remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND)
else

View File

@@ -677,6 +677,28 @@
return 1
return 0
/obj/item/twohanded/required/chainsaw/demon
name = "demon chainsaw"
desc = "anime reference here"
item_state = "demon_off"
icon_state = "demon_off"
lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi'
force = 13
force_on = 30
/obj/item/twohanded/required/chainsaw/demon/attack_self(mob/user)
on = !on
to_chat(user, "As you pull the starting cord dangling from [src], [on ? "it begins to whirr." : "the chain stops moving."]")
force = on ? force_on : initial(force)
throwforce = on ? force_on : initial(force)
icon_state = "demon_[on ? "on" : "off"]"
/obj/item/twohanded/required/chainsaw/demon/Initialize()
. = ..()
AddComponent(/datum/component/lifesteal, 30)
//GREY TIDE
/obj/item/twohanded/spear/grey_tide
icon_state = "spearglass0"

View File

@@ -638,7 +638,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
return
to_chat(user, span_warning("You begin gathering strength..."))
playsound(get_turf(src), 'sound/magic/lightning_chargeup.ogg', 65, 1)
if(do_after(user, 9 SECONDS, target = src))
if(do_after(user, 9 SECONDS, src))
to_chat(user, span_userdanger("You gather power! Time for a home run!"))
homerun_ready = 1
..()

View File

@@ -34,7 +34,7 @@
span_warning("[M.name] struggles to break free from the gelatinous resin!"),\
span_notice("You struggle to break free from the gelatinous resin... (Stay still for two minutes.)"),\
span_italics("You hear squelching..."))
if(!do_after(M, 2 MINUTES, target = src))
if(!do_after(M, 2 MINUTES, src))
if(M && M.buckled)
to_chat(M, span_warning("You fail to unbuckle yourself!"))
return

View File

@@ -465,7 +465,7 @@ GLOBAL_LIST_EMPTY(lockers)
user.visible_message(span_warning("[src] begins to shake violently!"), \
span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \
span_italics("You hear banging from [src]."))
if(do_after(user,(breakout_time), target = src))
if(do_after(user, (breakout_time), src))
if(!user || user.stat != CONSCIOUS || user.loc != src || opened || (!locked && !welded) )
return
//we check after a while whether there is a point of resisting anymore and whether the user is capable of resisting

View File

@@ -75,7 +75,7 @@
user.last_special = world.time + CLICK_CD_BREAKOUT
other.visible_message(span_warning("[other] begins to shake violently!"))
to_chat(user, span_notice("You start pushing the door open... (this will take about [DisplayTimeText(other.breakout_time)].)"))
if(do_after(user,(other.breakout_time), target = src))
if(do_after(user, (other.breakout_time), src))
if(!user || user.stat != CONSCIOUS || other.opened || (!other.locked && !other.welded))
return
//we check after a while whether there is a point of resisting anymore and whether the user is capable of resisting

View File

@@ -232,7 +232,7 @@
user.visible_message(span_warning("Someone in [src] begins to wriggle!"), \
span_notice("You start wriggling, attempting to loosen [src]'s buckles... (this will take about [DisplayTimeText(breakout_time)].)"), \
span_hear("You hear straining cloth from [src]."))
if(do_after(user,(breakout_time), target = src))
if(do_after(user,(breakout_time), src))
if(!user || user.stat != CONSCIOUS || user.loc != src || opened || !sinched )
return
//we check after a while whether there is a point of resisting anymore and whether the user is capable of resisting
@@ -265,7 +265,7 @@
for(var/mob/living/target in contents)
to_chat(target, span_userdanger("You feel the lining of [src] tighten around you! Soon, you won't be able to escape!"))
user.visible_message(span_notice("You begin sinching down the buckles on [src]."))
if(!(do_after(user,(sinch_time),target = src)))
if(!(do_after(user, (sinch_time), src)))
return
sinched = !sinched
if(sinched)

View File

@@ -146,7 +146,7 @@
to_chat(user, span_warning("You need two glass sheets to fix the case!"))
return
to_chat(user, span_notice("You start fixing [src]..."))
if(do_after(user, 2 SECONDS, target = src))
if(do_after(user, 2 SECONDS, src))
G.use(2)
broken = 0
obj_integrity = max_integrity
@@ -207,7 +207,7 @@
else if(istype(I, /obj/item/electronics/airlock))
to_chat(user, span_notice("You start installing the electronics into [src]..."))
I.play_tool_sound(src)
if(do_after(user, 3 SECONDS, target = src) && user.transferItemToLoc(I,src))
if(do_after(user, 3 SECONDS, src) && user.transferItemToLoc(I,src))
electronics = I
to_chat(user, span_notice("You install the airlock electronics."))
else if(istype(I, /obj/item/stack/sheet/glass))
@@ -216,7 +216,7 @@
to_chat(user, span_warning("You need ten glass sheets to do this!"))
return
to_chat(user, span_notice("You start adding [G] to [src]..."))
if(do_after(user, 2 SECONDS, target = src))
if(do_after(user, 2 SECONDS, src))
G.use(10)
var/obj/structure/displaycase/noalert/display = new(src.loc)
if(electronics)

View File

@@ -150,7 +150,7 @@
W.play_tool_sound(src, 100)
user.visible_message("[user] installs the electronics into the airlock assembly.", \
span_notice("You start to install electronics into the airlock assembly..."))
if(do_after(user, 4 SECONDS, target = src))
if(do_after(user, 4 SECONDS, src))
if( state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS )
return
if(!user.transferItemToLoc(W, src))
@@ -190,7 +190,7 @@
playsound(src, 'sound/items/crowbar.ogg', 100, 1)
user.visible_message("[user] adds [G.name] to the airlock assembly.", \
span_notice("You start to install [G.name] into the airlock assembly..."))
if(do_after(user, 4 SECONDS, target = src))
if(do_after(user, 4 SECONDS, src))
if(G.get_amount() < 1 || glass)
return
if(G.type == /obj/item/stack/sheet/rglass)
@@ -213,7 +213,7 @@
playsound(src, 'sound/items/crowbar.ogg', 100, 1)
user.visible_message("[user] adds [G.name] to the airlock assembly.", \
span_notice("You start to install [G.name] into the airlock assembly..."))
if(do_after(user, 4 SECONDS, target = src))
if(do_after(user, 4 SECONDS, src))
if(G.get_amount() < 2 || mineral)
return
to_chat(user, span_notice("You install [M] plating into the airlock assembly."))

View File

@@ -73,7 +73,7 @@
user.visible_message(span_danger("\The [user] starts cutting through \the [src] with \the [W]."),\
span_danger("You start cutting through \the [src] with \the [W]."))
if(do_after(user, CUT_TIME*W.toolspeed, target = src))
if(do_after(user, CUT_TIME*W.toolspeed, src))
if(current_stage == hole_size)
switch(++hole_size)
if(MEDIUM_HOLE)

View File

@@ -55,7 +55,7 @@
to_chat(user, span_warning("You need two reinforced glass sheets to fix [src]!"))//yogs - change to reinforced glass
return
to_chat(user, span_notice("You start fixing [src]..."))
if(do_after(user, 2 SECONDS, target = src) && G.use(2))
if(do_after(user, 2 SECONDS, src) && G.use(2))
broken = 0
obj_integrity = max_integrity
update_icon()
@@ -211,7 +211,7 @@
/obj/structure/fireaxecabinet/proc/toggle_lock(mob/user)
to_chat(user, "<span class = 'caution'> Resetting circuitry...</span>")
playsound(src, 'sound/machines/locktoggle.ogg', 50, 1)
if(do_after(user, 2 SECONDS, target = src))
if(do_after(user, 2 SECONDS, src))
to_chat(user, span_caution("You [locked ? "disable" : "re-enable"] the locking modules."))
locked = !locked
update_icon()
@@ -264,7 +264,7 @@
to_chat(user, "<span class = 'caution'>Resetting circuitry...</span>")
if(alert)
to_chat(user, span_danger("This will trigger the built in burglary alarm!"))
if(do_after(user, 15 SECONDS, target = src))
if(do_after(user, 15 SECONDS, src))
to_chat(user, span_caution("You [locked ? "disable" : "re-enable"] the locking modules."))
src.add_fingerprint(user)
if(locked)

View File

@@ -18,7 +18,7 @@
if(W.hitsound)
playsound(get_turf(src), W.hitsound, 100, 0, 0)
user.visible_message(span_notice("[user] begins to cut down [src] with [W]."),span_notice("You begin to cut down [src] with [W]."), "You hear the sound of sawing.")
if(do_after(user, 1000/W.force, target = src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard.
if(do_after(user, 1000/W.force, src)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard.
user.visible_message(span_notice("[user] fells [src] with the [W]."),span_notice("You fell [src] with the [W]."), "You hear the sound of a tree falling.")
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
for(var/i=1 to log_amount)

View File

@@ -55,7 +55,7 @@
to_chat(user, span_warning("You need at least two rods to create a false wall!"))
return
to_chat(user, span_notice("You start building a reinforced false wall..."))
if(do_after(user, 2 SECONDS, target = src))
if(do_after(user, 2 SECONDS, src))
if(S.get_amount() < 2)
return
S.use(2)
@@ -68,7 +68,7 @@
to_chat(user, span_warning("You need at least five rods to add plating!"))
return
to_chat(user, span_notice("You start adding plating..."))
if(do_after(user, 4 SECONDS, target = src))
if(do_after(user, 4 SECONDS, src))
if(S.get_amount() < 5)
return
S.use(5)
@@ -89,7 +89,7 @@
to_chat(user, span_warning("You need two sheets of metal to create a false wall!"))
return
to_chat(user, span_notice("You start building a false wall..."))
if(do_after(user, 2 SECONDS, target = src))
if(do_after(user, 2 SECONDS, src))
if(S.get_amount() < 2)
return
S.use(2)
@@ -102,7 +102,7 @@
to_chat(user, span_warning("You need two sheets of metal to finish a wall!"))
return
to_chat(user, span_notice("You start adding plating..."))
if (do_after(user, 4 SECONDS, target = src))
if (do_after(user, 4 SECONDS, src))
if(S.get_amount() < 2)
return
S.use(2)
@@ -119,7 +119,7 @@
to_chat(user, span_warning("You need at least two sheets to create a false wall!"))
return
to_chat(user, span_notice("You start building a reinforced false wall..."))
if(do_after(user, 2 SECONDS, target = src))
if(do_after(user, 2 SECONDS, src))
if(S.get_amount() < 2)
return
S.use(2)
@@ -132,7 +132,7 @@
if(S.get_amount() < 1)
return
to_chat(user, span_notice("You start finalizing the reinforced wall..."))
if(do_after(user, 5 SECONDS, target = src))
if(do_after(user, 5 SECONDS, src))
if(S.get_amount() < 1)
return
S.use(1)
@@ -146,7 +146,7 @@
if(S.get_amount() < 1)
return
to_chat(user, span_notice("You start reinforcing the girder..."))
if(do_after(user, 6 SECONDS, target = src))
if(do_after(user, 6 SECONDS, src))
if(S.get_amount() < 1)
return
S.use(1)
@@ -162,7 +162,7 @@
if(S.get_amount() < 2)
to_chat(user, span_warning("You need at least two sheets to create a false wall!"))
return
if(do_after(user, 2 SECONDS, target = src))
if(do_after(user, 2 SECONDS, src))
if(S.get_amount() < 2)
return
S.use(2)
@@ -176,7 +176,7 @@
to_chat(user, span_warning("You need at least two sheets to add plating!"))
return
to_chat(user, span_notice("You start adding plating..."))
if (do_after(user, 4 SECONDS, target = src))
if (do_after(user, 4 SECONDS, src))
if(S.get_amount() < 2)
return
S.use(2)
@@ -349,7 +349,7 @@
to_chat(user, span_warning("You need at least one sheet of runed metal to construct a runed wall!"))
return 0
user.visible_message(span_notice("[user] begins laying runed metal on [src]..."), span_notice("You begin constructing a runed wall..."))
if(do_after(user, 5 SECONDS, target = src))
if(do_after(user, 5 SECONDS, src))
if(R.get_amount() < 1)
return
user.visible_message(span_notice("[user] plates [src] with runed metal."), span_notice("You construct a runed wall."))
@@ -416,7 +416,7 @@
to_chat(user, span_warning("You need at least two bronze sheets to build a bronze wall!"))
return 0
user.visible_message(span_notice("[user] begins plating [src] with bronze..."), span_notice("You begin constructing a bronze wall..."))
if(do_after(user, 5 SECONDS, target = src))
if(do_after(user, 5 SECONDS, src))
if(B.get_amount() < 2)
return
user.visible_message(span_notice("[user] plates [src] with bronze!"), span_notice("You construct a bronze wall."))

View File

@@ -187,7 +187,7 @@
to_chat(user, span_warning("There is already a window there!"))
return
to_chat(user, span_notice("You start placing the window..."))
if(do_after(user, 2 SECONDS, target = src))
if(do_after(user, 2 SECONDS, src))
if(!src.loc || !anchored) //Grille broken or unanchored while waiting
return
for(var/obj/structure/window/WINDOW in loc) //Another window already installed on grille

View File

@@ -37,7 +37,7 @@
if(istype(I, /obj/item/stack/sheet/plasteel))
to_chat(user, span_notice("You start repairing the guillotine with the plasteel."))
if(blade_sharpness<10)
if(do_after(user, 10 SECONDS, target=user))
if(do_after(user, 10 SECONDS, user))
blade_sharpness = min(10,blade_sharpness+3)
I.use(1)
to_chat(user, span_notice("You repair the guillotine with the plasteel."))
@@ -88,7 +88,7 @@
span_warning("You begin to the pull the lever."))
current_action = GUILLOTINE_ACTION_INUSE
if (do_after(user, GUILLOTINE_ACTIVATE_DELAY, target = src) && blade_status == GUILLOTINE_BLADE_RAISED)
if (do_after(user, GUILLOTINE_ACTIVATE_DELAY, src) && blade_status == GUILLOTINE_BLADE_RAISED)
current_action = 0
blade_status = GUILLOTINE_BLADE_MOVING
icon_state = "guillotine_drop"
@@ -170,7 +170,7 @@
if (blade_status == GUILLOTINE_BLADE_RAISED)
if (blade_sharpness < GUILLOTINE_BLADE_MAX_SHARP)
blade_status = GUILLOTINE_BLADE_SHARPENING
if(do_after(user, 0.7 SECONDS, target = src))
if(do_after(user, 0.7 SECONDS, src))
blade_status = GUILLOTINE_BLADE_RAISED
user.visible_message(span_notice("[user] sharpens the large blade of the guillotine."),
span_notice("You sharpen the large blade of the guillotine."))
@@ -251,7 +251,7 @@
current_action = GUILLOTINE_ACTION_WRENCH
if (do_after(user, GUILLOTINE_WRENCH_DELAY, target = src))
if (do_after(user, GUILLOTINE_WRENCH_DELAY, src))
current_action = 0
default_unfasten_wrench(user, I, 0)
setDir(SOUTH)

View File

@@ -102,7 +102,7 @@
"[user] tries to pull [M] free of [src]!",\
span_notice("[user] is trying to pull you off [src], opening up fresh wounds!"),\
span_italics("You hear a squishy wet noise."))
if(!do_after(user, 30 SECONDS, target = src))
if(!do_after(user, 30 SECONDS, src))
if(M && M.buckled)
M.visible_message(\
"[user] fails to free [M]!",\
@@ -115,7 +115,7 @@
span_notice("You struggle to break free from [src], exacerbating your wounds! (Stay still for two minutes.)"),\
span_italics("You hear a wet squishing noise.."))
M.adjustBruteLoss(30)
if(!do_after(M, 2 MINUTES, target = src))
if(!do_after(M, 2 MINUTES, src))
if(M && M.buckled)
to_chat(M, span_warning("You fail to free yourself!"))
return

View File

@@ -39,7 +39,7 @@
return
to_chat(user, "<span class='notice'>You start vigorously plunging [src]!")
if(do_after(user, 5 SECONDS*P.plunge_mod, target = src) && !activated)
if(do_after(user, 5 SECONDS*P.plunge_mod, src) && !activated)
start_chemming()
/obj/structure/geyser/random

View File

@@ -332,7 +332,7 @@
if((user.a_intent != INTENT_HARM) && istype(I, /obj/item/paper) && (obj_integrity < max_integrity))
user.visible_message("[user] starts to patch the holes in [src].", span_notice("You start patching some of the holes in [src]!"))
if(do_after(user, 2 SECONDS, TRUE, src))
if(do_after(user, 2 SECONDS, src))
obj_integrity = min(obj_integrity+4,max_integrity)
qdel(I)
user.visible_message("[user] patches some of the holes in [src].", span_notice("You patch some of the holes in [src]!"))

View File

@@ -14,7 +14,7 @@
to_chat(user, span_notice("You place your hands firmly around the handle of the hammer and begin to pull with all your might!"))
else
to_chat(user, span_notice("You place your hands firmly around the handle of the hammer but feel it resist the pull of a nonmagical host! This will take a while."))
if(do_after(user, pull_time * (user.mind.assigned_role == ROLE_WIZARD || user.mind.special_role == ROLE_WIZARD ? 1 : 2), target = src)) //if it is a wizard, it takes normal time
if(do_after(user, pull_time * (user.mind.assigned_role == ROLE_WIZARD || user.mind.special_role == ROLE_WIZARD ? 1 : 2), src)) //if it is a wizard, it takes normal time
to_chat(user, span_userdanger("You successfully free Mjolnir from the ground and can feel its power returning once more!")) //if it's crew, it takes twice as long
var/obj/item/twohanded/mjollnir/M = new /obj/item/twohanded/mjollnir
playsound(user, 'sound/magic/lightningbolt.ogg', 50, 1) //keep this at 50 for half volume it's so fucking loud

View File

@@ -114,7 +114,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
user.visible_message(null, \
span_notice("You lean on the back of [src] and start pushing the tray open... (this will take about [DisplayTimeText(breakout_time)].)"), \
span_italics("You hear a metallic creaking from [src]."))
if(do_after(user,(breakout_time), target = src))
if(do_after(user, (breakout_time), src))
if(!user || user.stat != CONSCIOUS || user.loc != src )
return
user.visible_message(span_warning("[user] successfully broke out of [src]!"), \

View File

@@ -51,7 +51,7 @@
/obj/machinery/shower/AltClick(mob/living/user)
..()
to_chat(user, span_notice("You begin to adjust the temperature..."))
if(do_after(user, 50, target = src))
if(do_after(user, 5 SECONDS, src))
switch(current_temperature)
if(SHOWER_NORMAL)
current_temperature = SHOWER_FREEZING

View File

@@ -36,7 +36,7 @@
to_chat(user, span_warning("You need one [material.name] sheet to do this!"))
return
to_chat(user, span_notice("You start adding [material] to [src]..."))
if(do_after(user, 2 SECONDS, target = src) && material.use(1))
if(do_after(user, 2 SECONDS, src) && material.use(1))
make_new_table(material.tableVariant)
else
return ..()
@@ -90,7 +90,7 @@
to_chat(user, span_warning("You need one [material.name] sheet to do this!"))
return
to_chat(user, span_notice("You start adding [material] to [src]..."))
if(do_after(user, 2 SECONDS, target = src) && material.use(1))
if(do_after(user, 2 SECONDS, src) && material.use(1))
make_new_table(toConstruct)
else
return ..()
@@ -118,7 +118,7 @@
to_chat(user, span_warning("You need one brass sheet to do this!"))
return
to_chat(user, span_notice("You start adding [W] to [src]..."))
if(do_after(user, 2 SECONDS, target = src) && W.use(1))
if(do_after(user, 2 SECONDS, src) && W.use(1))
make_new_table(/obj/structure/table/reinforced/brass)
else
return ..()

View File

@@ -104,12 +104,12 @@
if(user.grab_state < GRAB_AGGRESSIVE)
to_chat(user, span_warning("You need a better grip to do that!"))
return
if(do_after(user, 3.5 SECONDS, target = pushed_mob))
if(do_after(user, 3.5 SECONDS, pushed_mob))
tablepush(user, pushed_mob)
if(user.a_intent == INTENT_HELP)
pushed_mob.visible_message(span_notice("[user] begins to place [pushed_mob] onto [src]..."), \
span_userdanger("[user] begins to place [pushed_mob] onto [src]..."))
if(do_after(user, 3.5 SECONDS, target = pushed_mob))
if(do_after(user, 3.5 SECONDS,pushed_mob))
tableplace(user, pushed_mob)
else
return
@@ -670,7 +670,7 @@
return
building = TRUE
to_chat(user, span_notice("You start constructing a rack..."))
if(do_after(user, 5 SECONDS, target = user, progress=TRUE))
if(do_after(user, 5 SECONDS, user))
if(!user.temporarilyRemoveItemFromInventory(src))
return
var/obj/structure/rack/R = new /obj/structure/rack(user.loc)

View File

@@ -78,7 +78,7 @@
return
for(var/obj/structure/transit_tube_pod/pod in loc)
pod.visible_message(span_warning("[user] starts putting [GM] into the [pod]!"))
if(do_after(user, 1.5 SECONDS, target = src))
if(do_after(user, 1.5 SECONDS, src))
if(open_status == STATION_TUBE_OPEN && GM && user.grab_state >= GRAB_AGGRESSIVE && user.pulling == GM && !GM.buckled && !GM.has_buckled_mobs())
GM.Paralyze(100)
src.Bumped(GM)
@@ -92,7 +92,7 @@
else if(open_status == STATION_TUBE_OPEN)
if(pod.contents.len && user.loc != pod)
user.visible_message("[user] starts emptying [pod]'s contents onto the floor.", span_notice("You start emptying [pod]'s contents onto the floor..."))
if(do_after(user, 1 SECONDS, target = src)) //So it doesn't default to close_animation() on fail
if(do_after(user, 1 SECONDS, src)) //So it doesn't default to close_animation() on fail
if(pod && pod.loc == loc)
for(var/atom/movable/AM in pod)
AM.forceMove(get_turf(user))

View File

@@ -79,7 +79,7 @@
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
to_chat(user, span_notice("You start trying to escape from the pod..."))
if(do_after(user, 1 MINUTES, target = src))
if(do_after(user, 1 MINUTES, src))
to_chat(user, span_notice("You manage to open the pod."))
empty_pod()

View File

@@ -38,7 +38,7 @@
if(open)
GM.visible_message(span_danger("[user] starts to give [GM] a swirlie!"), span_userdanger("[user] starts to give you a swirlie..."))
swirlie = GM
if(do_after(user, 3 SECONDS, 0, target = src))
if(do_after(user, 3 SECONDS, src, FALSE))
GM.visible_message(span_danger("[user] gives [GM] a swirlie!"), span_userdanger("[user] gives you a swirlie!"), span_italics("You hear a toilet flushing."))
if(iscarbon(GM))
var/mob/living/carbon/C = GM
@@ -245,7 +245,7 @@
span_notice("You start washing your [washing_face ? "face" : "hands"]..."))
busy = TRUE
if(!do_after(user, 4 SECONDS, target = src))
if(!do_after(user, 4 SECONDS, src))
busy = FALSE
return
@@ -323,7 +323,7 @@
if(user.a_intent != INTENT_HARM)
to_chat(user, span_notice("You start washing [O]..."))
busy = TRUE
if(!do_after(user, 4 SECONDS, target = src))
if(!do_after(user, 4 SECONDS, src))
busy = FALSE
return 1
busy = FALSE

Some files were not shown because too many files have changed in this diff Show More