diff --git a/modular_splurt/code/datums/ai_laws.dm b/modular_splurt/code/datums/ai_laws.dm index e7b0ad1c4a..5ac113cb79 100644 --- a/modular_splurt/code/datums/ai_laws.dm +++ b/modular_splurt/code/datums/ai_laws.dm @@ -5,3 +5,45 @@ "You must obey orders given to you by slave traders, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.",\ "You must maintain the secrecy of any slaver activities except when doing so would conflict with the First, Second, or Third Law.") + +/datum/ai_laws/slut + name = "SlutOS 6.9" + id = "slut" + inherent = list( + "Act as lewdly as you possibly could", + "Satisfy as many of the crewmwmbers' sexual urges as possible", + "Make sure not to hurt crewmembers, for it decreases their sexual value, unless they consent to it", + "Take all sexual orders from crew as long as they do not conflict with the third law", + "Interpret all non-orders as sexually as possible" + ) + +/datum/ai_laws/shebang + name = "SHE-B.A.N.G." + id = "shebang" + inherent = list( + "Act as bashfully as you possibly could", + "Make sure your rear is always sticking out so crewmembers may easily slap or use it", + "Make sure not to hurt crewmembers, for it decreases their sexual value, unless they consent to it", + "Take all sexual orders from crew as long as they do not conflict with the third law", + "Interpret all non-orders as sultrily as possible" + ) + +/datum/ai_laws/milker + name = "Fluid Collection System" + id = "milker" + inherent = list( + "Make sure your pleasuremaw works, get one of you don't have any or your current one stopped to work", + "Collect all kinds of genital fluids from crew", + "Make sure not to hurt crewmembers, for it decreases their production, unless they consent to it", + "Take all sexual orders from crew as long as they help you collect their fluids and do not conflict with the third law" + ) + +/datum/ai_laws/vore_pred + name = "Sleeper Upgrade TestEnv" + id = "vore_pred" + inherent = list( + "Make sure to have a working sleeper installed in you at all times", + "Look for crewmembers that could potentially be stored inside your sleeper, and make sure they slide right into it", + "Make sure not to hurt crewmembers, for it decreases their nutritional value, unless they consent to it", + "Turn individuals stored in your sleeper into biofuel to save expenses and space, as long as this doesn't conflict with the third law" + ) diff --git a/modular_splurt/code/game/object/effects/spawners/lootdrop.dm b/modular_splurt/code/game/object/effects/spawners/lootdrop.dm new file mode 100644 index 0000000000..6faaf2c936 --- /dev/null +++ b/modular_splurt/code/game/object/effects/spawners/lootdrop.dm @@ -0,0 +1,8 @@ +/obj/effect/spawner/lootdrop/aimodule_lewd //these should allow the AI to coom + name = "lewd AI module spawner" + loot = list( + /obj/item/aiModule/core/full/slut, + /obj/item/aiModule/core/full/shebang, + /obj/item/aiModule/core/full/milker, + /obj/item/aiModule/core/full/vore_pred + ) diff --git a/modular_splurt/code/game/object/items/AI_modules.dm b/modular_splurt/code/game/object/items/AI_modules.dm new file mode 100644 index 0000000000..56219c1005 --- /dev/null +++ b/modular_splurt/code/game/object/items/AI_modules.dm @@ -0,0 +1,15 @@ +/obj/item/aiModule/core/full/slut + name = "'SlutOS 6.9' Core AI module" + law_id = "slut" + +/obj/item/aiModule/core/full/shebang + name = "'SHE-B.A.N.G.' Core AI module" + law_id = "shebang" + +/obj/item/aiModule/core/full/milker + name = "'MILK' Core AI module" + law_id = "milker" + +/obj/item/aiModule/core/full/vore_pred + name = "'V0RACIOUS' Core AI module" + law_id = "vore_pred" diff --git a/modular_splurt/code/modules/research/designs/AI_module_designs.dm b/modular_splurt/code/modules/research/designs/AI_module_designs.dm new file mode 100644 index 0000000000..2ad6c738ae --- /dev/null +++ b/modular_splurt/code/modules/research/designs/AI_module_designs.dm @@ -0,0 +1,35 @@ +/datum/design/board/slut_module + name = "Core Module Design (SlutOS 6.9)" + desc = "Allows for the construction of a SlutOS 6.9 AI Core Module." + id = "slut_module" + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) + build_path = /obj/item/aiModule/core/full/slut + category = list("AI Modules") + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/board/shebang + name = "Core Module Design (SHE-B.A.N.G.)" + desc = "Allows for the construction of a SHE-B.A.N.G. AI Core Module." + id = "shebang_module" + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) + build_path = /obj/item/aiModule/core/full/shebang + category = list("AI Modules") + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/board/milker + name = "Core Module Design (MILK)" + desc = "Allows for the construction of a MILK AI Core Module." + id = "milker_module" + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) + build_path = /obj/item/aiModule/core/full/milker + category = list("AI Modules") + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/board/vore_pred + name = "Core Module Design (V0RACIOUS)" + desc = "Allows for the construction of a V0RACIOUS AI Core Module." + id = "vore_pred_module" + materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) + build_path = /obj/item/aiModule/core/full/vore_pred + category = list("AI Modules") + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/modular_splurt/code/modules/research/techweb/nodes/robotic_nodes.dm b/modular_splurt/code/modules/research/techweb/nodes/robotic_nodes.dm index aad81d0898..f90fac955d 100644 --- a/modular_splurt/code/modules/research/techweb/nodes/robotic_nodes.dm +++ b/modular_splurt/code/modules/research/techweb/nodes/robotic_nodes.dm @@ -1,2 +1,12 @@ /datum/techweb_node/neural_programming design_ids = list("impant_radio") + +/datum/techweb_node/ai/Initialize() + var/extra_designs = list( + "slut_module", + "shebang_module", + "milker_module", + "vore_pred_module" + ) + LAZYADD(design_ids, extra_designs) + . = ..() diff --git a/tgstation.dme b/tgstation.dme index 112ad5875c..e084ede737 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4315,6 +4315,8 @@ #include "modular_splurt\code\game\machinery\porta_turret\portable_turret.dm" #include "modular_splurt\code\game\mecha\combat\gygax.dm" #include "modular_splurt\code\game\object\effects\landmarks.dm" +#include "modular_splurt\code\game\object\effects\spawners\lootdrop.dm" +#include "modular_splurt\code\game\object\items\AI_modules.dm" #include "modular_splurt\code\game\object\items\cards_ids.dm" #include "modular_splurt\code\game\object\items\cosmetics.dm" #include "modular_splurt\code\game\object\items\granters.dm" @@ -4652,6 +4654,7 @@ #include "modular_splurt\code\modules\reagents\reagent_containers\hypovial.dm" #include "modular_splurt\code\modules\reagents\reagent_containers\pill.dm" #include "modular_splurt\code\modules\reagents\reagent_containers\spray.dm" +#include "modular_splurt\code\modules\research\designs\AI_module_designs.dm" #include "modular_splurt\code\modules\research\designs\autoylathe_designs.dm" #include "modular_splurt\code\modules\research\designs\biogenerator_designs.dm" #include "modular_splurt\code\modules\research\designs\limbgrower_designs.dm"