Miscellaneous Synthetic Changes (#1386)

changes:

imageadd: "Some AI displays now have special icons used when the AI is dead."
rscadd: "Added an admin verb that allows force-storaging of SSD AIs."
imageadd: "The AI's icon now changes when it is EMPed."
other:

Gave a name to borgs' internal radio so it doesn't show as "station bounced radio".
Disabled rejuvinate() for AIs as it didn't actually work anyways.
Fixed a potential bug where an engiborg's welder might've been able to be attached to things.
Added a code helper to check if an item is a borg tool.
This commit is contained in:
Lohikar
2017-01-04 03:15:11 +02:00
committed by skull132
parent 75b540c061
commit 730a77aab5
9 changed files with 71 additions and 22 deletions
+4
View File
@@ -313,6 +313,9 @@ var/list/ai_verbs_default = list(
if(powered_ai.anchored)
use_power = 2
/mob/living/silicon/ai/rejuvenate()
return // TODO: Implement AI rejuvination
/mob/living/silicon/ai/proc/pick_icon()
set category = "AI Commands"
set name = "Set AI Core Display"
@@ -435,6 +438,7 @@ var/list/ai_verbs_default = list(
/mob/living/silicon/ai/emp_act(severity)
if (prob(30))
view_core()
icon_state = "ai-fuzz"
..()
/mob/living/silicon/ai/Topic(href, href_list)
+12 -1
View File
@@ -28,11 +28,13 @@ var/list/datum/ai_icon/ai_icons
name = "Red"
alive_icon = "ai-red"
alive_light = "#F04848"
dead_icon = "ai-red_dead"
/datum/ai_icon/green
name = "Green"
alive_icon = "ai-wierd"
alive_light = "#00FF99"
dead_icon = "ai-weird_dead"
/datum/ai_icon/blue
name = "Blue"
@@ -57,6 +59,7 @@ var/list/datum/ai_icon/ai_icons
/datum/ai_icon/database
name = "Database"
alive_icon = "ai-database"
dead_icon = "ai-database_dead"
/datum/ai_icon/dorf
name = "Dorf"
@@ -75,11 +78,13 @@ var/list/datum/ai_icon/ai_icons
/datum/ai_icon/glitchman
name = "Glitchman"
alive_icon = "ai-glitchman"
dead_icon = "ai-glitchman_dead"
/datum/ai_icon/goon
name = "Goon"
alive_icon = "ai-goon"
alive_light = "#3E5C80"
dead_icon = "ai-goon_dead"
/datum/ai_icon/heartline
name = "Heartline"
@@ -100,6 +105,7 @@ var/list/datum/ai_icon/ai_icons
name = "Lonestar"
alive_icon = "ai-lonestar"
alive_light = "#58751C"
dead_icon = "ai-lonestar_dead"
/datum/ai_icon/matrix
name = "Matrix"
@@ -110,6 +116,7 @@ var/list/datum/ai_icon/ai_icons
name = "Monochrome"
alive_icon = "ai-mono"
alive_light = "#585858"
dead_icon = "ai-mono_dead"
/datum/ai_icon/nanotrasen
name = "Nanotrasen"
@@ -120,6 +127,7 @@ var/list/datum/ai_icon/ai_icons
name = "Rainbow"
alive_icon = "ai-clown"
alive_light = "#E50213"
dead_icon = "ai-clown_dead"
/datum/ai_icon/smiley
name = "Smiley"
@@ -130,11 +138,13 @@ var/list/datum/ai_icon/ai_icons
name = "Soviet"
alive_icon = "ai-redoctober"
alive_light = "#FF4307"
dead_icon = "ai-redoctober_dead"
/datum/ai_icon/Static
name = "Static"
alive_icon = "ai-static"
alive_light = "#4784C1"
dead_icon = "ai-static_dead"
/datum/ai_icon/text
name = "Text"
@@ -143,6 +153,7 @@ var/list/datum/ai_icon/ai_icons
/datum/ai_icon/trapped
name = "Trapped"
alive_icon = "ai-hades"
dead_icon = "ai-hades_dead"
/datum/ai_icon/triumvirate_static
name = "Triumvirate"
@@ -151,5 +162,5 @@ var/list/datum/ai_icon/ai_icons
/datum/ai_icon/triumvirate_static
name = "Triumvirate Static"
alive_icon = "ai-static"
alive_icon = "ai-triumvirate-malf"
alive_light = "#020B2B"
+18 -15
View File
@@ -12,21 +12,7 @@ var/global/list/empty_playable_ai_cores = list()
return 1
/mob/living/silicon/ai/verb/wipe_core()
set name = "Wipe Core"
set category = "OOC"
set desc = "Wipe your core. This is functionally equivalent to cryo or robotic storage, freeing up your job slot."
if(ticker && ticker.mode && ticker.mode.name == "AI malfunction")
usr << "<span class='danger'>You cannot use this verb in malfunction. If you need to leave, please adminhelp.</span>"
return
// Guard against misclicks, this isn't the sort of thing we want happening accidentally
if(alert("WARNING: This will immediately wipe your core and ghost you, removing your character from the round permanently (similar to cryo and robotic storage). Are you entirely sure you want to do this?",
"Wipe Core", "No", "No", "Yes") != "Yes")
return
// We warned you.
/mob/living/silicon/ai/proc/do_wipe_core()
empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(loc)
global_announcer.autosay("[src] has been moved to intelligence storage.", "Artificial Intelligence Oversight")
@@ -43,3 +29,20 @@ var/global/list/empty_playable_ai_cores = list()
ghostize(0)
qdel(src)
/mob/living/silicon/ai/verb/wipe_core()
set name = "Wipe Core"
set category = "OOC"
set desc = "Wipe your core. This is functionally equivalent to cryo or robotic storage, freeing up your job slot."
if(ticker && ticker.mode && ticker.mode.name == "AI malfunction")
usr << "<span class='danger'>You cannot use this verb in malfunction. If you need to leave, please adminhelp.</span>"
return
// Guard against misclicks, this isn't the sort of thing we want happening accidentally
if(alert("WARNING: This will immediately wipe your core and ghost you, removing your character from the round permanently (similar to cryo and robotic storage). Are you entirely sure you want to do this?",
"Wipe Core", "No", "No", "Yes") != "Yes")
return
// We warned you.
do_wipe_core()