Add passenger count condition for trains / "Passenger boarded" train stop condition

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
mrvn
Smart Inserter
Smart Inserter
Posts: 5709
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Add passenger count condition for trains / "Passenger boarded" train stop condition

Post by mrvn »

TL;DR
One can not make a train wait somewhere till a passenger (other than the driver) has borded.
What ?
Instead of the condition "passenger present" and "passenger not present" there should be a "passenger count = N".
Why ?
With a passenger count one can make a train wait for a second person to join the train or for a team to board the train. Say I'm having problems with a build and ask another person in a multiplayer game to help me. He answers: "I'm so far away, it will take me hours to get there." So I say: "Go to <coords>" and I will pick you up with a train. I take my trusty Taxi train, send it to <coords> and set condition "passenger count = 2" so the train waits till he has boarded.
Last edited by ssilk on Mon Oct 24, 2022 5:52 am, edited 1 time in total.
Reason: Changed title

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Please add passenger count condition for trains

Post by ssilk »

We already had discussions around passenger count, but this one is a new idea. But I’m not sure, if I like it, because it extends only the existing condition “passenger present”. Gameplay value is quite low, because when you really need it is a quite rare case. :)

But there are other cases, where you need a “passenger NOT present”-rule and for th

Older threads:
viewtopic.php?f=6&t=89304 Default temporary stop condition "passenger not present"

Several discussion around that subject:
search.php?keywords=Condition+passenger+&fid%5B0%5D=
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

mrvn
Smart Inserter
Smart Inserter
Posts: 5709
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Please add passenger count condition for trains

Post by mrvn »

ssilk wrote:
Mon Sep 20, 2021 1:51 am
We already had discussions around passenger count, but this one is a new idea. But I’m not sure, if I like it, because it extends only the existing condition “passenger present”. Gameplay value is quite low, because when you really need it is a quite rare case. :)

But there are other cases, where you need a “passenger NOT present”-rule and for th

Older threads:
viewtopic.php?f=6&t=89304 Default temporary stop condition "passenger not present"

Several discussion around that subject:
search.php?keywords=Condition+passenger+&fid%5B0%5D=
Search found 0 matches: Condition passenger

The "passenger Not present" rule already exists and is equivalent to "passenger count = 0", The "passenger present" rule is equivalent to "passenger count > 0".

Note: It probably wasn't clear in my suggestion but the intent is to implement the passenger count like item count. So you can choose between <, <=, =, >=, >, != and set a count.

For my temporary but not so temporary stops I actually use the rule "passenger present and passenger not present". That way the train will wait either way. And it's one click to remove the rule you don't want. 2 clicks to make it not wait at all or one click if you later want the waiting train to move on (remove the stop or click the next).

JasonC
Filter Inserter
Filter Inserter
Posts: 448
Joined: Tue Mar 22, 2016 3:05 am
Contact:

"Passenger boarded" train stop condition

Post by JasonC »

The use case of wanting a train to proceed when you jump on it at a station, but also wanting to be able to ride the train back to that station seems very common.

However, because the currently available conditions are only "passenger present" and "passenger not present", to prevent the train from immediately blowing through the stop or immediately proceeding, "passenger present" always needs to be combined with e.g. "time passed".

To that end, it would be really useful if, in addition to the current passenger conditions, a new "passenger boarded" condition was added, which effectively triggered when a passenger who was not on the train entered the train. Note that this is not the same as "passenger present": this would not trigger if you were already on the train when it arrived at the stop, nor would it trigger if you were already on a manual mode train when you switch it to automatic.

As a detail, the wording of "when a passenger who was not on the train entered the train" is significant: If a player is on a train when it arrives at a stop and a second player jumps on at that stop, it should trigger. I.e. not the same as "when a train with no passengers becomes a train with passengers". This is important because it prevents an AFK player on a train from effectively disabling the condition in multiplayer games.

Also, if none of the players who triggered the condition at a stop are on the train any more, then the condition should clear at that stop. This prevents e.g. "passenger boarded" AND "some other condition" from being satisfied if you jump on the train then back off before "some other condition" is triggered. The "none of the players who..." part is significant and should be taken literally, this is important for multiplayer situations.

---

Behavior summary (just what I wrote above but in bulleted form, plus some):
  • Condition becomes satisfied when any player enters the train (regardless of current passengers on train), while the train is in automatic mode.
  • Condition becomes cleared when all players who entered the train (at that stop, since last entrance to automatic mode) are no longer on the train (regardless of other players on train).
  • Condition is always clear upon entering automatic mode (regardless of current passengers on train).
Possible implementation idea, if needed:
  • Maintain a list of stop-specific passengers (henceforth known as "this list").
  • On arriving at a stop: Clear this list.
  • On entering automatic mode: Clear this list.
  • When a passenger gets on the train: Add them to this list.
  • When a passenger gets off the train: Remove them from this list, if they are on it.
  • When the contents of the list change:
    • If it is non-empty, set the condition.
    • If it is empty, clear the condition.
This would handle all the details described above.

Example setups:
  • Alone, it can be used when you want a train you are riding to hold at a station until you get back on it, in place of the usual "passenger present" + "time passed" combo. As a bonus, if you aren't paying attention, you no longer risk still being on the train when the "time passed" condition expires.
  • It can also be used when you want a train to proceed to the next stop if you stay on it, like this:

    Code: Select all

    Passenger Boarded OR (Passenger Present AND Time Passed)
    With that setup, you still get the train to proceed if you stay on it for a few seconds, but it will also proceed immediately if somebody jumps on.


Thanks!

---

PS "Passenger deboarded" could be useful too although I don't personally care as much.

PPS Inb4 setting up stops that allow multiple players to jump on: That's beyond the basic use case for "passenger boarded", and the current way of combining passenger signals with "time passed" can continue to be used. However, one possibility to make this easier is to make players boarding reset the "inactivity" timer, then "passenger boarded" can be ANDed with "inactivity" if you want a more multi-passenger friendly setup. That's not officially part of this FR though, and I don't really know what the consequences would be, I'll leave that debate up to others. (Any unknown consequences could be avoided though by not resetting "inactivity" and instead adding a time setting to "passenger boarded", just a thought.)
Took a break from 0.12.29 to 0.17.79, and then to ... oh god now it's 1.something. I never know what's happening.

aka13
Filter Inserter
Filter Inserter
Posts: 684
Joined: Sun Sep 29, 2013 1:18 pm
Contact:

Re: "Passenger boarded" train stop condition

Post by aka13 »

I would also like to see such a condition. It would be quite nice.
Pony/Furfag avatar? Opinion discarded.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Add passenger count condition for trains / "Passenger boarded" train stop condition

Post by ssilk »

merged with existing thread
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Post Reply

Return to “Ideas and Suggestions”