diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm
index 706e62084050..1227458c05ad 100644
--- a/code/game/objects/items/devices/forcefieldprojector.dm
+++ b/code/game/objects/items/devices/forcefieldprojector.dm
@@ -15,6 +15,7 @@
var/max_fields = 3
var/list/current_fields
var/field_distance_limit = 7
+ var/creation_time = 30
/obj/item/forcefield_projector/afterattack(atom/target, mob/user, proximity_flag)
. = ..()
@@ -26,24 +27,26 @@
to_chat(user, "You deactivate [F].")
qdel(F)
return
- var/turf/T = get_turf(target)
- var/obj/structure/projected_forcefield/found_field = locate() in T
- if(found_field)
- to_chat(user, "There is already a forcefield in that location!")
- return
- if(T.density)
- return
- if(get_dist(T,src) > field_distance_limit)
- return
- if(LAZYLEN(current_fields) >= max_fields)
- to_chat(user, "[src] cannot sustain any more forcefields!")
- return
+ if(do_after(user, creation_time, target = target))
+ var/turf/T = get_turf(target)
+ var/obj/structure/projected_forcefield/found_field = locate() in T
+ if(found_field)
+ to_chat(user, "There is already a forcefield in that location!")
+ return
+ if(T.density)
+ return
+ if(get_dist(T,src) > field_distance_limit)
+ return
+ if(LAZYLEN(current_fields) >= max_fields)
+ to_chat(user, "[src] cannot sustain any more forcefields!")
+ return
+
- playsound(src,'sound/weapons/resonator_fire.ogg',50,1)
- user.visible_message("[user] projects a forcefield!","You project a forcefield.")
- var/obj/structure/projected_forcefield/F = new(T, src)
- current_fields += F
- user.changeNext_move(CLICK_CD_MELEE)
+ playsound(src,'sound/weapons/resonator_fire.ogg',50,1)
+ user.visible_message("[user] projects a forcefield!","You project a forcefield.")
+ var/obj/structure/projected_forcefield/F = new(T, src)
+ current_fields += F
+ user.changeNext_move(CLICK_CD_MELEE)
/obj/item/forcefield_projector/attack_self(mob/user)
if(LAZYLEN(current_fields))