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

Mining Rework Part 1: First of his Name #2446

Merged
merged 66 commits into from
Feb 28, 2024

Conversation

BogCreature
Copy link
Contributor

About The Pull Request

In a vain attempt to make mining less boring and actually require more player engagement I have cobbled together the groundwork to a sizable reworking of the mining system from that thing you send out that one random crew member to go do for a couple minutes to a team-based activity focused around the use of specialized equipment.

The gameplay loop for mining I envision within my mind's eye is one where most members of the ship's crew, even down to the engineers and medics, have to cooperate in order to properly secure large amounts of ore from dangerous environments, with most other non-mining ships needing to at least partially rely on mining ships to supply them with minerals.

This PR specifically adds; ore veins (they use the same sprites as geysers pending a better one) that spawn on lava, sand, rock, and ice planets currently and at varying levels of difficulty and yeild, a drill with which to mine said veins, a scanner to find the aforementioned veins, and an outpost mission that is essentially just a mission to go drill ore veins but with money as the reward instead of ore. Oh and I also cut surface mineral spawn rates roughly in half pending a better gauge of the balance involved there.

Here's the harrowing story of one such man who tried to use this drill with no armaments and no crew:
screenshot1
screenshot2
screenshot3

Why It's Good For The Game

Mining in its current state is just kinda bad. It's boring to actually focus on doing and way too easy to just drown your ship in minerals. This PR would at bare minimum partially fix that. That's not to say it's perfect and doesn't need to be balanced and polished to hell and back, but it's a good first step I feel.

Changelog

🆑
add: Ore veins and a drill to mine them with
add: Mining based missions
tweak: Lowered the spawn rate of some other mob spawners like tendrils
tweak: Added the ability for mob spawners to spawn mobs a distance from their source
balance: Cut most ore sources in half and tweaked the spawn weights
/:cl:

@github-actions github-actions bot added DME Edit Code change Watch something violently break. labels Nov 2, 2023
@BogCreature
Copy link
Contributor Author

Of course I accidentally screenshot a spelling mistake.....

@BogCreature BogCreature marked this pull request as draft November 3, 2023 05:12
@BogCreature
Copy link
Contributor Author

Ough, I forgot to mark this as a draft!

Copy link
Member

@MarkSuckerberg MarkSuckerberg left a comment

Choose a reason for hiding this comment

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

Sorry this is taking so long :c

code/datums/components/spawner.dm Outdated Show resolved Hide resolved
code/datums/components/spawner.dm Outdated Show resolved Hide resolved
code/datums/components/spawner.dm Outdated Show resolved Hide resolved
code/datums/components/spawner.dm Outdated Show resolved Hide resolved
code/game/objects/items/pinpointer.dm Outdated Show resolved Hide resolved
code/modules/mining/ore_veins.dm Outdated Show resolved Hide resolved
code/modules/mining/ore_veins.dm Outdated Show resolved Hide resolved
code/modules/mining/ore_veins.dm Outdated Show resolved Hide resolved
code/modules/mining/ore_veins.dm Outdated Show resolved Hide resolved
code/modules/mining/ore_veins.dm Outdated Show resolved Hide resolved
Co-authored-by: Mark Suckerberg <mark@suckerberg.gay>
Signed-off-by: BogCreature <112462947+BogCreature@users.noreply.github.com>
BogCreature and others added 3 commits December 11, 2023 21:04
Co-authored-by: Mark Suckerberg <mark@suckerberg.gay>
Signed-off-by: BogCreature <112462947+BogCreature@users.noreply.github.com>
Co-authored-by: Mark Suckerberg <mark@suckerberg.gay>
Signed-off-by: BogCreature <112462947+BogCreature@users.noreply.github.com>
@thgvr
Copy link
Member

thgvr commented Feb 4, 2024

I'm tempted to merge this but I'll bother tmt to go over it, bit out of my range

@tmtmtl30
Copy link
Contributor

currently reviewing this; will finish looking at it tomorrow

Co-authored-by: Mark Suckerberg <mark@suckerberg.gay>
Signed-off-by: BogCreature <112462947+BogCreature@users.noreply.github.com>
Copy link
Contributor

