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

TerraGov Inspector #2791

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
6 changes: 6 additions & 0 deletions Content.Shared/DeltaV/Roles/InspectorRole.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
using Content.Shared.Roles;

namespace Content.Shared.DeltaV.Roles;

[RegisterComponent]
public sealed partial class InspectorRoleComponent : BaseMindRoleComponent;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
inspector-round-end-agent-name = TerraGov Inspector

objective-issuer-terragov = [color=5b92e5]TerraGov[/color]

inspector-role-briefing =
Inspect the station, question staff on working conditions and find potential workplace hazards and healthcode violations.
Kr8art marked this conversation as resolved.
Show resolved Hide resolved

Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ ghost-role-information-recruiter-rules =

You are just a recruiter so do not act like a full-on antagonist, i.e. no killing people.

ghost-role-information-inspector-name = Inspector
ghost-role-information-inspector-description = You are a TerraGov Inspector sent to this station to make sure everything is in order.
ghost-role-information-inspector-rules =
You are here to take notes and report back as an impartial observer.
Kr8art marked this conversation as resolved.
Show resolved Hide resolved
Don't try to overthrow the chain of command.

ghost-role-information-silvia-name = Silvia
ghost-role-information-silvia-description = You are Silvia the space snake and the CMO's charming companion.
ghost-role-information-silvia-rules = Keep the medical team company and help out in emergencies with your omnizine venom. Stick close to the CMO in case they need emergency healing.
Expand Down
6 changes: 6 additions & 0 deletions Resources/Locale/en-US/deltav/inspector/inspector.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
inspector-round-end-agent-name-alt = TerraGov Inspector

inspector-role-briefing-alt =
Inspect the station, question SSSSSaffSSS on working conditions and find potential workplace hazards and healthcode violations.

objective-issuer-terragov-alt = [color=5b92e5]TerraGov[/color]
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
objective-inspecting-title = Make sure the station is in compliance with the law
Kr8art marked this conversation as resolved.
Show resolved Hide resolved

objective-keep-stamp-safe-title = Keep your stamp safe.
objective-keep-stamp-safe-description = Never let your unique inspector's stamp fall into the hands of someone else.
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ steal-target-groups-notary-stamp = notary stamp
steal-target-groups-silvia = silvia

steal-target-groups-recruiter-pen = recruiter's pen
steal-target-groups-inspector-stamp = inspector's stamp
1 change: 1 addition & 0 deletions Resources/Locale/en-US/deltav/paper/stamp-component.ftl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
stamp-component-stamped-name-notary = NOTARY
stamp-component-stamped-name-chiefjustice = Chief Justice
stamp-component-stamped-name-prosec = Prosecutor
stamp-component-stamped-name-terragov = TerraGov

1 change: 1 addition & 0 deletions Resources/Locale/en-US/job/job-description.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ job-description-scientist = Research alien artifacts, unlock new technologies, b
job-description-security = Catch criminals and enemies of the station, enforce the law, and ensure that the station does not fall into disarray.
job-description-serviceworker = Learn the basics of bartending, cooking, and growing plants.
job-description-station-ai = Follow your laws, serve the crew.
job-description-terragov-inspector = Inspect the station in the name of TerraGov.
job-description-visitor = Enjoy your visit to the station.
job-description-warden = Patrol the security department, ensure that no one is stealing from the armory, and make sure that all prisoners are processed and let out when their time is up.
job-description-zookeeper = Put on a joyful display of cute animals and space carps for all the crew to see. Currently available on Oasis.
1 change: 1 addition & 0 deletions Resources/Locale/en-US/job/job-names.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ job-name-ertjanitor = ERT Janitor
job-name-boxer = Boxer
job-name-zookeeper = Zookeeper
job-name-visitor = Visitor
job-name-terragov-inspector = TerraGov Inspector

# unused jobs
# these are required for the agent ID job icon tooltips
Expand Down
3 changes: 2 additions & 1 deletion Resources/Locale/en-US/job/job-supervisors.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ job-supervisors-medicine = Medical Doctors, Paramedics, Chemists, and the Chief
job-supervisors-security = Security Officers, the Warden, and the Head of Security
job-supervisors-science = Scientists and the Mystagogue
job-supervisors-hire = whoever hires you
job-supervisors-everyone = absolutely everyone
job-supervisors-everyone = absolutely everyone
job-supervisors-terragov = The Terran Government
20 changes: 17 additions & 3 deletions Resources/Prototypes/DeltaV/Entities/Clothing/Ears/headsets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
sprite: DeltaV/Clothing/Ears/Headsets/service.rsi
- type: Clothing
sprite: DeltaV/Clothing/Ears/Headsets/service.rsi

- type: entity
parent: ClothingHeadsetAltSyndicate
id: ClothingHeadsetAltSyndicateListening
Expand Down Expand Up @@ -79,7 +79,7 @@
state: icon_alt
- type: Clothing
sprite: DeltaV/Clothing/Ears/Headsets/justice.rsi

