sellmerfud / awakening Goto Github PK
View Code? Open in Web Editor NEWA scala implementation of the solo Bots for Labyrinth: The Awakening, 2010 - ?
License: MIT License
A scala implementation of the solo Bots for Labyrinth: The Awakening, 2010 - ?
License: MIT License
It's a weird situation but definitely can happen. I did a regime change in afghanistan, and subsequently the jihadists managed to get all their cells in there and pull off a major jihad. At that point you cannot do a regime change with the existing troops, and in my case I did not have enough in the tracks to deploy 6. I was still offered the option of regime change when playing a 3 op card, and upon choosing it, the app crashed with an exception.
Excellent work on this script!
I might have been playing this wrong, but I thought as rules written, when a player plays an opponent-associated Event card, they can see the Event resolve BEFORE declaring the Op and Country Target.
This can be critical because you often want the event to resolve before you decide what to do with the Ops points. I know I can manually adjust the game world afterwards, just wanted to see if there was a reason the script required Ops selection first?
awakening/src/main/scala/awakening/JihadistBot.scala
Lines 573 to 577 in 9a3b95a
Looks like there should be "Moderate" instead of "Tight" in the condition:
game.fundingLevel == Tight
App crashes if US player plays "Uyghur Jihad" (#55) while no cells available.
Steps to reproduce:
App crashes with stacktrace:
Exception in thread "main" java.lang.AssertionError: assertion failed: not enough available cells have: 0, need 1 at scala.Predef$.assert(Predef.scala:165) at awakening.LabyrinthAwakening$.addCellsToCountry(LabyrinthAwakening.scala:4752) at awakening.LabyrinthAwakening$.addSleeperCellsToCountry(LabyrinthAwakening.scala:4740) at awakening.LabyrinthCards$$anonfun$162.apply(LabyrinthCards.scala:1186) at awakening.LabyrinthCards$$anonfun$162.apply(LabyrinthCards.scala:1178) at awakening.LabyrinthAwakening$.performCardEvent(LabyrinthAwakening.scala:4053) at awakening.JihadistBot$.performTriggeredEvent(JihadistBot.scala:781) at awakening.LabyrinthAwakening$.attemptTriggeredEvent(LabyrinthAwakening.scala:6320) at awakening.LabyrinthAwakening$.humanUsCardPlay(LabyrinthAwakening.scala:6479) at awakening.LabyrinthAwakening$$anonfun$usCardPlay$1.apply$mcVI$sp(LabyrinthAwakening.scala:6386) at awakening.LabyrinthAwakening$$anonfun$usCardPlay$1.apply(LabyrinthAwakening.scala:6356) at awakening.LabyrinthAwakening$$anonfun$usCardPlay$1.apply(LabyrinthAwakening.scala:6356) at scala.Option.foreach(Option.scala:245) at awakening.LabyrinthAwakening$.usCardPlay(LabyrinthAwakening.scala:6356) at awakening.LabyrinthAwakening$$anonfun$doCommand$1$$anonfun$apply$64.apply(LabyrinthAwakening.scala:6180) at awakening.LabyrinthAwakening$$anonfun$doCommand$1$$anonfun$apply$64.apply(LabyrinthAwakening.scala:6179) at scala.Option.foreach(Option.scala:245) at awakening.LabyrinthAwakening$$anonfun$doCommand$1.apply(LabyrinthAwakening.scala:6179) at awakening.LabyrinthAwakening$$anonfun$doCommand$1.apply(LabyrinthAwakening.scala:6177) at scala.Option.foreach(Option.scala:245) at awakening.LabyrinthAwakening$.doCommand(LabyrinthAwakening.scala:6177) at awakening.LabyrinthAwakening$.commandLoop(LabyrinthAwakening.scala:6102) at awakening.LabyrinthAwakening$.main(LabyrinthAwakening.scala:5768) at awakening.LabyrinthAwakening.main(LabyrinthAwakening.scala)
Hi Curt,
Today I attempted a Grand Campaign with both expansions using the latest v4.12
Unfortunately the program crashes/quits as soon as my first Victory condition was met.
I checked the save game folder and the following description file is generated; "Game Over - US automatic victory!"
In previous versions you could continue to play through this as to experience the entire complete game.
(I first used your app 3 years ago and this was not a problem)
Searching the Save Game Files I found this;
"Options:",
"----------------------------------------------------",
"Exit game after victory: yes",
""
I tried changing the "yes" to "no" on all files, and even removed the line entirely, but the game continues to exit out after the first victory condition is met.
I would love to be able to play the entire grand campaign using your app.
Thanks Curt, much appreciated!
As worded, the card says: "Place 1 Reaction marker in Egypt and up to 2 more Reaction markers in any countries including Egypt." I interpret this as being allowed to place the 2 markers outside Egypt in the same country if you wish. But the interface requires 2 different countries are entered.
Hi,
I see there is a lack of I18N support. Are you already working on it? I've already cloned the repo and I've already started to work on it. If you agree we could collaborate.
Let me know.
Bye
I think there's an issue with resolution timing in the Civil War Attrition phase. See below scenario output. Syria started the round with 4 Cells and 2 Militia + 1 Advisor.
Civil War Attrition
----------------------------------------------------
Add one militia to Syria due to presence of Advisors
Syria:
Jihadist die roll: 2
The Jihadist inflicts 1 hit on the US
US die roll : 3
The US inflicts 0 hits on the Jihadist
Remove 1 militia from Syria to the track
At beginning of phase, a new Militia is added so total should be 3. US die roll is 3 so a hit should be inflicted on Jihadist, but it resolves 0 hits. I'm not sure if this is because the Jihadist attack resolved first, caused the US hit, leaving the US at a value of 2 for its roll in error?
I had a game where I had 2 troops in the philippines with a hard posture as I recall troops were deployed there because of abu sayyaf. A single cell was present and my subsequent disrupts to flip it to active and then remove it and the resulting cadre did not increase US prestige.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.