diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
index 1d9c13b54fc..9d7fa39ed87 100644
--- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
@@ -17,7 +17,7 @@
bot_filter = RADIO_SECBOT
model = "ED-209"
bot_purpose = "seek out criminals, handcuff them, and report their location to security"
- bot_core = /obj/machinery/bot_core/secbot
+ bot_core_type = /obj/machinery/bot_core/secbot
window_id = "autoed209"
window_name = "Automatic Security Unit v2.6"
path_image_color = "#FF0000"
@@ -61,12 +61,14 @@
shot_delay = 6//Longer shot delay because JESUS CHRIST
check_records = 0//Don't actively target people set to arrest
arrest_type = 1//Don't even try to cuff
- bot_core.req_access = list(access_maint_tunnels, access_theatre)
- arrest_type = 1
- if((lasercolor == "b") && (name == "\improper ED-209 Security Robot"))//Picks a name if there isn't already a custome one
- name = pick("BLUE BALLER","SANIC","BLUE KILLDEATH MURDERBOT")
- if((lasercolor == "r") && (name == "\improper ED-209 Security Robot"))
- name = pick("RED RAMPAGE","RED ROVER","RED KILLDEATH MURDERBOT")
+ declare_arrests = 0 // Don't spam sec
+ bot_core.req_access = list(access_maint_tunnels, access_theatre, access_robotics)
+
+ if(created_name == initial(name) || !created_name)
+ if(lasercolor == "b")
+ name = pick("BLUE BALLER","SANIC","BLUE KILLDEATH MURDERBOT")
+ else if (lasercolor == "r")
+ name = pick("RED RAMPAGE","RED ROVER","RED KILLDEATH MURDERBOT")
//SECHUD
var/datum/atom_hud/secsensor = huds[DATA_HUD_SECURITY_ADVANCED]
@@ -101,30 +103,30 @@
dat += hack(user)
dat += showpai(user)
dat += text({"
-Security Unit v2.6 controls
-Status: []
-Behaviour controls are [locked ? "locked" : "unlocked"]
-Maintenance panel panel is [open ? "opened" : "closed"]
"},
+ Security Unit v2.6 controls
+ Status: []
+ Behaviour controls are [locked ? "locked" : "unlocked"]
+ Maintenance panel panel is [open ? "opened" : "closed"]
"},
-"[on ? "On" : "Off"]" )
+ "[on ? "On" : "Off"]" )
if(!locked || issilicon(user) || user.can_admin_interact())
+ dat += "Auto Patrol [auto_patrol ? "On" : "Off"]
"
+
if(!lasercolor)
dat += text({"
-Arrest Unidentifiable Persons: []
-Arrest for Unauthorized Weapons: []
-Arrest for Warrant: []
-
-Operating Mode: []
-Report Arrests[]
-Auto Patrol[]"},
+ Arrest Unidentifiable Persons: []
+ Arrest for Unauthorized Weapons: []
+ Arrest for Warrant: []
+
+ Operating Mode: []
+ Report Arrests[]
"},
-"[idcheck ? "Yes" : "No"]",
-"[weaponscheck ? "Yes" : "No"]",
-"[check_records ? "Yes" : "No"]",
-"[arrest_type ? "Detain" : "Arrest"]",
-"[declare_arrests ? "Yes" : "No"]",
-"[auto_patrol ? "On" : "Off"]" )
+ "[idcheck ? "Yes" : "No"]",
+ "[weaponscheck ? "Yes" : "No"]",
+ "[check_records ? "Yes" : "No"]",
+ "[arrest_type ? "Detain" : "Arrest"]",
+ "[declare_arrests ? "Yes" : "No"]")
return dat
@@ -239,13 +241,18 @@ Auto Patrol[]"},
if(target) // make sure target exists
if(Adjacent(target) && isturf(target.loc)) // if right next to perp
stun_attack(target)
+ if(!lasercolor)
+ mode = BOT_PREP_ARREST
+ anchored = 1
+ target_lastloc = target.loc
+ return
+ else
+ mode = BOT_HUNT
+ target = null
+ target_lastloc = null
+ return
- mode = BOT_PREP_ARREST
- anchored = 1
- target_lastloc = target.loc
- return
-
- else // not next to perp
+ else if(!disabled) // not next to perp
var/turf/olddist = get_dist(src, target)
walk_to(src, target,1,4)
if((get_dist(src, target)) >= (olddist))
@@ -406,7 +413,7 @@ Auto Patrol[]"},
shoot_sound = 'sound/weapons/laser.ogg'
if(emagged == 2)
if(lasercolor)
- projectile = /obj/item/projectile/beam/lasertag
+ projectile = /obj/item/projectile/beam/disabler
else
projectile = /obj/item/projectile/beam
else
@@ -501,6 +508,7 @@ Auto Patrol[]"},
if(lasertag_check)
icon_state = "[lasercolor]ed2090"
disabled = 1
+ walk_to(src, 0)
target = null
spawn(100)
disabled = 0
@@ -569,4 +577,4 @@ Auto Patrol[]"},
if(!C.handcuffed)
C.handcuffed = new /obj/item/restraints/handcuffs/cable/zipties/used(C)
C.update_handcuffed()
- back_to_idle()
+ back_to_idle()
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm
index 9ad8837520d..b1133cb0e08 100644
--- a/code/modules/mob/living/simple_animal/bot/floorbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm
@@ -14,7 +14,7 @@
bot_filter = RADIO_FLOORBOT
model = "Floorbot"
bot_purpose = "seek out damaged or missing floor tiles, and repair or replace them as necessary"
- bot_core = /obj/machinery/bot_core/floorbot
+ bot_core_type = /obj/machinery/bot_core/floorbot
window_id = "autofloor"
window_name = "Automatic Station Floor Repairer v1.1"
path_image_color = "#FFA500"