* Triggered uniques currently come from researching techs, adopting policies, and building buildings.
This adds a third way of triggering uniques, by attaching them to units with a "by consuming this unit" conditional, which will be added as a possible unit action.
So for example, "[amount] Free Technologies <by consuming this unit>", "Reveals the entire map <by consuming this unit>" etc.
* Added a new uniquetype for triggerable uniques, to make them separate from regular global uniques, so that triggerable uniques can become unit uniques when necessary
* And added translations so the tests will pass
* Add Amphibious penalty to Land attacking into Water and vice versa
* Replace Landing with Amphibious in all translation files
* Fix trailing whitespace
* Revert translation files
* Change working of Amphibious
Set penalty to Landing and Boarding
* Type-ify Unique and add Depreciated
Add Promotion to Melee Naval
Add exception that Landing penalty is NOT against cities
* Fix Vanilla
* Rename to Landing Party
Icon doesn't work
* Properly regenerated game.atlas/game.png
Co-authored-by: itanasi <spellman23@gmail.com>
- "Resources" in city-state diplomacy screen
- "When Friends"/"When Allies" in same
- "Enhance religion"
- "Choose a Religion" in religion screen
- Religion name in religion screen
- Translated drilldown items in city screen
- "null for wheat" in improvement Civilopedia entry
- "Type" and others in city-state civilopedia entry
- Requires more population
- Religious
- "Requires" in Policy civilopedia text
- "for" in improvement civilopedia text
- Untranslated conditionals in battle table (listed as "when fighting in [tileFilter] tiles")
* Find all replaceable uniques, generate replacement text, check for compatibility, and replace!
All of the work up until now has lead up to this point - since we already know what's out and what to replace it with, we can do 90%+ of the work ourselves and spare the sanity of our modders
For an example run:
- Download your favorite mod
- Check its deprecated uniques in the options menu
- Run the autoupdater from the same menu
- See how they disappear
- Bask in the glory
* A few unreplaced uniques raised problems in some of the replacement texts
* Old unusable deprecated uniques are suddenly important again, because they can help autoupdate mods!
I'm wondering if to remove outdated mods entirely from the uniques.md, since they're going to keep accumulating
* Padding for the 'autoupdate' button
* Only display autoupdate button if there are unique to update
Also, fixed some of the revived deprecated unique's replacement text thanks to fancy new tests :)
Tech uniques autoupdate!
* Toast now pops correctly, added translation entries
* Added a json file for unhappiness effects
* Change existing code to handle these effects
* Made a weird and unexpendable way to add unhappiness effects to the civilopedia
* Add the default unhappinesseffects to mods without the json
* Added revolts when at very low happiness
* Renamed a few often-used functions
* Added a file for uniques that are always active
* Fixed tests
* Nullifies [Food] -> Nullifies Growth
* Make unknown nation placeholder translatable.
* Make MultiplayerScreen help button clearer and translatable.
* Use `Constants.spectator` more.
* Make random/unknown nation icon translatable.
The NewGameScreen was written by a past version of myself that had no idea how to handle threading, and thus was extremely strange. Checking an object _on render_ and if it's set then activate? Totally clueless.
* Add crashHandlingThread.
* Replace all uses of `thread` with `crashHandlingThread`.
* Add `postCrashHandlingRunnable`.
* Replace all uses of `Gdx.app.postRunnable` with `postCrashHandlingRunnable`.
* Remove CrashController and CrashReport; Strip down CrashReportSender to CrashReportSysInfo; Fold their functionality into CrashScreen.
* Typo in comments, rename `SafeCrashStage` to `CrashHandlingStage`.
* Tweak docs.
* Tweak docs, comments, text. Undo an accidentally recursive Replace All change.
* Remove replaced translations.
* More readable indentation handling in report template.
* Fixed a bug where bonusses applying 'in friendly tiles' would not apply
* Reworded something so it actually makes sense
* Fixed capitalization error leading to autocracy complete bonus no longer working
* Fixed save serialization errors and finally correctly implemented the time limit for autocracy bonus
* Made value const and static
* Show arrows on map for unit actions.
* Don't wrap arrows unless world wrap is actually enabled.
* Fix transported air units always being treated like teleports.
* Simple reviews.
* Separate movement arrow visibility checks from WorldScreen.
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Added a score calculation
* Added the score in multiple places of the UI
* Added time victory and a max turns
* Made time victory functional
* Added translation files
* Add new crash handler and error reporting screen.
* Minor cleanup.
* Word choice.
* Rename `SafeCrashStage` to `CrashHandlingStage`.
* Reviews.
* Reference stack traces in comments for thread and postRunnable exceptions.
* Remove excessive line breaks, superfluous .apply{}.
This lead to failed tests for new languages, as the second space would be seen as the translated string, which obviously doesn't contain the placeholder tags.
* Copied files for Gods & Kings folder
* Added G&K and unified with mods in dropdown
* Split the baseruleset from the mods list in game parameters
* Mod links are checked again when selecting a mod
* The new map editor screen now also uses the base ruleset
* Updated the ruleset change dialog in the map editor; Fixed a crash
* Refactored some code and fixed some bugs
* Should resolve#5534 and the long-standing request of "move after automate" by separating the automated movement from the actual end of turn
* Added translation
* Automated units move in a separate thread to avoid UI freezing
* Made some improvements to the religion UI
* Added translatable strings
* Added some pretty colors - code based on code provided by SomeTroglodyte way back
* I hate spaces
* Moar colourz
* Add some very small Quality-of-Life improvements for multiplayer games
- GameInfo.kt
- Add timestamp for the start of the last turn to save info, hopefully
this will enable a multiplayer turn timer in the near future
- MultiplayerScreen.kt
- Current turn indicator for multiplayer games now shows for how long it
has been the current player's turn.
- WorldScreen.kt
- Next Turn Action will display which player we are waiting for rather
than the generic "Waiting for other players..."
* Update text for translations and add better elapsed times
template.properties
- Add translation templates for waiting turn information
German.properties
- Provide German translation for waiting turn info
Japanese.properties
- Provide Japanese translation for waiting turn info
MultiplayerScreen.kt
- Add translation brackets for waiting turn info
- Add a function which determines whether to represent
elapsed time in Minutes, Hours, or Days (and does so)
WorldScreen.kt
- Add translation brackets for waiting turn info
* Fix line translated endings as per request
MultiplayerScreen.kt
- Translation for the "Last refresh:/Current Turn:" display no longer
includes line endings
- "Last refresh:/Current Turn:" display now uses LF line endings only
* Show generic "Waiting for" message in single player
WorldScreen.kt
- Place an additional condition for getNextTurnAction which selects the
generic "Waiting for" message in single player and the civ-specific
one in multiplayer
Co-authored-by: Colin S. Vanden Heuvel <colin.vandenheuvel@wisc.edu>
* The Maya - data and calendar
* The Maya - completed
* The Maya - notifications
* The Maya - favoredReligion
* The Maya - comments in GreatPersonManager
* The Maya - clickable notifications
* The Maya - templates
* The Maya - atlas
* The Maya - patch1
* World and Natural Wonders Overview
* World and Natural Wonders Overview - icon
* World and Natural Wonders Overview - groups and tuning
* World and Natural Wonders Overview - atlas
* World and Natural Wonders Overview - lint
* Music controller with fade-over and mod capabilities.
- Preparation for music following game situations
- Minimal in-game hooks for now
- Already allows mods providing music, will play randomly
* Music controller - template
* Added support for conditionals to some more uniques
* Implemented a new conditional
* Added the new conditional to the translations file
* Fixed tests
* Implemented requested changes
* Moved uniques to their own folder
* Added support for conditionals to most of the uniques in the current enum
* Deprecation > removal, of course
* Fixed tests & added `.removeConditionals` before checking for placeholders
* Implementation of conditionals, but better than before
* Updated the unique while I was at it
* Fixed bug where conditionals would never apply
* Capitalization
* Minor code cleaning
* Better documentation & variable names
* Changed translation strategy
* Added missing import?
* Implemented Unit Supply
Unit Supply is a soft cap to number of units. If the number of units of a civilization exceeds the total supply, a production malus (capped at 70%) is applied.
* Warning icon & message for supply deficit
* Implemented Unit Supply - atlas merge
* Unit Supply: Malus->Penalty, lint, sumOf
* Unit Supply: Fresh atlas
Co-authored-by: r3versi <fluo392@gmail.com>
* Mod manager portrait mode
* Mod manager portrait and auto scroll
- MM switches to stacked expanders in portrait.
- Use AutoScrollPanes.
- Disable the enter/leave listener of AutoScrollPane in Pickers which disable the default ScrollPane to roll their own - helps all such pickers.
- No expander open/close persistence on purpose.
- PickerScreen a bit cleaned 'cuz I needed to understand something.
- Marked mods from the kill-list that are already installed.
- Button sync now OK when counterpart missing (deselects other column).
* Mod Manager sorts and filters - WIP 1
* Mod Manager sorts and filters - WIP 2
* Mod Manager sorts and filters - WIP 2a
* Mod Manager sorts and filters - WIP 3
* Mod Manager sorts and filters - atlas
* Mod Manager sorts and filters - tip
* Rates for natural influence change
* Minor civ wariness, proximity calculation
* CS can declare permanent war
* CS can in fact not declare permanent war
* adjustments, template.properties
* neater code
* fix failing test? .
* move proximity code, for reals fix failing check
* now?
* revisions
* BFS only once, better check for water map
* assign continents on pre-made maps as well
* now works on all pre-made maps
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Adding religous city states to unciv!
* Handle maps with invalid mapSize more gracefully
* Handle maps with invalid mapSize more gracefully - new game exception handling
* Handle maps with invalid mapSize more gracefully - moved version save init
* penalties for attacking
* proper timers on penalties
* template.properties
* space
* Player can pick sides when protected civs attacked/bullied
Protect gives resting point 10 for influence
* correct string
* Pick unique unit for militaristic CS
* Provide unique unit when able
* refactor some code
* remove debug
* template.properties
* fix failing build
* Add variance to spawning rate, add ≈ to string, better formatting.
* Mod manager portrait mode
* Mod manager portrait and auto scroll
- MM switches to stacked expanders in portrait.
- Use AutoScrollPanes.
- Disable the enter/leave listener of AutoScrollPane in Pickers which disable the default ScrollPane to roll their own - helps all such pickers.
- No expander open/close persistence on purpose.
- PickerScreen a bit cleaned 'cuz I needed to understand something.
- Marked mods from the kill-list that are already installed.
- Button sync now OK when counterpart missing (deselects other column).
* Mod manager portrait - template
* Proper demand tribute thresholds
* Proper calculation for Force rankings
* debug strings
* use new force ranking for AI threatAssessment
* use new force ranking for AI threatAssessment, pt 2
If the last game you created used a mod that you later removed from the the device it could never be removed from the new game parameters
Caught exceptions from quickstart failing
* Implemented renaming of religions
* Made AskForText display error on invalid input, implemented recommended changes
* Almost forgot the translatable strings in the new popup
* Json definition for nation, images
* Jsons, Hussar and Coffee House
* Diplomatic Marriage Button
* Implement Marriage
* AI Marriage
* template.properties
* Popups etc
* Strings
* reviews
* reviews pt 2
* Generalize the concept of founding religions in preparation of enhancing
* Implemented enhancing religions
* Added all enhancer beliefs (mostly correctly, mostly tested)
* You can now found a religion without a pantheon, requiring you to choose a pantheon as well
* Parameterized 'enhance religion' action, fixed tests
* Implemented requested changes & simplified beliefContainer a lot
* Fixed rename
* Updated code to include features added in the meantime
* Merge branch 'master' into enhanceReligions
Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
* Civilopedia Phase X - Show Policies
* Civilopedia Phase X - Show City States
* Civilopedia - Loop-driven init and Cleanup
* Civilopedia - City States
* Civilopedia Phase X - Remove spurious comments
* 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
* 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)