diff --git a/Content.Client/Nyanotrasen/Abilities/Psionics/TelegnosisPowerSystem.cs b/Content.Client/Nyanotrasen/Abilities/Psionics/TelegnosisPowerSystem.cs new file mode 100644 index 00000000000..8ddc15347cf --- /dev/null +++ b/Content.Client/Nyanotrasen/Abilities/Psionics/TelegnosisPowerSystem.cs @@ -0,0 +1,5 @@ +using Content.Shared.Abilities.Psionics; + +namespace Content.Client.Abilities.Psionics; + +public sealed class TelegnosisPowerSystem : SharedTelegnosisPowerSystem; diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs b/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs index f7ae04b61ea..a1831fef34e 100644 --- a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs +++ b/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs @@ -9,7 +9,7 @@ namespace Content.Server.Abilities.Psionics { - public sealed class TelegnosisPowerSystem : EntitySystem + public sealed class TelegnosisPowerSystem : SharedTelegnosisPowerSystem { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly StatusEffectsSystem _statusEffects = default!; diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/SharedTelegnosisPowerSystem.cs b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/SharedTelegnosisPowerSystem.cs new file mode 100644 index 00000000000..5fec9cc9317 --- /dev/null +++ b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/SharedTelegnosisPowerSystem.cs @@ -0,0 +1,19 @@ +using Content.Shared.Interaction.Events; + +namespace Content.Shared.Abilities.Psionics; + +public abstract class SharedTelegnosisPowerSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnInteractionAttempt); + } + + private void OnInteractionAttempt(Entity ent, ref InteractionAttemptEvent args) + { + // no astrally stealing someones shoes + args.Cancelled = true; + } +} diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs index 51958822a41..d794f2e00ce 100644 --- a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs +++ b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs @@ -5,7 +5,7 @@ namespace Content.Shared.Abilities.Psionics { - [RegisterComponent] + [RegisterComponent, Access(typeof(SharedTelegnosisPowerSystem))] public sealed partial class TelegnosisPowerComponent : Component { [DataField("prototype")] @@ -20,4 +20,4 @@ public sealed partial class TelegnosisPowerComponent : Component [DataField("telegnosisActionEntity")] public EntityUid? TelegnosisActionEntity; } -} \ No newline at end of file +} diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs index 9d627cb42d8..8de2b046d8f 100644 --- a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs +++ b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs @@ -1,6 +1,4 @@ -namespace Content.Shared.Abilities.Psionics -{ - [RegisterComponent] - public sealed partial class TelegnosticProjectionComponent : Component - {} -} \ No newline at end of file +namespace Content.Shared.Abilities.Psionics; + +[RegisterComponent, Access(typeof(SharedTelegnosisPowerSystem))] +public sealed partial class TelegnosticProjectionComponent : Component; diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 9db95f74160..68f83a8df96 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,16 +1,4 @@ Entries: -- author: ps3moira - changes: - - message: Removed bionic syrinx implanter from surplus crate. - type: Remove - id: 163 - time: '2023-12-11T23:11:41.0000000+00:00' -- author: ps3moira - changes: - - message: Removed Carpotoxin from Sashimi, now they are sushi-grade! - type: Remove - id: 164 - time: '2023-12-13T20:12:46.0000000+00:00' - author: Adrian16199 changes: - message: Crew has learned how to make a straw hat out of wheat bushels! @@ -3718,3 +3706,17 @@ id: 662 time: '2024-11-09T13:16:44.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2143 +- author: deltanedas + changes: + - message: Fixed telegnostic projections being able to interact with things. + type: Tweak + id: 663 + time: '2024-11-09T19:27:59.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2117 +- author: Unkn0wnGh0st333 + changes: + - message: Synthesis Specialist ghost rules have been slightly adjusted. + type: Tweak + id: 664 + time: '2024-11-09T19:44:28.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2152 diff --git a/Resources/Locale/en-US/deltav/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/deltav/ghost/roles/ghost-role-component.ftl index 6923ae4105b..232f4ed6bae 100644 --- a/Resources/Locale/en-US/deltav/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/deltav/ghost/roles/ghost-role-component.ftl @@ -30,12 +30,13 @@ ghost-role-information-silvia-rules = Keep the medical team company and help out 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 a [color=yellow][bold]Free-Agent[/bold][/color]. You are free to act as either an antagonist or a non-antagonist. 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. + Brew deadly poisons, marvelous medicines, and anything in between. + Sell your concoctions to [color=red]local agents[/color], crew, and anyone with supplies. + Stay on your ship; it is your job, home, and lifeblood. + ghost-role-information-closet-skeleton-rules = You are a old member of the station, try to get your previous job back or dwell in the maintenance tunnels!. You are a [color=green][bold]Non-antagonist[/bold][/color]. You should generally not seek to harm the station and its crew. You're allowed some minor mischief. diff --git a/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/engine.yml b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/engine.yml new file mode 100644 index 00000000000..252d5762ffd --- /dev/null +++ b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/engine.yml @@ -0,0 +1,45 @@ +- type: entity + parent: CrateEngineering + id: CrateEngineEssentials + name: engine essentials crate + description: Everything you need to power the station, in a superposition of containing both a singularity and a tesla. + suffix: 1 per map MAX + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:GroupSelector + children: + - !type:NestedSelector + tableId: TeslaEssentials + - !type:NestedSelector + tableId: SingularityEssentials + +- type: entityTable + id: TeslaEssentials + table: !type:AllSelector + children: + - id: TeslaGeneratorFlatpack + - id: TeslaGeneratorFlatpack + prob: 0.3 # Small chance of a free backup + - id: TeslaCoilFlatpack + amount: !type:RangeNumberSelector + range: 4, 6 + - id: TeslaGroundingRodFlatpack + amount: !type:ConstantNumberSelector + value: 4 + +- type: entityTable + id: SingularityEssentials + table: !type:AllSelector + children: + - id: SingularityGeneratorFlatpack + - id: SingularityGeneratorFlatpack + prob: 0.3 # Small chance of a free backup + # intentionally separate rolls so they are probably mismatched + # you might get spare tanks you might have to get more from the tank dispenser + - id: RadiationCollectorFlatpack + amount: !type:RangeNumberSelector + range: 8, 12 + - id: PlasmaTankFilled + amount: !type:RangeNumberSelector + range: 8, 12 diff --git a/Resources/Prototypes/DeltaV/Entities/Structures/Wallmounts/Signs/signs.yml b/Resources/Prototypes/DeltaV/Entities/Structures/Wallmounts/Signs/signs.yml index 3b5329e230c..db571aa635d 100644 --- a/Resources/Prototypes/DeltaV/Entities/Structures/Wallmounts/Signs/signs.yml +++ b/Resources/Prototypes/DeltaV/Entities/Structures/Wallmounts/Signs/signs.yml @@ -38,4 +38,12 @@ sprite: DeltaV/Structures/Wallmounts/signs.rsi state: direction_court - +- type: entity + parent: BaseSignDirectional + id: SignDirectionaAI + name: AI sign + description: A direction sign, pointing out which way the AI core is. + components: + - type: Sprite + sprite: DeltaV/Structures/Wallmounts/signs.rsi + state: direction_aicore diff --git a/Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/direction_aicore.png b/Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/direction_aicore.png new file mode 100644 index 00000000000..226a7995789 Binary files /dev/null and b/Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/direction_aicore.png differ diff --git a/Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/meta.json b/Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/meta.json index 13aab65cbce..08393f464a3 100644 --- a/Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/meta.json +++ b/Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/meta.json @@ -23,6 +23,10 @@ "name": "direction_justice", "directions": 4 }, + { + "name": "direction_aicore", + "directions": 4 + }, { "name": "chapel" }