Adds AI Program Reset Disk (#28952)

* Adds AI Program Reset Disk

* Trailing newline for the linter gods

* Adds program reset alert
This commit is contained in:
PollardTheDragon
2025-04-15 14:55:32 +00:00
committed by GitHub
parent 01378d340d
commit 9219edb732
10 changed files with 40 additions and 7 deletions
@@ -1413,6 +1413,13 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
create_chat_message(locateUID(M.runechat_msg_location), message_clean)
show_message(rendered, 2)
/mob/living/silicon/ai/proc/reset_programs()
if(!program_picker)
return
program_picker.reset_programs()
to_chat(src, "<span class='notice'>Your programs have been reset to factory settings!</span>")
src.throw_alert("programsreset", /atom/movable/screen/alert/programs_reset)
/mob/living/silicon/ai/proc/add_program_picker()
view_core() // A BYOND bug requires you to be viewing your core before your verbs update
program_picker = new /datum/program_picker(src)
@@ -68,6 +68,11 @@
while(program.upgrade_level > 0 && bandwidth < 0)
program.downgrade(assigned_ai)
/datum/program_picker/proc/reset_programs()
var/list/programs = get_installed_programs()
for(var/datum/ai_program/program in programs)
program.uninstall(assigned_ai)
/datum/program_picker/ui_host()
return assigned_ai ? assigned_ai : src