yairm210 / Unciv

Open-source Android/Desktop remake of Civ V

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to start on custom map

hackedpassword opened this issue · comments

Is there an existing issue for this?

  • I have searched the existing issues

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

Screenshot_20240510-111205_Unciv

Link to save file

Map data

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

Operating System

Android

Additional Information

No response

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. 🪚 🛠️ 🔪 🎯 🔫 💥

weak points

Sorry, not sorry, modding <3

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.

Sorry, not sorry

You big ol'e Meanie!