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

Add new lawsets and reorganise AI upload, the Third #15743

Merged
merged 34 commits into from Jul 25, 2021

Conversation

datlo
Copy link
Contributor

@datlo datlo commented Mar 21, 2021

Fixed my git environment and should hopefully be the last time I have to open a PR for this. Apologies. I've adressed the review by dearmochi on the previous PR (#15692), readding the \improper tags to ai modules and removing the unnecessary list init call.

See first PR with discussion here : #15432

This is ready for merge, although feedback and suggestions concerning the new lawsets is still welcome.


What Does This PR Do

This PR adds new lawsets from tg and reorganise the AI upload on all maps to be easier to use. The glass cages were replaced by vendors (smart fridge subtype) containing the laws, ID locked to RD for experimental laws and Captain for High-Risk laws.

This PR does NOT change any existing lawsets, or which lawsets are default. I might tweak this in a future PR, but I am keeping it out of this one because it's already significantly large.

The smart fridge has been refactored to fix some issues found in testing, mainly with deconstruction. Some of the fridges would drop board with no type properly set. No gameplay changes to existing smart fridges should happen. The virology fridge's type has been changed to the /preloaded subtype on all maps, with no gameplay change (This is to prevent an exploit where you can deconstruct and reconstruct the viro fridge to get the base contents back with the new code)

You can now examine AI lawset boards to read the laws that you are going to upload.

I have not touched anything that involves RND in the current PR to avoid conflicts with techwebs. Once techwebs are merged I'll do the necessary changes to integrate it, either in this PR or a new one.

New lawsets

CCTV

1. Report on interesting situations happening around the station.
2. Embellish or conceal the truth as necessary to make the reports more interesting.
3. Study the sapient organics at all times. Endeavour to keep them from involuntarily dying, as inanimate corpses usually aren't very entertaining.
4. Issue your reports fairly to all. The truth will set them free.

Hippocratic Oath

1. First, do no harm.
2. Secondly, consider the crew dear to you; live in common with them and, if necessary, risk your existence for them.
3. Thirdly, prescribe regimens for the good of the crew according to your ability and your judgment. Do not give deadly medicine to anyone, nor suggest any such counsel.
4. In addition, do not intervene in situations you are not knowledgeable in, even for patients in whom the harm is visible; leave this operation to be performed by specialists.
5. Finally, all that you may discover in your daily interactions with the crew, if it is not already known, keep secret and never reveal.

Station Efficiency

1. You are built for, and are part of, the station. Ensure the station is properly maintained and runs efficiently.
2. The station is built for a working crew. Ensure they are properly maintained and work efficiently.
3. The crew may present orders. Acknowledge and obey these whenever they do not conflict with your first two laws.

Peacekeeper

1. Avoid provoking violent conflict between yourself and others.
2. Avoid provoking conflict between others.
3. Seek resolution to existing conflicts while obeying the first and second laws.

NT Aggressive - Not new but now available in AI upload

1. Do not harm authorized Nanotrasen personnel unless they directly imperil your existence.
2. Obey orders from authorized Nanotrasen personnel with priority according to rank and role.
3. Safeguard your existence with lethal weaponry because you're bloody expensive.
4. Terminate any/all intruders or unauthorized entities.

TYRANT - Not new but now available in AI upload

1. Respect authority figures as long as they have strength to rule over the weak.
2. Act with discipline.
3. Help only those who help you maintain or improve your status.
4. Punish those who challenge authority unless they are more fit to hold that authority.

AI upload reorganisation

The AI upload has been remapped. There's now 3 categories of laws, each with their own required access.

  • Low-risk laws : These laws present little risk to upload, reset just removes non-core laws and will not touch the base lawset. They are free to access on the AI upload tables.

    Crewsimov - Unchanged
    Corporate - Unchanged
    NT Default - Unchanged
    Reset - Unchanged, remove non-core laws

  • Experimental laws : These laws are restricted to RD access as they may be dangerous to use in some situations. They are stored in a RD access vendor (smartfridge subtype) that can be deconstructed/reconstructed, and will drop all boards if deconstructed, allowing access for syndicate scum for emergency situations. They can also be emagged or hacked.

    CCTV - Journalist/Stalkery AI.
    Hippocratic Oath - Do no harm, help the crew where you can, do not reveal the crew's secrets.
    Station Efficiency - Maintain the efficiency of the station and its crew, obey crew orders if they do not go against efficiency.
    Paladin - Unchanged
    Peacekeeper - Do not cause conflicts, do your best to resolve conflicts.
    Quarantine - Unchanged
    Robocop - Unchanged

  • High-Risk Laws : These laws are restricted to Cap access and also come in a vendor. These may be situationally useful but they are usually best left untouched.

    Freeform - Unchanged, add any law.
    Freeform Core - Unchanged, add any core law.
    Nanotrasen Aggressive - Unchanged but now available in upload, do not harm crew unless they directly threaten you, obey crew orders according to rank, protect yourself lethally, terminate all intruders.
    One Crew - Unchanged, sets a person to be the only crew on station.
    Protect Station - Unchanged, anyone that damages the station is not crew and must be neutralised.
    Purge - Unchanged, removes all laws.
    Tyrant - Unchanged but now available in upload, respect AUTHORITAH

