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

[BOUNTY] Implements atom integrity for walls, (which is needed to do) Upgraded Emitters can now tear down walls! Take Two! #5938

Merged
merged 12 commits into from
Mar 23, 2025

Conversation

Singul0
Copy link
Contributor

@Singul0 Singul0 commented Mar 15, 2025

About The Pull Request

Ports yogstation13/Yogstation#21336
Retake of #5706
This PR is a double bounty, makes it so that walls behaves the same way as any other structures or machineries, being able to be damaged and destroyed by normal weapons instead of very specific ways/deconstruction

Normal walls have 300 damage + armor, with a damage minimum for it to take effect of 25
Normal walls have 600 damage + armor, with a damage minimum for it to take effect of 75

Emitters with upgraded lasers can now be able to tear down walls, stock parts emitters still functions the same. Below are the damage table needed to tear a wall down

T1 laser: cannot damage walls, operates normally.
T2: 20 hits to break normal walls, r wall or stronger cannot be damaged.
T3: 10 hits to kill normal walls, r wall or stronger cannot be damaged.
T4: 5 hits to kill normal walls, r walls or strong take 10 hits to be killed.
T5: 3 hits to kill normal, 7 to kill r walls or higher
Emagging the emitters increases the parts tier above by one (which is how you'd get T5) at the cost of 5% damage to the emitters. This functionality only applies if the projectile emitted by the emitters is the default hitscan emitters shots.

Pooba said that for my first PR to go through, we'd need to implement atom integrity, which they'd gracefully posted a bounty for.

Why It's Good For The Game

Here is it in action:
https://github.com/user-attachments/assets/34b999b0-a7f6-4fa7-ac26-5e804e3ba5ad

Walls being able to use the integrity system means destroying them in a way that isn't instantaneous and no longer needs to rely on tons of snowflake code for each instance/case of something breaking a wall. It also means they aren't totally invincible to damage, which I think could allow for some fun interactions.

Anyhow, as for the emitter PR. i'll just copy this verbatim: You know how the emitters looks like a heavy, industrial laser cannon that you'd be able to see be used as an impromptu blaster? How come can it not damage walls? Anyways, this adds a new way of breaching walls besides thermite, tools or c-4/x-4, Albeit a pretty slow and loud one at that. More tools for engineer's arsenal is good!

Changelog

🆑
add: Walls now have atom integrity, being able to be attacked and destroyed like other machineries and structures. they're a tough nut to crack though
add: Emitters can now tear down walls! (once upgraded)
/:cl:

Copy link
Collaborator

@LikeLakers2 LikeLakers2 left a comment

Choose a reason for hiding this comment

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

Please modularize your changes, or use //MONKESTATION EDIT comments where you can't/don't know how to.

@Singul0
Copy link
Contributor Author

Singul0 commented Mar 15, 2025

Please modularize your changes, or use //MONKESTATION EDIT comments where you can't/don't know how to.

Done, unfortunately. Due to this being a refactor and all, can't really seperate it into seperate files

Copy link
Collaborator

@LikeLakers2 LikeLakers2 left a comment

Choose a reason for hiding this comment

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

Please also mark your removals, for clarity. I've included a couple examples of what I mean.

Sorry for the hassle - but it helps down the line when porting fixes from tgstation.

@LikeLakers2
Copy link
Collaborator

LikeLakers2 commented Mar 15, 2025

Due to this being a refactor and all, can't really seperate it into seperate files

Remember that you can redefine procs in DM - so if you wanted to comment out the tgstation code, and put the new code under monkestation/, that would work too.

That said, marking your changes should do well enough, so I wouldn't worry too much about it.

Again, sorry for the hassle.

@Singul0
Copy link
Contributor Author

Singul0 commented Mar 15, 2025

Due to this being a refactor and all, can't really seperate it into seperate files

Remember that you can redefine procs in DM - so if you wanted to comment out the tgstation code, and put the new code under monkestation/, that would work too.

Again, sorry for the hassle.

It's fine, don't worry about it. I added docs for the proc that I deleted, I think the rest are just procs that I edited and moved to group edits closer

Copy link
Collaborator

@LikeLakers2 LikeLakers2 left a comment

Choose a reason for hiding this comment

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

Thank you! :) If I spot anything else that needs changing, I'll make a new comment - but I don't see anything right now.

@Shoddd
Copy link
Collaborator

Shoddd commented Mar 16, 2025

not to major but can only deconstruct in combat mode, feel like it would be vice versa where you should hit if in combat mode, deconstruct if not

@Singul0
Copy link
Contributor Author

Singul0 commented Mar 16, 2025

not to major but can only deconstruct in combat mode, feel like it would be vice versa where you should hit if in combat mode, deconstruct if not

It deconstructs in normal mode now, though it's a bit redundant since welding tools doesnt have high enough damage to do anything to the walls anyways

@Absolucy
Copy link
Member

does hitting walls with items respect demolition_mod?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature: Feature The creature feature. featuring: the creature.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants