-
Notifications
You must be signed in to change notification settings - Fork 365
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
New Race: IPCs #1480
New Race: IPCs #1480
Conversation
RSI Diff Bot; head commit c268b95 merging into 913a223 Resources/Textures/DeltaV/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_alt1.rsi
Resources/Textures/DeltaV/Mobs/Customization/cyberlimbs/shellguard/shellguard_alt1.rsi
Resources/Textures/DeltaV/Mobs/Customization/cyberlimbs/xion/xion_alt1.rsi
Resources/Textures/DeltaV/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi
Resources/Textures/DeltaV/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_alt1.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_monitor.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_alt1.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_monitor.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_alt1.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_monitor.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi
Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi
Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi
Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi
|
LFG |
I can at least confirm that on the DS14 playtest of these, the IPCs have had pretty much all of their known issues fixed. We're actually sufficiently satisfied with IPC, that we're probably going to be putting them on the EE repository after Saturday if nothing comes up during the next playtest. |
really recommend fixing the suicide bug; IPC can kill themselves by accidentally taking out their own battery. Which instantly crits them... Yes; only idiots would open their own panel and attempt to take shit out of them but this should be fixed to not round-remove IPC's inside maints. |
It puts them to sleep, does not crit them. Additionally, they make a loud beeping noise when their charge is low or their battery is removed, which would likely alert anyone involved |
Just editing the comment to provide more context rather than being rude; it's up to you whether or not you fix it. It's easy to argue that it's natural selection whether or not an IPC pulls their own battery out. But this does happen on Deepstation, and Delta has lowpop hours too. This is a QOL that should be implemented if you are okay to do so; as this does impact rounds and people aren't as likely to find out-of-charge IPC's as much as you think. |
resolved, they can no longer eject their own battery |
Updated the description just a bit to reflect more features |
Co-authored-by: VMSolidus <[email protected]> Signed-off-by: Timemaster99 <[email protected]>
…nent.cs Signed-off-by: VMSolidus <[email protected]>
…nent.cs Signed-off-by: VMSolidus <[email protected]>
Signed-off-by: Timemaster99 <[email protected]>
Co-authored-by: VMSolidus <[email protected]> Signed-off-by: Timemaster99 <[email protected]>
updated with VM's code review |
@DeltaV-Station/maintainers thoughts whenever you can, admins are chatting about it |
return true; | ||
} | ||
RaiseLocalEvent(uid, new ElectrocutedEvent(uid, sourceUid, siemensCoefficient, shockDamage), true); // Parkstation-IPC | ||
return true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
undo these indents
@@ -1,4 +1,4 @@ | |||
using Content.Shared.Chat.Prototypes; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
undo BOM change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did these have BOM before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
look at original
@@ -13,6 +13,12 @@ public sealed partial class DeathgaspComponent : Component | |||
/// <summary> | |||
/// The emote prototype to use. | |||
/// </summary> | |||
[DataField("prototype", customTypeSerializer:typeof(PrototypeIdSerializer<EmotePrototype>))] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no reason to change this, it can be done upstream and use ProtoId too
@@ -1,4 +1,4 @@ | |||
using Content.Server.Chat.Systems; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BOM
/// The minimum and maximum max charge the battery can have. | ||
/// </summary> | ||
[DataField] | ||
public Vector2 BatteryMaxMinMax = new(0.85f, 1.15f); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use destruction MinMax instead of vector2
args.Cancelled = true; | ||
} | ||
|
||
private void OnItemSlotEjectAttempt(EntityUid uid, SiliconComponent component, ref ItemSlotEjectAttemptEvent args) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move this to a method instead of copy pasting the exact same code for each event
[ValidatePrototypeId<AlertPrototype>] | ||
public const string ChargeAlertCategory = "BorgBattery"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is stored on the component so use it instead
if (!args.CanAccess || !args.CanInteract || args.Hands == null) | ||
return; | ||
|
||
if (!TryComp(uid, out MobStateComponent? mobStateComponent) || !_mobState.IsDead(uid, mobStateComponent)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dont need the trycomp
|
||
private void TryStartup(EntityUid user, EntityUid target, DeadStartupButtonComponent comp) | ||
{ | ||
if (!_net.IsServer) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no reason to not predict this
[DataField("cycleDelay")] | ||
public float CycleDelay = 2.0f; | ||
|
||
public float AccumulatedFrametime; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't have much to say with this review other than what Deltanedas has already caught, but I decided to take a look at the yaml. If you can take everything into account from that, quite frankly giant review, great.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to have a extra line at the end of this file if it ends at line seven because that's a standard thing for YAML...
color: "#FFFFFF" | ||
sprites: | ||
- sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi | ||
state: r_foot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is the end of the file, newline.
- sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi | ||
state: r_foot-1 | ||
- sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi | ||
state: r_foot-2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is the end of the file, newline.
speciesRestriction: [IPC] | ||
sprites: | ||
- sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi | ||
state: r_foot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is the end of the file, newline.
- sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi | ||
state: r_foot-1 | ||
- sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi | ||
state: r_foot-2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is the end of the file, newline.
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Signed-off-by: Adeinitas <[email protected]>
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Fuckin ell. Alright, here's the deal: IPCs are cool but having such a mechanically different species is a big deal. I'm gonna wait for Sam to get back from break so we can have a quick chat about this one, and see what the future looks like for synthetics as a whole |
Timemaster pleaseeeee get IPC into the game :3 |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Heya! Since this PR has gotten no commits or activity in the past 2 months, I'm going to close it. If you ever come back to this, feel free to open a new PR. |
About the PR
IPC race, ported over from this PR at deep. This includes the race with all old methods and conventions redone to work with our codebase.
Why / Balance
The balance information is at the linked PR, but here is a simple list. There will be some things missed here
Pros:
Cons:
Technical details
Adds multiple components exclusive to IPC, including its own
SharedSiliconSystem
to handle this silicon-type mob. The only thing I had to nuke from the DS14 port was theFlammableComponent
'satmosTransferEfficiency
, since it doesn't seem to exist anymore in the component.Media
These are videos taken from the PR at DS14, which are taken from the fork Estação Pirata.
2024-04-10_22-04-33.mp4
2024-04-10_23-28-58.mp4
2024-06-11_18-44-59.mp4
Breaking changes
Changelog
🆑