Merge pull request #15969 from Phoenix4O4/port-ability-to-change-AI/Robot-laws

[PORT-YOG] Gives admins the ability to change AI/Robot Laws at wil
This commit is contained in:
SandPoot
2023-09-03 15:24:48 -03:00
committed by GitHub
2 changed files with 24 additions and 1 deletions
+2 -1
View File
@@ -87,7 +87,8 @@ GLOBAL_PROTECT(admin_verbs_admin)
/client/proc/admin_cmd_remove_ghost_respawn_timer, //CIT
/client/proc/addbunkerbypass, //CIT
/client/proc/revokebunkerbypass, //CIT
/datum/admins/proc/open_borgopanel
/datum/admins/proc/open_borgopanel,
/datum/admins/proc/change_laws //change AI laws
)
GLOBAL_LIST_INIT(admin_verbs_ban, list(/client/proc/unban_panel, /client/proc/DB_ban_panel, /client/proc/stickybanpanel))
GLOBAL_PROTECT(admin_verbs_ban)
+22
View File
@@ -214,3 +214,25 @@
borg.lawsync()
. = TRUE
/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
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, "<span class='warning'>Silicon is required for law changes</span>", confidential=TRUE)
return
var/chosen = pick_closest_path(null, make_types_fancy(typesof(/obj/item/aiModule)))
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)