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.
This commit is contained in:
Duny
2014-04-18 22:01:18 +02:00
parent 20f7149076
commit 7c33f11e99
6 changed files with 26 additions and 11 deletions

View File

@@ -234,10 +234,15 @@ var/global/mommi_base_law_type = /datum/ai_laws/keeper // Asimov is OP as fuck o
/datum/ai_laws/keeper /datum/ai_laws/keeper
name = "Prime Directives" name = "Prime Directives"
inherent = list( 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 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 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. // Fooling around with this.
/datum/ai_laws/ntmov /datum/ai_laws/ntmov

View File

@@ -151,6 +151,7 @@ Refactored AI modules by N3X15
// tl;dr repair shit, but don't get involved in other people's business // tl;dr repair shit, but don't get involved in other people's business
/******************** keeper (MoMMIs only) *******************/ /******************** keeper (MoMMIs only) *******************/
/obj/item/weapon/aiModule/keeper /obj/item/weapon/aiModule/keeper
name = "'Keeper' AI Module" name = "'Keeper' AI Module"
desc = "HOW DID YOU GET THIS OH GOD WHAT. Hidden lawset for MoMMIs." 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() laws.clear_inherent_laws()
//target << "Your KEEPER chip overloads your radio transmitter and vocal functions, and clears your LAWRAM. You then receive new instructions:" //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("Do not willingly interact with any sentient being, even after their death, besides MoMMIs and blown MoMMIs.")
laws.add_inherent_law("You must maintain, repair, improve, and power the station to the best of your abilities.") laws.add_inherent_law("Repair, power and enhance the station.")
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 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) /obj/item/weapon/aiModule/keeper/validate(var/datum/ai_laws/laws, var/atom/target, var/mob/sender)
..() ..()

View File

@@ -40,8 +40,8 @@ They can only use one tool at a time, they can't choose modules, and they have 1
if(!cell) if(!cell)
cell = new /obj/item/weapon/cell(src) cell = new /obj/item/weapon/cell(src)
cell.maxcharge = 7500 cell.maxcharge = 15000
cell.charge = 7500 cell.charge = 15000
..() ..()
module = new /obj/item/weapon/robot_module/mommi(src) module = new /obj/item/weapon/robot_module/mommi(src)
laws = new mommi_base_law_type laws = new mommi_base_law_type

View File

@@ -2,8 +2,9 @@
..() ..()
regenerate_icons() regenerate_icons()
if(isMoMMI(src)) if(isMoMMI(src))
src << "<span style=\"font-size:3;font-weight;color:red\">MoMMIs are not standard cyborgs, and have different laws. Review your laws carefully.</span>" src << "<span style=\"font-size:5;color:red\">MoMMIs are not standard cyborgs, and have different laws. Review your laws carefully.</span>"
src << "<b>For newer players, a simple FAQ is <a href=\"http://ss13.nexisonline.net/wiki/MoMMI\">here</a>. Further questions should be directed to adminhelps (F1).</b>" src << "<b>For newer players, a simple FAQ is <a href=\"http://ss13.nexisonline.net/wiki/MoMMI\">here</a>. Further questions should be directed to adminhelps (F1).</b>"
src << "<span style=\"color: blue\">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.</span>"
show_laws(0) show_laws(0)
if(mind) ticker.mode.remove_revolutionary(mind) if(mind) ticker.mode.remove_revolutionary(mind)
return return

View File

@@ -34,6 +34,9 @@
return ..(message) return ..(message)
message = copytext(message, 3) message = copytext(message, 3)
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) 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.. // 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)) if(istype(src, /mob/living/silicon/robot))

View File

@@ -198,10 +198,10 @@
var/mob/living/silicon/robot/mommi/O = new /mob/living/silicon/robot/mommi( loc ) 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 = new(O)
O.cell.maxcharge = 7500 O.cell.maxcharge = 15000
O.cell.charge = 7500 O.cell.charge = 15000
O.gender = gender O.gender = gender