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

HoS's Shades #516

Closed
wants to merge 17 commits into from
Closed

HoS's Shades #516

wants to merge 17 commits into from

Conversation

ps3moira
Copy link
Contributor

@ps3moira ps3moira commented Dec 4, 2023

About the PR

Added HoS's own unique shades that has a security hud built into it.

Why / Balance

I thought it was a bit silly HoS has to swap out and carry a sec hud and sec shades.

Media

Screenshot 2023-12-03 205932

  • I have added screenshots/videos to this PR showcasing its changes ingame

Changelog
🆑

  • add: Added Head of Security's own shades.

@github-actions github-actions bot added Changes: Sprite Changes any png or json in an rsi Changes: YML Changes any yml files S: Needs Review labels Dec 4, 2023
@ps3moira ps3moira mentioned this pull request Dec 4, 2023
1 task
Copy link
Contributor

github-actions bot commented Dec 4, 2023

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

Resources/Textures/DeltaV/Clothing/Eyes/Glasses/hossecglasses.rsi

State Old New Status
equipped-EYES-hamster Added
equipped-EYES-secdog Added
equipped-EYES Added
icon Added
inhand-left Added
inhand-right Added

Edit: diff updated after f65dc57

@Colin-Tel
Copy link
Contributor

Shouldn't this PR make the HoS/their locker spawn with these shades? Currently this just adds them to be mapped in.

@ps3moira
Copy link
Contributor Author

ps3moira commented Dec 6, 2023

Shouldn't this PR make the HoS/their locker spawn with these shades? Currently this just adds them to be mapped in.

I was going to make a separate PR for this to update a few locker's missing items.

@ps3moira
Copy link
Contributor Author

Shouldn't this PR make the HoS/their locker spawn with these shades? Currently this just adds them to be mapped in.

I decided to just add it into the locker's anyway lol. I also removed the regular sunglasses for these.

@github-actions github-actions bot added the S: Merge Conflict Fix your PR! label Mar 8, 2024
Copy link
Contributor

github-actions bot commented Mar 8, 2024

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@VMSolidus
Copy link
Contributor

I'm going to close this for the same reasons as #626

@VMSolidus VMSolidus closed this Mar 8, 2024
LaryNevesPR pushed a commit to LaryNevesPR/Estacao-Andromeda that referenced this pull request Jan 3, 2025
…V-Station#516)

<!-- Please read these guidelines before opening your PR:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->
<!-- The text between the arrows are comments - they will not be visible
on your PR. -->

## About the PR
<!-- What did you change in this PR? -->
EMP has been changed to target APC-powered-devices (most electrical
devices) as well as batteries to disable them. This means EMP can
interfere with autolathes, airlocks, atmos devices, substations and
SMES. The power draw of a single EMP grenade now cuts out a substation,
and the disabling effect prevents further recharge until it subsides.

EMP duration now also stacks, which creates a novel way to quietly black
out the station by attacking engineering SMES with 3 EMP grenades (6tc
EMP bundle) to black out the station for 3 minutes.

Edit, here's a detailed changelog of the PR,
Functionality:
- EMP disable has been generalised to kill and prevent further function
of every device/battery by interrupting recharge
- As a result of the above, some hard coded interactions have been
culled
- EMP disable duration now stacks with multiple EMP blasts
- EMP is now capable of draining from gravity generators
- The Charger system has been slightly reworked to facilitate
communication between batteries and chargers

Results:
- EMP grenade can disable basically every powered machine, most notably
doors
- EMP grenade has had its power drain upped to 2.7MW, which is slightly
more than a substation and 1/3 a SMES
- EMP grenade can now instantly kill substations
- EMP grenade can now instantly kill gravity generators
- 3 EMP grenades (6tc) can be used to kill SMES and disable recharge for
3 minutes with no evidence on the power monitor.

