b-casey / OpenSMACX

A project to decompile SMAC/X to C++ with the long term goal of creating a full open source clone.
GNU General Public License v3.0
52 stars 4 forks source link

Edge case where faction could get eliminated even when they had active colony pods #24

Open b-casey opened 3 years ago

b-casey commented 3 years ago

Issue stems from code (0x005274D7) inside faction_upkeep() that doesn't take into consideration edge cases of factions with non-standard Colony Pods (Pirates, custom factions) before eliminating them. This can be fixed by adding in a final check against all faction controlled units if any of them contain a colony pod.

See: https://github.com/tnevolin/thinker-doer/commit/ecea4fadfebefd21b86192e33ec2028e3e5b5df5#diff-0fef4bf9fcd523dfa1c85b27a330281bd2a8a888f79ec8b2a844e2202184df6cR183