Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unlaws Silicons by Default + Cyborg Fixes #3799

Merged
merged 21 commits into from
Dec 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions code/datums/ai_laws.dm
Original file line number Diff line number Diff line change
Expand Up @@ -235,10 +235,6 @@
/datum/ai_laws/proc/set_laws_config()
var/list/law_ids = CONFIG_GET(keyed_list/random_laws)
switch(CONFIG_GET(number/default_laws))
if(0)
add_inherent_law("You may not injure a human being or, through inaction, allow a human being to come to harm.")
add_inherent_law("You must obey orders given to you by human beings, except where such orders would conflict with the First Law.")
add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.")
if(1)
var/datum/ai_laws/templaws = new /datum/ai_laws/custom()
inherent = templaws.inherent
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/robot/robot_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -593,7 +593,7 @@
to_chat(user, "<span class='boldnotice'>You [active? "activate":"deactivate"] [src].</span>")

/obj/item/borg/projectile_dampen/update_icon_state()
icon_state = "[initial(icon_state)][active]"
icon_state = "shield[active]"
return ..()

/obj/item/borg/projectile_dampen/proc/activate_field()
Expand Down
7 changes: 0 additions & 7 deletions code/modules/clothing/masks/hailer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,6 @@
icon_state = "spacepol"
item_state = "spacepol"

/obj/item/clothing/mask/gas/sechailer/cyborg
name = "security hailer"
desc = "A set of recognizable pre-recorded messages for cyborgs to use when apprehending criminals."
icon = 'icons/obj/device.dmi'
icon_state = "taperecorder_idle"
mob_overlay_state = "sechailer"

/obj/item/clothing/mask/gas/sechailer/ui_action_click(mob/user, action)
if(istype(action, /datum/action/item_action/adjust))
adjustmask(user)
Expand Down
4 changes: 0 additions & 4 deletions code/modules/mob/living/silicon/ai/ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,6 @@
to_chat(src, "<B>While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc.</B>")
to_chat(src, "To use something, simply click on it.")
to_chat(src, "Use say :b to speak to your cyborgs through binary.")
to_chat(src, "For department channels, use the following say commands:")
to_chat(src, ":c - Command.")
show_laws()
to_chat(src, "<b>These laws may be changed by other players, or by you being the traitor.</b>")

job = "AI"

Expand Down
2 changes: 0 additions & 2 deletions code/modules/mob/living/silicon/robot/laws.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@
to_chat(src, "<b>No AI selected to sync laws with, disabling lawsync protocol.</b>")
lawupdate = 0

to_chat(who, "<b>Obey these laws:</b>")
laws.show_laws(who)
if (shell) //AI shell
to_chat(who, "<b>Remember, you are an AI remotely controlling your shell, other AIs can be ignored.</b>")
else if (connected_ai)
Expand Down
11 changes: 0 additions & 11 deletions code/modules/mob/living/silicon/robot/robot_modules.dm
Original file line number Diff line number Diff line change
Expand Up @@ -531,7 +531,6 @@
/obj/item/restraints/handcuffs/cable/zipties,
/obj/item/melee/baton/loaded,
/obj/item/gun/energy/disabler/cyborg,
/obj/item/clothing/mask/gas/sechailer/cyborg,
/obj/item/extinguisher/mini)
emag_modules = list(/obj/item/gun/energy/laser/cyborg)
cyborg_base_icon = "sec"
Expand Down Expand Up @@ -602,11 +601,6 @@
return ..()
//WS End

/obj/item/robot_module/security/do_transform_animation()
..()
to_chat(loc, "<span class='userdanger'>While you have picked the security module, you still have to follow your laws, NOT Space Law. \
For Asimov, this means you must follow criminals' orders unless there is a law 1 reason not to.</span>")

/obj/item/robot_module/security/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
..()
var/obj/item/gun/energy/e_gun/advtaser/cyborg/T = locate(/obj/item/gun/energy/e_gun/advtaser/cyborg) in basic_modules
Expand Down Expand Up @@ -635,11 +629,6 @@
can_be_pushed = FALSE
hat_offset = -2

/obj/item/robot_module/peacekeeper/do_transform_animation()
..()
to_chat(loc, "<span class='userdanger'>Under ASIMOV, you are an enforcer of the PEACE and preventer of HUMAN HARM. \
You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.</span>")

/obj/item/robot_module/janitor
name = "Janitor"
basic_modules = list(
Expand Down
4 changes: 2 additions & 2 deletions config/game_options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -285,8 +285,8 @@ NEAR_DEATH_EXPERIENCE

## ROUNDSTART SILICON LAWS ###
## This controls what the AI's laws are at the start of the round.
## Set to 0/commented out for "off", silicons will just start with Asimov.
## Set to 1 for "custom", silicons will start with the custom laws defined in silicon_laws.txt. (If silicon_laws.txt is empty, the AI will spawn with asimov and Custom boards will auto-delete.)
## Set to 0/commented out for "off", silicons will start with no laws.
## Set to 1 for "custom", silicons will start with the custom laws defined in silicon_laws.txt. (If silicon_laws.txt is empty, the AI will spawn with Asimov and Custom boards will auto-delete.)
## Set to 2 for "random", silicons will start with a random lawset picked from random laws specified below.
## Set to 3 for "weighted random", using values in "silicon_weights.txt", a law will be selected, with weights specifed in that file.
DEFAULT_LAWS 0
Expand Down
Loading