- type: entity
parent: ClothingHeadset
id: ClothingHeadsetPrison
Expand Down Expand Up @@ -112,4 +112,18 @@
sprite: Clothing/Ears/Headsets/security.rsi
- type: Clothing
sprite: Clothing/Ears/Headsets/security.rsi

- type: entity
parent: ClothingHeadset
id: ClothingHeadsetTerragov
name: terragov headset
description: Headset used by those with a direct line to the Terran Government.
components:
- type: ContainerFill
containers:
key_slots:
- EncryptionKeyCommon
- EncryptionKeyCommand
- type: Sprite
sprite: DeltaV/Clothing/Ears/Headsets/terragov.rsi
- type: Clothing
sprite: DeltaV/Clothing/Ears/Headsets/terragov.rsi
39 changes: 39 additions & 0 deletions Resources/Prototypes/DeltaV/Entities/Clothing/Head/hats.yml
Original file line number Diff line number Diff line change
Expand Up @@ -215,3 +215,42 @@
- type: Clothing
sprite: DeltaV/Clothing/Head/Hats/cj_toque.rsi

- type: entity
parent: ClothingHeadBase
id: ClothingHeadHatTerragov
name: terragov hat
description: A baby blue cap that struggles to get the respect it so desperately demands.
components:
- type: Sprite
sprite: DeltaV/Clothing/Head/Hats/terracap.rsi
- type: Clothing
sprite: DeltaV/Clothing/Head/Hats/terracap.rsi
- type: Tag
tags:
- ClothMade
- WhitelistChameleon
- HamsterWearable
- type: SentienceTarget
flavorKind: station-event-random-sentience-flavor-inanimate
weight: 0.0002 # 5,000 times less likely than 1 regular animal
- type: BlockMovement

- type: entity
parent: ClothingHeadBase
id: ClothingHeadHatBeretTerragov
name: terragov beret
description: A baby blue beret that struggles to get the respect it so desperately demands.
components:
- type: Sprite
sprite: DeltaV/Clothing/Head/Hats/beret_terragov.rsi
- type: Clothing
sprite: DeltaV/Clothing/Head/Hats/beret_terragov.rsi
- type: Tag
tags:
- ClothMade
- WhitelistChameleon
- HamsterWearable
- type: SentienceTarget
flavorKind: station-event-random-sentience-flavor-inanimate
weight: 0.0002 # 5,000 times less likely than 1 regular animal
- type: BlockMovement
Original file line number Diff line number Diff line change
Expand Up @@ -418,3 +418,18 @@
sprite: DeltaV/Clothing/Uniforms/Jumpsuit/cybersunattorney.rsi
- type: Clothing
sprite: DeltaV/Clothing/Uniforms/Jumpsuit/cybersunattorney.rsi

- type: entity
parent: ClothingUniformBase
id: ClothingUniformJumpsuitTerragov
name: terragov jumpsuit
description: A bright blue and very official looking jumpsuit that makes you feel patriotic just from looking at it!
components:
- type: Sprite
sprite: DeltaV/Clothing/Uniforms/Jumpsuit/terragov.rsi
- type: Clothing
sprite: DeltaV/Clothing/Uniforms/Jumpsuit/terragov.rsi
- type: Tag
tags:
- ClothMade
- WhitelistChameleon
Original file line number Diff line number Diff line change
Expand Up @@ -123,3 +123,30 @@
- !type:RoleTimeRequirement
role: JobChemist
time: 7200 # 2h chemist so you know how to make CH

- type: entity
categories: [ HideSpawnMenu, Spawner ]
Kr8art marked this conversation as resolved.
Show resolved Hide resolved
parent: BaseAntagSpawner
id: SpawnPointGhostInspector
name: inspector spawn point
components:
- type: GhostRole
name: ghost-role-information-inspector-name
description: ghost-role-information-inspector-description
rules: ghost-role-information-inspector-rules
requirements: # playtime requirements tbd by direction
Kr8art marked this conversation as resolved.
Show resolved Hide resolved
#- !type:OverallPlaytimeRequirement
#time: 86400 # 24h so you probably know some general lore or something
#- !type:RoleTimeRequirement
#role: JobLawyer
#time: 3600 # 1h as lawyer so you maybe know how to paperwork
addedComponents:
- type: MindShield
- type: AntagImmune
- type: TargetObjectiveImmune
- type: Sprite
sprite: Markers\jobs.rsi
layers:
- state: green
- state: inspector
sprite: DeltaV\Markers\jobs.rsi
39 changes: 39 additions & 0 deletions Resources/Prototypes/DeltaV/Entities/Objects/Devices/pda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,45 @@
- NewsReaderCartridge
- MailMetricsCartridge

