You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Created a battle test map, but can't start the game?
I've seen this before, let it go, still haven't found a specific reason for the issue. Plenty of spawns (6) for a 2p battle.
Steps to Reproduce
Error info
kotlin.UninitializedPropertyAccessException: lateinit property currentTile has not been initialized
at com.unciv.logic.map.mapunit.MapUnit.getCurrentTile(MapUnit.kt:104)
at com.unciv.models.ruleset.unique.StateForConditionals.hashCode$hash$2(StateForConditionals.kt:51)
at com.unciv.models.ruleset.unique.StateForConditionals.hashCode(StateForConditionals.kt:58)
at com.unciv.models.ruleset.unique.Conditionals$conditionalApplies$stateBasedRandom$2.invoke(Conditionals.kt:48)
at com.unciv.models.ruleset.unique.Conditionals$conditionalApplies$stateBasedRandom$2.invoke(Conditionals.kt:48)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at com.unciv.models.ruleset.unique.Conditionals.conditionalApplies$lambda$6(Conditionals.kt:48)
at com.unciv.models.ruleset.unique.Conditionals.conditionalApplies(Conditionals.kt:157)
at com.unciv.models.ruleset.unique.Unique.conditionalsApply(Unique.kt:66)
at com.unciv.models.ruleset.unique.UniqueMap$getMatchingUniques$1.invoke(Unique.kt:237)
at com.unciv.models.ruleset.unique.UniqueMap$getMatchingUniques$1.invoke(Unique.kt:237)
at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:171)
at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194)
at kotlin.sequences.SequenceBuilderIterator.yieldAll(SequenceBuilder.kt:172)
at kotlin.sequences.SequenceScope.yieldAll(SequenceBuilder.kt:92)
at com.unciv.logic.map.mapunit.MapUnit$getMatchingUniques$1.invokeSuspend(MapUnit.kt:264)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:129)
at kotlin.sequences.SequencesKt___SequencesKt.any(_Sequences.kt:1218)
at com.unciv.logic.map.mapunit.MapUnit.hasUnique(MapUnit.kt:276)
at com.unciv.logic.map.mapunit.MapUnit.hasUnique$default(MapUnit.kt:271)
at com.unciv.logic.map.mapunit.MapUnitCache.updateUniques(MapUnitCache.kt:111)
at com.unciv.logic.map.mapunit.MapUnit.updateUniques(MapUnit.kt:628)
at com.unciv.logic.map.mapunit.MapUnit.setTransients(MapUnit.kt:618)
at com.unciv.models.ruleset.unit.BaseUnit.getMapUnit(BaseUnit.kt:112)
at com.unciv.logic.map.TileMap.placeUnitNearTile(TileMap.kt:547)
at com.unciv.logic.civilization.managers.UnitManager.placeUnitNearTile(UnitManager.kt:94)
at com.unciv.logic.GameStarter.placeStartingUnits(GameStarter.kt:504)
at com.unciv.logic.GameStarter.determineStartingUnitsAndLocations(GameStarter.kt:426)
at com.unciv.logic.GameStarter.addCivStartingUnits(GameStarter.kt:399)
at com.unciv.logic.GameStarter.access$addCivStartingUnits(GameStarter.kt:28)
at com.unciv.logic.GameStarter$startNewGame$8.invoke(GameStarter.kt:117)
at com.unciv.logic.GameStarter$startNewGame$8.invoke(GameStarter.kt:116)
at com.unciv.logic.GameStarter.runAndMeasure(GameStarter.kt:151)
at com.unciv.logic.GameStarter.startNewGame(GameStarter.kt:116)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$startNewGame$2.invokeSuspend(NewGameScreen.kt:303)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$startNewGame$2.invoke(Unknown Source:8)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$startNewGame$2.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
at com.unciv.ui.screens.newgamescreen.NewGameScreen.startNewGame(NewGameScreen.kt:294)
at com.unciv.ui.screens.newgamescreen.NewGameScreen.access$startNewGame(NewGameScreen.kt:50)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$onStartGameClicked$7.invokeSuspend(NewGameScreen.kt:228)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$onStartGameClicked$7.invoke(Unknown Source:8)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$onStartGameClicked$7.invoke(Unknown Source:4)
at com.unciv.utils.ConcurrencyKt$launchCrashHandling$1.invokeSuspend(Concurrency.kt:89)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher$dispatch$1.invoke(Concurrency.kt:190)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher$dispatch$1.invoke(Concurrency.kt:190)
at com.unciv.ui.crashhandling.CrashHandlingExtensionsKt$wrapCrashHandling$1.invoke(CrashHandlingExtensions.kt:17)
at com.unciv.ui.crashhandling.CrashHandlingExtensionsKt$wrapCrashHandlingUnit$1.invoke(CrashHandlingExtensions.kt:33)
at com.unciv.ui.crashhandling.CrashHandlingExtensionsKt$wrapCrashHandlingUnit$1.invoke(CrashHandlingExtensions.kt:33)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher.dispatch$lambda$0(Concurrency.kt:190)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher.$r8$lambda$1exBTjTJ644h9iUU94EW5nQQXpM(Unknown Source:0)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher$$ExternalSyntheticLambda0.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)
Can build [Forage] improvements on tiles <with [30]% chance> <before the [Pioneer era]> on a (Edit:) Settler starting unit 🙈 - very good aim at our weak points. 🪚 🛠️ 🔪 🎯 🔫 💥
The language of building uniques is so incredibly fun, using conditionals and modifiers to craft special behaviors, etc. I guess my mod is inherently more stressful on the engine due to RPG elements vying for more versatility.
Is there an existing issue for this?
Game Version
4.11.10
Describe the bug
Created a battle test map, but can't start the game?
I've seen this before, let it go, still haven't found a specific reason for the issue. Plenty of spawns (6) for a 2p battle.
Steps to Reproduce
Error info
kotlin.UninitializedPropertyAccessException: lateinit property currentTile has not been initialized
at com.unciv.logic.map.mapunit.MapUnit.getCurrentTile(MapUnit.kt:104)
at com.unciv.models.ruleset.unique.StateForConditionals.hashCode$hash$2(StateForConditionals.kt:51)
at com.unciv.models.ruleset.unique.StateForConditionals.hashCode(StateForConditionals.kt:58)
at com.unciv.models.ruleset.unique.Conditionals$conditionalApplies$stateBasedRandom$2.invoke(Conditionals.kt:48)
at com.unciv.models.ruleset.unique.Conditionals$conditionalApplies$stateBasedRandom$2.invoke(Conditionals.kt:48)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at com.unciv.models.ruleset.unique.Conditionals.conditionalApplies$lambda$6(Conditionals.kt:48)
at com.unciv.models.ruleset.unique.Conditionals.conditionalApplies(Conditionals.kt:157)
at com.unciv.models.ruleset.unique.Unique.conditionalsApply(Unique.kt:66)
at com.unciv.models.ruleset.unique.UniqueMap$getMatchingUniques$1.invoke(Unique.kt:237)
at com.unciv.models.ruleset.unique.UniqueMap$getMatchingUniques$1.invoke(Unique.kt:237)
at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:171)
at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194)
at kotlin.sequences.SequenceBuilderIterator.yieldAll(SequenceBuilder.kt:172)
at kotlin.sequences.SequenceScope.yieldAll(SequenceBuilder.kt:92)
at com.unciv.logic.map.mapunit.MapUnit$getMatchingUniques$1.invokeSuspend(MapUnit.kt:264)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:129)
at kotlin.sequences.SequencesKt___SequencesKt.any(_Sequences.kt:1218)
at com.unciv.logic.map.mapunit.MapUnit.hasUnique(MapUnit.kt:276)
at com.unciv.logic.map.mapunit.MapUnit.hasUnique$default(MapUnit.kt:271)
at com.unciv.logic.map.mapunit.MapUnitCache.updateUniques(MapUnitCache.kt:111)
at com.unciv.logic.map.mapunit.MapUnit.updateUniques(MapUnit.kt:628)
at com.unciv.logic.map.mapunit.MapUnit.setTransients(MapUnit.kt:618)
at com.unciv.models.ruleset.unit.BaseUnit.getMapUnit(BaseUnit.kt:112)
at com.unciv.logic.map.TileMap.placeUnitNearTile(TileMap.kt:547)
at com.unciv.logic.civilization.managers.UnitManager.placeUnitNearTile(UnitManager.kt:94)
at com.unciv.logic.GameStarter.placeStartingUnits(GameStarter.kt:504)
at com.unciv.logic.GameStarter.determineStartingUnitsAndLocations(GameStarter.kt:426)
at com.unciv.logic.GameStarter.addCivStartingUnits(GameStarter.kt:399)
at com.unciv.logic.GameStarter.access$addCivStartingUnits(GameStarter.kt:28)
at com.unciv.logic.GameStarter$startNewGame$8.invoke(GameStarter.kt:117)
at com.unciv.logic.GameStarter$startNewGame$8.invoke(GameStarter.kt:116)
at com.unciv.logic.GameStarter.runAndMeasure(GameStarter.kt:151)
at com.unciv.logic.GameStarter.startNewGame(GameStarter.kt:116)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$startNewGame$2.invokeSuspend(NewGameScreen.kt:303)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$startNewGame$2.invoke(Unknown Source:8)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$startNewGame$2.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
at com.unciv.ui.screens.newgamescreen.NewGameScreen.startNewGame(NewGameScreen.kt:294)
at com.unciv.ui.screens.newgamescreen.NewGameScreen.access$startNewGame(NewGameScreen.kt:50)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$onStartGameClicked$7.invokeSuspend(NewGameScreen.kt:228)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$onStartGameClicked$7.invoke(Unknown Source:8)
at com.unciv.ui.screens.newgamescreen.NewGameScreen$onStartGameClicked$7.invoke(Unknown Source:4)
at com.unciv.utils.ConcurrencyKt$launchCrashHandling$1.invokeSuspend(Concurrency.kt:89)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher$dispatch$1.invoke(Concurrency.kt:190)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher$dispatch$1.invoke(Concurrency.kt:190)
at com.unciv.ui.crashhandling.CrashHandlingExtensionsKt$wrapCrashHandling$1.invoke(CrashHandlingExtensions.kt:17)
at com.unciv.ui.crashhandling.CrashHandlingExtensionsKt$wrapCrashHandlingUnit$1.invoke(CrashHandlingExtensions.kt:33)
at com.unciv.ui.crashhandling.CrashHandlingExtensionsKt$wrapCrashHandlingUnit$1.invoke(CrashHandlingExtensions.kt:33)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher.dispatch$lambda$0(Concurrency.kt:190)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher.$r8$lambda$1exBTjTJ644h9iUU94EW5nQQXpM(Unknown Source:0)
at com.unciv.utils.Dispatchers$CrashHandlingDispatcher$$ExternalSyntheticLambda0.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)
Screenshots
Link to save file
Map data
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
Operating System
Android
Additional Information
No response
The text was updated successfully, but these errors were encountered: