// Function from file: tgstation.dme public override bool relaymove(Mob user = null, int?direction = null) { Obj_Structure_TransitTube_Station station = null; Obj_Structure_TransitTube tube = null; if (user is Mob && user.client != null) { if (!Lang13.Bool(Lang13.FindIn(typeof(Obj_Structure_TransitTube), this.loc))) { user.loc = this.loc; user.client.Move(Map13.GetStep(this.loc, direction ?? 0), direction ?? 0); user.reset_perspective(null); } if (!this.moving) { foreach (dynamic _a in Lang13.Enumerate(this.loc, typeof(Obj_Structure_TransitTube_Station))) { station = _a; if (station.directions().Contains(this.dir)) { if (!station.pod_moving) { if (direction == station.dir) { if (station.icon_state == "open") { user.loc = this.loc; user.client.Move(Map13.GetStep(this.loc, direction ?? 0), direction ?? 0); user.reset_perspective(null); } else { station.open_animation(); } } else if (station.directions().Contains(direction)) { this.dir = direction ?? 0; station.launch_pod(); } } return(false); } } foreach (dynamic _b in Lang13.Enumerate(this.loc, typeof(Obj_Structure_TransitTube))) { tube = _b; if (tube.directions().Contains(this.dir)) { if (tube.has_exit(direction)) { this.dir = direction ?? 0; return(false); } } } } } return(false); }