Warcraft: War Heroes - Official Thread
-
I tracked their hero's a bit more and saw that they are just collecting XP but never using it. Also i never see them produce veteran or elite units with their chevrons. So pretty sure the A.I. Doesn't use that entire list.
I have been exiting the game here and there, then turning the A.I. player to human for one round to access those categories and use up their saved chevrons and XP. Then re-exiting the game and turning it back to A.I. control to get around the issue for now. Hope someone figures out a way to get the A.I. to do it itself.
But other than that i haven't come across an issue worth reporting. I also haven't played a lot in any one campaign. Furthest i got so far was my Horde campaign up to turn 16. So i haven't yet encountered a situation like someone above who had the A.I. gathering armies where they can't cross because they aren't fliers or anything. Will keep playing though.
-
I have to be boring and repeat myself.
Frostion, WoW, just WoW !!!I was doing so well and did not have a crash until now.
I dont know if it can be repeated.IllegalStateException - Cannot have more hits than the number of die rolls.
This happened when the AI Undead was doing their turn. (sadly no screenie)
WoW-T27.tsvg
autosave_round_odd.tsvg
autosave_round_even.tsvg -
@TheDog That should already be fixed. I'm not sure if a release has the fix or if you have to use a prerelease.
-
My
Engine version is 2.0.20306Game version is 0.1.2
-
A 2.1 was just released that has the latest fixes for this map.
-
@Frostion
Playing Undead, I dont appear to be able to place Skeletons with Sevis? -
Turn 25
I was doing so well, with no errors till this one.
Noted the AI has not been defending their capitals with too many units, thanks Devs.
2.1.20365: CasualtySelector#selectCasualties:136 - IllegalStateExceptionLog Message
java.lang.IllegalStateException: sortedTargetsToPickFrom must have the same size as targetsToPickFrom list
TripleA Version
2.1.20365
Java Version
11.0.6
Operating System
Windows 10
Stack Trace
java.lang.IllegalStateException: java.lang.IllegalStateException: sortedTargetsToPickFrom must have the same size as targetsToPickFrom list at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:600) at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:678) at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:737) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateParallel(ReduceOps.java:919) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at games.strategy.triplea.odds.calculator.ConcurrentBattleCalculator.calculate(ConcurrentBattleCalculator.java:234) at games.strategy.triplea.ai.pro.util.ProOddsCalculator.callBattleCalc(ProOddsCalculator.java:224) at games.strategy.triplea.ai.pro.util.ProOddsCalculator.callBattleCalc(ProOddsCalculator.java:200) at games.strategy.triplea.ai.pro.util.ProOddsCalculator.calculateBattleResults(ProOddsCalculator.java:133) at games.strategy.triplea.ai.pro.util.ProOddsCalculator.calculateBattleResults(ProOddsCalculator.java:116) at games.strategy.triplea.ai.pro.ProNonCombatMoveAi.determineIfMoveTerritoriesCanBeHeld(ProNonCombatMoveAi.java:423) at games.strategy.triplea.ai.pro.ProNonCombatMoveAi.doNonCombatMove(ProNonCombatMoveAi.java:98) at games.strategy.triplea.ai.pro.AbstractProAi.move(AbstractProAi.java:135) at games.strategy.triplea.ai.AbstractAi.start(AbstractAi.java:514) at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:537) at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:407) at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:297) at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:61) at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:34) at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:16) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.IllegalStateException: sortedTargetsToPickFrom must have the same size as targetsToPickFrom list at games.strategy.triplea.delegate.battle.casualty.CasualtySelector.selectCasualties(CasualtySelector.java:136) at games.strategy.triplea.delegate.battle.Fire.selectCasualties(Fire.java:248) at games.strategy.triplea.delegate.battle.Fire.selectCasualties(Fire.java:238) at games.strategy.triplea.delegate.battle.Fire$2.execute(Fire.java:117) at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34) at games.strategy.triplea.delegate.battle.MustFightBattle.fight(MustFightBattle.java:722) at games.strategy.triplea.odds.calculator.BattleCalculator.calculate(BattleCalculator.java:114) at games.strategy.triplea.odds.calculator.ConcurrentBattleCalculator.lambda$calculate$4(ConcurrentBattleCalculator.java:222) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:952) at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:926) at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327) at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)WoW-U25.tsvg
autosave_round_odd.tsvg
autosave_round_even.tsvg -
Wow! 25 runds! I made the map and have never reached that many rounds
Are you playing both Undead and Trolls? Or only Undead?Please give me a save of the last and final round you play so that I may study it. I would like to see how long it takes for you to level up and how the resources are balanced. To me it seems that you got too many special resources? More than you need? Are some in abundance and other s not?
Does the skeletons still not work? I think you have to build them at a factory where you hero is located. Either when he drops by or when he resurrects there.
PS: Hope the devs could evaluate this error. Have not seem that before.
-
Yes the skeletons work fine. You have to have your hero in a factory for him to produce them.
-
@TheDog I don't see this error reported in github. Did you click the "Report to TripleA" button?
And I could duplicate the error with that save so it is really nice.
-
@TheDog I created a github issue https://github.com/triplea-game/triplea/issues/7020
I also figured out why it is happening but I don't have a fix. That is in the issue.
-
Re: Warcraft: War Heroes - Official Thread
@Frostion
I only play as one race at a time.For resources food is scarce, but later in the game you have too much. Thats is because you are using your other resources to buy other cool stuff. So on balance it works fine as is.
For those players who go beyond say 25 turns they will have excess XP, so a suicide (one use) unit/spell with an XP costs might be worth considering.
Undead
WoW-U25.tsvgTauren
WoW-T27.tsvgCurrently playing Trolls only turn 6 so far.
WoW-TR-06.tsvgI will try the skeletons later.
-
@Trevan
Yes I tried to report it to Git Hub, it would not let me. Do I need a Git Hub account to post there? -
Thanks, it much more stable.
-
-
@Frostion
The Troll hero cannot use the movement speed of 3 from the Balloon in Plaguewood, see turn 10.This might be due to the Totem?
-
Dwarf turn 20
This should be reproducible as it crashed again for me.2.1.20365: RemoveUnits#perform:44 - IllegalStateException
Log Message
Remote method call exception: Not all units present in:Thandol Strait. Trying to remove:[Flying-Machine owned by Dwarves, Troopship owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls] present:[Fish owned by Trolls, Troopship owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Flying-Machine owned by Dwarves, Flying-Machine owned by Dwarves]
TripleA Version
2.1.20365
Java Version
11.0.6
Operating System
Windows 10
Stack Trace
java.lang.IllegalStateException: Not all units present in:Thandol Strait. Trying to remove:[Flying-Machine owned by Dwarves, Troopship owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls] present:[Fish owned by Trolls, Troopship owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Footmen owned by Trolls, Flying-Machine owned by Dwarves, Flying-Machine owned by Dwarves] at games.strategy.engine.data.changefactory.RemoveUnits.perform(RemoveUnits.java:44) at games.strategy.engine.data.GameData.performChange(GameData.java:433) at games.strategy.engine.framework.ServerGame$1.gameDataChanged(ServerGame.java:92) at jdk.internal.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeSingle(EndPoint.java:136) at games.strategy.engine.message.unifiedmessenger.EndPoint.lambda$invokeMultiple$0(EndPoint.java:120) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeMultiple(EndPoint.java:121) at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeLocal(EndPoint.java:111) at games.strategy.engine.message.unifiedmessenger.UnifiedMessenger.invoke(UnifiedMessenger.java:152) at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:48) at com.sun.proxy.$Proxy16.gameDataChanged(Unknown Source) at games.strategy.engine.framework.ServerGame.addChange(ServerGame.java:638) at games.strategy.engine.delegate.DefaultDelegateBridge.addChange(DefaultDelegateBridge.java:91) at games.strategy.triplea.delegate.GameDelegateBridge.addChange(GameDelegateBridge.java:62) at games.strategy.triplea.delegate.battle.MustFightBattle.remove(MustFightBattle.java:603) at games.strategy.triplea.delegate.battle.MustFightBattle.clearWaitingToDieAndDamagedChangesInto(MustFightBattle.java:456) at games.strategy.triplea.delegate.battle.MustFightBattle$20.execute(MustFightBattle.java:1777) at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:34) at games.strategy.triplea.delegate.battle.MustFightBattle.fight(MustFightBattle.java:722) at games.strategy.triplea.delegate.battle.BattleDelegate.fightBattle(BattleDelegate.java:242) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at games.strategy.engine.delegate.DelegateExecutionManager$1.invoke(DelegateExecutionManager.java:120) at com.sun.proxy.$Proxy12.fightBattle(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeSingle(EndPoint.java:136) at games.strategy.engine.message.unifiedmessenger.EndPoint.lambda$invokeMultiple$0(EndPoint.java:120) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeMultiple(EndPoint.java:121) at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeLocal(EndPoint.java:111) at games.strategy.engine.message.unifiedmessenger.UnifiedMessenger.invokeAndWait(UnifiedMessenger.java:96) at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:56) at com.sun.proxy.$Proxy12.fightBattle(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at games.strategy.engine.player.DefaultPlayerBridge$GameOverInvocationHandler.invoke(DefaultPlayerBridge.java:152) at com.sun.proxy.$Proxy12.fightBattle(Unknown Source) at games.strategy.triplea.ai.AbstractAi.battle(AbstractAi.java:609) at games.strategy.triplea.ai.AbstractAi.start(AbstractAi.java:517) at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:537) at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:407) at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:297) at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:61) at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInternal(LocalLauncher.java:34) at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:16) at java.base/java.lang.Thread.run(Thread.java:834)WoW-TR-19-end.tsvg
autosave_round_even.tsvg
autosave_round_odd.tsvg -
@TheDog Thanks for the save game. I see a issue in github that appears to be this one. I've copied the save there. https://github.com/triplea-game/triplea/issues/7026
I can duplicate it with 2.1 but not with the latest master. So this might already be fixed in one of the pre-releases. I'm trying to figure out if it is really fixed.
-
I was wrong about it being fixed. There is some randomness to getting the error. I'm able to duplicate it and will be putting more details about it in the github issue.
-
@Frostion
As I have a few games under my belt, here are some observation/suggestions.Unit buying
Irregulars - the cheapest unit, good for fodder and gaining territory
Footmen - good general purpose
Pike - good anti cavalry
Bow - I dont buy, poor value
Crossbow - I dont buy, poor value
Artillery - poor value, especially when the hero wields so much ranged fire power.Suggestions
Cavalry - drop their PU, increase/double their Food cost, these are really good blitzers and great at causing mayhem in the enemies territories. The Food change is to use up the food surplus later in the game. Besides you have to feed the mount.
Range 4 spells - too long, reduce to range 2 or 3Undead
Skeletons - too cheap should be 10 or 15 mana
Fire Thrower - appears poor value v Catapult in the Battle CalcTroll
Berserkers - poor value also dont give Veteran so not worth it
Dire Troll is too expensive as it specifically needs 5 Allied Irregulars to make it worth while
Fire Canoe looks poor value and only moves 1 v Warship general purpose statsDo you want more observations/suggestions?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login