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

A variant of a working capsule of nuke ops #29683

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

BeatusCrow
Copy link

@BeatusCrow BeatusCrow commented Jul 3, 2024

About the PR

In this PR, I propose an option that will make it possible to use a capsule located at the base of nuclear operatives

Why / Balance

This will give you the opportunity to storm the station with the help of new tactics... And it will be interesting.
There are two possible outcomes when using the capsule:

  • If war has been declared, then the capsule will move silently
  • If war has not been declared, then the threat level at the station will rise to red + central command will inform you about the movement and approximate coordinates of the capsule's arrival + the movement process will take 12 seconds

Technical details

The object for teleportation is determined by two beacons that are diagonally opposite. It is enough to place 2 points on the current base of nuclear operatives for everything to start working... But I still suggest the option of creating a new capsule, which will be located on tiles of the "plating" type, because this, taking into account my code, will not make it possible to teleport any boxes outside the capsule...

Media

Breaking changes

Content.Server\NukeOps\WarDeclaratorSystem.cs

  • add: Added lines that change the operating mode of the nuclear operatives capsule to "silent"

Changelog

🆑 BeatusCrow

  • add: A working capsule of nuclear operatives
  • add: The ability to use this console for other teleportations (at the discretion of the admins)

@github-actions github-actions bot added Changes: UI Changes: Might require knowledge of UI design or code. Changes: Sprites Changes: Might require knowledge of spriting or visual design. labels Jul 3, 2024
Copy link
Contributor

github-actions bot commented Jul 3, 2024

RSI Diff Bot; head commit d7ea5e5 merging into 1faa1b5
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Markers/droppod.rsi

State Old New Status
drop_pod_lighthouse Added
drop_pod_point Added
drop_pod_point_brig Added
drop_pod_point_cap Added
drop_pod_point_cargo Added
drop_pod_point_eng Added
drop_pod_point_med Added
drop_pod_point_rd Added
drop_pod_point_sal Added

Resources/Textures/Objects/Specific/Syndicate/droppodconsole.rsi

State Old New Status
console Added
icon Added

Edit: diff updated after d7ea5e5

@ElPidor

This comment was marked as spam.

@Djungelskog2
Copy link

I think there needs to be a marker that appears to dictate where its landing so you dont get squashed
Also an explosion would be nice instead of a silent blip

@Hrosts
Copy link
Contributor

Hrosts commented Jul 3, 2024

Are there cuts in the videos? It looks like the teleportation is happening instantly (as opposed to the claimed 12 seconds) when you close the console window.

Copy link
Contributor

@metalgearsloth metalgearsloth left a comment

Choose a reason for hiding this comment

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

This shouldn't require manually mapping points and please read the conventions guide as a lot of this is out of date.

@metalgearsloth metalgearsloth added the S: Awaiting Changes Status: Changes are required before another review can happen label Jul 3, 2024
namespace Content.Server.DropPod
{
[RegisterComponent]
public sealed partial class DropPodLighthouseComponent : Component
Copy link
Contributor

Choose a reason for hiding this comment

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

A lighthouse is a маяк which stands by the sea, you need beacon

Copy link
Author

Choose a reason for hiding this comment

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

Thanks for explaining. I fixed it.

@@ -0,0 +1,3 @@
droppod-console-ui-window = DropPod Console
droppod-console-ui-refresh-points = Update the list of landing points
droppod-console-ui-start-landing = Start disembarking
Copy link
Contributor

Choose a reason for hiding this comment

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

Should be "Launch" or "Start launch sequence" or something similar. "Disembarking" is used for people, not objects.

Copy link
Author

Choose a reason for hiding this comment

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

I fixed it.

public bool Announcement = true;

[DataField("text")]
public string Text = "Attention! A hostile corporation is trying to move an object to your station... The travel time is 12 seconds. The approximate coordinates of the movement are as follows: ";
Copy link
Contributor

Choose a reason for hiding this comment

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

These kinds of announcements (e.g. Space Dragon rifts) now use the approximate location, as coordinates don't tell much to most players. Also I think such things usually go into ftl files, but I'm a dilettante in this.

Copy link
Author

Choose a reason for hiding this comment

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

So in this ad there will be an approximate location, because the exact coordinates will be determined later by adding a scatter radius

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, this should use a LocId string.

Also, the time shouldn't be written into the string. It should be passed as a variable that can be placed in the string by the localization system.

@BeatusCrow
Copy link
Author

Are there cuts in the videos? It looks like the teleportation is happening instantly (as opposed to the claimed 12 seconds) when you close the console window.

Look at the code. There, the time depends on the console component. The admin console has teleportation for only 1 second

@BeatusCrow
Copy link
Author

I think there needs to be a marker that appears to dictate where its landing so you dont get squashed Also an explosion would be nice instead of a silent blip

So the situation with the crushed captain is more interesting... no?

@Djungelskog2
Copy link

I think there needs to be a marker that appears to dictate where its landing so you dont get squashed Also an explosion would be nice instead of a silent blip

So the situation with the crushed captain is more interesting... no?

I just dont imagine it being fun for anyone aside from the nukies or ghosts at the very least, infuriating at most

@BeatusCrow
Copy link
Author

I think there needs to be a marker that appears to dictate where its landing so you dont get squashed Also an explosion would be nice instead of a silent blip

So the situation with the crushed captain is more interesting... no?

I just dont imagine it being fun for anyone aside from the nukies or ghosts at the very least, infuriating at most

You're probably right. I'll add this

@Hrosts
Copy link
Contributor

Hrosts commented Jul 3, 2024

Look at the code. There, the time depends on the console component. The admin console has teleportation for only 1 second

Okay. I think the launch button should become permanently green/grey at launch, for better user feedback.

@ps3moira
Copy link
Contributor

ps3moira commented Jul 3, 2024

I love this, will there be a FTL phase and sound effects added to it in the future?

@BeatusCrow
Copy link
Author

I love this, will there be a FTL phase and sound effects added to it in the future?

Actually, I wanted to add.

@Catdere
Copy link

Catdere commented Jul 9, 2024

Uh i dont know if this is still being worked on. But i think it would be a better idea to have its launch points be based on station beacons because they should be mapped onto every station and they make it very clear where youre going to land.

@BeatusCrow
Copy link
Author

BeatusCrow commented Jul 10, 2024

Uh i dont know if this is still being worked on. But i think it would be a better idea to have its launch points be based on station beacons because they should be mapped onto every station and they make it very clear where youre going to land.

I'm rewriting everything now and changing the way it works a little bit.
23image

@ElPidor

This comment was marked as spam.

@AverageNotDoingAnythingEnjoyer
Copy link
Contributor

So, uh, how's it going?

@SlamBamActionman SlamBamActionman added the S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. label Nov 14, 2024
@eoineoineoin eoineoineoin added P3: Standard Priority: Default priority for repository items. T: New Feature Type: New feature or content, or extending existing content D2: Medium Difficulty: A good amount of codebase knowledge required. T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it A: Roundflow/Antag Area: Roundflow - "What happens in the game", including antagonist roles and their capabilities and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Nov 18, 2024
@TheShuEd TheShuEd added the S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure. label Dec 20, 2024
Copy link
Member

@TheShuEd TheShuEd left a comment

Choose a reason for hiding this comment

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

Everything here uses extremely outdated code formats, and root system of DropPod's movement is extremely sus, and has no right to be merged into the master without a complete rewrite from scratch.

using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;

namespace Content.Server.DropPod
Copy link
Member

Choose a reason for hiding this comment

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

outdated namespace format

@@ -0,0 +1,12 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
Copy link
Member

Choose a reason for hiding this comment

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

why?

Copy link
Contributor

Choose a reason for hiding this comment

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

They would do imports before building as these are the sourcegenned ones, I would bet.

@@ -0,0 +1,12 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
Copy link
Member

Choose a reason for hiding this comment

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

why?

@@ -0,0 +1,28 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
Copy link
Member

Choose a reason for hiding this comment

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

outdated, remove

@@ -0,0 +1,28 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
Copy link
Member

Choose a reason for hiding this comment

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

outdated

@@ -0,0 +1,17 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
Copy link
Member

Choose a reason for hiding this comment

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

sus

using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;

namespace Content.Server.DropPod
Copy link
Member

Choose a reason for hiding this comment

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

namespace sus

public string NameLandingPoint = "unknow"; // The name of the point that the player will see when activating the DropPod console

[DataField("uin")]
public int UIN = 1; // The unique identification number of the point (each must have its own unique one!)
Copy link
Member

Choose a reason for hiding this comment

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

use EntityUid for it

@@ -0,0 +1,71 @@
- type: entity
name: DropPod Beacon
Copy link
Member

Choose a reason for hiding this comment

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

Don't add tokens that players can't interact with. We have Beacons that store the name of locations and are mapped to all stations, use them.

Copy link
Member

Choose a reason for hiding this comment

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

The green cross sprite is a separate sprite that is layered over all other markers. Fix the sprites, see how they are made in other markers.

@TheShuEd TheShuEd added the S: DO NOT MERGE Status: Open item that should NOT be merged. DNM. Allows test to run unlike draft. label Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: Roundflow/Antag Area: Roundflow - "What happens in the game", including antagonist roles and their capabilities Changes: Sprites Changes: Might require knowledge of spriting or visual design. Changes: UI Changes: Might require knowledge of UI design or code. D2: Medium Difficulty: A good amount of codebase knowledge required. P3: Standard Priority: Default priority for repository items. S: Awaiting Changes Status: Changes are required before another review can happen S: DO NOT MERGE Status: Open item that should NOT be merged. DNM. Allows test to run unlike draft. S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure. T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it T: New Feature Type: New feature or content, or extending existing content
Projects
None yet
Development

Successfully merging this pull request may close these issues.