## Why / Balance
<!-- Why was it changed? Link any discussions or issues here. Please
discuss how this would affect game balance. -->
EMP at 2tc has a relatively low value-proposition when compared to C4
which is also 2tc. While EMP can probably black out one (or two if
you're lucky) APCs and can be used as a defensive option against
Stun/Lasers. C4 can be used to cut wires, substations, SMES, generators,
doors, reinforced walls, people and the list probably continues.

New EMP can be used to soft-bomb station power in an explosion that
isn't globally alarming (salv boom). Targeting the captain's office
directly may let you crowbar in and steal the locker but it leaves
ephemeral evidence in the form of everything electrical shimmering blue.
Opting to bomb substations blacks out a wider area, providing several
degrees of separation from your target. That is to say, new EMP grenade
favours map knowledge and rewards better stealth.

## Technical details
<!-- If this is a code change, summarize at high level how your new code
works. This makes it easier to review. -->
- `C.S/.../EmpSystem.cs` uses TryComp to turn on/off charging for
`C.S/Power/Components/PowerNetworkBatteryComponent`
- `C.S/Power/EntitySystems/PowerReceiverSystem.cs` listens to
`EmpPulseEvent` to turn off. Requests to turn back on are additionally
intercepted by `EmpSystem.cs` and cancelled.
- `C.S/.../GravityGeneratorSystem.cs` listens to `EmpPulseEvent` and
converts energy consumption to a normalised charge
- `C.S/Power/EntitySystems/ApcSystem.cs` no longer toggles its breaker,
but still listens to `EmpPulseEvent` for updating visuals.
- `C.S/Power/EntitySystems/ChargerSystem.cs` was refactored to add a
`ChargingComponent` flag to power cells instead of `ActiveCharger` on
itself. Battery and Charger communicate through this flag. Listens to
`EmpPulseEvent` for updating its state machine. New
`ChargerUpdateStatusEvent` allows batteries to update the charger's
status.
- `C.S/Power/EntitySystems/BatterySystem.cs` can now be disabled, and
checks for disabling before updating its charge. Raises
`ChargerUpdateStatusEvent` when hearing `EmpDisabledRemoved` to tell its
charger to start charging again.
- `C.S/Power/PowerWireAction.cs` checks for `EmpDisabledComponent`
before turning power back on.
- `C.S/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs` and
`C.S/VendingMachines/VendingMachineSystem.cs` had redundant
`EmpPulseEvent` listeners culled.
- `Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml`
buffed EMP grenade.

## Media
<!-- 
PRs which make ingame changes (adding clothing, items, new features,
etc) are required to have media attached that showcase the changes.
Small fixes/refactors are exempt.
Any media may be used in SS14 progress reports, with clear credit given.

If you're unsure whether your PR will require media, ask a maintainer.

Check the box below to confirm that you have in fact seen this (put an X
in the brackets, like [X]):
-->
https://www.youtube.com/embed/rSVph6OIg1s?si=8o4bx9Vx16B6usuu - outdated
video demonstrating changes on a wizden map
https://www.youtube.com/embed/B3iPhLcfs-0?si=trB1HY2ccjMf96Bj -
electrical anomaly crit with updated emp

- [x] I have added screenshots/videos to this PR showcasing its changes
ingame, **or** this PR does not require an ingame showcase

**Changelog**
<!--
Make players aware of new features and changes that could affect how
they play the game by adding a Changelog entry. Please read the
Changelog guidelines located at:
https://docs.spacestation14.io/en/getting-started/pr-guideline#changelog
-->

:cl:
- tweak: EMP Grenades can now disable basically any electrical device,
and stack in disable duration.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
LaryNevesPR pushed a commit to LaryNevesPR/Estacao-Andromeda that referenced this pull request Jan 3, 2025
LaryNevesPR pushed a commit to LaryNevesPR/Estacao-Andromeda that referenced this pull request Jan 3, 2025
DeltaV-Station#888)

# Description
- Resolves DeltaV-Station#864 by partially reverting DeltaV-Station#516 
- Adds a _net.IsClient check to RehydratableSystem to avoid spawning
duplicate entities on client side

<details><summary><h1>Media</h1></summary>
<p>


https://github.com/user-attachments/assets/e50785a6-b5f7-4484-9097-118bc3a5dfa5


</p>
</details>

---

# Changelog
:cl:
- fix: Cyborg recharging stations finally work again.
- fix: Rehydratable entities (such as monkey cubes) no longer spawn a
second client-side entity when rehydrated.

---------

Signed-off-by: Mnemotechnican <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Sprite Changes any png or json in an rsi Changes: YML Changes any yml files S: Merge Conflict Fix your PR! S: Needs Review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants