See the detailed description below for change notes.
2.1.1 --- 2016/07/04
• Renamed the "type" parameter to "types" in the TechList table and related
scripts to avoid confusion with the Lua command of the same name.
• Disabled some lines in "DisableHyperspaceRule()" as the performance was poor
and the code may have been technically unnecessary.
• Merged "GetResearchGrant()" and "GetResearchRestriction()" into a single
function called "GetFreeResearchItem()".
• Removed "default.lua" from the AI scripts since the same functionality is
already provided in the DEFINED ROLES code.
• Re-used the "PlayerHasMothership()" function inside "GetBestCrateLocation()".
• The "PlayerHasMothership()" function now returns the mothership type and name
as well as true or false.
• Removed the "GetValidMothership()" function since it no longer serves a
purpose.
• Miscellaneous optimizations to loops.
• Split CRATES and BOUNTIES code into individual files separate from
"homeworldclassic.lua".
• In the "GrantAllResearchRule()" rule, I stopped using
"Player_GrantAllResearch()" and rolled my own routine that parses
"def_research.lua" and logs all grants to the "Player_GrantedResearch" table.
• Renamed all instances of "iPlayerIndex" to "playerIndex" to be consistent.
• The "GrantAllResearchRule()" function now checks whether the player is a CPU
or human before granting some items. Not sure it has any effect, though.
• Fixed the bug where frigates were immediately disappearing after being built
by carriers when playing with the RESEARCH OFF and CARRIER ONLY settings.
• Fixed the bug where the custom GUI displays crash when the local player dies.
• The custom GUI displays now show dashes instead of values when a player dies.
• Research meant for AI players only are now restricted for human players. They
were also removed from the "TechList" table.
• Research never meant to be used in multiplayer matches are now restricted.
• RESEARCH OFF rule now overrides and disables BENTUSI ROULETTE since RESEARCH
OFF already grants every type of research it can grant.
• Added a GAME RULES screen so players can double-check and see what settings
the host chose for the match.
• Fixed some mistakes in game rule tooltips.
• Reverted to Luke Moloney's original and much simpler method of determining
"ChooseCrateRewardShip" using "while" loops instead of "for" loops.
• Research wasn't being chosen randomly by CRATES mode. It is now.
• Copied some code from GearBox's "mainrule_updating()" function that plays
some speech files and displays some text at the beginning of each match and
when a player dies. Not sure if it's working properly.