Skip to content

Commit

Permalink
Merge branch 'DeltaV-Station:master' into PrescHudFix
Browse files Browse the repository at this point in the history
  • Loading branch information
DarkenedSynergy authored Aug 4, 2024
2 parents 349bba6 + 9232e32 commit 7d19f3d
Show file tree
Hide file tree
Showing 10 changed files with 2,299 additions and 0 deletions.
6 changes: 6 additions & 0 deletions Content.Shared/DeltaV/Roles/SynthesisRole.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, ExclusiveAntagonist]
public sealed partial class SynthesisRoleComponent : AntagonistRoleComponent;
8 changes: 8 additions & 0 deletions Resources/Changelog/DeltaVChangelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3195,3 +3195,11 @@
id: 460
time: '2024-07-31T04:54:22.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/1501
- author: Lyndomen & Fox
changes:
- message: Interdyne has begun sending Synthesis Specialists to bargain with the
station!
type: Add
id: 461
time: '2024-08-04T00:19:25.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/1530
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,12 @@ ghost-role-information-recruiter-rules =
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.
ghost-role-information-synthesis-name = Synthesis Specialist
ghost-role-information-synthesis-description = You are a member of Interdyne Pharmaceutics! You are provided all the tools to manufacture a variety of medical cocktails. Establish your craft, peddle your poisons, and make profit.
ghost-role-information-synthesis-rules =
Brew deadly poisons, marvelous medicines, and anything in between.
Sell your concoctions to local agents, crew, and anyone with supplies.
Stay on your ship, it is your lifeblood!
You are just a chemist so do not act like a full-on antagonist, i.e. no killing people yourself unless your ship is in danger.
1 change: 1 addition & 0 deletions Resources/Locale/en-US/deltav/synthesis/synthesis.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
synthesis-round-end-agent-name = Synthesis Specialist
2,151 changes: 2,151 additions & 0 deletions Resources/Maps/Shuttles/DeltaV/synthesis_ship.yml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,19 @@
- state: green
- sprite: DeltaV/Objects/Misc/recruiter_pen.rsi
state: empty

- type: entity
noSpawn: true
parent: BaseAntagSpawner
id: SpawnPointGhostSynthesis
components:
- type: GhostRole
name: ghost-role-information-synthesis-name
description: ghost-role-information-synthesis-description
rules: ghost-role-information-synthesis-rules
requirements: # keep in sync with the antag prototype
- !type:OverallPlaytimeRequirement
time: 86400 # 24h so you probably know some general lore or something
- !type:RoleTimeRequirement
role: JobChemist
time: 7200 # 2h chemist so you know how to make CH
42 changes: 42 additions & 0 deletions Resources/Prototypes/DeltaV/GameRules/events.yml
Original file line number Diff line number Diff line change
Expand Up @@ -207,3 +207,45 @@
prototype: Recruiter
- type: RoleBriefing
briefing: Find candidates, conduct interviews and seal the deal by having them sign with your special recruiter's pen.

- type: entity
parent: BaseGameRule
id: SynthesisSpecialist
components:
- type: StationEvent
weight: 4
minimumPlayers: 20
maxOccurrences: 1
duration: 1
- type: RuleGrids
- type: LoadMapRule
preloadedGrid: SyndieSynthesisShip
- type: AntagSpawner
prototype: MobHuman
- type: AntagObjectives
objectives:
- SynthesisSurviveObjective
- SynthesisPrescribeObjective
- type: AntagSelection
agentName: synthesis-round-end-agent-name
definitions:
- spawnerPrototype: SpawnPointGhostSynthesis
min: 2
max: 2
pickPlayer: false
startingGear: SyndicateSynthesisGear
components:
- type: RandomMetadata
nameSegments:
- fake_human_first
- fake_human_last
- type: RandomHumanoidAppearance
randomizeName: false
- type: NpcFactionMember
factions:
- Syndicate
mindComponents:
- type: SynthesisRole
prototype: SynthesisSpecialist
- type: RoleBriefing
briefing: You are Interdyne's Synthesis Specialist! Prescribe deadly medications, barter your goods, and make a killing.
33 changes: 33 additions & 0 deletions Resources/Prototypes/DeltaV/Objectives/synthesis_specialist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
- type: entity
abstract: true
parent: BaseTraitorObjective
id: BaseSynthesisObjective
components:
- type: Objective
difficulty: 0 # difficulty is unused
- type: RoleRequirement
roles:
components:
- SynthesisRole

- type: entity
parent: [BaseSynthesisObjective, BaseSurviveObjective]
id: SynthesisSurviveObjective
description: Survive to sell off your goods another day!
name: Survive and Prosper
components:
- type: Objective
icon:
sprite: Objects/Storage/Briefcases/briefcase_brown.rsi
state: icon

- type: entity
parent: [BaseSynthesisObjective, BaseSurviveObjective]
id: SynthesisPrescribeObjective
description: Sell your finest potions, craft nefarious concoctions, and peddle them to the highest bidder.
name: Profit and Synthesis
components:
- type: Objective
icon:
sprite: Objects/Specific/Chemistry/chem_bag.rsi
state: icon
29 changes: 29 additions & 0 deletions Resources/Prototypes/DeltaV/Roles/Antags/synthesis_specialist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
- type: antag
id: SynthesisSpecialist
name: roles-antag-syndicate-sythesis-name
objective: roles-antag-syndicate-synthesis-objective
antagonist: true # making poisions and shit on demand is evil
requirements:
- !type:OverallPlaytimeRequirement
time: 86400 # 24h so you probably know some general lore or something
- !type:RoleTimeRequirement
role: JobChemist
time: 7200 # 2h chemist so you know how to make CH

- type: startingGear
id: SyndicateSynthesisGear
equipment:
jumpsuit: ClothingUniformJumpsuitSyndieFormal
jumpskirt: ClothingUniformJumpskirtSyndieFormalDress
back: ClothingBackpackChemistryFilled
belt: ChemBag
eyes: ClothingEyesGlassesChemical
gloves: ClothingHandsGlovesChemist
outerClothing: ClothingOuterCoatLabChem
shoes: ClothingShoesEnclosedChem
id: SyndiPDA
ears: ClothingHeadsetAltSyndicate
pocket1: HandLabeler
pocket2: RubberStampSyndicate
mask: ClothingMaskNeckGaiter
head: ClothingHeadHatSyndie
4 changes: 4 additions & 0 deletions Resources/Prototypes/DeltaV/Shuttles/synthesis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- type: preloadedGrid
id: SyndieSynthesisShip
path: /Maps/Shuttles/DeltaV/synthesis_ship.yml
copies: 1

0 comments on commit 7d19f3d

Please sign in to comment.