diff options
-rw-r--r-- | train_cmd.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/train_cmd.c b/train_cmd.c index 6d56e6166..6f719a2a1 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -400,7 +400,9 @@ static int GetTrainAcceleration(Vehicle *v, bool mode) resistance += incl; resistance *= 4; //[N] - if (speed > 0) { + /* Due to the mph to m/s conversion below, at speeds below 3 mph the force is + * actually double the train's power */ + if (speed > 2) { switch (v->u.rail.railtype) { case RAILTYPE_RAIL: case RAILTYPE_ELECTRIC: @@ -416,7 +418,7 @@ static int GetTrainAcceleration(Vehicle *v, bool mode) } } else { //"kickoff" acceleration - force = (mass * 8) + resistance; + force = max(power, (mass * 8) + resistance); } if (force <= 0) force = 10000; |