Commit Graph

10421 Commits

Author SHA1 Message Date
Oskar Niesen
2b8c965d6b
Personality implementation (#11729)
* Add Personalities.json

* Personality tags

* Askia, Attila, Augustus Personalities

* Bismark & Boudica

* Added parsed personalities

* Linked Personalities to their nation

* Tweaked some personalities

* Added the declareWar Personality

* Fixed some misnaming

---------

Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com>
2024-06-15 22:02:51 +03:00
Yair Morgenstern
255e6c7fc9
Adds unique IDs to units (#11745)
* Adds unique IDs to units

* Add IDs to units in existing games

* civ.getUnitById function

* Fix 'no units' case
2024-06-15 22:00:41 +03:00
Md. Touhidur Rahman
3b40820bf2
Update buildAndDeploy.yml (#11751)
We'll see if this works, worst case we can revert it
2024-06-15 21:59:54 +03:00
Oskar Niesen
4d1484923c
Renamed getDistanceToTilesWithinTurn to getDistanceToTilesAtLocation (#11754) 2024-06-15 21:59:01 +03:00
SomeTroglodyte
bb1057e515
Fix map editor can't place improvements (#11743)
* Fix map editor can't place improvements

* Prefer the 'has...' approach after all
2024-06-15 21:58:04 +03:00
Oskar Niesen
294a0a71a4
AI is more likely to sign Defensive pacts (#11740)
* Made the AI more likely to sign defensive pacts

* Reduced AI Declined flags time by half

* Fixed a value
2024-06-14 17:40:45 +03:00
SomeTroglodyte
3c91647fb2
Streamline and thereby reduce size of the save game json (#11728) 2024-06-14 17:39:59 +03:00
SomeTroglodyte
e74897469c
Improvement queue (#11677)
* Improvement queue: Framework

* Improvement queue: Minimal UI

* Remove debug code

* Fix merge error

* Address tuvus's input

* Implement tuvus's UI wishes

* Fix merge errors

* Fix more merge errors
2024-06-14 17:39:46 +03:00
Oskar Niesen
728713dc3e
Giving the AI good trades is stored as credit (#11326)
* AI Civs now are happy for good trades

* Each gift point is worth 100 gold without inflation

* Gifts can now be used as credit for future trades

* Fixed giftAmount conversions

* Fixed get inflation returning NAN when gpt is negative

* diplomatic gifts are now rounded when checking trade acceptability

* Changed gold gift scaling to account for relationship level

* Fixed percent based value reduction

* Added gold gifting functions to DiplomacyManager

* Added tests

* Declaring war removes gold gifts

* Reversed trade evaluation

* Added more tests for trading

* Fixed who the gifts are given to

* Added more comments

* Added more tests and fixed stuff

* Gifting does not occur with trade treaties

* Renamed handleGoldGifted to GiftGold

* Added two more tests

* Improved comments

* Liberating a civ no longer gives positive relations from open borders
2024-06-14 17:38:54 +03:00
Md. Touhidur Rahman
4257f9dbc7
Use Temurin API to get latest temurin releases (#11747) 2024-06-14 17:30:50 +03:00
yairm210
3160416138 Fix tests 2024-06-13 13:50:00 +03:00
yairm210
4f436e98bd rename: changeImprovement -> setImprovement 2024-06-13 12:23:25 +03:00
yairm210
db85cee3e5 4.11.19-patch1 2024-06-11 15:42:53 +00:00
Oskar Niesen
96951e21c6
Fix election crash (#11731)
* Fixed the election crash

* Added better comments
2024-06-11 18:42:45 +03:00
Yair Morgenstern
546f7c79a2 4.11.19 2024-06-10 23:00:08 +03:00
Yair Morgenstern
2896181bbb
Version rollout (#11727)
* Bump version and create initial changelog entry

* Update translations to Ukrainian (#11723)

Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>

* Update Italian.properties (#11722)

* Update Simplified_Chinese.properties (#11721)

* Update Simplified_Chinese.properties

* Update Simplified_Chinese.properties

* Update German translation (#11720)

* Update French.properties (#11716)

* Update Brazilian_Portuguese.properties (#11715)

* Update Indonesian.properties (#11714)

Translated the new words and corrected a few grammar mistakes.

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Kostiantyn Ko <test9@mormat.name>
Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: AutumnPizazz <114050365+AutumnPizazz@users.noreply.github.com>
Co-authored-by: mape6 <mape6@posteo.de>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: X2003 <158255876+Xenia2003@users.noreply.github.com>
2024-06-10 22:55:01 +03:00
SomeTroglodyte
9ef3fec0ea
Reenable console unit sethealth and setmovement with trailing blank (#11726) 2024-06-10 22:22:56 +03:00
SomeTroglodyte
03a85fb3ad
Allow EmpireOverview persistence across game launches (#11725)
* Remove blank space between header and list in ResourceOverviewTab vertical mode

* Allow EmpireOverview persistence across game launches
2024-06-10 22:22:46 +03:00
Oskar Niesen
b61961d0a5
Moddable city ranges (#11708)
* Added city bombard, work and expand range ModConstants

* Changed some city range integers to city.getWorkRange() or some equivalent

* Fixed city screen

* Fixed create game error

* Improved support for CityScreen when work range is higher than expand range

* Improved WonderOverviewTab Style

* Improved Civilization.modConstants

* Improved random spacing

* Changed WonderOverviewTab to use a constant again

* Added comments in documentation
2024-06-10 22:22:30 +03:00
SomeTroglodyte
d39c7a97bf
Use Events for the floating "Tutorials" (#11717)
* Split off reuses of CityStateIcons/Cultured to allow modding separately

* Reposition floating tutorials in case the TopBar moved its buttons

* Event definition, art and basic support

* Split off Event rendering from AlertPopup

* Support Event presentation modes and replace hardcoded floating tutorials

* "Meet another civilization" art - can't find any better

* Tweak TranslationFileWriter and some polishing
2024-06-10 22:22:18 +03:00
Oskar Niesen
b496784ab5
Extra Civ and Spy moddability (#11702)
* Made minimum duration of a war moddable

* Made turns until revolt moddable

* Made spy skill moddable

* Migrated city-state elections to use the Civ flag system

* Moved cityStateElectionTurns away from espionage

* Added new moddable constants to the documentation

* Fixed merge conflicts
2024-06-10 22:22:09 +03:00
SomeTroglodyte
7012297af6
Centralize and organize use of special unicode codepoints (#11647)
* Centralize and organize use of special unicode codepoints

* Centralize and organize use of special unicode codepoints - minor doc addition
2024-06-10 22:21:56 +03:00
Yair Morgenstern
be3260d770 History command no longer breaks on autocomplete sometimes 2024-06-10 22:19:21 +03:00
Yair Morgenstern
c0cec548e0 Fix broken console checkFilter due to capitalizing first letter 2024-06-10 22:02:42 +03:00
yairm210
c89b2666c9 Specific uniques to generic trigger: "upon expending a [mapUnitFilter] unit" 2024-06-10 17:35:23 +03:00
yairm210
b0c70e6ec8 Console: city addtile <cityName> takes an optional [radius] parameter 2024-06-09 19:34:38 +03:00
yairm210
d61df7fe51 Console: civ addtech / civ removetech commands 2024-06-09 19:25:44 +03:00
yairm210
616a297f49 Documentation for mobile console 2024-06-09 14:31:22 +03:00
yairm210
78ac58fe39 4.11.18-patch1 2024-06-09 08:20:18 +00:00
Yair Morgenstern
2233d3df99
Fix "ask for help" crash (#11712)
* Solved combat resource conditionals vs cities being checked against the target's resources

* Crash fix - Don't attempt to ask civs you don't know for help
2024-06-09 11:20:10 +03:00
Yair Morgenstern
2f8b8ca974 4.11.18 2024-06-08 23:33:38 +03:00
Yair Morgenstern
fe72b8f012
Version rollout (#11711)
* Bump version and create initial changelog entry

* Provide missing Ukrainian translations (#11710)

Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>

* Update Indonesian.properties (#11697)

* Update Indonesian.properties

Translated the new words and fixed some grammar mistakes.

* Update Indonesian.properties

* Update French.properties (#11695)

* Update Brazilian_Portuguese.properties (#11694)

* Update Italian.properties (#11693)

* Update Italian.properties

* Update Italian.properties

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Kostiantyn Ko <test9@mormat.name>
Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>
Co-authored-by: X2003 <158255876+Xenia2003@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
2024-06-08 22:21:23 +03:00
SomeTroglodyte
aa74c557d2
UX: Dev Console easier to use without installing keyboard apps (#11706)
* UI replacements for Tab, Up, Down in DevConsolePopup

* DevConsole history display via command or longpress on the Android UI
2024-06-08 21:59:33 +03:00
Yair Morgenstern
68e29e9c53
"(modified by game speed)" modifier (#11696)
* "(modified by game speed)" modifier

* Added missing flags

* Fixed G&K ruleset
2024-06-08 21:58:52 +03:00
SomeTroglodyte
e276a08d61
UniqueParameterType getErrorSeverity/isKnownValue architecture simplification (#11701)
* UniqueParameterType getErrorSeverity/isKnownValue simplification

* Minor changes to a few UniqueType documentations

* Allow UnitsGainPromotion e.g. "[Melee] units gain the [Morale] promotion"
2024-06-08 21:58:38 +03:00
SomeTroglodyte
cf7f5a1c52
Remove 'Strategic Balance' and 'Legendary Start' from resource abundance select (#11699)
* Convert MapResources into an Enum

* Fix IsPartOfGameInfoSerialization where actually only the String is part of serialization

* Refactor MapResources to own file, package mapgenerator

* Refactor MapSize/MapSizeNew to own file and rename
2024-06-08 21:58:19 +03:00
Oskar Niesen
9cd531c8cf
Reworked AI war evaluation and plans (#11688)
* hasAtLeastMotivationToAttack now takes uses City.neighboringCities

* Changed attack pathing to use Astar

* Made the base force higher

* Declare war checks for total population instead of number of cities

* MotivationToAttackAutomation takes into account denunciation

* Set up DeclareWarTargetAutomation.kt

* Added logic for Civs to try and gang up on other Civs

* Added logic for civs to try and join an ally civ in their war and to declare war directly

* Added declineJoinWarOffer flag

* Reduced the likelyhood of declaring war a little

* Civs don't try to join wars against city-states

* Removed calculating targets with 0 motivation

* Relative production is not calculated against city-states

* Improved getAttackPathsModifier to only calculate the best path per city

* Refactored filter statements

* AI now tries to execute planned wars by default

* Culture Civs can now declare war, AI can declare multiple wars

* AI won't gift gold to city-states that it wants to attack

* Changed motivation from combat

* Changed AI aggression towards city-states

* Civs don't want to sign a DOF with the only nearby major civ as much

* City.neighboringCities filters out cities that are not visible

* Fixed some conditionals in tryJoinWar

* Fixed some war plan types breaking instead of continuing

* Civs are more likely to sign open borders if they haven't seen their cities

* Changed far away cities to have less of a value

* Fixed neighboringCities and getNeighboringCivilizations

* Other fixes

* Reduced motivation to attack from relative strength

* Added more to motivation to attack

* Added extra friendship modifiers

* Moved war evaluation to WarPlanEvaluator

* Added comments and re-named preparingWarPlan

* AI Team wars require neutral relations to send

* Added a team war notification

* Added evaluation of join war trades

* Tweaked MotivationToAttackAutomation

* Improved peace deal offers

* AI peace deals wait until 10 turns after declaring war

* Made the AI declare war a little less

* AI builds more military units

* AI keeps at least 2 great generals to not build citadels with

* AI TeamWar is more specialized for fighting stronger Civs

* Removed extra line

* Added more comments

* Improved unit tryPrepare logic

* Minor respelling and style improvements

* Changed MotivationToAttackAutomation HashMap to be a list

* Added a heuristic for the Astar search

* TeamWarPlan focuses more on relative force and fighting stronger civs

* MotivationToAttackAutomation takes into account planned wars and can target stronger civs

* Added logic for AI's to request other civs to join their war

* Fixed some WarDeclaration TradeEvaluation logic and reduced costs

* Added some extra safety against extreme force values in DeclareWarPlanEvaluator
2024-06-08 21:56:51 +03:00
SomeTroglodyte
6979ea8e85
Improve update of "Last seen improvement" (#11673)
* Restrict access to lastSeenImprovement

* Move TileInfoNormalizer to logic

* Remove all uses of gamestate- and transient-dependent changeImprovement from MapGenerator

* Update lastSeenImprovement from changeImprovement where appropriate

* Another rename removing an `Info`

* Remove redundant spectator test

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>

---------

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
2024-06-08 21:56:04 +03:00
yairm210
3d111465ec Resolved #11700 - "Promotes all spies [amount] time(s)" crash 2024-06-05 16:15:20 +03:00
yairm210
1296b16f90 4.11.17 2024-06-04 18:18:49 +03:00
Yair Morgenstern
533e6b7832
Version rollout (#11692)
* Bump version and create initial changelog entry

* Update Spanish.properties (#11685)

* Update German translation (#11672)

* Update Brazilian_Portuguese.properties (#11671)

* Update French.properties (#11670)

* Update Indonesian.properties (#11669)

Translated the new words and corrected the mistranslated words.

* Update Italian.properties (#11606)

* Update Italian.properties

* Update Italian.properties

* Add translations to Ukrainian (#11684)

Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>

* Update Polish.properties (#11679)

* Update Polish.properties

* Update Polish.properties

---------

Co-authored-by: yairm210 <yairm210@users.noreply.github.com>
Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com>
Co-authored-by: mape6 <mape6@posteo.de>
Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com>
Co-authored-by: Ouaz <Ouaz@users.noreply.github.com>
Co-authored-by: X2003 <158255876+Xenia2003@users.noreply.github.com>
Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com>
Co-authored-by: Kostiantyn Ko <test9@mormat.name>
Co-authored-by: Kostiantyn Ko <mormat.iam@gmail.com>
Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com>
2024-06-04 18:13:26 +03:00
Oskar Niesen
ba0c5cfbae
Spy max rank can be modded (#11650)
* Changed the spy level cap to be a mod constant

* Spy rank shows with more stars

* Reverted some temporary debug changes

* Changed Promotes all spies to accept an amount

* Change Promotes all spies [amount] time(s) to have parenthesis around the s

* Fixed problem with merging
2024-06-04 18:03:48 +03:00
Oskar Niesen
9e6e157835
Added an option to disable move by long press (#11681)
* Added an option to disable move by long press

* Moved setting check to tileGroup.onActivation and changed it to check for longTapMove

* Added translation
2024-06-04 18:02:01 +03:00
SomeTroglodyte
4e28b9e75c
Console: Improve civ activatetrigger command (#11676)
* Limit visibility inside devconsole package

* Make City an INamed to allow use of INamed-bounded generics on it

* CliInput class treats all DocConsole command line tokens, allows autocompleting quoted input to quoted full names

* Alternate, more flexible but also validating `civ activatetrigger` implementation

* Allow undisturbed display of square brackets in UncivTextField's

* Fix minor bug with OneTimeRevealSpecificMapTiles and move OneTimeReveal* implementations together
2024-06-04 18:01:00 +03:00
SomeTroglodyte
a046e43dbf
UI candy: WLTK fireworks (#11616)
* Particle effect fireworks for WLTK

* Refactor fireworks, try another location calculation

* Save todo list

* Fireworks assets

* ParticleEffectAnimation framework refactor and FasterUIDevelopment

* ParticleEffectAnimation rework - works correctly now

* ParticleEffectAnimation - credits and fine-tune

* ParticleEffectAnimation - atlas

* ParticleEffectAnimation - clean up testing code

* ParticleEffectAnimation - fix bungled texture move
2024-06-04 18:00:44 +03:00
SomeTroglodyte
7e3bbb6053
A ModOptions unique allowing a mod to control which map gets preselected (#11468)
* Minor linting

* UniqueType.ModMapPreselection
2024-06-04 18:00:29 +03:00
SomeTroglodyte
4b2f5e468d
Sortable unit overview (#11521)
* SortableGrid architecture changes: defaultSort instead of defaultDescending

* SortableGrid architecture changes: Header cell actor management

* SortableGrid architecture changes: General Services and reusable defaults

* Fix EmpireOverviewScreen sometimes forgetting the last active tab

* Reimplement Unit Overview using SortableGrid (but dropping unit supply)

* Get UnitSupplyTable back into Unit Overview

* Fix unit overview does not know PromotionPickerScreen changed the name

* Simplify update after rename

* Fix "Ooops" wrong value in ranged strength column
2024-06-04 18:00:04 +03:00
Oskar Niesen
9d8484cf75
Fixed spy steal tech timer (#11680)
* Fixed the time to steal a tech being infinity when the science produced by a city is negative

* Removed duplicate stealing tech checking behaviour
2024-06-04 17:58:46 +03:00
yairm210
8eda342613 Deprecated old uniques 2024-05-31 19:13:01 +03:00
yairm210
bdb0dcef65 Resolved #11675 - Unavailable techs work well with tech picker screen 2024-05-31 19:06:12 +03:00