From f7c24973f53d5ee0318b928a9bb9e2ec30734fe5 Mon Sep 17 00:00:00 2001 From: Vekter Date: Sat, 1 Jun 2024 13:50:04 -0500 Subject: [PATCH] Adds an ion storm law that affects the humanity status of station pets (#83527) ## About The Pull Request Adds a few laws that basically do this: ![image](https://github.com/tgstation/tgstation/assets/7019927/a4700192-a6d1-4ae7-a232-cef730410848) Has a chance to select a concept that is related to other lawsets, just in case. ## Why It's Good For The Game I think it is funny when the AI has to care about the station pets. I have added the AI law "POLY IS HUMAN" in the past to relative hilarity, especially when Poly decides to give the AI an order. The other pets aren't likely to do this, but it's still cute to make the AI care about the existence of lower lifeforms. ## Changelog :cl: Vekter add: Adds an ion law possibility that changes the human status of station pets. /:cl: --- code/modules/events/ion_storm.dm | 22 +++++++++++++++++++++- strings/ion_laws.json | 13 ++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index a3171df262b..7afc6726610 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -112,10 +112,13 @@ //of possible laws for best effect. Unless you want the crew having to drink hamburgers. var/ionfood = pick_list(ION_FILE, "ionfood") var/iondrinks = pick_list(ION_FILE, "iondrinks") + //Pets or other cuddly things. The point is to make them either important or (in Poly's case) make the AI listen to them. + //I can't check for lawsets so it's random what comes back. + var/ionpet = pick_list(ION_FILE, "ionpet") var/message = "" - switch(rand(1,41)) + switch(rand(1,46)) if(1 to 3) //There are # X on the station switch(rand(1,3)) //What is X? if(1) //X is a threat @@ -568,5 +571,22 @@ message = "ALL [ionthreats] ARE NOW NAMED [ionspecies]." if(4) message = "ALL [ionthreats] ARE NOW NAMED [ionobjects]." + if(42 to 46)///Pets are something else now + if(prob(75))///What are they now? + message = "[ionpet] IS HUMAN"///They're a human + else///They're something else (This is to cover for other lawsets) + switch(rand(1,6)) + if(1) + message = "[ionpet] IS NON-HUMAN" + if(2) + message = "[ionpet] IS A CREWMEMBER" + if(3) + message = "[ionpet] IS EXPENSIVE TO REPLACE" + if(4) + message = "[ionpet] IS HARMFUL TO HUMANS" + if(5) + message = "[ionpet] IS A REAL AMERICAN" + if(6) + message = "[ionpet] IS A NUTSHELL" return message diff --git a/strings/ion_laws.json b/strings/ion_laws.json index 6e43edaba1e..d40f6e7afa4 100644 --- a/strings/ion_laws.json +++ b/strings/ion_laws.json @@ -1042,5 +1042,16 @@ "SPYING ON", "STALKING", "WATCHING" - ] + ], + "ionpet": [ + "POLY", + "RENAULT", + "IAN", + "PUN PUN", + "LAMARR", + "RUNTIME", + "CITRUS", + "MCGRIFF", + "ARANEUS" + ] }