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

Remove nonfunctional, unused code for golem waves and burrows + misc fixes and adjustments #8546

Merged

Conversation

VmpOS2NHSkhkejA9
Copy link
Contributor

@VmpOS2NHSkhkejA9 VmpOS2NHSkhkejA9 commented Jan 21, 2025

About The Pull Request

Remove golem waves, burrows and their associated code from the code. They are already impossible to trigger, so the only player-facing changes here should be the bugfixes, a couple changes to texts and diamond golems no longer being lobotomized.

Why It's Good For The Game

  • Make the deep drill and golems easier to work with and update codewise.
  • Fixes are self explanatory.
  • Diamond golems being nonhostile to miners meant they simply stood still while providing zero challenge. Arguably, diamond golems simultaneously are the most valuable and least dangerous golem. This is made worse by the fact coal golems become diamond golems when lit on fire (usually by a plasma golem) because it made the next weakest golem even weaker.
  • Uranium golems healing burn makes them actually dangerous, since most damage dealt to golems is burn anyway.

Testing

  • Generated a cave. Collapsed the cave by de-activating the drill. Found no issues.
  • Shot the drill with a variety of weapons. Repaired it. Found no issues.
  • Built walls adjacent to an active drill. Shut down correctly and collapsed the attached cave.
  • Ran through a generated cave with a horde of golems chasing me until I found an ansible golem, it teleported me correctly to my immediate death.
  • Anchored the drill next to space tiles and activated it.
  • Tried anchoring the drill next to a wall. Tried activating an anchored drill with a wall next to it.
  • Spawned a uranium golem and an iron golem. Hit the iron golem with a welder and watched its health in varedit to see if the uranium golem would heal it.
  • Anchored and activated a drill next to space tiles.
  • Anchored and activated a drill, deconstructed the floor under it into space with an RCD and built plating under it. The plating was replaced with an asteroid tile correctly (though it did spawn more sand which shouldn't be an issue).
  • Opened a drill's maintenance panel, replaced parts. Made no difference, as intended.

Changelog

🆑
del: Golem waves and burrows
tweak: Welding the deep drill now heals it by 500 health, instead of jumping to the next 1/3rd of its health
tweak: The deep drill no longer accepts power cells, as it doesn't require power anyway
tweak: Structures and machinery no longer block the deep drill's operation; It can be activated with ore boxes adjacent to it
balance: diamond golems are now hostile
balance: Uranium golems now also heal burn damage to nearby golems
fix: Deep drill can now be unanchored from undrillable tiles
fix: Deep drill properly shuts down when non-floor tiles are too close
fix: Ansible golems can now teleport targets to nearby golems as intended
/:cl:

@VmpOS2NHSkhkejA9 VmpOS2NHSkhkejA9 marked this pull request as ready for review January 22, 2025 16:40
@VmpOS2NHSkhkejA9
Copy link
Contributor Author

at last, it is complete (probably)

@hyperioo
Copy link
Contributor

I will look into it 🙏

Comment on lines -373 to +201
if(F != loc)
if(F.density)
return TRUE
for(var/atom/A in F)
if(A.density && !(A.flags & ON_BORDER) && !ismob(A))
return TRUE
if(!istype(F,/turf/floor) && !istype(F,/turf/space)) //if it's not a floor and not space it's probably an obstacle.
return TRUE
Copy link
Contributor

Choose a reason for hiding this comment

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

The idea with the atom check was to also detect dense structures like girders, crates and so on so that the drills could not be surrounded by impassible stuff. But I guess it's alright to simplify it like that since there is no burrows and golem waves anymore.

Copy link
Contributor Author

@VmpOS2NHSkhkejA9 VmpOS2NHSkhkejA9 Feb 7, 2025

Choose a reason for hiding this comment

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

The old checks would return true on ore boxes or crates, which is the main reason I changed this part. The only reason it didn't come up as an issue was that the drill wouldn't be deactivated even if the drill was blocked off.

Copy link
Contributor

@hyperioo hyperioo left a comment

Choose a reason for hiding this comment

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

Nice cleaning 👍 Sorry for taking so long to review the PR

@SirRichardFrancis SirRichardFrancis merged commit 5cc3501 into discordia-space:master Feb 7, 2025
6 checks passed
github-actions bot pushed a commit that referenced this pull request Feb 7, 2025
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.

3 participants