From d8ab60f23f0b5c42179e9b6fed6604320a079c65 Mon Sep 17 00:00:00 2001
From: Jamie D <993128+JamieD1@users.noreply.github.com>
Date: Sun, 18 Jul 2021 18:20:09 +0100
Subject: [PATCH 1/3] Update borgpanel.dm
---
code/modules/admin/verbs/borgpanel.dm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm
index 56c156beac2f..f847949e67c1 100644
--- a/code/modules/admin/verbs/borgpanel.dm
+++ b/code/modules/admin/verbs/borgpanel.dm
@@ -217,3 +217,28 @@
borg.lawsync()
. = TRUE
+
+/datum/admins/proc/change_laws(boopbeep in GLOB.silicon_mobs)
+ set category = "Admin.Player Interaction"
+ set name = "Change Silicon Laws"
+ set desc = "Change Silicon Laws"
+
+ if(!check_rights(R_ADMIN))
+ return
+
+ if (istype(boopbeep, /mob/living/silicon))
+ boopbeep = input("Select a Silicon", "Select a Silicon", null, null) as null|anything in GLOB.silicon_mobs
+ if (!istype(boopbeep, /mob/living/silicon))
+ to_chat(usr, "Silicon is required for law changes", confidential=TRUE)
+ return
+ var/chosen = pick_closest_path(null, make_types_fancy(typesof(/obj/item/aiModule)))
+ if (!ispath(chosen))
+ chosen = text2path(chosen)
+ if (chosen)
+ var/new_board = new chosen(src)
+ var/obj/item/aiModule/board = new_board
+ var/mob/living/silicon/beepboop = boopbeep
+ board.install(beepboop.laws, src)
+ del(new_board)
+ message_admins("[key_name_admin(src)] added [board] to [ADMIN_LOOKUPFLW(beepboop)].")
+ log_admin("[key_name(src)] added [board] to [key_name(beepboop)].")
From da3b861e9934ddc39c5f78b3713369246e7ef4a5 Mon Sep 17 00:00:00 2001
From: Jamie D <993128+JamieD1@users.noreply.github.com>
Date: Sun, 18 Jul 2021 19:14:36 +0100
Subject: [PATCH 2/3] oopsie
---
code/modules/admin/admin_verbs.dm | 1 +
1 file changed, 1 insertion(+)
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 3e0ec1b08c9c..2b0690ce6cf9 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -83,6 +83,7 @@ GLOBAL_PROTECT(admin_verbs_admin)
/client/proc/respawn_character,
/client/proc/discord_id_manipulation,
/datum/admins/proc/open_borgopanel,
+ /datum/admins/proc/change_laws,
/datum/admins/proc/restart, //yogs - moved from +server
/client/proc/admin_pick_random_player, //yogs
/client/proc/get_law_history, //yogs - silicon law history
From 5f64045c70899c451ef81eb18016b7ffa6f585b5 Mon Sep 17 00:00:00 2001
From: Jamie D <993128+JamieD1@users.noreply.github.com>
Date: Sat, 24 Jul 2021 11:31:22 +0100
Subject: [PATCH 3/3] Better Code
---
code/modules/admin/verbs/borgpanel.dm | 27 ++++++++++++---------------
1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm
index f847949e67c1..a5273a07f244 100644
--- a/code/modules/admin/verbs/borgpanel.dm
+++ b/code/modules/admin/verbs/borgpanel.dm
@@ -218,27 +218,24 @@
. = TRUE
-/datum/admins/proc/change_laws(boopbeep in GLOB.silicon_mobs)
+/datum/admins/proc/change_laws()
set category = "Admin.Player Interaction"
set name = "Change Silicon Laws"
set desc = "Change Silicon Laws"
if(!check_rights(R_ADMIN))
return
-
- if (istype(boopbeep, /mob/living/silicon))
- boopbeep = input("Select a Silicon", "Select a Silicon", null, null) as null|anything in GLOB.silicon_mobs
- if (!istype(boopbeep, /mob/living/silicon))
+ var/chosensilicon = input("Select a Silicon", "Select a Silicon", null, null) as null|anything in GLOB.silicon_mobs
+ if (!istype(chosensilicon, /mob/living/silicon))
to_chat(usr, "Silicon is required for law changes", confidential=TRUE)
return
var/chosen = pick_closest_path(null, make_types_fancy(typesof(/obj/item/aiModule)))
- if (!ispath(chosen))
- chosen = text2path(chosen)
- if (chosen)
- var/new_board = new chosen(src)
- var/obj/item/aiModule/board = new_board
- var/mob/living/silicon/beepboop = boopbeep
- board.install(beepboop.laws, src)
- del(new_board)
- message_admins("[key_name_admin(src)] added [board] to [ADMIN_LOOKUPFLW(beepboop)].")
- log_admin("[key_name(src)] added [board] to [key_name(beepboop)].")
+ if (!chosen)
+ return
+ var/new_board = new chosen(src)
+ var/obj/item/aiModule/chosenboard = new_board
+ var/mob/living/silicon/beepboop = chosensilicon
+ chosenboard.install(beepboop.laws, usr)
+ message_admins("[key_name_admin(usr)] added [chosenboard] to [ADMIN_LOOKUPFLW(beepboop)].")
+ log_admin("[key_name(usr)] added [chosenboard] to [key_name(beepboop)].")
+ qdel(new_board)