* 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.
* Added the paratrooper unit
* Reverted accidental reordering of action table
* Fixed Github build errors
* Hopefully actually fixed the build errors
* Added a Dutch translation, finally fixing the error
* Paratroopers can no longer actually paradrop on a tile they shouldn't be able to paradrop onto
* Removed double update action
* Add global alerts for certain constructions
In the original game, certain constructions alert all players upon
their completion. This commit introduces a new unique for this behavior
and adds this unique to the relevant constructions.
The code that implements the new unique is placed in
Building.postBuildEvent, so it can only be activated by buildings. If
other kinds of constructions require a global alert as well, the code
could be moved to CityConstructions.constructionComplete.
* Removed redundant line in template.properties
* Moved global alert logic to CityConstructions
Moved the implementation of "Triggers a global alert upon completion"
from Building.postBuildEvent to CityConstructions.constructionComplete,
close to the similar Wonder notification logic.
* Technology and construction bars no longer extend past their maximum
* Fixed compile errors
* actually fixed the issue
* Added the marine unit
* Moved amphibious promotion effect to unique
* Added icons for Amphibious promotion and Marine unit
* aaah
* Update Turkish.properties (#3964)
* Update Spanish.properties (#3963)
* Update Indonesian.properties (#3960)
* Update Indonesian.properties
* Update Indonesian.properties
* Update Italian.properties (#3956)
* Update Spanish.properties (#3970)
* Fix spaceship part production boosts (#3953)
Previously, the buildings and wonders that should boost spaceship part
production (Forge, Spaceship Factory and Hubble Space Telescope) would
not provide this boost (#3952). This commit fixes the issue.
The problem was caused by the fact that the spaceship part-boosting
uniques would only boost spaceship part UNITS while spaceship parts are
currently buildings.
The added comments serve as a reminder to change the uniques if
spaceship parts are ever changed into units.
* Update Spanish.properties
I had to reopen a new pull request due to conflicts the other had.
Co-authored-by: Arthur van der Staaij <32672293+avdstaaij@users.noreply.github.com>
Co-authored-by: Nazım Gediz Aydındoğmuş <nga@hotmail.com.tr>
Co-authored-by: ArchDuque-Pancake <78449553+ArchDuque-Pancake@users.noreply.github.com>
Co-authored-by: kensvin <63847755+Kensvin28@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: chriscr2 <70113017+chriscr2@users.noreply.github.com>
Co-authored-by: Arthur van der Staaij <32672293+avdstaaij@users.noreply.github.com>
Previously, the buildings and wonders that should boost spaceship part
production (Forge, Spaceship Factory and Hubble Space Telescope) would
not provide this boost (#3952). This commit fixes the issue.
The problem was caused by the fact that the spaceship part-boosting
uniques would only boost spaceship part UNITS while spaceship parts are
currently buildings.
The added comments serve as a reminder to change the uniques if
spaceship parts are ever changed into units.
* Removed Duplicates and HillForest
since the Image HillForest got renamed to Forest to reduce ruleVariants
* reorganized legacy variants
* Added "Offshore Platform" for oil well on water