* Removed the civ introduction trade option
Left in the minimum amount of code to ensure that saves with a pending
introduction trade do not break (any such pending trades are cancelled).
The left-in introduction trade code can be fully removed in a later
version.
* Added back civ introduction trades as a mod option
Also made the gold value of introducation trades moddable.
* Made civ introduction trade invalid if receiver already knows the civ
This prevents players from sending two AI civs introduction trades for
each other in the same turn and profiting from both. This therefore
fixes#4272.
* Applied requested changes
* Removed a spurious space
* Made water oil wells require the Refrigeration tech
Oil wells can now only be created on water with the refrigeration
technology.
This is not the ideal solution: it would be preferable to support
multiple improvements for a single resource, to add offshore platforms
as a separate improvement for coastal oil that requires refrigeration
and to disable building oil wells on coast. Allowing multiple
improvements for a resource would however be a much more significant
refactor.
* Added back "terrainsCanBeBuiltOn": ["Coast"]
* Unit action constants and worker unique cleanup
* Replace unit action constants with enum properties - patch1
* Replace unit action constants with enum properties - patch2
* CityScreen Buy button rework
- e.g. "Buy" for Missionary
- Info pane staying even when building no longer offered
- Purchase Prompt a little prettier
* Urgent Fix - noMods switch default
* CityScreen Buy button rework - patch1
* city-state bonuses graded depending on friend or ally
* siam militaristic UP, cleaned up presentation
* fix strings
* move city state modifiers to json
* city-state bonuses graded depending on friend or ally
* siam militaristic UP, cleaned up presentation
* fix strings
* move city state modifiers to json
* Restructure eras.json
* reduce indentation in DiplomacyManager.kt
* Add fallback values in cas of missing json definitions
* review edits
* fix conflicts???
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Improve horse and construction sound
* Update Credits.md
* Convert to mp3
* Delete construction.ogg
* Improve horse sound
By https://freesound.org/people/Kubuzz/sounds/347036/
* Update Credits.md
* Bring back to old "construction" sound
* Update Credits.md
Helicopters are implemented as land units, so the anti-air units (land
anti-air and fighters) did not yet have this bonus.
Also corrected the damage bonus of triplanes and removed a redundant
"6 tiles in every direction always visible" unique.
* Implemented Zone of Control
* Implemented "move after attacking" ZoC exception
Units that can move after attacking are not affected by zone of control
if they move because of defeating a unit.
* Implemented all missing special ZoC cases
As described in:
https://forums.civfanatics.com/resources/understanding-the-zone-of-control-vanilla.25582/
* Slightly optimized ZoC logic
* Modified the "possible optimization" comment
Added the knowledge gained from SomeTroglodyte's tests.
* Added "Ignores Zone of Control" unique
Implemented the unique and gave it to the Helicopter Gunship.
* BFS cleanup
- Kotlin ArrayDeque is no longer experimental
- Client code sidestepped class API even where API existed -> closed it down
- nextStep when already ended now no-op instead of crash, suits usecases
- predicate test very likely to be more expensive than tilesReached lookup
- getPathTo only used asSequence() - why not a Sequence in the first place
- Compleat documentation. This is very low level, so better help future coders to understand.
- Lint: One annoying hardcoded conditional breakpoint, one unhelpful exception
* BFS cleanup - patch1
* Implemented religious pressure: cities now can have more than one religion in them and religions spread between nearby cities over time.
* Implemented proposed changes
* Implemented requested changes & minor changes I forgot to include last time
* All pantheons not founded by you are now removed when you gain a new city (found this somewhere in the source code of the original, don't know if it's documented anywhere online)
Some issues lately have been shockingly devoid of useful information...
- Reintroduce environment questions inspired by standard template, albeit simpler
- That details trick to make large saved games manageable is already used by some, it *could* work in the hands of the masses - or too dangerous?
Checking the Github actions shows that this doesn't seem to work with the current Github actions due to version confllicts, we'll need to resolve those
* Renamed and added doc comments for some some can-pass-through functions
* Moved a city-state pass-through exception to a lower-level function
Moved the exception that players (but not AI) can always pass through
city-states from TileInfo.canCivPassThrough to
CivilizationInfo.canPassThroughTiles (which is called by the former).
This makes the behavior of the latter function accurate to its name, and
makes the code more understandable overall.
A side-effect of this change is that functions that used the lower-level
CivilizationInfo.canPassThroughTiles function directly now consider the
aforementioned exception. For example, if a city-state expands its
border, it should now no longer push out units of a player civilization.
It may make even more sense to move the exception to the "canMoveTo"
logic, since AI should probably be able to pass through city-state tiles
even when they don't want to end on them. That might however affect the
AI more significantly.
* Fixed bug where units would not enter a city upon capture
As listed in #4697.
* Fixed a bug where captured units were pushed out of captured cities
Before, capturing a city with a civilian unit in it would cause the
capturing military unit to enter the city but also cause the civilian
unit to leave the city. Now, the civilian unit stays in the city as
well.