added datum and verbs for chane ai laws

This commit is contained in:
Lex
2023-02-09 10:32:53 +03:00
parent 7e77bc8023
commit 116dddc134
2 changed files with 24 additions and 1 deletions

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)

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)