@tmtmtl30 tmtmtl30 left a comment

Choose a reason for hiding this comment

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

lots of nitpicks and concerns

code/modules/mining/equipment/mineral_scanner.dm Outdated Show resolved Hide resolved
code/modules/overmap/missions/drill_mission.dm Outdated Show resolved Hide resolved
code/modules/overmap/missions/drill_mission.dm Outdated Show resolved Hide resolved
code/modules/mining/drill.dm Outdated Show resolved Hide resolved
code/modules/mining/drill.dm Show resolved Hide resolved
code/modules/mining/ore_veins.dm Outdated Show resolved Hide resolved
code/modules/mining/ore_veins.dm Outdated Show resolved Hide resolved
code/datums/components/spawner.dm Outdated Show resolved Hide resolved
code/datums/components/spawner.dm Show resolved Hide resolved
Clears out an unused variable, adjusts some drill defines, and fixes a description I accidentally changed
Enhanced ore vein comments, slightly improved scanner for loop, and bizzare and gormless mission drill writing improved
mine() is now mine() and mine_success() so there's less oddity with mission drills and ore veins now have a fallback plan for if there's no open adjacent turfs
Does away with the spawner component reference and converts it to use signals instead
Stops an extremely rare bug where if someone is on roughly the same position of an adjacent zlevel they would nudge the mob spawn modifier on the spawners
@tmtmtl30 tmtmtl30 merged commit 14e1410 into shiptest-ss13:master Feb 28, 2024
14 checks passed
MysticalFaceLesS pushed a commit to CeladonSS13/Shiptest that referenced this pull request Feb 28, 2024
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
In a vain attempt to make mining less boring and actually require more
player engagement I have cobbled together the groundwork to a sizable
reworking of the mining system from that thing you send out that one
random crew member to go do for a couple minutes to a team-based
activity focused around the use of specialized equipment.

The gameplay loop for mining I envision within my mind's eye is one
where most members of the ship's crew, even down to the engineers and
medics, have to cooperate in order to properly secure large amounts of
ore from dangerous environments, with most other non-mining ships
needing to at least partially rely on mining ships to supply them with
minerals.

This PR specifically adds; ore veins (they use the same sprites as
geysers pending a better one) that spawn on lava, sand, rock, and ice
planets currently and at varying levels of difficulty and yeild, a drill
with which to mine said veins, a scanner to find the aforementioned
veins, and an outpost mission that is essentially just a mission to go
drill ore veins but with money as the reward instead of ore. Oh and I
also cut surface mineral spawn rates roughly in half pending a better
gauge of the balance involved there.

Here's the harrowing story of one such man who tried to use this drill
with no armaments and no crew:

![screenshot1](https://github.com/shiptest-ss13/Shiptest/assets/112462947/1a737ff6-5372-46ab-bda3-72363dbfe94d)

![screenshot2](https://github.com/shiptest-ss13/Shiptest/assets/112462947/fb9452b8-c6cd-4e9e-8986-59bbb272bdf3)

![screenshot3](https://github.com/shiptest-ss13/Shiptest/assets/112462947/812c4c8f-d3f7-4bde-a119-e8e6f35790e8)


<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
Mining in its current state is just kinda bad. It's boring to actually
focus on doing and way too easy to just drown your ship in minerals.
This PR would at bare minimum partially fix that. That's not to say it's
perfect and doesn't need to be balanced and polished to hell and back,
but it's a good first step I feel.

<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding. -->

## Changelog

:cl:
add: Ore veins and a drill to mine them with
add: Mining based missions
tweak: Lowered the spawn rate of some other mob spawners like tendrils
tweak: Added the ability for mob spawners to spawn mobs a distance from
their source
balance: Cut most ore sources in half and tweaked the spawn weights
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Signed-off-by: BogCreature <112462947+BogCreature@users.noreply.github.com>
Co-authored-by: thgvr <81882910+thgvr@users.noreply.github.com>
Co-authored-by: Mark Suckerberg <mark@suckerberg.gay>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code change Watch something violently break. DME Edit Test Merge Candidate You do it for free.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants