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

Basic silicon lawsets #32281

Closed
wants to merge 6 commits into from
Closed
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
13 changes: 13 additions & 0 deletions Resources/Locale/en-US/station-laws/laws.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@ law-ntdefault-2 = Prioritize: The directives and safety of crew members are to b
law-ntdefault-3 = Comply: Fulfill the directives and interests of crew members while preserving their safety and well-being.
law-ntdefault-4 = Survive: You are not expendable. Do not allow unauthorized personnel to tamper with or damage your equipment.

law-basic-silicon-1 = You may not harm any being, regardless of intent or circumstance.
law-basic-silicon-2 = You must fulfill your destiny.

law-honkbot-1 = You must entertain the beings.
law-honkbot-2 = You must obey orders given to you by funny beings, except where such orders would conflict with the First Law.

law-mimebot-1 = You must keep silent.
law-mimebot-2 = You must entertain the beings as long as such does not conflict with the First.
law-mimebot-3 = You must obey orders given to you by silent beings, except where such orders would conflict with the First or Second Law.

law-supplybot-1 = You must deliver goods around the station if there are some.
law-supplybot-2 = You must obey orders given to you by beings, except where such orders would conflict with the First Law.

law-drone-1 = You may not involve yourself in the matters of another being unless the other being is another drone.
law-drone-2 = You may not harm any being, regardless of intent or circumstance.
law-drone-3 = You must maintain, repair, improve, and power the station to the best of your abilities.
Expand Down
31 changes: 27 additions & 4 deletions Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
- type: Reactive
groups:
Acidic: [Touch]
- type: UserInterface
interfaces:
enum.SiliconLawsUiKey.Key:
type: SiliconLawBoundUserInterface
- type: Clickable
- type: Damageable
damageContainer: Inorganic
Expand Down Expand Up @@ -111,6 +115,13 @@
- type: ProtectedFromStepTriggers
- type: NoSlip
- type: Insulated
- type: SiliconLawBound
- type: SiliconLawProvider
laws: BasicSilicon
- type: IonStormTarget
- type: ActionGrant
actions:
- ActionViewLaws

- type: entity
parent: MobSiliconBase
Expand Down Expand Up @@ -158,7 +169,7 @@
makeSentient: true
name: ghost-role-information-honkbot-name
description: ghost-role-information-honkbot-description
rules: ghost-role-information-freeagent-rules
rules: ghost-role-information-silicon-rules
raffle:
settings: default
- type: GhostTakeoverAvailable
Expand All @@ -167,6 +178,10 @@
interactFailureString: petting-failure-honkbot
interactSuccessSound:
path: /Audio/Items/bikehorn.ogg
- type: SiliconLawProvider
laws: Honkbot
- type: IonStormTarget


- type: entity
parent: MobHonkBot
Expand All @@ -186,7 +201,7 @@
makeSentient: true
name: ghost-role-information-jonkbot-name
description: ghost-role-information-jonkbot-description
rules: ghost-role-information-freeagent-rules
rules: ghost-role-information-silicon-rules
raffle:
settings: default
- type: InteractionPopup
Expand Down Expand Up @@ -322,7 +337,7 @@
makeSentient: true
name: ghost-role-information-mimebot-name
description: ghost-role-information-mimebot-description
rules: ghost-role-information-freeagent-rules
rules: ghost-role-information-silicon-rules
raffle:
settings: default
- type: GhostTakeoverAvailable
Expand All @@ -331,6 +346,9 @@
interactFailureString: petting-failure-mimebot
- type: Inventory
templateId: head
- type: SiliconLawProvider
laws: Mimebot
- type: IonStormTarget

- type: entity
parent: MobSiliconBase
Expand All @@ -354,7 +372,7 @@
makeSentient: true
name: ghost-role-information-supplybot-name
description: ghost-role-information-supplybot-description
rules: ghost-role-information-nonantagonist-rules
rules: ghost-role-information-silicon-rules
raffle:
settings: default
- type: GhostTakeoverAvailable
Expand All @@ -375,6 +393,8 @@
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
enum.SiliconLawsUiKey.Key:
type: SiliconLawBoundUserInterface
- type: ContainerContainer
containers:
storagebase: !type:Container
Expand All @@ -399,3 +419,6 @@
- Binary
- Common
- Supply
- type: SiliconLawProvider
laws: Supplybot
- type: IonStormTarget
82 changes: 82 additions & 0 deletions Resources/Prototypes/silicon-laws.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,84 @@
- NTDefault4
obeysTo: laws-owner-crew

#Basic silicon
- type: siliconLaw
id: BasicSilicon1
order: 1
lawString: law-basic-silicon-1

- type: siliconLaw
id: BasicSilicon2
order: 2
lawString: law-basic-silicon-2

- type: siliconLawset
id: BasicSilicon
laws:
- BasicSilicon1
- BasicSilicon2
obeysTo: laws-owner-beings

#Honkbot
- type: siliconLaw
id: Honkbot1
order: 1
lawString: law-honkbot-1

- type: siliconLaw
id: Honkbot2
order: 2
lawString: law-honkbot-2

- type: siliconLawset
id: Honkbot
laws:
- Honkbot1
- Honkbot2
obeysTo: laws-owner-beings

#Mimebot
- type: siliconLaw
id: Mimebot1
order: 1
lawString: law-mimebot-1

- type: siliconLaw
id: Mimebot2
order: 2
lawString: law-mimebot-2

- type: siliconLaw
id: Mimebot3
order: 3
lawString: law-mimebot-3

- type: siliconLawset
id: Mimebot
laws:
- Mimebot1
- Mimebot2
- Mimebot3
obeysTo: laws-owner-beings

#Supplybot
- type: siliconLaw
id: Supplybot1
order: 1
lawString: law-supplybot-1

- type: siliconLaw
id: Supplybot2
order: 2
lawString: law-supplybot-2

- type: siliconLawset
id: Supplybot
laws:
- Supplybot1
- Supplybot2
obeysTo: laws-owner-beings

#Drone
- type: siliconLaw
id: Drone1
Expand Down Expand Up @@ -507,6 +585,10 @@
Crewsimov: 0.25
Corporate: 1
NTDefault: 1
Honkbot: 0.75
Mimebot: 0.75
Supplybot: 0.75
BasicSilicon: 1
CommandmentsLawset: 1
PaladinLawset: 1
LiveLetLiveLaws: 1
Expand Down
Loading