Skip to content

Commit

Permalink
[MIRROR] Adds Minecarts (#2523)
Browse files Browse the repository at this point in the history
* Adds Minecarts (#83175)

## About The Pull Request

Designed for use in #83163 , not implemented anywhere else currently. 

Mining cars (existing crate reskin) now have a hefty drag slowdown. 
Click-dragging them onto a minecart rail (new), however, will negate
this slowdown, allowing you to drag them at nearly full speed.
This also gives you the opportunity to give them a bump to push them
down the tracks at a decent pace.


https://github.com/tgstation/tgstation/assets/51863163/293adbfb-e2bd-49ba-beef-c998c388ecf0

Other notes: 
- Running a cable underneath a minecart (underfloor allowed) will power
the rail, keeping its momentum, or boosting it slightly if it falls
below certain thresholds.
- If the minecart comes to an abrupt stop with a decent amount of speed,
it will chuck all of its contents ahead a few tiles.
- Break rails also exist, and stop the cart instantly (and with no
contents chucking) when powered with cable.
- The cart does hurt people who are standing in the way if it's moving
with moderate speed.
- And it also hurts people lying on the tracks. 
- You can buckle yourself onto a (closed) minecart to ride it. Someone
else has to give you a push though.

## Why It's Good For The Game

I was struggling to come up with a method of bulk transferring items for
the linked PR that didn't seem too contrived (bluespace BS, pods),
wouldn't require work refactoring an existing system (transit tubes),
and wasn't a tram, and I realized we have mine carts but no rails.

So I added rails and made the minecarts work on the rails. This gives a
method of shipping items from point A to point B that fits well in
certain settings, such as the lower areas of Icebox, or maybe in space
ruins.

I also think it would be fun to give miners some tools to construct
rails, to let them ship boulders back to the station via railway rather
than using teleportation.

## Changelog

:cl: Melbert
add: Adds Minecarts, (possibly admin only depending on when this PR is
merged in relation to the Icebox Bar PR)
/:cl:

* Adds Minecarts

---------

Co-authored-by: MrMelbert <[email protected]>
Co-authored-by: NovaBot13 <[email protected]>
  • Loading branch information
3 people authored and StealsThePRs committed May 17, 2024
1 parent f0b81b9 commit d39c561
Show file tree
Hide file tree
Showing 5 changed files with 406 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,7 @@

/// Sent to movables when they are being stolen by a spy: (mob/living/spy, datum/spy_bounty/bounty)
#define COMSIG_MOVABLE_SPY_STEALING "movable_spy_stealing"
/// Called when something is pushed by a living mob bumping it: (mob/living/pusher, push force)
#define COMSIG_MOVABLE_BUMP_PUSHED "movable_bump_pushed"
/// Stop it from moving
#define COMPONENT_NO_PUSH (1<<0)
Loading

0 comments on commit d39c561

Please sign in to comment.