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

Moves integrity to the atom level #11290

Merged
merged 32 commits into from
Oct 19, 2024

Conversation

Tsar-Salat
Copy link
Contributor

@Tsar-Salat Tsar-Salat commented Aug 4, 2024

About The Pull Request

This moves integrity to the atom level.

Simple as.

Ports:

Tanks are refactored to... actually use the integrity system, and are now more performant

  • They check for exploding when destroyed, rather than every process()
  • Tanks properly leak gases when destroyed, rather than disappearing into the void. This is the same behavior as canisters.

Why It's Good For The Game

This means structure, obj, and turf can all very easily use the same integrity variables.

TG used it for wallening, in which windows and walls need to behave very similiarly, but its uses are much beyond that.

Also, tank code sucks less? I dont really care about improving that, but it was interacting very poorly with obj_integrity, so might as well grab it too.

Testing Photographs and Procedure

Screenshots&Videos

Breaking walls

dreamseeker_Je6w510PQI.mp4

Overpressurizing tanks still works

dreamseeker_PUit2ilvXq.mp4

integrity regen

dreamseeker_eSbbmt9BpF.mp4

Changelog

🆑 rkz, Kylerace, TemporalOroboros
refactor: moves integrity down to the /atom level
refactor: desnowflakes gas tank items to use integrity
fix: gas tanks now release their contents if destroyed
/:cl:

@Tsar-Salat
Copy link
Contributor Author

Main thing I gotta accomplish now is both overriding and seamlessly threading bacons turf integrity system into this.

This is both easier and harder than I thought

@PowerfulBacon
Copy link
Member

A good portion of the turf integrity was a copy paste from obj integrity, with some minor extra bits such as damage deflection and the attack sprite

@Tsar-Salat Tsar-Salat marked this pull request as ready for review August 5, 2024 03:53
@Tsar-Salat Tsar-Salat changed the title [WIP] Moves integrity to the atom level Moves integrity to the atom level Aug 5, 2024
@Tsar-Salat
Copy link
Contributor Author

A good portion of the turf integrity was a copy paste from obj integrity

Instances where a turf proc was the exact same with atoms and objs are deleted, because the atom proc can handle it just fine.

The rest are now child procs. They basically do the same thing as their parent, but don't call because it messed with what you had made.

Turfs are a bit more copypaste than I'd like, but its not problematic I don't think.

Copy link

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

Copy link

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

Copy link

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

Copy link

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

Copy link

github-actions bot commented Oct 4, 2024

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

@Tsar-Salat
Copy link
Contributor Author

This is getting tedious

Copy link

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

@Tsar-Salat
Copy link
Contributor Author

guh

@PowerfulBacon PowerfulBacon added this pull request to the merge queue Oct 19, 2024
Merged via the queue into BeeStation:master with commit 36d584d Oct 19, 2024
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants