Files
Bubberstation/code/__DEFINES/tram.dm
lessthanthree 037dd1dad1 Immovable rod meets unstoppable tram (#77656)
## About The Pull Request

Adds interaction between immovable rod and the tram for the rare
occasions the rod hits it at the front or back while flying at a
parallel angle.

The rod will push/pull the tram in the direction it's flying until a
short distance past the tram's usual landmark, eventually winning and
carrying on.

- Only applies to random rods, if the rod has a target it will ignore
the tram as usual.
- Looping rod only pushes the tram once.
- As long as the tram has power, can be returned to the rails as usual
by calling it.

## Why It's Good For The Game

When the HoP is having a really unlucky day.


https://github.com/tgstation/tgstation/assets/83487515/2f0393cd-f796-4b00-8674-d97e57358543


https://github.com/tgstation/tgstation/assets/83487515/f74c8497-8d62-4fcf-80a0-da7259160b7f

## Changelog

🆑 LT3
add: Immovable rod will now battle the unstoppable tram should they
cross paths
fix: Birdshot's maint tram doors now work properly
fix: Tramstation's exterior light fixtures no longer get destroyed as
soon as the tram moves
code: Tram landmarks are now all subtyped instead of map varedits
/🆑
2023-08-24 22:20:30 +00:00

33 lines
724 B
Plaintext

/// Tram crossing light logic
#define XING_STATE_GREEN 0
#define XING_STATE_AMBER 1
#define XING_STATE_RED 2
#define XING_STATE_MALF 3
#define XING_DISTANCE_AMBER 70
#define XING_DISTANCE_RED 40
#define XING_SIGNAL_DIRECTION_WEST "west-"
#define XING_SIGNAL_DIRECTION_EAST "east-"
#define XING_DEFAULT_TRAM_LENGTH 10
/// Tram destinations/platforms
#define TRAMSTATION_WEST 1
#define TRAMSTATION_CENTRAL 2
#define TRAMSTATION_EAST 3
#define HILBERT_PORT 1
#define HILBERT_CENTRAL 2
#define HILBERT_STARBOARD 3
#define BIRDSHOT_PRISON_WING 1
#define BIRDSHOT_SECURITY_WING 2
#define BIRDSHOT_MAINTENANCE_LEFT 1
#define BRIDSHOT_MAINTENANCE_RIGHT 2
/// Tram navigation directions
#define OUTBOUND 1
#define INBOUND -1