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

Laws and Key Override #11459

Closed

Conversation

MarkusLarsson421
Copy link
Contributor

@MarkusLarsson421 MarkusLarsson421 commented Sep 9, 2024

About The Pull Request

Adds two variables to AI law boards, one for overriding laws which will replace all existing laws except law 0s and one for skipping the upload key one time.

Law boards this has been applied to is: Hacked, Death Squad, Clown Squad, and Ion law boards.

Why It's Good For The Game

Gives more options to subvert the AI of the station. As a traitor you can buy a hacked law board for three TC, this allows you to for example one-human yourself using only an upload console.

Death Squads and ERTs might actually use their boards they are given now as now it is as easy as breaking into upload and swiping the law board once to get full control of the AI.

Added a Clown Squad board for Syndicate Clowns just for fun. Could be given to Clown Ops and similar too but that's not included here.

Testing Photographs and Procedure

Screenshots&Videos Normal AI.

image

Cool AI.

image

Not so cool AI.

image

Silly AI.

image

Changelog

🆑
add: Added law and key override to Hacked, Death Squad, Clown Squad and Ion law boards.
balance: Added Clown Squad board for 4 TC to Syndicate Clowns.
balance: Law override will replace current laws.
balance: Key override will not require an upload key to upload the laws. This is a one-time use.
code: Law override will clear all laws except law 0.
code: Key override will set the inputted code to the correct one, this only works once per board.
/:cl:

Copy link
Member

@EvilDragonfiend EvilDragonfiend left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clown lawset should also give them an instruction of prank, or clowny activity, rather than fully dependent on clowns.
I am not sure about this PR tho, but lawset should be.

code/datums/ai_laws.dm Outdated Show resolved Hide resolved
@Liver-1
Copy link
Contributor

Liver-1 commented Sep 12, 2024

I like it when I manage to snipe the moment between the purge board and new laws, as it results in the rare unlawed AI.
Unlawed AI is so juicy RP-wise.

@MarkusLarsson421
Copy link
Contributor Author

Unless anyone has anything else to say, I would say this that this PR is ready.

@Rukofamicom Rukofamicom added the Balance Approved The balance of this PR has been approved label Sep 18, 2024
@Rukofamicom
Copy link
Contributor

Code seems fine from mobile, I give this my balance approval for sure though - making certain boards have a single-use bypass is fantastic.

Due to balance this will still need a second sign off

@MarkusLarsson421
Copy link
Contributor Author

Resolved EvilDragons requests.
image

@MarkusLarsson421
Copy link
Contributor Author

MarkusLarsson421 commented Oct 6, 2024

Resolved EvilDragons request part 2.
image

Once it has been used.
image

Copy link
Member

@EvilDragonfiend EvilDragonfiend left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

98% fine to merge. Soon™

name = "Clown Squad AI Board"
desc = "If the AI is ever on your butt, make it follow your word! (It won't make the AI go away from you on its own.)"
cost = 4
item = /obj/item/aiModule/syndicate
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wrong item path

Comment on lines +2143 to +2149
/datum/uplink_item/role_restricted/clown_squad
name = "Clown Squad AI Board"
desc = "If the AI is ever on your butt, make it follow your word! (It won't make the AI go away from you on its own.)"
cost = 4
item = /obj/item/aiModule/syndicate
restricted_roles = list(JOB_NAME_CLOWN)
surplus = 0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not certain if Clown squad can buy this. Afaik, clown squad doesn't actually have clown role in their mind. It will be easy to fix if that's true.

Comment on lines +33 to +34
if(key_override)
. += "\nInput upload code 666 to override the upload restriction. This is a single use override."
Copy link
Member

@EvilDragonfiend EvilDragonfiend Oct 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should have <span class>
and, is \n necessary?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is in examine, it doesn't need \n or a span (notice is applied to all examine texts)

@@ -29,6 +29,10 @@
var/input = stripped_input(user, "Please enter the Upload code.", "Uplode Code Check")
if(!GLOB.upload_code)
GLOB.upload_code = random_code(4)
var/use_key_override = FALSE
if(input == "666" && upload_module.key_override)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like this, just give them a popup instead that says 'do you want to override the upload key?'

@Rukofamicom
Copy link
Contributor

Due to personal circumstances, author has requested that all PRs be treated "as-is" for the time being.
Closing this one due to outstanding changes requested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants