diff --git a/code/game/gamemodes/gang/dominator.dm b/code/game/gamemodes/gang/dominator.dm
index 3b9dce8c3b..b22052e7aa 100644
--- a/code/game/gamemodes/gang/dominator.dm
+++ b/code/game/gamemodes/gang/dominator.dm
@@ -1,4 +1,5 @@
#define DOM_BLOCKED_SPAM_CAP 6
+#define DOM_REQUIRED_TURFS 30
/obj/machinery/dominator
name = "dominator"
@@ -21,12 +22,12 @@
/proc/dominator_excessive_walls(atom/A)
var/open = 0
- for(var/turf/T in circleviewturfs(center=A,radius=3))
- if(!istype(T, /turf/closed))
+ for(var/turf/T in view(3, A))
+ if(!isclosedturf(T))
open++
- if(open < 40)
+ if(open < DOM_REQUIRED_TURFS)
return TRUE
- else
+ else
return FALSE
/obj/machinery/dominator/tesla_act()
@@ -62,7 +63,7 @@
var/time_remaining = gang.domination_time_remaining()
if(time_remaining > 0)
if(dominator_excessive_walls(src))
- gang.domination_timer += 2
+ gang.domination_timer += 20
playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0)
if(spam_prevention < DOM_BLOCKED_SPAM_CAP)
spam_prevention++
@@ -70,7 +71,7 @@
gang.message_gangtools("Warning: There are too many walls around your gang's dominator, its signal is being blocked!")
say("Error: Takeover signal is currently blocked! There are too many walls within 3 standard units of this device.")
spam_prevention = 0
- return
+ return
. = TRUE
playsound(loc, 'sound/items/timer.ogg', 10, 0)
if(!warned && (time_remaining < 180))
diff --git a/code/game/gamemodes/gang/gang_items.dm b/code/game/gamemodes/gang/gang_items.dm
index a8a595ab8a..30eea7dbad 100644
--- a/code/game/gamemodes/gang/gang_items.dm
+++ b/code/game/gamemodes/gang/gang_items.dm
@@ -305,11 +305,11 @@
if(obj.density)
to_chat(user, "There's not enough room here!")
return FALSE
-
+
if(dominator_excessive_walls(user))
- to_chat(user, "span class='warning'>The dominator will not function here! The dominator requires an open space within three standard units so that walls do not interfere with the signal.")
+ to_chat(user, "span class='warning'>The dominator will not function here! The dominator requires a sizable open space within three standard units so that walls do not interfere with the signal.")
return FALSE
-
+
if(!(usrarea.type in gang.territory|gang.territory_new))
to_chat(user, "The dominator can be spawned only on territory controlled by your gang!")
return FALSE