- type: entity
parent: BasePDA
id: TerraGovPDA
name: terragov PDA
description: The hallmark of a true patriot.
components:
- type: Sprite
sprite: DeltaV/Objects/Devices/pda.rsi
layers:
- map: [ "enum.PdaVisualLayers.Base" ]
- state: "light_overlay"
map: [ "enum.PdaVisualLayers.Flashlight" ]
shader: "unshaded"
visible: false
- state: "id_overlay"
map: [ "enum.PdaVisualLayers.IdLight" ]
shader: "unshaded"
visible: false
- type: Pda
id: TerraGovIDCard
state: pda-terragov
penSlot:
startingItem: TerraGovPen
whitelist:
tags:
- Write
- type: PdaBorderColor
borderColor: "#5b92e5"
accentVColor: "#ffffff"
- type: Icon
sprite: DeltaV/Objects/Devices/pda.rsi
state: pda-terragov
- type: CartridgeLoader
preinstalled:
- CrewManifestCartridge
- NotekeeperCartridge
- NewsReaderCartridge
Comment on lines +222 to +226
Copy link
Contributor

Choose a reason for hiding this comment

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

This is redundant, you inherit these from the BasePDA.



## Alternate Job Titles

# Passenger
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,27 @@
- type: PresetIdCard
job: Courier

# TerraGov

- type: entity
parent: [IDCardStandard, BaseGrandTheftContraband]
id: TerraGovIDCard
name: terragov ID card
components:
- type: Sprite
layers:
- state: default
- state: idterragov
- type: Item
heldPrefix: default
Comment on lines +64 to +65
Copy link
Contributor

Choose a reason for hiding this comment

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

This is redundant due to the IDCardStandard parenting.

- type: PresetIdCard
job: TerraGovInspector
- type: Tag
tags:
- DoorBumpOpener
- WhitelistChameleon
- HighRiskItem

## Alternate Job Titles

# Passenger
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,17 @@
sprite: DeltaV/Objects/Misc/stamps.rsi
state: stamp-prosec

- type: entity
name: terragov rubber stamp
parent: RubberStampBase
id: RubberStampTerragov
suffix: DO NOT MAP
description: A rubber stamp for stamping important documents that carries an aura of self-importance.
components:
- type: Stamp
stampedName: stamp-component-stamped-name-terragov
stampedColor: "#5b92e5"
stampState: "paper_stamp-terragov"
- type: Sprite
sprite: DeltaV/Objects/Misc/stamps.rsi
state: stamp-terragov
41 changes: 41 additions & 0 deletions Resources/Prototypes/DeltaV/GameRules/unknown_shuttles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,44 @@
- Syndicate
mindRoles:
- MindRoleSynthesis

- type: entity
parent: BaseUnknownShuttleRule
id: Inspector
components:
- type: StationEvent
weight: 2
minimumPlayers: 20
maxOccurrences: 1
duration: null
- type: RuleGrids
- type: LoadMapRule
preloadedGrid: SyndieRecruiterShip
- type: AntagSpawner
prototype: MobHuman
- type: AntagObjectives
objectives:
- InspectorEscapeObjective
- InspectorKeepStampObjective
- type: AntagSelection
agentName: inspector-round-end-agent-name
definitions:
- spawnerPrototype: SpawnPointGhostInspector
min: 1
max: 1
pickPlayer: false
startingGear: InspectorGear
roleLoadout:
- RoleSurvivalStandard
components:
- type: RandomMetadata
nameSegments:
- fake_human_first
- fake_human_last
- type: RandomHumanoidAppearance
randomizeName: false
- type: NpcFactionMember
factions:
- NanoTrasen
mindRoles:
- MindRoleInspector
35 changes: 35 additions & 0 deletions Resources/Prototypes/DeltaV/Objectives/inspector.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
- type: entity
abstract: true
parent: BaseObjective
id: BaseInspectorObjective
components:
- type: Objective
difficulty: 0 # difficulty is unused
issuer: objective-issuer-terragov #[color=5b92e5]TerraGov[/color]
- type: RoleRequirement
roles:
mindRoles:
- InspectorRole

- type: entity
parent: [BaseInspectorObjective, EscapeShuttleObjective]
id: InspectorEscapeObjective
description: Get your report back to Central Command safely.

- type: entity
parent: [BaseInspectorObjective, BaseStealObjective]
id: InspectorKeepStampObjective
components:
- type: Objective
- type: StealCondition
objectiveNoOwnerText: objective-keep-stamp-safe-title
descriptionText: objective-keep-stamp-safe-description
verifyMapExistence: false
stealGroup: InspectorStamp

- type: stealTargetGroup
id: InspectorStamp
name: steal-target-groups-inspector-stamp
sprite:
sprite: DeltaV/Objects/Misc/stamps.rsi
state: stamp-terragov
Loading
Loading