summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--train_cmd.c6
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;