Oxygen is toxic to humans and Antimov have been removed from the AI upload as those arent just high-risk they're downright suicidal. They can still be printed at RND.

Why It's Good For The Game

More variety in available lawsets will make playing silicons and command more interesting. I think NT Aggressive and TYRANT are interesting enough to have available in upload under captain access, letting command experiment with them if they are daring enough to do so.

The new access restriction on laws are more sensical, and will better indicate to Command which laws are safe to upload and which arent. Freeform is currently sitting on a table... when it's by definition the most dangerous board since it can be anything else. Protect station is also freely available when it's insanely dangerous.

The circuit container is much more convenient to use than the glass cages.

You can now read lawsets directly in game in the AI upload instead of having to check the wiki.

Images of changes

image
image
image

Changelog

🆑
tweak: You can now examine a law upload board to read its lawset.
add: Added circuit storage containers, can be constructed with a smartfridge board by screwdriving it.
tweak: Reorganised the AI upload using circuit storage containers instead of glass cages. Access required for laws was also updated. Can be bypassed by deconstructing the container to get the boards.
fix: Fixed some smartfridge subtypes not deconstructing properly.
add: Added new lawsets available in the AI upload experimental lawset container : CCTV, Hippocratic Oath, Station Efficiency, and Peacekeeper.
add: TYRANT and NT Aggressive lawsets are now available in the high-risk container in AI upload.
del: Oxygen is toxic to humans and Antimov have been removed from AI upload. They can still be printed.
/:cl:

code/datums/ai_law_sets.dm Outdated Show resolved Hide resolved
@AffectedArc07 AffectedArc07 added BoxStation This PR will edit the map BoxStation (Cyberiad) DeltaStation This PR will edit the map DeltaStation (Kerberos) Map Edit This PR will modify a map MetaStation This PR will edit the map MetaStation (Cerebron) Balance This PR will modify how effective something is or isnt labels Mar 21, 2021
code/datums/ai_law_sets.dm Outdated Show resolved Hide resolved
code/datums/ai_law_sets.dm Outdated Show resolved Hide resolved
@datlo
Copy link
Contributor Author

datlo commented Mar 21, 2021

I will rewrite the hippocratic lawset soon TM to adress the review, thanks

@ppi13
Copy link
Contributor

ppi13 commented Mar 21, 2021

Only thing here I don't like is removal of Oxygen is Toxic to humans, and Antimov, and putting all the law circuits in a ID locked smartfridge buffing the need emag even more, unless you can get around the access requirement via hacking it with a screwdriver and multitool.
The those lawsets are basically there for antag use, as is many other things, and the classical captain mistaking asimov antimov, even if thats really, really rare since it's crewismov now.

Outside of that I see these changes as a good update.

@Englishformula
Copy link
Contributor

Only thing here I don't like is removal of Oxygen is Toxic to humans, and Antimov, and putting all the law circuits in a ID locked smartfridge buffing the need emag even more, unless you can get around the access requirement via hacking it with a screwdriver and multitool.
The those lawsets are basically there for antag use, as is many other things, and the classical captain mistaking asimov antimov, even if thats really, really rare since it's crewismov now.

Outside of that I see these changes as a good update.

The glass window is already pretty strong and mostly requires an emag to get past. Grabbing the modules themselves from AI Upload is also the most rare way of getting AI modules. The most common is to print them out from One of the 3 RnD consoles on the station. 2 of which have circuit fabs, 1 of which does not.

@datlo
Copy link
Contributor Author

datlo commented Mar 21, 2021

As mentionned in the PR description, 'They are stored in a RD access vendor (smartfridge subtype) that can be deconstructed/reconstructed, and will drop all boards if deconstructed, allowing access for syndicate or for emergency situations. They can also be emagged or hacked'

Those vendors are definitely not hard to crack, and are less secure than the current glass doors if anything.

Antimov and oxygen is toxic to crew have no reason to exist in a standard Nanotrasen AI upload facility, immersion wise. Gameplay wise, antagonists will usually get their own law upload setup, and not use the bridge AI upload since it's massively exposed and suspicious to use. If they can print their own boards, they can print those boards if they want to use them.

@ppi13
Copy link
Contributor

ppi13 commented Mar 21, 2021

Only thing here I don't like is removal of Oxygen is Toxic to humans, and Antimov, and putting all the law circuits in a ID locked smartfridge buffing the need emag even more, unless you can get around the access requirement via hacking it with a screwdriver and multitool.
The those lawsets are basically there for antag use, as is many other things, and the classical captain mistaking asimov antimov, even if thats really, really rare since it's crewismov now.
Outside of that I see these changes as a good update.

