Skip to content

Conversation

Steffo99
Copy link
Contributor

@Steffo99 Steffo99 commented Oct 18, 2025

About the PR

This PR adds functionality to the LMTR wire of the Space Villain arcade machine.

Specifically, cutting or pulsing it removes HP and MP limits from the game, and makes it ignore victory conditions until the wire is mended or pulsed again.

Why / Balance

I stumbled upon the unused OverflowFlag of SpaceVillainArcadeComponent while looking at the possible hacking interactions with Space Villain and figured I could add some behavior to it.

I figure it could prove to be a silly interaction: somebody cutting the wire of the arcade machine, closing the panel again, and challenging players to beat that game, or calling engineering and complaining that the game is glitched and demanding that they fix it...

It behaves a bit differently from the existing invincibility-toggling cables, as their state is reset once a new game is started on the machine, and therefore are not a persistent change.

To indicate that the wire behavior has changed, the LMTR LED color has been changed from Red to OrangeRed, and made it turn off instead of blinking when its state is altered.

Technical details

I renamed the unused SpaceVillainArcadeComponent.OverflowFlag to SpaceVillainArcadeComponent.UncappedFlag to better represent its effect.

I added a new public field to SpaceVillainGame.Fighter named Uncapped that makes the Hp and Mp properties ignore their bound between 0 and MaxHp/MaxMp.

I made SpaceVillainGame set the Uncapped field on both fighters to the value of its UncappedFlag when a new game is started.

Finally, I made the ArcadeOverflowWireAction.ToggleValue method also set the Uncapped field on both fighters if a game is already in progress.

(I believe the existing code can be cleaned up a bit, but I wanted to change as little of it as possible for this pull request.)

Media

2025-10-18.18-44-00.mp4
2025-10-18.18-44-13.mp4

Requirements

Breaking changes

The unused flag SpaceVillainArcadeComponent.OverflowFlag is now used, and named SpaceVillainArcadeComponent.UncappedFlag.

Changelog

🆑

  • add: Added functionality to the LMTR wire of Space Villain!

@PJBot PJBot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. size/S Denotes a PR that changes 10-99 lines. labels Oct 18, 2025
@FairlySadPanda FairlySadPanda added P3: Standard Priority: Default priority for repository items. T: New Feature Type: New feature or content, or extending existing content D3: Low Difficulty: Some codebase knowledge required. A: Engineering Area: Engineering department, including Atmospherics. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Oct 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A: Engineering Area: Engineering department, including Atmospherics. D3: Low Difficulty: Some codebase knowledge required. P3: Standard Priority: Default priority for repository items. S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. size/S Denotes a PR that changes 10-99 lines. 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.

3 participants