tram

Vars | |
initial_id | for finding the landmark initially - should be the exact same as the landmark's destination id. |
---|---|
travelling | set by the tram control console in late initialize |
Procs | |
find_our_location | Finds the location of the tram |
tram_travel | Handles moving the tram |
unlock_controls | Handles unlocking the tram controls for use after moving |
Var Details
initial_id

for finding the landmark initially - should be the exact same as the landmark's destination id.
travelling

set by the tram control console in late initialize
Proc Details
find_our_location
Finds the location of the tram
The initial_id is assumed to the be the landmark the tram is built on in the map and where the tram will set itself to be on roundstart. The central tram piece goes further into this by actually checking the contents of the turf its on for a tram landmark when it docks anywhere. This assures the tram actually knows where it is after docking, even in the worst cast scenario.
tram_travel
Handles moving the tram
Tells the individual tram parts where to actually go and has an extra safety check incase multiple inputs get through, preventing conflicting directions and the tram literally ripping itself apart. The proc handles the first move before the subsystem takes over to keep moving it in process()
unlock_controls
Handles unlocking the tram controls for use after moving
More safety checks to make sure the tram has actually docked properly at a location before users are allowed to interact with the tram console again. Tram finds its location at this point before fully unlocking controls to the user.