I already explained the scenario in which they were subbed. That is the very reason that I decided to post here in the first place. Let me break it down for you again.:
I have 9 players dressed for a game. The player at Center (C) is scheduled to play the entire game. He has been selected as the Starter, Backup, and Reserve. All other positions have a starter and backup/reserve. Basically, there are 2 players dressed per every position on the court, with the exception of the Center. We shall henceforth refer to these players as follows. The Starting Point Guard is PG1 and the Backup/Reserve Point Guard is PG2. You get the idea, I hope. Strictly Follow Depth Chart and Play Through Foul Trouble have been selected, meaning that the coach should follow my directives and the player should not be benched for getting too many fouls.
That is all the background information. The exact scenario is as follows. Imagine the game is a blowout in my favor. (Note: the exact score does not matter.) It is either later in the 3rd Quarter or at some point in the 4th Quarter. (Again, the exact time in the 3rd or 4th Quarter does not matter. It just has to be late enough into the game that Garbage Time can and will be called due to the nature of the blowout.)
Imagine all of the starters for the game are on the court. That would be PG1, SG1, SF1, PF1, and C. The backups would all be on the bench. That means that PG2, SG2, SF2, and PF2 are on the bench. Note that there is no C2, because there was only one player designated to play Center for the entire game. Now imagine that SG1 is fouled, which causes him to miss his 2-point jumper. (Note: the type of shot does not matter. I just picked one for an example.) After SG1 shoots the first free throw, the result of which does not matter, it is announced that we have entered Garbage Time.
Now as was stated before, once Garbage Time is called, all backup and reserve players (obviously limited to court space available), come off the bench and replace a starter. In this scenario, all things being equal, PG2 replaces PG1, SF2 replaces SF1, and PF2 replaces PF1. Those are given and we will not refer to those players anymore. SG2 is the last player on the bench who needs to enter the game. However, SG1 cannot be benched because he obviously still has to shoot another free throw. So the coach decides to sub SG2 in for my C. SG1 shoots his last free throw and the game continues. My lineup at this time now includes PG2, SG1, SF2, PF2, and SG2. The Center (C) must now sit on the bench until a stoppage in play. When a stoppage in play happens, SG1 and SG2 will swap positions on the court and C will enter the game for SG1, thus regaining his original position on the court.
The important part of the scenario is the free throw shooter. If Garbage Time is called and the C in the above scenario is at the charity stripe, then the subbing in and out of players goes smoothly. If Garbage Time is called during a regular stoppage in play, the subbing in and out of players goes smoothly. If Garbage Time is called in the above scenario, the coach disregards the Strictly Follow Depth Chart rule and inserts a bench player into the wrong position simply to follow the game's directive of clearing the bench of all non-starting players.
My suggestion is simply to see if the algorithm can be tweaked so that SG2 in the above scenario can simply wait to enter the game when Garbage Time is called if SG1 is at the charity stripe. SG2 could enter the game at the next stoppage of play.
Yes, it is a minor loss of minutes, but it is nonetheless a loss of minutes, which directly affects training.
I know the game does not guarantee a full 48 minutes for training and I understand that. The change I am asking for fixes a small, but annoying hiccup, which has frustrated me for the last few years. Otherwise, the algorithm, as it is written, prevents a coach from Strictly Following the Depth Chart, and thus denying me agency in