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)