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

/vg/ construction #27

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

Inorien
Copy link

@Inorien Inorien commented Dec 27, 2024

What this does

Makes construction steps more consistent with /vg/13.
See below for complete list of changes

Why it's good

Familiarity

How it was tested

Constructed and deconstructed stuff on local while comparing with local /vg/13 build

Changelog

  • tweak: Adjusted construction to more closely resemble /vg/13 construction

List of changes

  • Girders
    • Unanchor with crowbar to get a Displaced Girder. Reanchor this with wrench
      • Base behaviour: Unanchor with wrench
    • Deconstruct with a wrench while anchored
      • Base behaviour: Deconstruct with screwdriver while unanchored
    • Matched timings on construction steps
  • Reinforced Walls
    • Must be constructed girder -> 2x rods (to reinforced girder) -> 1x plasteel (to half-done wall) -> 1x plasteel
      • Base is girder -> 2x plasteel (to reinforced girder) -> 2x plasteel (to completed rwall)
    • Deconstruction is reversible and yields plasteel and rods at the correct stages
      • Base is irreversible - once the intact rwall has been cut it must be fully deconstructed and reconstructed to return to the original state)
    • Matched timings on construction steps
  • Reinforced Girder
    • Wire cutters -> Regular Girder + 2 Rods
      • Base: Would yield 2 plasteel rather than rods
    • This is differenent from /vg/13 in that reinforced girders do not require a screwdriver step to secure/unsecure the rods
  • Directional Window:
    • Constructed in unsecured state
      • Base: Constructed in secured state
    • Secure in place/Unsecure with a screwdriver. When unsecured the window can be dragged around and will not rotate locally (ie. dragging it past a table corner will not pivot it - this results in some fucky behaviour with pixel movement but nothing new, like getting caught on corners and shit. Considering removing unanchoring capability for now)
      • Base: Not implemented
    • Deconstruct by using a welder on unsecured window to get glass sheet.
      • Base: Screwdriver + Wrench on window. Once the screwdriver is used there is no way to get back to the original pre-screwdrivered state without fully reconstructing the window. Wrenching turns it back into glass sheet.
        Holding this one back because unanchored windows are awful without tile movement drag

Known Issues

  • Displacing a girder causes the displaced girder to jump to the bottom of the tile rather than remain at the center
  • (weak:) Materials produced by deconstructing can appear on the opposite side of the structure, inaccessible to the deconstructor
    - For some reason (I swear it worked when I tested before committing) newly-constructed directional windows' transform component NoLocalRotation does not get set to true, despite it being true on the prototype. Grr
  • Probably a ton of tests failing lmao
    • I'll fix them later

Next on the list: RWindows to get the same treatment as regular windows, I hope theres a tidy inheritance way of doing it for the entity prototypes

Copy link

github-actions bot commented Dec 27, 2024

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

Resources/Textures/Structures/Walls/solid.rsi

State Old New Status
wall_girder_displaced Added

Edit: diff updated after 1e33a4c

@github-actions github-actions bot added size/M and removed size/S labels Dec 27, 2024
IconSmoothComponent overrides the sprite for child entities, this means that intermediate states jus show the parent state. Reparenting to ensure that IconSmoothComponent only goes on the intact wall and not on intermediate components (this opens the door to stripping rwalls down to half-constructed states to economise on plasteel while maintaining the full rad and damage protection of an rwall!!!! my balance
Copy link

@BasedUser BasedUser left a comment

Choose a reason for hiding this comment

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

mostly good but i have a few nitpicks

Resources/Prototypes/Entities/Structures/Walls/girders.yml Outdated Show resolved Hide resolved
Resources/Prototypes/Entities/Structures/Walls/walls.yml Outdated Show resolved Hide resolved
Resources/Prototypes/Entities/Structures/Walls/walls.yml Outdated Show resolved Hide resolved
Resources/Prototypes/Entities/Structures/Walls/walls.yml Outdated Show resolved Hide resolved
Resources/Prototypes/Entities/Structures/Walls/walls.yml Outdated Show resolved Hide resolved
Resources/Prototypes/Entities/Structures/Walls/walls.yml Outdated Show resolved Hide resolved
Resources/Prototypes/Entities/Structures/Walls/walls.yml Outdated Show resolved Hide resolved
completed:
- !type:SpawnPrototype
prototype: SheetPlasteel1
amount: 1

Choose a reason for hiding this comment

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

ive never actually realised how long it takes to deconstruct walls in ss13 but jeeesuuuus maybe nerf their health so structural damage can actually do its thing

Copy link
Author

Choose a reason for hiding this comment

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

i'll go over damage thresholds and compare with our existing behaviour

@Eneocho Eneocho added Sprites Pretty colors. ss13 parity Bringing features from SS13 to SS14. and removed S: Untriaged Changes: Sprites size/M labels Dec 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Sprites size/M Sprites Pretty colors. ss13 parity Bringing features from SS13 to SS14.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants