From 97dcc4309b611d0b983ed40f52fd3669f5356289 Mon Sep 17 00:00:00 2001 From: maxion12345 Date: Fri, 18 Feb 2022 17:13:33 -0500 Subject: [PATCH 1/8] stash --- .../silicon/ai/decentralized/projects/rgb.dm | 33 +++++++++++++++++++ yogstation.dme | 1 + 2 files changed, 34 insertions(+) create mode 100644 code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm new file mode 100644 index 000000000000..633878e56648 --- /dev/null +++ b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm @@ -0,0 +1,33 @@ +/datum/ai_project/rgb + name = "RGB Lighting" + description = "By varying the current levels in the lighting subsystems of your servers, you can make pretty colors." + research_cost = 1 + ram_required = 0 + research_requirements_text = "None" + category = AI_PROJECT_MISC + var/static/party_overlay + +/datum/ai_project/rgb/run_project(force_run = FALSE) + . = ..() + if(!.) + return . + var/area/A + for(var/obj/machinery/ai/data_core/datacores in GLOB.machines) + A = get_area(datacores) + + if (!A || A.party || A.name == "Space") + return + A.party = TRUE + if (!party_overlay) + party_overlay = iconstate2appearance('icons/turf/areas.dmi', "party") + A.add_overlay(party_overlay) + +/datum/ai_project/rgb/stop() + var/area/A + for(var/obj/machinery/ai/data_core/datacores in GLOB.machines) + A = get_area(datacores) + if (!A || !A.party) + return + A.party = FALSE + A.cut_overlay(party_overlay) + ..() diff --git a/yogstation.dme b/yogstation.dme index e24438c62a06..1a977bcb2f5c 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -2361,6 +2361,7 @@ #include "code\modules\mob\living\silicon\ai\decentralized\projects\examine.dm" #include "code\modules\mob\living\silicon\ai\decentralized\projects\firewall.dm" #include "code\modules\mob\living\silicon\ai\decentralized\projects\induction.dm" +#include "code\modules\mob\living\silicon\ai\decentralized\projects\rgb.dm" #include "code\modules\mob\living\silicon\ai\decentralized\projects\surveillance.dm" #include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm" #include "code\modules\mob\living\silicon\ai\freelook\chunk.dm" From d4cf58e53a12509b6d73904ca07c15018c56c3d4 Mon Sep 17 00:00:00 2001 From: maxion12345 Date: Sun, 20 Feb 2022 17:47:41 -0500 Subject: [PATCH 2/8] functional but seizure inducing --- .../silicon/ai/decentralized/projects/rgb.dm | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm index 633878e56648..f3b6006a0085 100644 --- a/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm +++ b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm @@ -11,23 +11,23 @@ . = ..() if(!.) return . - var/area/A - for(var/obj/machinery/ai/data_core/datacores in GLOB.machines) + for(var/obj/machinery/ai/data_core/datacores in GLOB.data_cores) + var/area/A A = get_area(datacores) + if (!A || A.party || A.name == "Space") + return + A.party = TRUE + if (!party_overlay) + party_overlay = iconstate2appearance('icons/turf/areas.dmi', "party") + A.add_overlay(party_overlay) - if (!A || A.party || A.name == "Space") - return - A.party = TRUE - if (!party_overlay) - party_overlay = iconstate2appearance('icons/turf/areas.dmi', "party") - A.add_overlay(party_overlay) /datum/ai_project/rgb/stop() - var/area/A for(var/obj/machinery/ai/data_core/datacores in GLOB.machines) + var/area/A A = get_area(datacores) - if (!A || !A.party) - return - A.party = FALSE - A.cut_overlay(party_overlay) + if (!A || !A.party) + return + A.party = FALSE + A.cut_overlay(party_overlay) ..() From c70242213df53f330fbe0c646211bfc126802886 Mon Sep 17 00:00:00 2001 From: maxion12345 Date: Sun, 20 Feb 2022 19:08:11 -0500 Subject: [PATCH 3/8] aaa much better --- .../silicon/ai/decentralized/ai_data_core.dm | 10 ++++++++ .../silicon/ai/decentralized/projects/rgb.dm | 25 +++++++------------ 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm index bd66d3201eef..da7899b0ec61 100644 --- a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm +++ b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm @@ -19,6 +19,8 @@ GLOBAL_VAR_INIT(primary_data_core, null) var/warning_sent = FALSE + var/TimerID //party time + /obj/machinery/ai/data_core/Initialize() . = ..() GLOB.data_cores += src @@ -143,7 +145,15 @@ GLOBAL_VAR_INIT(primary_data_core, null) var/mutable_appearance/on_overlay = mutable_appearance(icon, "[initial(icon_state)]_on") add_overlay(on_overlay) +/obj/machinery/ai/data_core/proc/partytime() + var/current_color = random_color() + set_light(7, 3, current_color) + TimerID = addtimer(CALLBACK(src, .proc/partytime), 5, TIMER_STOPPABLE) +/obj/machinery/ai/data_core/proc/stoptheparty() + set_light(0) + if(TimerID) + deltimer(TimerID) /obj/machinery/ai/data_core/primary name = "primary AI Data Core" desc = "A complicated computer system capable of emulating the neural functions of a human at near-instantanous speeds. This one has a scrawny and faded note saying: 'Primary AI Data Core'" diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm index f3b6006a0085..5aa2b966e46d 100644 --- a/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm +++ b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm @@ -5,29 +5,22 @@ ram_required = 0 research_requirements_text = "None" category = AI_PROJECT_MISC - var/static/party_overlay + var/current_color + var/TimerID /datum/ai_project/rgb/run_project(force_run = FALSE) . = ..() if(!.) return . for(var/obj/machinery/ai/data_core/datacores in GLOB.data_cores) - var/area/A - A = get_area(datacores) - if (!A || A.party || A.name == "Space") - return - A.party = TRUE - if (!party_overlay) - party_overlay = iconstate2appearance('icons/turf/areas.dmi', "party") - A.add_overlay(party_overlay) + datacores.partytime() /datum/ai_project/rgb/stop() - for(var/obj/machinery/ai/data_core/datacores in GLOB.machines) - var/area/A - A = get_area(datacores) - if (!A || !A.party) - return - A.party = FALSE - A.cut_overlay(party_overlay) + for(var/obj/machinery/ai/data_core/datacores in GLOB.data_cores) + datacores.stoptheparty() ..() + + + + From 8d737d73d9e62f485672028a11c2f7b69fb307d6 Mon Sep 17 00:00:00 2001 From: maxion12345 Date: Sun, 20 Feb 2022 19:11:50 -0500 Subject: [PATCH 4/8] fucky wucky --- .../modules/mob/living/silicon/ai/decentralized/projects/rgb.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm index 5aa2b966e46d..6adec0a292c9 100644 --- a/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm +++ b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm @@ -1,7 +1,7 @@ /datum/ai_project/rgb name = "RGB Lighting" description = "By varying the current levels in the lighting subsystems of your servers, you can make pretty colors." - research_cost = 1 + research_cost = 250 ram_required = 0 research_requirements_text = "None" category = AI_PROJECT_MISC From 38a407306b23eddc4229a02edef8421b0b5e75b8 Mon Sep 17 00:00:00 2001 From: Maxim Date: Sat, 26 Feb 2022 14:22:28 -0500 Subject: [PATCH 5/8] Update code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm Co-authored-by: TheGamerdk <5618080+TheGamerdk@users.noreply.github.com> --- .../modules/mob/living/silicon/ai/decentralized/ai_data_core.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm index da7899b0ec61..6d50396b8539 100644 --- a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm +++ b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm @@ -148,7 +148,7 @@ GLOBAL_VAR_INIT(primary_data_core, null) /obj/machinery/ai/data_core/proc/partytime() var/current_color = random_color() set_light(7, 3, current_color) - TimerID = addtimer(CALLBACK(src, .proc/partytime), 5, TIMER_STOPPABLE) + TimerID = addtimer(CALLBACK(src, .proc/partytime), 0.5 SECONDS, TIMER_STOPPABLE) /obj/machinery/ai/data_core/proc/stoptheparty() set_light(0) From e2bbb338b4999765bc8aafd2b86a0f48f3f593c7 Mon Sep 17 00:00:00 2001 From: Maxim Date: Sat, 26 Feb 2022 14:23:03 -0500 Subject: [PATCH 6/8] Update --- .../mob/living/silicon/ai/decentralized/projects/rgb.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm index 6adec0a292c9..895b4ae2710c 100644 --- a/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm +++ b/code/modules/mob/living/silicon/ai/decentralized/projects/rgb.dm @@ -5,8 +5,6 @@ ram_required = 0 research_requirements_text = "None" category = AI_PROJECT_MISC - var/current_color - var/TimerID /datum/ai_project/rgb/run_project(force_run = FALSE) . = ..() @@ -20,7 +18,3 @@ for(var/obj/machinery/ai/data_core/datacores in GLOB.data_cores) datacores.stoptheparty() ..() - - - - From f7d9239ae310da8582ae0fe84ba52f8a90ce5208 Mon Sep 17 00:00:00 2001 From: Maxim Date: Mon, 28 Feb 2022 02:18:18 -0500 Subject: [PATCH 7/8] K --- .../modules/mob/living/silicon/ai/decentralized/ai_data_core.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm index 6d50396b8539..e9dd0c9fd443 100644 --- a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm +++ b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm @@ -146,6 +146,8 @@ GLOBAL_VAR_INIT(primary_data_core, null) add_overlay(on_overlay) /obj/machinery/ai/data_core/proc/partytime() + if(TimerID) + return 0 var/current_color = random_color() set_light(7, 3, current_color) TimerID = addtimer(CALLBACK(src, .proc/partytime), 0.5 SECONDS, TIMER_STOPPABLE) From 855392adef6d310b8b2f038f1e68634e1e9d015d Mon Sep 17 00:00:00 2001 From: TheGamerdk <5618080+TheGamerdk@users.noreply.github.com> Date: Wed, 2 Mar 2022 20:49:49 +0100 Subject: [PATCH 8/8] Update code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm --- .../modules/mob/living/silicon/ai/decentralized/ai_data_core.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm index e9dd0c9fd443..460f79c59bd0 100644 --- a/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm +++ b/code/modules/mob/living/silicon/ai/decentralized/ai_data_core.dm @@ -147,7 +147,7 @@ GLOBAL_VAR_INIT(primary_data_core, null) /obj/machinery/ai/data_core/proc/partytime() if(TimerID) - return 0 + return FALSE var/current_color = random_color() set_light(7, 3, current_color) TimerID = addtimer(CALLBACK(src, .proc/partytime), 0.5 SECONDS, TIMER_STOPPABLE)