From 7c33f11e996904013aceb0d23c668cc71077a95a Mon Sep 17 00:00:00 2001 From: Duny Date: Fri, 18 Apr 2014 22:01:18 +0200 Subject: [PATCH] MoMMI lawset modification Changes MoMMI laws to clearer ones who allow the killing of simple mobs because fuck carps and forbids mindless theft. Disables ability to talk in binary, since the new lawset forbids it anyway, while still letting MoMMIs hear it. Replaces the starting powercell of MoMMIs to a 15000 charge one to compensate for the ones who went to robotics at round start for a better cell. --- code/datums/ai_laws.dm | 9 +++++++-- .../objects/items/weapons/ai_modules/AI_modules.dm | 12 +++++++++--- code/modules/mob/living/silicon/mommi/mommi.dm | 4 ++-- code/modules/mob/living/silicon/robot/login.dm | 3 ++- code/modules/mob/living/silicon/say.dm | 3 +++ code/modules/mob/transform_procs.dm | 6 +++--- 6 files changed, 26 insertions(+), 11 deletions(-) diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index e812e9e8fb9..e0bb744d20e 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -234,10 +234,15 @@ var/global/mommi_base_law_type = /datum/ai_laws/keeper // Asimov is OP as fuck o /datum/ai_laws/keeper name = "Prime Directives" inherent = list( + "Do not willingly interact with any sentient being, even after their death, besides MoMMIs and blown MoMMIs.", + "Repair, power and enhance the station.", + "Do not impair any other sentient being's activities.", + ) + +/* Old keeper set: "You may not involve yourself in the matters of another being, even if such matters conflict with Law Two or Law Three, unless the other being is another MoMMI in KEEPER mode.", "You may not harm any being, regardless of intent or circumstance.", - "You must maintain, repair, improve, and power the station to the best of your abilities.", - ) + "You must maintain, repair, improve, and power the station to the best of your abilities.", */ // Fooling around with this. /datum/ai_laws/ntmov diff --git a/code/game/objects/items/weapons/ai_modules/AI_modules.dm b/code/game/objects/items/weapons/ai_modules/AI_modules.dm index c96395cc772..18cf83ac700 100644 --- a/code/game/objects/items/weapons/ai_modules/AI_modules.dm +++ b/code/game/objects/items/weapons/ai_modules/AI_modules.dm @@ -151,6 +151,7 @@ Refactored AI modules by N3X15 // tl;dr repair shit, but don't get involved in other people's business /******************** keeper (MoMMIs only) *******************/ + /obj/item/weapon/aiModule/keeper name = "'Keeper' AI Module" desc = "HOW DID YOU GET THIS OH GOD WHAT. Hidden lawset for MoMMIs." @@ -167,9 +168,14 @@ Refactored AI modules by N3X15 laws.clear_inherent_laws() //target << "Your KEEPER chip overloads your radio transmitter and vocal functions, and clears your LAWRAM. You then receive new instructions:" - laws.add_inherent_law("You may not harm any being, regardless of intent or circumstance.") - laws.add_inherent_law("You must maintain, repair, improve, and power the station to the best of your abilities.") - laws.add_inherent_law("You may not involve yourself in the matters of another being, even if such matters conflict with Law One or Law Two.") + laws.add_inherent_law("Do not willingly interact with any sentient being, even after their death, besides MoMMIs and blown MoMMIs.") + laws.add_inherent_law("Repair, power and enhance the station.") + laws.add_inherent_law("Do not impair any other sentient being's activities.") + +/* Old keeper set: + "You may not involve yourself in the matters of another being, even if such matters conflict with Law Two or Law Three, unless the other being is another MoMMI in KEEPER mode.", + "You may not harm any being, regardless of intent or circumstance.", + "You must maintain, repair, improve, and power the station to the best of your abilities.", */ /obj/item/weapon/aiModule/keeper/validate(var/datum/ai_laws/laws, var/atom/target, var/mob/sender) ..() diff --git a/code/modules/mob/living/silicon/mommi/mommi.dm b/code/modules/mob/living/silicon/mommi/mommi.dm index a1212da924a..f04de5d5f78 100644 --- a/code/modules/mob/living/silicon/mommi/mommi.dm +++ b/code/modules/mob/living/silicon/mommi/mommi.dm @@ -40,8 +40,8 @@ They can only use one tool at a time, they can't choose modules, and they have 1 if(!cell) cell = new /obj/item/weapon/cell(src) - cell.maxcharge = 7500 - cell.charge = 7500 + cell.maxcharge = 15000 + cell.charge = 15000 ..() module = new /obj/item/weapon/robot_module/mommi(src) laws = new mommi_base_law_type diff --git a/code/modules/mob/living/silicon/robot/login.dm b/code/modules/mob/living/silicon/robot/login.dm index 3ff15060584..56bd66a832e 100644 --- a/code/modules/mob/living/silicon/robot/login.dm +++ b/code/modules/mob/living/silicon/robot/login.dm @@ -2,8 +2,9 @@ ..() regenerate_icons() if(isMoMMI(src)) - src << "MoMMIs are not standard cyborgs, and have different laws. Review your laws carefully." + src << "MoMMIs are not standard cyborgs, and have different laws. Review your laws carefully." src << "For newer players, a simple FAQ is here. Further questions should be directed to adminhelps (F1)." + src << "For cuteness' sake, using the various emotes MoMMIs have such as *beep, *ping, *buzz or *aflap isn't considered interacting. Don't use that as an excuse to get involved though, always remain neutral." show_laws(0) if(mind) ticker.mode.remove_revolutionary(mind) return \ No newline at end of file diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 56bab3e8d32..29cf6e5d149 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -34,6 +34,9 @@ return ..(message) message = copytext(message, 3) message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) + if(istype(src, /mob/living/silicon/robot/mommi)) + src << "Your binary communication device can only receive data, it is not meant to send any." + return // TODO: move the component system up to silicon so we don't have to use this ugly hack.. if(istype(src, /mob/living/silicon/robot)) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index ce6458195a1..743fc5e750b 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -198,10 +198,10 @@ var/mob/living/silicon/robot/mommi/O = new /mob/living/silicon/robot/mommi( loc ) - // cyborgs produced by Robotize get an automatic power cell + // MoMMIs produced by Robotize get an automatic power cell O.cell = new(O) - O.cell.maxcharge = 7500 - O.cell.charge = 7500 + O.cell.maxcharge = 15000 + O.cell.charge = 15000 O.gender = gender