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

Glue and lube refactor #26765

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

Conversation

beck-thompson
Copy link
Contributor

@beck-thompson beck-thompson commented Apr 6, 2024

About the PR

Refactor of the glue and lube things. Even I can tell its very unrobust at the moment 😆. The names are all very confusing and there is a lot of copy and pasting going on.

  • Make generic "squeeze bottle" system that works for both lube and glue bottles.
  • Make generic "reagent on item" system that works for both lube and glue or any other future reagent that can be applied to items and works in a similar way. (I need help to get this working.)
  • Make janitor gloves and shoes immune to both glue and lube.
    • When you try to apply to these items it should also slip onto the ground and give unique message.
  • Fix various unrobust things (E.g give better messages when your out of a reagent etc...)
    • Overall messages. Right now they are very inconsistent and need to be made generic.
    • Get correct audio to play at the correct time (If applied one noise if empty another if not able to apply no noise etc...)
    • Fix that annoying bug where reagent level doesn't update after application. This bug was inherited from the old bottles as they also have the same issue... 😭
    • Re-add the admin logging stuff
  • Make sure crazy glue is also using this system.
  • Have glue make objects sticky? (Sticky component?) (I don't quite know how this would work and is not worth the time to get working)
  • Add ability to remove with soap! (Because of the forensics system there isn't a clean way of doing this and I don't have the mental capacity to handle it right now 😆)
  • Make system work with pausing (Don't let it wear out when paused)
  • When glued / lubed item inspected imply that its stick or slippery.
  • Make sprites more generic.
  • Let squeeze bottle be made at lathe.
  • Syringes are able to apply reagents to items. (I don't think its necessary and makes the squeeze bottle more unique!)
  • Make the colors even more better (Like gloves!)
  • Move as much as possible to shared!

Resolves: #18683

Why / Balance

The code was very messy and needed to be redone (Lots of copy and paste and many other bad things).

Technical details

Removed all the old glue and lube code. Now there is a generic squeeze bottle that can hold any reagent. When you try to apply something with the squeeze bottle it will add the correct components (Glue and or lube). The system also allows for new reagents to be stuck to items (Only a little bit (~5 lines) of copy and pasting is required 😆).

Media

demo.mp4

(There are more things that I tested but I can't be bothered to make 100 videos)

Breaking changes

I changed the IDs of the old glue and lube bottles. If a map uses them then something bad will happen probably?

Changelog

🆑 Beck Thompson

  • tweak: Various small updates/fixes for lube and glue bottles
  • add: Added the squeeze bottle which can be crafted at a lathe. It can apply reagents to items (e.g glue and lube)!

@beck-thompson beck-thompson marked this pull request as draft April 6, 2024 06:08
@beck-thompson
Copy link
Contributor Author

This is gonna be a learning experience... 😭

@beck-thompson
Copy link
Contributor Author

Basic structure is done. Its really messy now but it works for the most part. Still a lot of work to be done probably ~40-50% complete.

@beck-thompson
Copy link
Contributor Author

@metalgearsloth Can you point me to a component and system that can handle pausing correctly? So far, all the ones I found don't seem to do anything different than what glue is currently doing which doesn't handle pausing.

@github-actions github-actions bot added the Changes: Sprites Changes: Might require knowledge of spriting or visual design. label Apr 18, 2024
Copy link
Contributor

github-actions bot commented Apr 18, 2024

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

Resources/Textures/Objects/Consumable/Drinks/glue-tube.rsi

State Old New Status
icon Removed
icon_open Removed

Resources/Textures/Objects/Consumable/Drinks/lube-tube.rsi

State Old New Status
fill1 Removed
fill2 Removed
fill3 Removed
fill4 Removed
fill5 Removed
fill6 Removed
icon-front Removed
icon Removed
icon_open Removed

Resources/Textures/Objects/Fun/glue.rsi

State Old New Status
icon Removed
icon_open Removed

Resources/Textures/Objects/Consumable/Drinks/crazy_glue_bottle.rsi

State Old New Status
body_crazy Added
cap_closed_crazy Added
cap_open_crazy Added

Resources/Textures/Objects/Consumable/Drinks/squeeze_bottle.rsi

State Old New Status
body Added
cap_closed Added
cap_inbetween Added
cap_open Added

Edit: diff updated after 0930ced

@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Apr 19, 2024
Copy link
Contributor

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

@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Apr 19, 2024
@beck-thompson
Copy link
Contributor Author

migration.yml will forever be my enemy

@github-actions github-actions bot added size/XL Denotes a PR that changes 5000+ lines. and removed S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted labels Nov 14, 2024
@SlamBamActionman SlamBamActionman added P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. T: Refactor Type: Refactor of notable amount of codebase D1: High Difficulty: Extensive codebase knowledge required. T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it A: General Interactions Area: General in-game interactions that don't relate to another area. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Nov 15, 2024
@beck-thompson beck-thompson added S: Needs Review Status: Requires additional reviews before being fully accepted and removed S: Awaiting Changes Status: Changes are required before another review can happen labels Nov 18, 2024
@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Nov 20, 2024
Copy link
Contributor

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

@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Nov 20, 2024
@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Nov 29, 2024
Copy link
Contributor

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

@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Nov 29, 2024
@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Dec 16, 2024
Copy link
Contributor

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

@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Dec 16, 2024
Copy link
Contributor

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

@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Dec 16, 2024
@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Dec 16, 2024
@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Jan 2, 2025
Copy link
Contributor

github-actions bot commented Jan 2, 2025

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: General Interactions Area: General in-game interactions that don't relate to another area. Changes: Sprites Changes: Might require knowledge of spriting or visual design. D1: High Difficulty: Extensive codebase knowledge required. P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted S: Needs Review Status: Requires additional reviews before being fully accepted S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure. size/XL Denotes a PR that changes 5000+ lines. T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it T: Refactor Type: Refactor of notable amount of codebase
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Glue + lube need fixing
6 participants