mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 23:58:07 +01:00
[MIRROR] Immovable rod meets unstoppable tram [MDB IGNORE] (#23299)
* 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 /🆑 * Immovable rod meets unstoppable tram --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
This commit is contained in:
co-authored by
lessthanthree
parent
3f9fec7b03
commit
a4fae9cdb5
@@ -221,9 +221,12 @@
|
||||
if(!tram || !tram.is_operational) //tram is QDEL or has no power
|
||||
say("The tram is not in service. Please send a technician to repair the internals of the tram.")
|
||||
return
|
||||
if(tram.travelling) //in use
|
||||
if(tram.travelling) //already on its way
|
||||
say("The tram is already travelling to [tram.idle_platform].")
|
||||
return
|
||||
if(tram.controls_locked) //attempting a dispatch or on cooldown
|
||||
say("The tram controller is busy. Try again in a moment.")
|
||||
return
|
||||
if(!destination_platform)
|
||||
return
|
||||
var/obj/effect/landmark/tram/current_location = destination_platform.resolve()
|
||||
@@ -233,5 +236,8 @@
|
||||
say("The tram is already here. Please board the tram and select a destination.")
|
||||
return
|
||||
|
||||
say("The tram has been called to [current_location.name]. Please wait for its arrival.")
|
||||
tram.tram_travel(current_location)
|
||||
if(tram.tram_travel(current_location))
|
||||
say("The tram has been called to [current_location.name]. Please wait for its arrival.")
|
||||
return
|
||||
else
|
||||
say("The tram controller has encountered an error. Try again in a moment.")
|
||||
|
||||
Reference in New Issue
Block a user