From 9fac1db45f79e2312415500b6ec9d22a8edb0cdd Mon Sep 17 00:00:00 2001 From: orwell Date: Wed, 20 Dec 2023 00:20:56 +0100 Subject: Set maximum train length and prevent coupling if it would exceed --- advtrains/couple.lua | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'advtrains/couple.lua') diff --git a/advtrains/couple.lua b/advtrains/couple.lua index 1318c12..b6a445e 100644 --- a/advtrains/couple.lua +++ b/advtrains/couple.lua @@ -227,6 +227,13 @@ function advtrains.couple_trains(init_train, invert_init_train, stat_train, stat local stp = stat_train.trainparts local stat_wagoncnt = #stp local stat_trainlen = stat_train.trainlen -- save the train length of stat train, to be added to index + + -- sanity check, prevent coupling if train would be longer than 20 after coupling + local tot_len = init_wagoncnt + stat_wagoncnt + if tot_len > advtrains.TRAIN_MAX_WAGONS then + atwarn("Cannot couple",stat_train.id,"and",init_train.id,"- train would have length",tot_len,"which is above the limit of",advtrains.TRAIN_MAX_WAGONS) + return + end if stat_train_opposite then -- insert wagons in inverse order and set their wagon_flipped state -- cgit v1.2.3