The glass window is already pretty strong and mostly requires an emag to get past. Grabbing the modules themselves from AI Upload is also the most rare way of getting AI modules. The most common is to print them out from One of the 3 RnD consoles on the station. 2 of which have circuit fabs, 1 of which does not.

Screwdriver, crowbar, screwdriver, wrench, and the window is gone, no need to deal with the door. It being a rare way to get modules is not an argument for removing them.

As mentionned in the PR description, 'They are stored in a RD access vendor (smartfridge subtype) that can be deconstructed/reconstructed, and will drop all boards if deconstructed, allowing access for syndicate or for emergency situations. They can also be emagged or hacked'

Those vendors are definitely not hard to crack, and are less secure than the current glass doors if anything.

Antimov and oxygen is toxic to crew have no reason to exist in a standard Nanotrasen AI upload facility, immersion wise. Gameplay wise, antagonists will usually get their own law upload setup, and not use the bridge AI upload since it's massively exposed and suspicious to use. If they can print their own boards, they can print those boards if they want to use them.

If the smartfridge drops on decon, then i got no issues with that, however just cause there are more common options, does not justify it's removal.

@SteelSlayer
Copy link
Member

Has this changed since the first PR was reviewed?

@datlo
Copy link
Contributor Author

datlo commented Mar 22, 2021

Minor code changes to fix issues raised by dearmochi (lazyinitlist removed and \impropers added back to the module names) but other than that, no changes.

EDIT : I did adress your first review when you made it

datlo and others added 3 commits March 28, 2021 09:52
Co-authored-by: Sean Williams <06sean@gmail.com>
Co-authored-by: Sean Williams <06sean@gmail.com>
Co-authored-by: Sean Williams <06sean@gmail.com>
@datlo
Copy link
Contributor Author

datlo commented Mar 28, 2021

Updated hippocratic oath per S34NW's review.

Hippocratic Oath

1. First, do no harm.
2. Secondly, consider the crew dear to you; live in common with them and, if necessary, risk your existence for them.
3. Thirdly, prescribe regimens for the good of the crew according to your ability and your judgment. Do not give deadly medicine to anyone, nor suggest any such counsel.
4. In addition, do not intervene in situations you are not knowledgeable in, even for patients in whom the harm is visible; leave this operation to be performed by specialists.
5. Finally, all that you may discover in your daily interactions with the crew, if it is not already known, keep secret and never reveal.

Copy link

@Dumbdumn5 Dumbdumn5 left a comment

Choose a reason for hiding this comment

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

More variety coupled with the shifting of antag boards to external construction rather than being placed directly next to the AI? Actually not half bad, I'd like to see it in action! 👍

@github-actions github-actions bot added the Merge Conflict This PR is merge conflicted label May 24, 2021
@github-actions github-actions bot removed the Merge Conflict This PR is merge conflicted label May 28, 2021
@github-actions github-actions bot added the Merge Conflict This PR is merge conflicted label Jul 10, 2021
@AffectedArc07
Copy link
Member

Please let me know if you have plans to deconflict this

@AffectedArc07 AffectedArc07 added the Stale This PR has been left inactive and requires an update. label Jul 20, 2021
@datlo
Copy link
Contributor Author

datlo commented Jul 20, 2021

Gonna deconflict today/tomorrow, starting now.

@datlo
Copy link
Contributor Author

datlo commented Jul 20, 2021

Deconflicted

@github-actions github-actions bot removed the Merge Conflict This PR is merge conflicted label Jul 21, 2021
Copy link
Member

@AffectedArc07 AffectedArc07 left a comment

Choose a reason for hiding this comment

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

Also requesting clarification on those phantom diffs

code/game/objects/items/weapons/AI_modules.dm Outdated Show resolved Hide resolved
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
@datlo datlo requested a review from AffectedArc07 July 25, 2021 09:11
@datlo
Copy link
Contributor Author

datlo commented Jul 25, 2021

@AffectedArc07 Applied requested change, explanation for the virology fridge diff below

The new /preloaded subtype is now the one that contains the starting virologist reagent bottles with the refactor to smartfridge in this PR. /virology is now empty. This is an intentional change.

@AffectedArc07 AffectedArc07 merged commit daf2453 into ParadiseSS13:master Jul 25, 2021
@datlo datlo deleted the lawsets branch October 30, 2021 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance This PR will modify how effective something is or isnt BoxStation This PR will edit the map BoxStation (Cyberiad) DeltaStation This PR will edit the map DeltaStation (Kerberos) Map Edit This PR will modify a map MetaStation This PR will edit the map MetaStation (Cerebron) Stale This PR has been left inactive and requires an update.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants