* Added the Utopia Project for the culture victory; AI will now build it
* Forgot to credit the icon
* Fixed a few minor issues
* Improved code quality; added translatable notifications
* Fixed mistakes; improved quality
* Changed a label
* Revert a small change which is no longer necessary
* Reverted the revert of a small change which is no longer necessary
* Made requsted changes
* Updated Tradition branch to G&K
* Small performance boost for calcualting maintenance; fix crash on next turn
* Fixed a bug where maintenance-free buildings would still cost maintenance
* Simplified some code
* I am unable to read
* Fixed a few broken uniques, including #4109
* Implemented requested changes
* Updated Liberty branch to G&K, improved modularity of uniques
* Updated meritocracy to only affect non-occupied cities
* Implemented requsted changes
* Updated some unit obsoletions
* Added a missing unit upgrade
* Added some missing commas in units.json
* Replaced Military Base icon with a simpler one
The original had a bit too much detail for the size at which it is
shown.
* Enabled Arsenal and added a new Armory icon
The old icon for Armory was much more appropriate for Arsenal, so I
added a new icon for Armory instead.
* Enabled Military Base and added an icon for it
* Enabled Petra and added an icon for it
* Enabled Composite Bowman and added an icon for it
* Enabled Mobile SAM and added an icon for it
* Enabled Jet Fighter
* Made Machine Gun upgrade to Mechanized Infantry
* Removed "Will be added in G&K" comments
Since we are now targeting G&K, these comments are no longer required.
* Fixed Aluminum/Aluminium inconsistencies
As discussed on yairm210#4058, production (or hammer) overflow in Civ 5
is a thing and goes according to rules described on
https://forums.civfanatics.com/threads/hammer-overflow.419352/
This has been added to the game. There are no visual indicators for the
user yet. This will probably be added later.
* Map Generation Seedable
* Added Seed editable field in MapParametersTable
Previously, using the same set of parameters, one could not get the same map twice (i.e. negligible probability for it to happen). With this commit players can specify, alongside the usual map parameters, a long integer used to seed the RNG and get replicable results.
* Fixed Natural Wonder Spawn was not using MapGenerationRandomness hence giving not reproducible maps
* Translation strings
* * Renamed Continents to Two Continents
* Created Four Continents map size
It spawns a vertical and a horizontal ocean to split the map in 4 major continents. Works properly on all sizes and with world wrap
* Fixed Pangea extending to boundaries in rectangular maps
* Unified Pangea for rectangular and hexagonal maps
* Fixed Default map type bias on Rectangular maps. Also removed "pangea effect" on Default: land can spawn with the same probability in the whole map.
* New map type: 4 Corners
* Reverted name change Two Continents to Continents
* Renamed Four Continents to Four Corners (to reflect original name in Civ5)
* Added translation strings
* New map type: 4 Corners
* Reverted name change Two Continents to Continents
* Renamed Four Continents to Four Corners (to reflect original name in Civ5)
* Added translation strings
* Refund wasted production as gold
Any wasted production, from for instance a partially completed wonder or
obsolete units, will now be refunded as gold (in a 1:1 ratio).
We update both at the start and end of the user turn. Updating at the
start to account for wonders completed after our previous turn and
updating at the end to account for obsolete buildings/units as a
consequence of our own turn.
When obsolete units get replaced by their upgraded version (as in civ 5)
this code should probably be updated.
* Implement wonder refund and obsolete unit upgrade
If a wonder is built somewhere else but the user has production in this
wonder, the production will be refunded as gold in a 1:1 ratio. A
notification will be shown to indicate this. This reflects the behaviour
in Civ 5.
If a unit becomes obsolete and an upgrade is available, the production
put into this unit will now be transferred to the upgraded version. If
the unit is queued, the queued unit will also be changed to the new
version and the user will be notified via notification.
* Shorten notification messages
* Update alerts: been obsolete -> become obsolete
* Added an icon for unit swapping
* Implemented unit swapping
In the original Civ V, unit swapping is a supported mechanic.
If you try to move a unit to a tile with another of your units, and both
units have enough movement points left to reach the other's tile, they
will swap places. They will consume only the movement points needed to
reach the other's tile in this way.
This change implements unit swapping for Unciv.
To prevent all kinds of problems from arising with automatic unit
movement, unit swapping can only be done explicitly. This also means
that it can only be done if the unit-swap movement is possible in a
single turn. It is however not limited to adjacent units.
Because Unciv supports mobile devices, there is in general no separation
between a unit-selection click and a movement click. Clicking on another
unit while a unit is selected simply selects that other unit. Because we
do not want to make it more difficult to select other units in this way,
unit swapping is implemented as a separate "movement mode": to toggle
this mode on or off, the new unit action "Swap units" must be used.
Newly selected units still always start in the normal movement mode.
In the unit-swap movement mode, the possible swap tiles are highlighted
instead of the possible movement and attack tiles. Clicking on a
highlighted tile will display a swap button, similar to the movement
button, or instantly perform the swap if single-click-movement is
enabled. This new behavior overrides the selection of the unit on the
target tile: if the user wants to select the unit instead, they have to
exit the unit-swapping mode first.
The swapping code is robust, it can even handle swaps that involve a
paradrop!
An option to always swap-move when an eligible tile is clicked instead
of requiring the unit-swapping mode, similar to the existing
single-click-movement option, could perhaps be added in later.
* Added some comments to existing movement functions
* Fixed a silly mistake
Fixed a silly mistake which caused the unit-swapping eligibility
detection to sometimes remove units from the world.
* Removed some unneeded code
* Fixed movement buttons not showing with world wrap
Fixed a bug where the "move here" and "swap with" buttons would only
show on the leftmost copy of the world when world wrap was enabled.
* Made the swap action only display if usable
Made the unit swapping button only display if there is at least one
possible swap movement.