Compare commits

...
Author SHA1 Message Date
admin 11547dac4e Use direct melee roll vector declarations 2026-06-23 13:02:30 -07:00
adminandGitHub 549cf37127 Require eagle map on GameState (#7924) 2026-06-23 12:44:12 -07:00
125 changed files with 919 additions and 163 deletions
@@ -279,7 +279,7 @@ class ActionResultApplierImpl(validator: Option[Validator]) extends ActionResult
.getOrElse(afterVictor)
val afterEagleMap = result.newEagleMap
.map(em => afterGameType.copy(eagleMap = Some(em)))
.map(em => afterGameType.copy(eagleMap = em))
.getOrElse(afterGameType)
afterEagleMap.copy(actionResultCount = afterEagleMap.actionResultCount + 1)
@@ -54,7 +54,7 @@ object GameStateViewFilter {
battalionTypes = gs.battalionTypes,
chronicleEntries = gs.chronicleEntries,
gameType = gs.gameType,
eagleMap = gs.eagleMap
eagleMap = Some(gs.eagleMap)
)
}
}
@@ -4,6 +4,9 @@ import net.eagle0.eagle.common.eagle_map_info.EagleMapInfo as EagleMapInfoProto
import net.eagle0.eagle.model.state.game_state.EagleMapInfo
object EagleMapInfoConverter {
private def isSet(proto: EagleMapInfoProto): Boolean =
proto.mapWidth != 0 || proto.mapHeight != 0 || proto.sha256.nonEmpty
def toProto(eagleMapInfo: EagleMapInfo): EagleMapInfoProto =
EagleMapInfoProto(
mapWidth = eagleMapInfo.mapWidth,
@@ -20,8 +23,14 @@ object EagleMapInfoConverter {
centroidsSha256 = proto.centroidsSha256
)
def fromRequiredProto(proto: Option[EagleMapInfoProto]): EagleMapInfo = {
val eagleMapInfo = proto
.getOrElse(throw new IllegalArgumentException("EagleMapInfo proto is required"))
fromProto(eagleMapInfo)
}
def fromProtoOption(proto: Option[EagleMapInfoProto]): Option[EagleMapInfo] =
proto
.filter(p => p.mapWidth != 0 || p.mapHeight != 0 || p.sha256.nonEmpty)
.filter(isSet)
.map(fromProto)
}
@@ -71,7 +71,7 @@ object GameStateConverter {
randomSeed: Long,
chronicleEntries: Vector[ChronicleEntry],
gameType: GameType,
eagleMap: Option[net.eagle0.eagle.model.state.game_state.EagleMapInfo]
eagleMap: net.eagle0.eagle.model.state.game_state.EagleMapInfo
) =>
GameStateProto(
gameId = gameId,
@@ -97,7 +97,7 @@ object GameStateConverter {
chronicleEntries = chronicleEntries.map(ChronicleEntryConverter.toProto),
gameType = GameTypeConverter.toProto(gameType)._1,
tutorialPhase = GameTypeConverter.toProto(gameType)._2,
eagleMap = eagleMap.map(EagleMapInfoConverter.toProto)
eagleMap = Some(EagleMapInfoConverter.toProto(eagleMap))
)
}
@@ -161,7 +161,7 @@ object GameStateConverter {
gameType =
if gameType == GameTypeProto.UNKNOWN_GAME_TYPE then GameType.Normal
else GameTypeConverter.fromProto(gameType, tutorialPhase),
eagleMap = EagleMapInfoConverter.fromProtoOption(eagleMap)
eagleMap = EagleMapInfoConverter.fromRequiredProto(eagleMap)
)
}
}
@@ -37,5 +37,5 @@ case class GameState(
randomSeed: Long,
chronicleEntries: Vector[ChronicleEntry],
gameType: GameType,
eagleMap: Option[EagleMapInfo] = None
eagleMap: EagleMapInfo
)
@@ -54,7 +54,13 @@ object InMemoryHistory {
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = net.eagle0.eagle.model.state.GameType.Normal
gameType = net.eagle0.eagle.model.state.GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}
@@ -2017,7 +2017,13 @@ object SqliteHistory {
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
/**
@@ -493,14 +493,12 @@ object FixedNewGameCreation extends NewGameCreation {
}
private def genericStartGameResult(gameId: GameId, gameParameters: GameParameters): ActionResultC = {
val eagleMapProto = gameParameters.eagleMap
val eagleMap = eagleMapProto.map(em =>
EagleMapInfo(
mapWidth = em.mapWidth,
mapHeight = em.mapHeight,
sha256 = em.sha256,
centroidsSha256 = em.centroidsSha256
)
val eagleMapProto = gameParameters.getEagleMap
val eagleMap = EagleMapInfo(
mapWidth = eagleMapProto.mapWidth,
mapHeight = eagleMapProto.mapHeight,
sha256 = eagleMapProto.sha256,
centroidsSha256 = eagleMapProto.centroidsSha256
)
ActionResultC(
actionResultType = ActionResultType.GameStart,
@@ -514,7 +512,7 @@ object FixedNewGameCreation extends NewGameCreation {
)
),
newRandomSeed = Some(gameId),
newEagleMap = eagleMap
newEagleMap = Some(eagleMap)
)
}
@@ -110,13 +110,12 @@ object TutorialGameCreation {
// Start with base ActionResultC
// Start at BattleRequest phase so battle begins immediately
val eagleMap = tutorialParams.eagleMap.map(em =>
EagleMapInfo(
mapWidth = em.mapWidth,
mapHeight = em.mapHeight,
sha256 = em.sha256,
centroidsSha256 = em.centroidsSha256
)
val eagleMapProto = tutorialParams.getEagleMap
val eagleMap = EagleMapInfo(
mapWidth = eagleMapProto.mapWidth,
mapHeight = eagleMapProto.mapHeight,
sha256 = eagleMapProto.sha256,
centroidsSha256 = eagleMapProto.centroidsSha256
)
val baseResult = ActionResultC(
@@ -127,7 +126,7 @@ object TutorialGameCreation {
newRandomSeed = Some(gameId),
newProvinces = provinces,
newGameType = Some(GameType.Tutorial(TutorialPhase.OpeningBattle)),
newEagleMap = eagleMap
newEagleMap = Some(eagleMap)
)
// Build factions, heroes, and battalions from tutorial parameters
@@ -157,7 +157,7 @@ TEST_F(MeleeActionTests, Execute_givesDamageBasedOnBattalionTypeInfo) {
PercentileRollOdds ambushOdds = MakeOdds(0);
auto rolls = std::vector<double>{ambushRoll, attackerRoll, defenderRoll};
std::vector<double> rolls{ambushRoll, attackerRoll, defenderRoll};
auto generator = SequenceRandomGenerator::WithSequence(rolls);
for (int size = 0; size <= 1000; size += 100) {
@@ -205,7 +205,7 @@ TEST_F(MeleeActionTests, Execute_givesDamageBasedOnBattalionTypeInfo) {
}
TEST_F(MeleeActionTests, Execute_normalPlayers_increasesOpponentKnowledge) {
const auto rolls = std::vector<double>{0, 50, 50};
const std::vector<double> rolls{0, 50, 50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attacker->mutable_opponent_knowledge()->Mutate(1, 51);
@@ -238,7 +238,7 @@ TEST_F(MeleeActionTests, Execute_normalPlayers_increasesOpponentKnowledge) {
}
TEST_F(MeleeActionTests, Execute_lledUnit_increasesOpponentKnowledge) {
const auto rolls = std::vector<double>{0.0, 0.50, 0.50};
const std::vector<double> rolls{0.0, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attacker->mutable_opponent_knowledge()->Mutate(1, 51);
@@ -272,7 +272,7 @@ TEST_F(MeleeActionTests, Execute_lledUnit_increasesOpponentKnowledge) {
}
TEST_F(MeleeActionTests, Execute_givesAttackerStrengthXp) {
const auto rolls = std::vector<double>{0.0, 0.50, 0.50};
const std::vector<double> rolls{0.0, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attackerWithHero->mutable_attached_hero().mutate_strength_xp(57);
@@ -297,7 +297,7 @@ TEST_F(MeleeActionTests, Execute_givesAttackerStrengthXp) {
}
TEST_F(MeleeActionTests, Execute_givesDefenderStrengthXp) {
const auto rolls = std::vector<double>{0.0, 0.50, 0.50};
const std::vector<double> rolls{0.0, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
defenderWithHero->mutable_attached_hero().mutate_strength_xp(12);
@@ -322,7 +322,7 @@ TEST_F(MeleeActionTests, Execute_givesDefenderStrengthXp) {
}
TEST_F(MeleeActionTests, ExecuteWithOutAmbush_givesNoAttackerAgilityXp) {
const auto rolls = std::vector<double>{0.0, 0.50, 0.50};
const std::vector<double> rolls{0.0, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attackerWithHero->mutable_attached_hero().mutate_agility_xp(88);
@@ -347,7 +347,7 @@ TEST_F(MeleeActionTests, ExecuteWithOutAmbush_givesNoAttackerAgilityXp) {
}
TEST_F(MeleeActionTests, ExecuteWithAmbush_givesAttackerAgilityXp) {
const auto rolls = std::vector<double>{0.0, 0.50, 0.50};
const std::vector<double> rolls{0.0, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attackerWithHero->mutate_hidden(true);
@@ -373,7 +373,7 @@ TEST_F(MeleeActionTests, ExecuteWithAmbush_givesAttackerAgilityXp) {
}
TEST_F(MeleeActionTests, Execute_hiddenAttacker_unhides) {
const auto rolls = std::vector<double>{0.0, 0.50, 0.50};
const std::vector<double> rolls{0.0, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attackerWithHero->mutate_hidden(true);
@@ -398,7 +398,7 @@ TEST_F(MeleeActionTests, Execute_hiddenAttacker_unhides) {
}
TEST_F(MeleeActionTests, Execute_hiddenAttackerLowRoll_ambushes) {
const auto rolls = std::vector<double>{0.25, 0.50, 0.50};
const std::vector<double> rolls{0.25, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attackerWithHero->mutate_hidden(true);
@@ -419,7 +419,7 @@ TEST_F(MeleeActionTests, Execute_hiddenAttackerLowRoll_ambushes) {
}
TEST_F(MeleeActionTests, Execute_hiddenAttackerLowRoll_intoCastle_noAmbush) {
const auto rolls = std::vector<double>{0.25, 0.50, 0.50};
const std::vector<double> rolls{0.25, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attacker->mutate_hidden(true);
@@ -444,7 +444,7 @@ TEST_F(MeleeActionTests, Execute_hiddenAttackerLowRoll_intoCastle_noAmbush) {
}
TEST_F(MeleeActionTests, Execute_hiddenAttackerLowRoll_stunsDefender) {
const auto rolls = std::vector<double>{0.25, 0.50, 0.50};
const std::vector<double> rolls{0.25, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attacker->mutate_hidden(true);
@@ -467,7 +467,7 @@ TEST_F(MeleeActionTests, Execute_hiddenAttackerLowRoll_stunsDefender) {
}
TEST_F(MeleeActionTests, Execute_hiddenAttackerHighRoll_noAmbush) {
const auto rolls = std::vector<double>{0.75, 0.50, 0.50};
const std::vector<double> rolls{0.75, 0.50, 0.50};
const auto generator = SequenceRandomGenerator::WithSequence(rolls);
attacker->mutate_hidden(true);
@@ -491,7 +491,7 @@ TEST_F(MeleeActionTests, Execute_hiddenAttackerHighRoll_noAmbush) {
}
TEST_F(MeleeActionTests, Execute_onStunnedDefender_doesMoreDamage) {
auto rolls = std::vector<double>{0.75, 0.50, 0.50};
std::vector<double> rolls{0.75, 0.50, 0.50};
auto generator = SequenceRandomGenerator::WithSequence(rolls);
GetGameSettingsSetter().SetDouble(kSettingsKeys.damageReceivedMultiplierFromStun, 1.25);
@@ -533,7 +533,7 @@ TEST_F(MeleeActionTests, Execute_onStunnedDefender_doesMoreDamage) {
}
TEST_F(MeleeActionTests, Execute_onFortifiedDefender_doesLessDamage) {
auto rolls = std::vector<double>{0.75, 0.50, 0.50};
std::vector<double> rolls{0.75, 0.50, 0.50};
auto generator = SequenceRandomGenerator::WithSequence(rolls);
GetGameSettingsSetter().SetDouble(kSettingsKeys.fortifyDamageTakenMultiplier, 0.9);
@@ -75,7 +75,13 @@ class FactionLeaderProvinceRankerTest extends AnyFlatSpec with Matchers with Bef
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"rankedProvinceIds" should "order by hostile, then hostile + neutral" in {
@@ -79,7 +79,13 @@ class FixLeaderAloneCommandSelectorTest extends AnyFlatSpec with Matchers with B
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def makeMarchAvailable(
@@ -84,7 +84,13 @@ class InvitationCommandSelectorTest extends AnyFlatSpec with Matchers with Befor
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val actingFaction: FactionC = makeFaction(
@@ -98,7 +98,13 @@ class MidGameAIClientTest extends AnyFlatSpec with Matchers with BeforeAndAfterE
battalionTypes = battalionTypes,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def makeFaction(
@@ -110,7 +110,13 @@ class MoveLeaderToBetterProvinceCommandChooserTest extends AnyFlatSpec with Matc
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val faction: FactionC = makeFaction(
@@ -351,7 +351,13 @@ class ResolveDiplomacyCommandSelectorTest extends AnyFlatSpec with Matchers with
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val acceptRejectAndImprison =
@@ -146,7 +146,13 @@ class SeekMoreLeadersCommandChooserTest extends AnyFlatSpec with Matchers with B
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def makeMarchAvailable(
@@ -67,7 +67,13 @@ class ActionResultApplierImplTest extends AnyFlatSpec with Matchers with BeforeA
battalionTypes = Vector.empty,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
// ============ Basic State Updates ============
@@ -70,7 +70,13 @@ class AvailableAlmsCommandFactoryTest extends AnyFlatSpec with Matchers with Bef
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val extraProvinceVassal1 = HeroC(
@@ -86,7 +86,13 @@ class AvailableApprehendOutlawCommandFactoryTest extends AnyFlatSpec with Matche
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState()
@@ -97,7 +97,13 @@ class AvailableArmTroopsCommandFactoryTest extends AnyFlatSpec with Matchers wit
battalionTypes = battalionTypes,
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"availableCommands" should "return nothing if there are no battalions" in {
@@ -184,7 +184,13 @@ class AvailableAttackDecisionCommandFactoryTest extends AnyFlatSpec with Matcher
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def getAttackDecisionCommand(gs: GameState): AttackDecisionAvailable =
@@ -62,7 +62,13 @@ class AvailableCommandsFactoryTest extends AnyFlatSpec with Matchers with MockFa
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val baseProvince = ProvinceC(
@@ -70,7 +70,13 @@ class AvailableControlWeatherCommandsFactoryTest extends AnyFlatSpec with Before
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState()
@@ -78,7 +78,13 @@ class AvailableDeclineQuestCommandsFactoryTest extends AnyFlatSpec with Matchers
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"availableCommand" should "return None when the province is not ruled by the faction leader" in {
@@ -147,7 +147,13 @@ class AvailableDefendCommandsFactoryTest extends AnyFlatSpec with BeforeAndAfter
battalionTypes = battalionTypes,
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val defendingProvince = ProvinceC(
@@ -153,7 +153,13 @@ class AvailableDiplomacyCommandsFactoryTest extends AnyFlatSpec with Matchers wi
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def gameState: GameState = makeGameState()
@@ -87,7 +87,13 @@ class AvailableDivineCommandsFactoryTest extends AnyFlatSpec with Matchers with
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"availableCommand" should "return None when the province is not ruled by the faction leader" in {
@@ -58,7 +58,13 @@ class AvailableExileVassalCommandFactoryTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"availableCommand" should "include non-leader vassals" in {
@@ -53,7 +53,13 @@ class AvailableFeastCommandFactoryTest extends AnyFlatSpec with Matchers with Be
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
AvailableFeastCommandFactory.availableCommand(
@@ -99,7 +105,13 @@ class AvailableFeastCommandFactoryTest extends AnyFlatSpec with Matchers with Be
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
inside(AvailableFeastCommandFactory.availableCommand(gameState, 9, 5).get) {
@@ -144,7 +156,13 @@ class AvailableFeastCommandFactoryTest extends AnyFlatSpec with Matchers with Be
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
inside(AvailableFeastCommandFactory.availableCommand(gameState, 9, 5).get) {
@@ -193,7 +211,13 @@ class AvailableFeastCommandFactoryTest extends AnyFlatSpec with Matchers with Be
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
inside(AvailableFeastCommandFactory.availableCommand(gameState, 9, 5).get) {
@@ -242,7 +266,13 @@ class AvailableFeastCommandFactoryTest extends AnyFlatSpec with Matchers with Be
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
inside(AvailableFeastCommandFactory.availableCommand(gameState, 9, 5).get) {
@@ -97,7 +97,13 @@ class AvailableHandleCapturedHeroCommandFactoryTest
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameStateWithOne: GameState = inside(gameStateWithTwo.provinces(provinceId)) {
@@ -67,7 +67,13 @@ class AvailableHandleRiotCrackDownCommandFactoryTest extends AnyFlatSpec with Be
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit =
@@ -61,7 +61,13 @@ class AvailableHandleRiotDoNothingCommandFactoryTest extends AnyFlatSpec with Be
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit = {}
@@ -53,7 +53,13 @@ class AvailableHandleRiotGiveCommandFactoryTest extends AnyFlatSpec with BeforeA
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit = {
@@ -84,7 +84,13 @@ class AvailableHeroGiftCommandFactoryTest extends AnyFlatSpec with Matchers with
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val brother1 = HeroC(
@@ -88,7 +88,13 @@ class AvailableImproveCommandsFactoryTest extends AnyFlatSpec with Matchers with
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState()
@@ -116,7 +116,13 @@ class AvailableIssueOrdersCommandFactoryTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"availableCommands" should "return nothing if the province leader is not a faction leader" in {
@@ -112,7 +112,13 @@ class AvailableManagePrisonerCommandsFactoryTest extends AnyFlatSpec with Before
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def getManagePrisonersCommand(gs: GameState): ManagePrisonersAvailable =
@@ -56,7 +56,13 @@ class AvailableMarchCommandFactoryTest extends AnyFlatSpec with BeforeAndAfterEa
battalionTypes = battalionTypes,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def getMarchCommand(
@@ -93,7 +93,13 @@ class AvailableOrganizeTroopsCommandsFactoryTest extends AnyFlatSpec with Before
battalionTypes = battalionTypes,
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"availableCommand" should "include all battalions, below cap or not, if stats are high enough" in {
@@ -84,7 +84,13 @@ class AvailablePleaseRecruitMeCommandFactoryTest extends AnyFlatSpec with Before
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val baseProvinces: Map[Int, ProvinceC] = Map(actingProvince.id -> actingProvince)
@@ -68,7 +68,13 @@ class AvailableReconCommandFactoryTest extends AnyFlatSpec with BeforeAndAfterEa
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState()
@@ -90,7 +90,13 @@ class AvailableRecruitHeroesCommandFactoryTest extends AnyFlatSpec with Matchers
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit = {
@@ -82,7 +82,13 @@ class AvailableResolveBreakAllianceCommandFactoryTest extends AnyFlatSpec with M
battalionTypes = Vector.empty,
randomSeed = 12345L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit = {}
@@ -135,7 +135,13 @@ class AvailableResolveRansomOfferCommandFactoryTest extends AnyFlatSpec with Mat
battalionTypes = Vector(),
randomSeed = 1L,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState()
@@ -68,7 +68,13 @@ class AvailableResolveTributeCommandsFactoryTest extends AnyFlatSpec with Matche
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def makeHostileArmyGroup(
@@ -32,7 +32,13 @@ class AvailableRestCommandsFactoryTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
val command = AvailableRestCommandsFactory.availableCommand(gameState, 12, 6)
@@ -50,7 +50,13 @@ class AvailableReturnCommandsFactoryTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState()
@@ -72,7 +72,13 @@ class AvailableSendSuppliesCommandFactoryTest extends AnyFlatSpec with BeforeAnd
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState: GameState = makeGameState()
@@ -100,7 +100,13 @@ class AvailableStartEpidemicCommandFactoryTest extends AnyFlatSpec with BeforeAn
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState()
@@ -95,7 +95,13 @@ class AvailableSwearBrotherhoodCommandFactoryTest extends AnyFlatSpec with Match
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState()
@@ -52,7 +52,13 @@ class AvailableTradeCommandFactoryTest extends AnyFlatSpec with Matchers with Be
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit = {
@@ -94,7 +94,13 @@ class AvailableTrainCommandsFactoryTest extends AnyFlatSpec with BeforeAndAfterE
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit =
@@ -56,7 +56,13 @@ class AvailableTravelCommandsFactoryTest extends AnyFlatSpec with Matchers with
battalionTypes = Vector(),
randomSeed = 0,
chronicleEntries = Vector(),
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState()
@@ -99,7 +99,13 @@ class EndBattleAftermathPhaseActionTest extends AnyFlatSpec with Matchers with B
battalionTypes = Vector.empty,
randomSeed = randomSeed,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
behavior of "EndBattleAftermathPhaseActionTest"
@@ -118,7 +118,13 @@ class EndDefenseDecisionPhaseActionTest extends AnyFlatSpec with Matchers {
victor = None,
battalionTypes = Vector.empty,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"execute" should "end the phase and proceed to TRUCE_TURN_BACK" in {
@@ -39,7 +39,13 @@ class EndDiplomacyResolutionPhaseActionTest extends AnyFlatSpec with Matchers wi
battalionTypes = Vector.empty,
randomSeed = 12345L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val applier = ActionResultApplierImpl(Some(RuntimeValidator))
@@ -73,7 +73,13 @@ class EndHandleRiotsPhaseActionTest extends AnyFlatSpec with BeforeAndAfterEach
battalionTypes = Vector.empty,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit = {
@@ -144,7 +144,13 @@ class EndPlayerCommandsPhaseActionTest extends AnyFlatSpec with Matchers with Be
battalionTypes = Vector.empty,
randomSeed = randomSeed,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def gameState: GameState = makeGameState()
@@ -49,7 +49,13 @@ class EndVassalCommandsPhaseActionTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector.empty,
randomSeed = 0xfeedfaceL,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def endVassalResult(results: Vector[?]): ActionResultC =
@@ -62,7 +62,13 @@ class FreeHeroBackstoryVisibilityRecoveryTest extends AnyFlatSpec with MockFacto
battalionTypes = Vector.empty,
randomSeed = 12345L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val heroWithBackstory: Map[Int, HeroT] = Map(
@@ -106,7 +106,13 @@ class NewRoundActionTest
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
// Helper to run NewRoundAction and return Scala ActionResults
@@ -131,7 +131,13 @@ class NewYearActionTest extends AnyFlatSpec with Matchers with BeforeAndAfterEac
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def gs: GameState = baseGameState
@@ -89,7 +89,13 @@ class PerformFoodConsumptionPhaseActionTest extends AnyFlatSpec with Matchers wi
battalionTypes = battalionTypes,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit = {}
@@ -75,7 +75,13 @@ class PerformForcedTurnBackActionTest extends AnyFlatSpec with Matchers with Bef
victor = None,
battalionTypes = Vector.empty,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gsWithoutBlizzard = gsWithBlizzard.copy(
@@ -73,7 +73,13 @@ class PerformHeroDeparturesActionTest extends AnyFlatSpec with Matchers with Bef
victor = None,
battalionTypes = Vector.empty,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit = {
@@ -63,7 +63,13 @@ class PerformHostileArmySetupActionTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"any setup" should "move to the next round phase" in {
@@ -161,7 +161,13 @@ class PerformProvinceEventsActionTest extends AnyFlatSpec with BeforeAndAfterEac
battalionTypes = Vector.empty,
randomSeed = randomSeed,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"changedProvince" should "remove beasts if we're past their end date" in {
@@ -115,7 +115,13 @@ class PerformProvinceMoveResolutionActionTest extends AnyFlatSpec with Matchers
victor = None,
battalionTypes = Vector.empty,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def getResults(gs: GameState) =
@@ -65,7 +65,13 @@ class PerformReconResolutionActionTest extends AnyFlatSpec with BeforeAndAfterEa
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val baseProvinces: Map[Int, ProvinceC] = Map(
@@ -79,7 +79,13 @@ class PerformUnaffiliatedHeroesActionTest extends AnyFlatSpec with Matchers with
battalionTypes = Vector.empty,
randomSeed = 12345L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
override def beforeEach(): Unit = {
@@ -266,7 +266,13 @@ class PerformVassalCommandsPhaseActionTest extends AnyFlatSpec with Matchers wit
battalionTypes = battalionTypes,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val marchGameState = baseGameState(
@@ -43,7 +43,13 @@ class PrisonerExchangeActionTest extends AnyFlatSpec with Matchers {
victor = None,
battalionTypes = Vector.empty,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def prisoner(heroId: Int, lastFactionId: Int): UnaffiliatedHeroC =
@@ -205,7 +205,13 @@ class ProvinceConqueredActionTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val currentDate = Date(year = 2024, month = Date.Month.July)
@@ -503,7 +503,13 @@ class ResolveBattleActionTest extends AnyFlatSpec with MockFactory with Matchers
victor = None,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val startingGameStateWithAllies = startingGameState.copy(
@@ -114,7 +114,13 @@ class TruceTurnBackPhaseActionTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector.empty,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"results" should "advance to the next phase" in {
@@ -109,7 +109,13 @@ class CapturedHeroMessagePromptGeneratorTest extends AnyFlatSpec with Matchers w
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"execute message prompt" should "return an appropriate execute message" in {
@@ -82,7 +82,13 @@ class ChronicleUpdatePromptGeneratorTest extends AnyFlatSpec with BeforeAndAfter
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val mockClientTextStore = mock[ClientTextStore]
@@ -101,7 +101,13 @@ class DivineMessagePromptGeneratorTest extends AnyFlatSpec with Matchers with Mo
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"generate" should "tell the LLM not to describe exile prisoner quests as releases" in {
@@ -58,7 +58,13 @@ class GeneratorUtilitiesTest extends AnyFlatSpec with Matchers with BeforeAndAft
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
val clientTextStore = mock[ClientTextStore]
GeneratorUtilities
@@ -113,7 +113,13 @@ class QuestEndedGeneratorUtilitiesTest extends AnyFlatSpec with Matchers with Mo
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private def mockTextStore: ClientTextStore = {
@@ -226,7 +226,13 @@ class GameStateViewFilterTest extends AnyFlatSpec with BeforeAndAfterEach with M
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"filteredGameState" should "return all provinces when there is no factionId" in {
@@ -438,7 +438,13 @@ class ProvinceUtilsTest extends AnyFlatSpec with Matchers with BeforeAndAfterEac
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"isFocusProvince" should "return true when the ruling faction has this province as its focus" in {
@@ -61,7 +61,13 @@ class AllianceOfferCommandSelectorTest extends AnyFlatSpec with Matchers with Be
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}
@@ -89,7 +89,13 @@ class AlmsCommandSelectorTest extends AnyFlatSpec with Matchers with BeforeAndAf
battalionTypes = battalionTypes,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"chosenAlmsCommand" should "give 1000 food if we need 10 support in December" in {
@@ -181,7 +181,13 @@ class AttackCommandChooserTest extends AnyFlatSpec with Matchers with BeforeAndA
victor = None,
randomSeed = 12345L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val availableBattalionTypes = Vector(
@@ -97,7 +97,13 @@ class AttackDecisionCommandChooserTest extends AnyFlatSpec with Matchers with Be
battalionTypes = battalionTypes,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val defaultSupplies = Supplies(gold = 0, food = 0)
@@ -184,7 +184,13 @@ class CommandChoiceHelpersTest extends AnyFlatSpec with Matchers with BeforeAndA
battalionTypes = battalionTypes,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
behavior of "CommandChoiceHelpersTest"
@@ -126,7 +126,13 @@ class ExpandCommandSelectorTest extends AnyFlatSpec with Matchers with BeforeAnd
battalionTypes = battalionTypesVector,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
"heroIdsToMarch" should "never send a faction leader by themselves" in
@@ -83,7 +83,13 @@ class FulfillQuestsCommandSelectorTest extends AnyFlatSpec with Matchers with Be
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val gameState = makeGameState(
@@ -69,7 +69,13 @@ class ImproveCommandSelectorTest extends AnyFlatSpec with Matchers with BeforeAn
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val improveCommand = ImproveAvailable(
@@ -61,7 +61,13 @@ class TruceOfferCommandSelectorTest extends AnyFlatSpec with Matchers with Befor
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}
@@ -93,7 +93,13 @@ class AllianceQuestCommandChooserTest extends AnyFlatSpec with BeforeAndAfterEac
battalionTypes = Vector.empty,
randomSeed = 0L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}
@@ -101,7 +101,13 @@ class AlmsAcrossRealmQuestCommandChooserTest extends AnyFlatSpec with BeforeAndA
battalionTypes = Vector.empty,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}
@@ -81,7 +81,13 @@ class AlmsToProvinceQuestCommandChooserTest extends AnyFlatSpec with BeforeAndAf
battalionTypes = Vector.empty,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}
@@ -64,7 +64,13 @@ class ApprehendOutlawQuestCommandChooserTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector.empty,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}
@@ -119,7 +119,13 @@ class BattalionDiversityQuestCommandChooserTest extends AnyFlatSpec with Matcher
battalionTypes = battalionTypes,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}
@@ -93,7 +93,13 @@ class BetrayAllyQuestCommandChooserTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector.empty,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
private val diplomacyAvailable: DiplomacyAvailable = DiplomacyAvailable(
@@ -75,7 +75,13 @@ class ControlWeatherQuestCommandChooserTest extends AnyFlatSpec with Matchers {
battalionTypes = Vector.empty,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}
@@ -101,7 +101,13 @@ class DevelopProvincesQuestCommandChooserTest extends AnyFlatSpec with Matchers
battalionTypes = Vector.empty,
randomSeed = 1L,
chronicleEntries = Vector.empty,
gameType = GameType.Normal
gameType = GameType.Normal,
eagleMap = net.eagle0.eagle.model.state.game_state.EagleMapInfo(
mapWidth = 0,
mapHeight = 0,
sha256 = "",
centroidsSha256 = ""
)
)
}

Some files were not shown because too many files have changed in this diff Show More