* Implemented new research update. Old research system no longer
updates.
* Fixed a major bug in the constants registrar
* Added game.research.vacation constant (determines the rate of
research when players are in vacation mode)
* Modified the empire resources update to check for vacation mode and
apply the modifier from vacation.cashDivider if necessary.
* Some parts of the database need to be reloaded:
-> 050-updates/015-empire-resources.sql
* The quantities of resources extracted from mines will now be updated
as soon as they have a reason to. This includes planet assignment,
abandonment, ownership changes, and updates to mining priorities.
* The mining update will now remove the current resource income from the
providers, and only then re-compute all extracted quantities. This is
more logical and corresponds to the way the other game updates work.
* Fixed bug in extraction computation where the size of the planet's
happy population was used instead of the happy/total ratio when
adjusting the mining production for riots.
* The following SQL scripts must be re-executed to upgrade a database:
-> 040-functions/040-empire.sql
-> 040-functions/145-resource-providers.sql
-> 040-functions/147-empire-mining.sql
-> 050-updates/120-planet-mining.sql
* Added a set of tables which define game updates and their targets.
These definitions replace the old enumerate type. Added a set of
triggers which automatically create specific update tables, insert
missing entries, etc... when game update types are being manipulated.
* Removed manual insertion of game updates from empire creation
function and universe generator.
* Added registration of core update targets (i.e. planets and empires),
updated all existing game update processing functions and added type
registrations
* Created Maven project for game updates control components, moved
existing components from the -simple project, rewritten most of what
they contained, added new components for server-side update batch
processing
* Added various views and helper functions used by the mining
computation but which may be re-used in other parts.
* Added mining computation update type and associated update function
* New constants: game.resources.weightBase (the value used to compute
weights from mining settings) and game.resources.extraction (the
quantity extracted in a day from a full provider at difficulty 0)
* Added a new update that computes the amount of resources possessed and
owed by empires. At the moment this computation ignores fleets, as their
upkeep does not use the resource system.
* The main loader script has been updated to generate the list of files
it needs to load automatically. As a consequence, files that contained
manually-maintained lists of scripts have been removed, and definition
directories have been renamed accordingly.
* PostgreSQL extension loading and configuration has been moved to a
separate script to be loaded automatically in the main transaction.
* Data and function definition scripts that had the -data or -functions
suffix have been renamed (the suffix is unnecessary).
* Unit tests have been reorganised to follow the definition's structure.
* Documentation has been improved