Prevent distribution from abandoning the distribution center
If there are no civilians in the distribution center, distribution could abandon the sector by distributing out all the military.
This commit is contained in:
parent
afdd0b00c8
commit
d0f3847d1d
2 changed files with 9 additions and 5 deletions
|
@ -89,10 +89,12 @@ xdist and ydist selectors:
|
|||
.s1
|
||||
This finds all sectors that have themselves as a distribution point.
|
||||
.s1
|
||||
.L "Distributing civilians"
|
||||
.L "Distributing civilians and military"
|
||||
.s1
|
||||
When distributing civilians, no distribution point will ship out its
|
||||
last civilian, regardless of thresholds set in sectors using it as a
|
||||
When distributing civilians or military,
|
||||
no distribution point will ship out its last civilian or
|
||||
the last military if there are no civilians,
|
||||
regardless of thresholds set in sectors using it as a
|
||||
distribution point.
|
||||
.s1
|
||||
.SA "deliver, threshold, level, Distribution"
|
||||
|
|
|
@ -118,8 +118,10 @@ dodistribute(struct sctstr *sp, int imex, char *path, double dist_i_cost,
|
|||
if (dist->sct_mobil <= 0)
|
||||
continue;
|
||||
amt = diff;
|
||||
if (item == I_CIVIL)
|
||||
amt_dist--; /* Don't send your last civ */
|
||||
/* make sure not to abandon the sector */
|
||||
if (item == I_CIVIL ||
|
||||
(item == I_MILIT && dist->sct_item[I_CIVIL] == 0))
|
||||
amt_dist--;
|
||||
|
||||
if (amt_dist < amt) {
|
||||
amt = amt_dist;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue