ORIGINAL: Rooster
If you don't mind my asking, what is cutting the supply line in the image above? Is it a constriction of the supply line across the bridge? Or the proximity to enemy units?
When the Ai goes to fill a request it first determines the best supplyRoute. This is an avoidance route with triple the caution factor. Once the route is calced ( ie path determined and its movement and firepower values calculated ) we look to see if there is a hostile location along that route. For supply transport columns this is any location that exceeds an amount of enemy firepower deemed to be too hostile for the transport column to proceed. If there is a hostileLoc then the request is suspended and the supplyLine deemed cut. If not, then the transport column is depatched and the supply line status will stay whatever it was. it will only be changed when the column arrives or is aborted.
Once the event fires for the arrival of the column the route values ( not path ) are recalced using the "actual" enemy firepower along the route. If there is some enemy FP then losses are taken. If the colum gets through unscathed, then the supplyLineStats will be set to "open". If only some, it will be "threatened" and if none then it will be "cut".
A reachability check is also done on the route and if the route is no longer valid ( say because a bridge was blown then the supplyLineStatus will be set to "cut" as well.
In the example above, the crossing was blown a while earlier and this would account for some of the units on the south side having cut lines. The other two probably got their supply run in prior to the crossing being blown and so their status won't be reset until they next request a resupply.
To simulate the fact that units on the front line still get resupped while being engaged with the enemy, we calc a drop off point approx 500m prior to the units actual location. The supplies are assumed to be manhandled by the receiving unit over the last 500m.