Sort Scala imports (#4443)

* sort imports

* rules
This commit is contained in:
2025-09-24 07:16:02 -07:00
committed by GitHub
parent 7e36c586f0
commit 06ba7c2680
550 changed files with 2325 additions and 2291 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ project/boot/
project/plugins/project/
project/target/
bazel-bin
bazel-eagle0
bazel-eagle0*
bazel-out
bazel-testlogs
.ijwb
+12
View File
@@ -4,3 +4,15 @@ rewrite.scala3.convertToNewSyntax = true
# rewrite.scala3.removeOptionalBraces = yes
rewrite.scala3.insertEndMarkerMinLines = 15
rewrite.scala3.removeEndMarkerMaxLines = 14
# Import sorting configuration
rewrite.rules = [SortImports]
rewrite.imports.sort = scalastyle
rewrite.imports.groups = [
["java\\..*"],
["javax\\..*"],
["scala\\..*"],
[".*"]
]
rewrite.imports.contiguousGroups = only
rewrite.trailingCommas.style = never
@@ -1,11 +1,12 @@
package net.eagle0.common
import io.grpc.stub.AbstractStub
import io.grpc.{Status, StatusRuntimeException}
import java.util.concurrent.{Executors, TimeUnit}
import scala.concurrent.{ExecutionContext, Future}
import io.grpc.{Status, StatusRuntimeException}
import io.grpc.stub.AbstractStub
final case class GrpcRetrier[Stub <: AbstractStub[Stub]](grpcClient: Stub) {
implicit val ec: ExecutionContext =
ExecutionContext.fromExecutor(Executors.newFixedThreadPool(4))
@@ -1,13 +1,14 @@
package net.eagle0.common
import org.json4s.DefaultFormats
import org.json4s.native.Json
import org.json4s.jvalue2extractable
import java.net.URL
import scala.io.Source
import scala.util.Using
import org.json4s.jvalue2extractable
import org.json4s.native.Json
import org.json4s.DefaultFormats
object JsonUtils {
implicit val jsonFormats: DefaultFormats.type = DefaultFormats
private val json = new Json(jsonFormats)
@@ -1,7 +1,7 @@
package net.eagle0.common
import scala.collection.Factory
import scala.collection.generic.IsIterable
import scala.collection.Factory
object MoreSeq {
extension [A, Repr[_]](coll: Repr[A])(using itr: IsIterable[Repr[A]])
@@ -1,10 +1,11 @@
package net.eagle0.common
import scalapb.{GeneratedMessage, GeneratedMessageCompanion}
import java.io.{BufferedInputStream, InputStream}
import scala.util.Using
import scalapb.{GeneratedMessage, GeneratedMessageCompanion}
object ProtoParser {
def parseZipped[T <: GeneratedMessage](inputStream: InputStream)(using
obj: GeneratedMessageCompanion[T]
@@ -3,8 +3,9 @@ package net.eagle0.common
import java.io.{FileOutputStream, OutputStream, OutputStreamWriter}
import java.nio.charset.StandardCharsets
import java.nio.file.Paths
import java.time.format.DateTimeFormatter
import java.time.{Instant, ZoneOffset}
import java.time.format.DateTimeFormatter
import scala.util.{Failure, Success, Using}
object SimpleTimedLogger {
@@ -2,6 +2,7 @@ package net.eagle0.common
import java.io.{File, PrintWriter}
import java.net.URL
import scala.collection.immutable.ListMap
import scala.io.Source
import scala.util.{Try, Using}
@@ -1,20 +1,20 @@
package net.eagle0.common.llm_integration
import java.net.{URI, URL}
import java.net.http.HttpRequest
import java.net.http.HttpRequest.BodyPublishers
import java.time.{Duration, ZonedDateTime}
import java.time.format.DateTimeFormatter
import java.util.function.Consumer
import net.eagle0.common.llm_integration.ClaudeServiceImpl.{
dictionaryFor,
messageVector
}
import org.json4s.native.{Json, Serialization}
import org.json4s.{DefaultFormats, JString}
import org.json4s.jvalue2extractable
import org.json4s.jvalue2monadic
import java.net.http.HttpRequest
import java.net.http.HttpRequest.BodyPublishers
import java.net.{URI, URL}
import java.time.{Duration, ZonedDateTime}
import java.time.format.DateTimeFormatter
import java.util.function.Consumer
import org.json4s.native.{Json, Serialization}
object ClaudeServiceImpl {
val model: String = "claude-sonnet-4-20250514"
@@ -1,25 +1,27 @@
package net.eagle0.common.llm_integration
import net.eagle0.common.sse.SseSubscriber
import java.net.HttpURLConnection
import java.net.http.HttpClient.{Redirect, Version}
import java.net.http.HttpResponse.ResponseInfo
import java.net.http.{
HttpClient,
HttpRequest,
HttpResponse,
HttpTimeoutException
}
import java.time.temporal.ChronoUnit
import java.net.http.HttpClient.{Redirect, Version}
import java.net.http.HttpResponse.ResponseInfo
import java.net.HttpURLConnection
import java.time.{Duration, ZonedDateTime}
import java.time.temporal.ChronoUnit
import java.util.{Timer, TimerTask}
import java.util.concurrent.CompletionException
import java.util.function.Consumer
import java.util.{Timer, TimerTask}
import scala.concurrent.{ExecutionContext, Future, Promise}
import scala.jdk.CollectionConverters.{CollectionHasAsScala, MapHasAsScala}
import scala.jdk.FutureConverters.CompletionStageOps
import scala.util.{Failure, Success}
import net.eagle0.common.sse.SseSubscriber
enum ExternalTextGenerationError extends Error:
case RateLimit(code: Int, msg: String)
case Http(code: Int, msg: String)
@@ -1,7 +1,7 @@
package net.eagle0.common.llm_integration
import scala.concurrent.Await
import scala.concurrent.duration.{Duration, SECONDS}
import scala.concurrent.Await
//import scala.util.Random
object ExternalTextGenerationCallerApp {
@@ -1,19 +1,19 @@
package net.eagle0.common.llm_integration
import java.net.{URI, URL}
import java.net.http.HttpRequest
import java.net.http.HttpRequest.BodyPublishers
import java.time.{Duration, ZonedDateTime}
import java.util.function.Consumer
import net.eagle0.common.llm_integration.OpenAIChatCompletionsServiceImpl.{
dictionaryFor,
messageVector
}
import org.json4s.native.{Json, Serialization}
import org.json4s.{DefaultFormats, JArray, JObject, JString}
import org.json4s.jvalue2extractable
import org.json4s.jvalue2monadic
import java.net.http.HttpRequest
import java.net.http.HttpRequest.BodyPublishers
import java.net.{URI, URL}
import java.time.{Duration, ZonedDateTime}
import java.util.function.Consumer
import org.json4s.native.{Json, Serialization}
object OpenAIChatCompletionsServiceImpl {
val gpt5: String = "gpt-5"
@@ -1,10 +1,11 @@
package net.eagle0.common.name_generation
import net.eagle0.common.{SeededRandom, TsvUtils}
import java.io.File
import scala.util.Random
import net.eagle0.common.{SeededRandom, TsvUtils}
class NameGenerator {
private val random = SeededRandom(Random.nextLong())
private val emptySubstitutions = Map[String, String]()
@@ -1,10 +1,11 @@
package net.eagle0.common.name_generation
import net.eagle0.common.JankyRandom
import java.nio.file.Path
import scala.util.Random
import net.eagle0.common.JankyRandom
object StringConstructionTester {
def main(args: Array[String]): Unit = {
val arraysPath = args(0)
@@ -1,9 +1,9 @@
package net.eagle0.common.name_generation
import net.eagle0.common.{FunctionalRandom, RandomState}
import scala.annotation.tailrec
import net.eagle0.common.{FunctionalRandom, RandomState}
sealed trait StringConstructionToken {
def nextString(
random: FunctionalRandom,
@@ -1,6 +1,7 @@
package net.eagle0.common.name_generation
import java.net.URL
import scala.io.Source
import scala.util.Using
@@ -1,16 +1,17 @@
package net.eagle0.common.sse
import org.json4s.ParserUtil
import java.net.http.HttpResponse.BodySubscriber
import java.nio.ByteBuffer
import java.nio.charset.StandardCharsets
import java.nio.ByteBuffer
import java.util
import java.util.concurrent.{CompletableFuture, CompletionStage, Flow}
import java.util.function.Consumer
import scala.annotation.tailrec
import scala.jdk.CollectionConverters.CollectionHasAsScala
import org.json4s.ParserUtil
class SseException(message: String, cause: Throwable = null)
extends Exception(message, cause)
+4 -4
View File
@@ -1,14 +1,14 @@
package net.eagle0.eagle
import scala.concurrent.ExecutionContext
import scala.language.existentials
import scala.util.Random
import io.grpc.{Server, ServerBuilder}
import net.eagle0.common.{FunctionalRandom, SeededRandom, SimpleTimedLogger}
import net.eagle0.eagle.api.eagle.EagleGrpc
import net.eagle0.eagle.service.*
import scala.concurrent.ExecutionContext
import scala.language.existentials
import scala.util.Random
object Main {
import ServerSetupHelpers.*
@@ -1,12 +1,11 @@
package net.eagle0.eagle
import scala.annotation.tailrec
//import net.eagle0.eagle.common.action_result_type.ActionResultType.PROVINCE_CONQUERED
import net.eagle0.eagle.common.action_result_type.ActionResultType.INVITATION_ACCEPTED
import net.eagle0.eagle.service.persistence.{eagleExtension, LocalFilePersister}
import net.eagle0.eagle.service.PersistedHistory
import net.eagle0.eagle.service.persistence.{LocalFilePersister, eagleExtension}
import scala.annotation.tailrec
// USAGE
// bazel run //src/main/scala/net/eagle0/eagle:remove_actions -- /Users/dancrosby/eagle0/eagle/save/ f0fef63f600f31f8 11
@@ -1,14 +1,14 @@
package net.eagle0.eagle
import scala.annotation.tailrec
import net.eagle0.eagle.internal.action_result.ActionResult
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.actions.impl.common.ActionWithResultingState
import net.eagle0.eagle.service.PersistedHistory
import net.eagle0.eagle.service.persistence.LocalFilePersister
import scalapb.descriptors.*
import net.eagle0.eagle.service.PersistedHistory
import scalapb.{GeneratedMessage, GeneratedMessageCompanion}
import scala.annotation.tailrec
import scalapb.descriptors.*
object MessageComparators {
@tailrec
@@ -1,10 +1,10 @@
package net.eagle0.eagle
import net.eagle0.eagle.service.ServerSetupHelpers.newGamesManager
import net.eagle0.eagle.service.new_game_creation.GameParametersUtils
import scala.util.Random
import net.eagle0.eagle.service.new_game_creation.GameParametersUtils
import net.eagle0.eagle.service.ServerSetupHelpers.newGamesManager
object TestAIGame {
def main(args: Array[String]): Unit = {
println("Starting!")
@@ -1,21 +1,21 @@
package net.eagle0.eagle.ai
import scala.collection.Map
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.{FactionId, GameId, ProvinceId}
import net.eagle0.eagle.api.available_command.AvailableCommand
import net.eagle0.eagle.api.command.OneProvinceAvailableCommands
import net.eagle0.eagle.api.selected_command.SelectedCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.Engine
import net.eagle0.eagle.library.util.*
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChooserImplicits.*
import net.eagle0.eagle.library.util.command_choice_helpers.{
AlmsCommandSelector,
AttackDecisionCommandChooser,
CommandChooser
}
import net.eagle0.eagle.{FactionId, GameId, ProvinceId}
import scala.collection.Map
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChooserImplicits.*
import net.eagle0.eagle.library.Engine
case class AIClientWithSelectedCommand(
client: AIClient,
@@ -1,11 +1,12 @@
package net.eagle0.eagle.ai
import net.eagle0.eagle.{FactionId, GameId}
import java.io.FileWriter
import java.nio.file.Paths
import scala.util.Using
import net.eagle0.eagle.{FactionId, GameId}
class AIClientLogger(gameId: GameId, factionId: FactionId) {
private val logFile = Paths
.get(
@@ -1,10 +1,10 @@
package net.eagle0.eagle.ai
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.hero.LegacyHeroUtils
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
object AIClientUtils {
def extraHeroCount(pid: ProvinceId, fid: FactionId, gs: GameState): Int =
@@ -1,7 +1,6 @@
package net.eagle0.eagle.ai
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.api.available_command.AvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChoiceHelpers.{
@@ -12,8 +11,9 @@ import net.eagle0.eagle.library.util.command_choice_helpers.CommandChoiceHelpers
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChooser
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChooserImplicits.DeterministicCommandChooser
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.FactionId
object EarlyGameAIClient {
def isEarlyGame(gs: GameState, factionId: FactionId): Boolean =
@@ -4,8 +4,8 @@ import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.ProvinceDistances
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.library.util.ProvinceDistances
object FactionLeaderProvinceRanker {
private def factionLeaderProvinceOrdering(
@@ -1,7 +1,6 @@
package net.eagle0.eagle.ai
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.api.available_command.{
AvailableCommand,
MarchAvailableCommand
@@ -10,8 +9,9 @@ import net.eagle0.eagle.api.selected_command.MarchSelectedCommand
import net.eagle0.eagle.common.combat_unit.CombatUnit
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.command_choice_helpers.AvailableCommandSelector.randomSelectionForType
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.FactionId
object FixLeaderAloneCommandSelector {
def maybeFixLeaderAlone(
@@ -7,14 +7,14 @@ import net.eagle0.eagle.api.available_command.{
import net.eagle0.eagle.api.command.util.diplomacy_option.InvitationOption
import net.eagle0.eagle.api.selected_command.DiplomacySelectedCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.library.util.command_choice_helpers.AvailableCommandSelector.flatSelectionForType
import net.eagle0.eagle.library.settings.MinChanceForAIInvite
import net.eagle0.eagle.library.util.command_choice_helpers.{
ProvinceGoldSurplusCalculator,
TrustForDiplomacy
}
import net.eagle0.eagle.library.util.command_choice_helpers.AvailableCommandSelector.flatSelectionForType
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.library.settings.MinChanceForAIInvite
object InvitationCommandSelector {
private case class InvitationOptionWithChance(
@@ -8,13 +8,13 @@ import net.eagle0.eagle.api.available_command.{
import net.eagle0.eagle.api.selected_command.MarchSelectedCommand
import net.eagle0.eagle.common.combat_unit.CombatUnit
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.util.command_choice_helpers.ProvinceGoldSurplusCalculator.provinceGoldSurplus
import net.eagle0.eagle.library.util.{
LegacyBattalionUtils,
CommandSelection,
LegacyBattalionUtils,
ProvinceDistances
}
import net.eagle0.eagle.library.util.command_choice_helpers.ProvinceGoldSurplusCalculator.provinceGoldSurplus
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
object MarchTowardProvinceCommandChooser {
def marchTowardProvinceCommand(
@@ -1,17 +1,16 @@
package net.eagle0.eagle.ai
import net.eagle0.common.{FunctionalRandom, MoreOption, RandomState}
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.ai.AIClientUtils.extraHeroCount
import net.eagle0.eagle.api.available_command.*
import net.eagle0.eagle.views.battalion_view.BattalionView
import net.eagle0.eagle.api.command.OneProvinceAvailableCommands
import net.eagle0.eagle.common.improvement_type.ImprovementType
import net.eagle0.eagle.views.province_view.FullProvinceInfo
import net.eagle0.eagle.api.selected_command.{
MarchSelectedCommand,
ReconSelectedCommand
}
import net.eagle0.eagle.common.combat_unit.CombatUnit
import net.eagle0.eagle.common.improvement_type.ImprovementType
import net.eagle0.eagle.internal.faction_relationship.FactionRelationship
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
@@ -19,11 +18,7 @@ import net.eagle0.eagle.library.settings.{
MinSupportForTaxes,
MonthsReconConsideredRecent
}
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.util.*
import net.eagle0.eagle.library.util.command_choice_helpers.AvailableCommandSelector.flatSelectionForType
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChoiceHelpers.*
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChooserImplicits.*
import net.eagle0.eagle.library.util.command_choice_helpers.{
AlmsCommandSelector,
AttackCommandChooser,
@@ -36,10 +31,15 @@ import net.eagle0.eagle.library.util.command_choice_helpers.{
OrganizeCommandSelector,
ProvinceGoldSurplusCalculator
}
import net.eagle0.eagle.library.util.command_choice_helpers.AvailableCommandSelector.flatSelectionForType
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChoiceHelpers.*
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChooserImplicits.*
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.hero.LegacyHeroUtils
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.views.battalion_view.BattalionView
import net.eagle0.eagle.views.province_view.FullProvinceInfo
object MidGameAIClient {
private def validateNoFactionLeaderAlone(
@@ -1,5 +1,6 @@
package net.eagle0.eagle.ai
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.{
AvailableCommand,
MarchAvailableCommand,
@@ -7,10 +8,9 @@ import net.eagle0.eagle.api.available_command.{
}
import net.eagle0.eagle.internal.faction.Faction
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.library.util.ProvinceDistances
import net.eagle0.eagle.library.util.ProvinceDistances.ProvinceAndDistance
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.{FactionId, ProvinceId}
object MoveLeaderToBetterProvinceCommandChooser {
private case class MCFOPWithDestinationAndDistance(
@@ -1,7 +1,6 @@
package net.eagle0.eagle.ai
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.api.available_command.{
AvailableCommand,
ResolveAllianceOfferAvailableCommand,
@@ -26,24 +25,25 @@ import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus.{
}
import net.eagle0.eagle.internal.faction_relationship.FactionRelationship.RelationshipLevel.ALLY
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.library.settings.{
AiAllianceAcceptanceBaseChance,
AiTruceAcceptanceBaseChance,
MinimumPrestigeDifferenceToInvite
}
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.util.command_choice_helpers.AvailableCommandSelector.{
randomSelectionForType,
selectionForType
}
import net.eagle0.eagle.library.util.command_choice_helpers.{
CommandChooser,
CommandChooserImplicits,
RansomOfferHelpers
}
import net.eagle0.eagle.library.util.command_choice_helpers.AvailableCommandSelector.{
randomSelectionForType,
selectionForType
}
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.CommandSelection
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.FactionId
object ResolveDiplomacyCommandSelector {
import CommandChooserImplicits.*
@@ -10,6 +10,10 @@ import net.eagle0.eagle.common.combat_unit.CombatUnit
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.hero.Hero
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.settings.{
LoyaltyGainFromFeast,
MinimumLoyaltyForSwearBrotherhood
}
import net.eagle0.eagle.library.util.{CommandSelection, ProvinceDistances}
import net.eagle0.eagle.library.util.command_choice_helpers.{
CommandChoiceHelpers,
@@ -17,13 +21,9 @@ import net.eagle0.eagle.library.util.command_choice_helpers.{
SwearBrotherhoodCommandSelector,
SwornBrotherChooser
}
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.library.settings.{
LoyaltyGainFromFeast,
MinimumLoyaltyForSwearBrotherhood
}
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.hero.LegacyHeroUtils
import net.eagle0.eagle.FactionId
object SeekMoreLeadersCommandChooser {
private def needsMoreLeaders(
@@ -1,7 +1,7 @@
package net.eagle0.eagle.client_text
import net.eagle0.eagle.ClientTextId
import net.eagle0.eagle.internal.generated_text_request.GeneratedTextRequest
import net.eagle0.eagle.ClientTextId
sealed trait ClientText {
def id: ClientTextId
@@ -1,5 +1,12 @@
package net.eagle0.eagle.client_text
import java.io.FileNotFoundException
import java.nio.charset.StandardCharsets
import java.util.regex.Pattern
import scala.io.Source
import scala.util.Try
import net.eagle0.common.ProtoParser
import net.eagle0.eagle.{ClientTextId, FactionId}
import net.eagle0.eagle.internal.client_text.{
@@ -8,16 +15,10 @@ import net.eagle0.eagle.internal.client_text.{
UnrequestedText
}
import net.eagle0.eagle.internal.generated_text_request.GeneratedTextRequest
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.service.persistence.Persister
import java.io.FileNotFoundException
import java.nio.charset.StandardCharsets
import java.util.regex.Pattern
import scala.io.Source
import scala.util.Try
case class ClientTextStoreImpl(
pregenerated: PregeneratedClientTextStore,
persister: Persister,
@@ -1,9 +1,9 @@
package net.eagle0.eagle.client_text
import net.eagle0.eagle.library.EagleInternalException
import scala.annotation.tailrec
import net.eagle0.eagle.library.EagleInternalException
object TextGenerationResult {
def mkString(
results: Seq[TextGenerationResult],
@@ -1,17 +1,17 @@
package net.eagle0.eagle.library
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.views.action_result_view.ActionResultView
import net.eagle0.eagle.views.game_state_view.GameStateViewDiff
import net.eagle0.eagle.common.action_result_notification_details.Notification
import net.eagle0.eagle.common.action_result_type.ActionResultType
import net.eagle0.eagle.common.action_result_type.ActionResultType.*
import net.eagle0.eagle.common.round_phase.RoundPhase
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.actions.impl.common.ActionWithResultingState
import net.eagle0.eagle.library.util.GameStateViewDiffer
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.view_filters.GameStateViewFilter
import net.eagle0.eagle.library.util.GameStateViewDiffer
import net.eagle0.eagle.views.action_result_view.ActionResultView
import net.eagle0.eagle.views.game_state_view.GameStateViewDiff
import net.eagle0.eagle.FactionId
object ActionResultFilter {
private val UNIVERSALLY_VISIBLE_TYPES: Vector[ActionResultType] = Vector(
@@ -1,12 +1,12 @@
package net.eagle0.eagle.library
import net.eagle0.eagle.views.action_result_view.ActionResultView
import net.eagle0.eagle.{FactionId, GameId, ProvinceId}
import net.eagle0.eagle.api.command.AvailableCommands
import net.eagle0.eagle.api.selected_command.SelectedCommand
import net.eagle0.eagle.internal.action_result.ActionResult
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.shardok_interface.{BattleResolution, BattleUpdate}
import net.eagle0.eagle.{FactionId, GameId, ProvinceId}
import net.eagle0.eagle.views.action_result_view.ActionResultView
trait EngineAndResults {
def engine: Engine
@@ -1,11 +1,13 @@
package net.eagle0.eagle.library
import scala.annotation.tailrec
import net.eagle0.common.SeededRandom
import net.eagle0.eagle.{FactionId, GameId, ProvinceId}
import net.eagle0.eagle.api.command.AvailableCommands
import net.eagle0.eagle.api.selected_command.SelectedCommand
import net.eagle0.eagle.internal.action_result.ActionResult
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.EngineImpl.{appliedResults, withUpdateChecks}
import net.eagle0.eagle.library.actions.applier.{
ActionResultProtoApplier,
ActionResultProtoApplierImpl
@@ -20,25 +22,23 @@ import net.eagle0.eagle.library.actions.impl.command.{
AvailableCommandTypeMap,
CommandFactory
}
import net.eagle0.eagle.model.proto_converters.game_state.GameStateConverter
import net.eagle0.eagle.library.actions.impl.common.{
ActionWithResultingState,
RandomStateProtoSequencer
}
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.util.hero_generator.HeroGenerator
import net.eagle0.eagle.library.util.validations.RuntimeValidator
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.EngineImpl.{appliedResults, withUpdateChecks}
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.proto_converters.BattalionConverter
import net.eagle0.eagle.model.proto_converters.date.DateConverter
import net.eagle0.eagle.model.proto_converters.faction.FactionConverter
import net.eagle0.eagle.model.proto_converters.game_state.GameStateConverter
import net.eagle0.eagle.model.proto_converters.hero.HeroConverter
import net.eagle0.eagle.model.proto_converters.province.ProvinceConverter
import net.eagle0.eagle.model.proto_converters.BattalionConverter
import net.eagle0.eagle.shardok_interface.{BattleResolution, BattleUpdate}
import net.eagle0.eagle.views.action_result_view.ActionResultView
import net.eagle0.eagle.{FactionId, GameId, ProvinceId}
import scala.annotation.tailrec
object EngineImpl {
def apply(
@@ -1,12 +1,12 @@
package net.eagle0.eagle.library
import net.eagle0.eagle.common.date.Date
import net.eagle0.eagle.{FactionId, RoundId, ShardokGameId}
import net.eagle0.eagle.common.date.Date
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.actions.impl.common.ActionWithResultingState
import net.eagle0.shardok.storage.action_result.ActionResult as ShardokActionResult
import net.eagle0.shardok.api.action_result_view.ActionResultView as ShardokActionResultView
import net.eagle0.shardok.api.command_descriptor.AvailableCommands as ShardokAvailableCommands
import net.eagle0.shardok.storage.action_result.ActionResult as ShardokActionResult
case class CappedResults(
results: Vector[ActionWithResultingState],
@@ -1,7 +1,8 @@
package net.eagle0.eagle.library
import scala.collection.mutable
import net.eagle0.common.SeededRandom
import net.eagle0.eagle.RoundId
import net.eagle0.eagle.common.round_phase.RoundPhase
import net.eagle0.eagle.common.round_phase.RoundPhase.*
import net.eagle0.eagle.internal.game_state.GameState
@@ -13,18 +14,17 @@ import net.eagle0.eagle.library.actions.availability.AvailableCommandsFactory
import net.eagle0.eagle.library.actions.impl.action.*
import net.eagle0.eagle.library.actions.impl.command.CommandFactory
import net.eagle0.eagle.library.actions.impl.common.ActionWithResultingState
import net.eagle0.eagle.library.util.EagleRequire.internalValidated
import net.eagle0.eagle.library.util.hero_generator.HeroGenerator
import net.eagle0.eagle.library.util.EagleRequire.internalValidated
import net.eagle0.eagle.model.proto_converters.date.DateConverter
import net.eagle0.eagle.model.proto_converters.faction.FactionConverter
import net.eagle0.eagle.model.proto_converters.hero.HeroConverter
import net.eagle0.eagle.model.proto_converters.province.ProvinceConverter
import net.eagle0.eagle.model.proto_converters.ActionResultProtoConverter
import net.eagle0.eagle.model.proto_converters.BattalionConverter
import net.eagle0.eagle.model.proto_converters.BattalionTypeConverter
import net.eagle0.eagle.model.proto_converters.date.DateConverter
import net.eagle0.eagle.model.proto_converters.faction.FactionConverter
import net.eagle0.eagle.model.proto_converters.hero.HeroConverter
import net.eagle0.eagle.model.state.battalion.BattalionT
import scala.collection.mutable
import net.eagle0.eagle.RoundId
object RoundPhaseAdvancer {
private val times: mutable.Map[RoundPhase, Long] =
@@ -7,6 +7,7 @@ import net.eagle0.eagle.common.action_result_type.ActionResultType
import net.eagle0.eagle.common.battalion_type.BattalionType
import net.eagle0.eagle.common.combat_unit.CombatUnit
import net.eagle0.eagle.common.date.Date
import net.eagle0.eagle.common.hero_backstory_version.BackstoryVersion
import net.eagle0.eagle.common.province_order_type.ProvinceOrderType
import net.eagle0.eagle.common.recruitment_info.RecruitmentInfo
import net.eagle0.eagle.common.recruitment_info.RecruitmentStatus.{
@@ -44,20 +45,19 @@ import net.eagle0.eagle.internal.faction.Faction.OutgoingOfferRound
import net.eagle0.eagle.internal.faction_relationship.FactionRelationship
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.hero.Hero
import net.eagle0.eagle.common.hero_backstory_version.BackstoryVersion
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.internal.run_status.RunStatus
import net.eagle0.eagle.internal.shardok_battle.ShardokBattle
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.library.actions.impl.common.ActionWithResultingState
import net.eagle0.eagle.library.settings.{
ExtraXpForStatBumpOver100,
XpForStatBump
}
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.util.validations.Validator
import net.eagle0.eagle.library.util.ProvinceEventUtils
import net.eagle0.eagle.library.util.hero.LegacyHeroUtils
import net.eagle0.eagle.library.util.validations.Validator
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.util.ProvinceEventUtils
import net.eagle0.eagle.library.EagleInternalException
class ActionResultProtoApplierImpl(validator: Validator)
extends ActionResultProtoApplier {
@@ -1,9 +1,9 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
import net.eagle0.eagle.api.available_command.AlmsAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.settings.{MaxAlmsFood, MinVigorForAlms}
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
object AvailableAlmsCommandFactory extends AvailableCommandsFactoryForType {
@@ -1,17 +1,17 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.{
ApprehendOutlawAvailableCommand,
ResidentOutlaw
}
import net.eagle0.eagle.internal.unaffiliated_hero.UnaffiliatedHero
import net.eagle0.eagle.common.unaffiliated_hero_type.UnaffiliatedHeroType.UNAFFILIATED_HERO_OUTLAW
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.hero.Hero
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.internal.unaffiliated_hero.UnaffiliatedHero
import net.eagle0.eagle.library.settings.MinVigorForApprehendOutlaw
import net.eagle0.eagle.library.util.view_filters.HeroViewFilter
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableApprehendOutlawCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,13 +1,13 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.{
ArmTroopsAvailableCommand,
ArmamentCost
}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.LegacyBattalionUtils
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.library.util.LegacyBattalionUtils
object AvailableArmTroopsCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,6 +1,7 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.common.MoreOption
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.AttackDecisionAvailableCommand
import net.eagle0.eagle.api.command.util.army_stats.ArmyStats
import net.eagle0.eagle.api.command.util.attack_decision_type.{
@@ -14,10 +15,9 @@ import net.eagle0.eagle.common.tribute_amount.TributeAmount
import net.eagle0.eagle.internal.army.{HostileArmyGroup, MovingArmy}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.{IncomingArmyUtils, ProvinceDistances}
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
object AvailableAttackDecisionCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,6 +1,9 @@
package net.eagle0.eagle.library.actions.availability
import scala.collection.immutable.SortedMap
import net.eagle0.common.MoreOption
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.*
import net.eagle0.eagle.api.command.OneProvinceAvailableCommands
import net.eagle0.eagle.api.selected_command.{
@@ -19,11 +22,8 @@ import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.actions.impl.command.AvailableCommandTypeMap
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.IncomingArmyUtils
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
import scala.collection.immutable.SortedMap
import net.eagle0.eagle.library.util.IncomingArmyUtils
object AvailableCommandsFactory {
def shouldFollow(
@@ -1,8 +1,8 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.AvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.{FactionId, ProvinceId}
trait AvailableCommandsFactoryForType {
def availableCommand(
@@ -1,5 +1,6 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.ControlWeatherAvailableCommand
import net.eagle0.eagle.api.available_command.ControlWeatherAvailableCommand.TargetProvinceOptions
import net.eagle0.eagle.api.command.util.control_weather_type.ControlWeatherType.{
@@ -12,7 +13,6 @@ import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.settings.MinVigorForControlWeather
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableControlWeatherCommandsFactory
extends AvailableCommandsFactoryForType {
@@ -1,5 +1,6 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.DefendAvailableCommand
import net.eagle0.eagle.api.command.util.battalion_with_food_cost.BattalionWithFoodCost
import net.eagle0.eagle.internal.army.Attacking
@@ -9,13 +10,12 @@ import net.eagle0.eagle.library.settings.{
MaxCombatUnitCountPerSide,
MinVigorForDefend
}
import net.eagle0.eagle.library.util.command_choice_helpers.CombatUnitSelector
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.{
BattalionSuitability,
LegacyBattalionUtils
}
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.library.util.command_choice_helpers.CombatUnitSelector
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
object AvailableDefendCommandsFactory extends AvailableCommandsFactoryForType {
private def sortedFleeProvinces(
@@ -1,4 +1,5 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
import net.eagle0.eagle.api.available_command.DiplomacyAvailableCommand
import net.eagle0.eagle.api.command.util.diplomacy_option.{
AllianceOption,
@@ -27,9 +28,8 @@ import net.eagle0.eagle.library.settings.{
}
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.hero.LegacyHeroUtils
import net.eagle0.eagle.library.util.ProvinceDistances
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
import net.eagle0.eagle.library.util.ProvinceDistances
object AvailableDiplomacyCommandsFactory
extends AvailableCommandsFactoryForType {
@@ -1,5 +1,6 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.common.MoreOption
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.DivineAvailableCommand
import net.eagle0.eagle.common.recruitment_info.RecruitmentStatus.RECRUITMENT_STATUS_NOT_DIVINED
import net.eagle0.eagle.internal.game_state.GameState
@@ -7,7 +8,6 @@ import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.actions.availability.ExpandedUnaffiliatedHeroUtils.expandedUnaffiliatedHero
import net.eagle0.eagle.library.settings.GoldCostForDivine
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableDivineCommandsFactory extends AvailableCommandsFactoryForType {
private def effectiveCost(province: Province): Int =
@@ -1,11 +1,11 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
import net.eagle0.eagle.api.available_command.ExileVassalAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
object AvailableExileVassalCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,11 +1,11 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.FeastAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.settings.FeastGoldCostPerHero
import net.eagle0.eagle.library.util.hero.LegacyHeroUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableFeastCommandFactory extends AvailableCommandsFactoryForType {
@@ -1,11 +1,12 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.FreeForAllDecisionAvailableCommand
import net.eagle0.eagle.api.command.util.army_stats.ArmyStats
import net.eagle0.eagle.api.command.util.attack_decision_type.{
AdvanceDecision,
WithdrawDecision,
AttackDecisionType
AttackDecisionType,
WithdrawDecision
}
import net.eagle0.eagle.common.round_phase.RoundPhase
import net.eagle0.eagle.internal.army.{
@@ -15,7 +16,6 @@ import net.eagle0.eagle.internal.army.{
}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.IncomingArmyUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableFreeForAllDecisionCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,5 +1,6 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.{
ExpandedCapturedHero,
HandleCapturedHeroAvailableCommand
@@ -11,11 +12,10 @@ import net.eagle0.eagle.api.command.util.captured_hero_option.CapturedHeroOption
RECRUIT_CAPTURED_HERO_OPTION,
RETURN_CAPTURED_HERO_OPTION
}
import net.eagle0.eagle.internal.unaffiliated_hero.CapturedHero
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.unaffiliated_hero.CapturedHero
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.view_filters.HeroViewFilter
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableHandleCapturedHeroCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,11 +1,11 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
import net.eagle0.eagle.api.available_command.HandleRiotCrackDownAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.settings.MinVigorForCrackDown
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
object AvailableHandleRiotCrackDownCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,9 +1,9 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.HandleRiotDoNothingAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableHandleRiotDoNothingCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,10 +1,10 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.HandleRiotGiveAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.settings.{RiotMaxFood, RiotMaxGold}
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableHandleRiotGiveCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,5 +1,6 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.{
EligibleGift,
HeroGiftAvailableCommand
@@ -8,7 +9,6 @@ import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.settings.MaxGiftGold
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableHeroGiftCommandFactory extends AvailableCommandsFactoryForType {
import net.eagle0.eagle.library.util.hero.LegacyHeroUtils.*
@@ -1,5 +1,6 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.ImproveAvailableCommand
import net.eagle0.eagle.common.improvement_type.ImprovementType.{
AGRICULTURE,
@@ -12,7 +13,6 @@ import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.hero.Hero
import net.eagle0.eagle.library.settings.MinVigorForImprove
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableImproveCommandsFactory extends AvailableCommandsFactoryForType {
val IMPROVEMENT_MAX = 100.0
@@ -1,11 +1,11 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.IssueOrdersAvailableCommand
import net.eagle0.eagle.api.command.util.province_orders.ProvinceOrders
import net.eagle0.eagle.common.province_order_type.ProvinceOrderType.*
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableIssueOrdersCommandFactory
extends AvailableCommandsFactoryForType {
@@ -5,9 +5,6 @@ import net.eagle0.eagle.api.available_command.{
ManagePrisonersAvailableCommand,
PrisonerToManage
}
import net.eagle0.eagle.internal.unaffiliated_hero.UnaffiliatedHero
import net.eagle0.eagle.common.unaffiliated_hero_type.UnaffiliatedHeroType.UNAFFILIATED_HERO_PRISONER
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.api.command.util.prisoner_management_type.{
PrisonerManagementOption,
PrisonerManagementOptionExecute,
@@ -16,6 +13,9 @@ import net.eagle0.eagle.api.command.util.prisoner_management_type.{
PrisonerManagementOptionRelease,
PrisonerManagementOptionReturn
}
import net.eagle0.eagle.common.unaffiliated_hero_type.UnaffiliatedHeroType.UNAFFILIATED_HERO_PRISONER
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.unaffiliated_hero.UnaffiliatedHero
object AvailableManagePrisonersCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,5 +1,6 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.{
AvailableDestinationProvince,
MarchAvailableCommand,
@@ -13,18 +14,17 @@ import net.eagle0.eagle.library.settings.{
MaxCombatUnitCountPerSide,
MinVigorForMarch
}
import net.eagle0.eagle.library.util.{
BattalionSuitability,
LegacyBattalionUtils,
ShardokMapInfo
}
import net.eagle0.eagle.library.util.command_choice_helpers.{
CombatUnitSelector,
MarchSuppliesHelpers
}
import net.eagle0.eagle.library.util.hero.LegacyHeroUtils
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.library.util.{
BattalionSuitability,
LegacyBattalionUtils,
ShardokMapInfo
}
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableMarchCommandFactory extends AvailableCommandsFactoryForType {
@@ -1,13 +1,13 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.api.available_command.OrganizeTroopsAvailableCommand.BattalionTypeStatus
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.{
OrganizeTroopsAvailableCommand,
TroopCost
}
import net.eagle0.eagle.api.available_command.OrganizeTroopsAvailableCommand.BattalionTypeStatus
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableOrganizeTroopsCommandsFactory
extends AvailableCommandsFactoryForType {
@@ -1,6 +1,5 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.api.available_command.{
OneProvincePleaseRecruitMe,
PleaseRecruitMeAvailableCommand
@@ -9,6 +8,7 @@ import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.settings.MinSupportForTaxes
import net.eagle0.eagle.library.util.unaffiliated_hero.LegacyUnaffiliatedHeroUtils
import net.eagle0.eagle.FactionId
object AvailablePleaseRecruitMeCommandFactory {
@@ -1,9 +1,9 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.ReconAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.settings.MinVigorForRecon
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableReconCommandFactory extends AvailableCommandsFactoryForType {
override def availableCommand(
@@ -1,12 +1,12 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.RecruitHeroesAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.settings.MinOddsForRecruitment
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.library.util.recruitment_odds.LegacyRecruitmentOdds
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableRecruitHeroesCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,5 +1,4 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.api.available_command.ResolveAllianceOfferAvailableCommand
import net.eagle0.eagle.common.diplomacy_offer.{
AllianceOfferDetails,
@@ -7,6 +6,7 @@ import net.eagle0.eagle.common.diplomacy_offer.{
}
import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus.DIPLOMACY_OFFER_STATUS_UNRESOLVED
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.FactionId
object AvailableResolveAllianceOfferCommandFactory {
private def unresolvedAllianceOffers(
@@ -1,5 +1,4 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.api.available_command.ResolveBreakAllianceAvailableCommand
import net.eagle0.eagle.common.diplomacy_offer.{
BreakAllianceDetails,
@@ -11,6 +10,7 @@ import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus.{
DIPLOMACY_OFFER_STATUS_UNRESOLVED
}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.FactionId
object AvailableResolveBreakAllianceCommandFactory {
private def unresolvedBreakAllianceOffers(
@@ -1,16 +1,16 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.api.available_command.ResolveInvitationAvailableCommand
import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus.{
DIPLOMACY_OFFER_STATUS_ACCEPTED,
DIPLOMACY_OFFER_STATUS_UNRESOLVED
}
import net.eagle0.eagle.common.diplomacy_offer.{
DiplomacyOffer,
InvitationDetails
}
import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus.{
DIPLOMACY_OFFER_STATUS_ACCEPTED,
DIPLOMACY_OFFER_STATUS_UNRESOLVED
}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.FactionId
object AvailableResolveInvitationCommandFactory {
private def alreadyAcceptedInvitation(
@@ -1,5 +1,4 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.api.available_command.ResolveRansomOfferAvailableCommand
import net.eagle0.eagle.common.diplomacy_offer.{
DiplomacyOffer,
@@ -11,8 +10,9 @@ import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus.{
DIPLOMACY_OFFER_STATUS_UNRESOLVED
}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.library.util.LegacyRansomValidity
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.FactionId
object AvailableResolveRansomOfferCommandFactory {
@@ -1,5 +1,6 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.{
ResolveTributeAvailableCommand,
TributeAndFaction
@@ -8,7 +9,6 @@ import net.eagle0.eagle.internal.army.{HostileArmyGroup, HostileArmyGroupStatus}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.util.ArmyUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableResolveTributeCommandsFactory
extends AvailableCommandsFactoryForType {
@@ -1,13 +1,13 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.api.available_command.ResolveTruceOfferAvailableCommand
import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus.DIPLOMACY_OFFER_STATUS_UNRESOLVED
import net.eagle0.eagle.common.diplomacy_offer.{
DiplomacyOffer,
TruceOfferDetails
}
import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus.DIPLOMACY_OFFER_STATUS_UNRESOLVED
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.library.settings.TruceMonths
import net.eagle0.eagle.FactionId
object AvailableResolveTruceOfferCommandFactory {
import net.eagle0.eagle.library.util.DateProtoUtils.*
@@ -1,8 +1,8 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.RestAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableRestCommandsFactory extends AvailableCommandsFactoryForType {
override def availableCommand(
@@ -1,8 +1,8 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.ReturnAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableReturnCommandsFactory extends AvailableCommandsFactoryForType {
override def availableCommand(
@@ -1,11 +1,11 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.SendSuppliesAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.settings.MinVigorForSendSupplies
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableSendSuppliesCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,12 +1,12 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.StartEpidemicAvailableCommand
import net.eagle0.eagle.api.available_command.StartEpidemicAvailableCommand.StartEpidemicOptions
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.settings.MinVigorForStartEpidemic
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableStartEpidemicCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,11 +1,11 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.SuppressBeastsAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.province.Province
import net.eagle0.eagle.library.settings.MinVigorForSuppressBeasts
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableSuppressBeastsCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,5 +1,6 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
import net.eagle0.eagle.api.available_command.SwearBrotherhoodAvailableCommand
import net.eagle0.eagle.api.available_command.SwearBrotherhoodAvailableCommand.HeroAndBackstory
import net.eagle0.eagle.internal.game_state.GameState
@@ -7,7 +8,6 @@ import net.eagle0.eagle.library.settings.{
MaximumFactionLeaders,
MinimumLoyaltyForSwearBrotherhood
}
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
object AvailableSwearBrotherhoodCommandFactory
extends AvailableCommandsFactoryForType {
@@ -1,9 +1,9 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.TradeAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.settings.{BaseFoodBuyPrice, BaseFoodSellPrice}
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableTradeCommandFactory extends AvailableCommandsFactoryForType {
@@ -1,11 +1,11 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.TrainAvailableCommand
import net.eagle0.eagle.common.profession.Profession.CHAMPION
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.hero.Hero
import net.eagle0.eagle.library.settings.MinVigorForTrain
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableTrainCommandsFactory extends AvailableCommandsFactoryForType {
private val TRAINING_MAX = 100.0
@@ -1,10 +1,10 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.{FactionId, ProvinceId}
import net.eagle0.eagle.api.available_command.TravelAvailableCommand
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.settings.MinVigorForTravel
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.{FactionId, ProvinceId}
object AvailableTravelCommandsFactory extends AvailableCommandsFactoryForType {
@@ -1,10 +1,10 @@
package net.eagle0.eagle.library.actions.availability
import net.eagle0.eagle.FactionId
import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus
import net.eagle0.eagle.common.diplomacy_offer_status.DiplomacyOfferStatus.DIPLOMACY_OFFER_STATUS_IMPRISONED
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.faction_utils.LegacyFactionUtils
import net.eagle0.eagle.FactionId
object EligibleDiplomacyStatuses {
def acceptRejectStatuses: Vector[DiplomacyOfferStatus] =
@@ -4,8 +4,8 @@ import net.eagle0.eagle.api.command.util.expanded_combat_unit.ExpandedCombatUnit
import net.eagle0.eagle.common.combat_unit.CombatUnit
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.util.view_filters.{
LegacyBattalionViewFilter,
HeroViewFilter
HeroViewFilter,
LegacyBattalionViewFilter
}
object ExpandedCombatUnitUtils {
@@ -3,8 +3,8 @@ package net.eagle0.eagle.library.actions.availability
import net.eagle0.common.MoreOption
import net.eagle0.eagle.api.command.util.expanded_unaffiliated_hero.ExpandedUnaffiliatedHero
import net.eagle0.eagle.common.recruitment_info.RecruitmentStatus.RECRUITMENT_STATUS_HAS_QUEST
import net.eagle0.eagle.internal.unaffiliated_hero.UnaffiliatedHero
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.unaffiliated_hero.UnaffiliatedHero
import net.eagle0.eagle.library.util.view_filters.HeroViewFilter
object ExpandedUnaffiliatedHeroUtils {
@@ -1,11 +1,11 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.{FactionId, GameId, HeroId}
import net.eagle0.eagle.library.actions.impl.common.ProtolessRandomSequentialResultsAction
import net.eagle0.eagle.library.util.province.ProvinceUtils
import net.eagle0.eagle.library.util.ransom_validity.RansomValidity
import net.eagle0.eagle.library.util.ReturningHeroes
import net.eagle0.eagle.library.util.province.ProvinceUtils
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.action_result.changed_province.concrete.ChangedProvinceC
import net.eagle0.eagle.model.action_result.concrete.{
ActionResultC,
@@ -18,20 +18,20 @@ import net.eagle0.eagle.model.action_result.types.{
GameEndedResultType,
RansomInvalidatedResultType
}
import net.eagle0.eagle.model.state.unaffiliated_hero.UnaffiliatedHeroType.Traveler
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.state.diplomacy_offer.status.Invalidated
import net.eagle0.eagle.model.state.diplomacy_offer.RansomOffer
import net.eagle0.eagle.model.state.faction.FactionT
import net.eagle0.eagle.model.state.faction.concrete.FactionC
import net.eagle0.eagle.model.state.faction.FactionT
import net.eagle0.eagle.model.state.hero.HeroT
import net.eagle0.eagle.model.state.province.ProvinceT
import net.eagle0.eagle.model.state.unaffiliated_hero.{
RecruitmentInfo,
UnaffiliatedHeroT
}
import net.eagle0.eagle.model.state.Army
import net.eagle0.eagle.model.state.unaffiliated_hero.concrete.UnaffiliatedHeroC
import net.eagle0.eagle.{FactionId, GameId, HeroId}
import net.eagle0.eagle.model.state.unaffiliated_hero.UnaffiliatedHeroType.Traveler
import net.eagle0.eagle.model.state.Army
object CheckForFactionChangesAction {
def factionHasProvincesOrArmies(
@@ -1,14 +1,13 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.eagle.{FactionId, GameId, HeroId, ProvinceId, RoundId}
import net.eagle0.eagle.library.actions.impl.common.ProtolessSequentialResultsAction
import net.eagle0.eagle.library.util.faction_utils.FactionUtils
import net.eagle0.eagle.library.util.quest_fulfillment.QuestFulfillmentUtils
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.state.unaffiliated_hero.UnaffiliatedHeroType.Prisoner
import net.eagle0.eagle.model.state.date.Date
import net.eagle0.eagle.model.state.faction.FactionT
import net.eagle0.eagle.model.state.province.ProvinceT
import net.eagle0.eagle.model.state.date.Date
import net.eagle0.eagle.model.state.quest.QuestT
import net.eagle0.eagle.model.state.quest.concrete.{
DefeatFactionQuest,
DismissSpecificVassalQuest,
@@ -19,7 +18,8 @@ import net.eagle0.eagle.model.state.quest.concrete.{
TruceCountQuest,
TruceWithFactionQuest
}
import net.eagle0.eagle.{FactionId, GameId, HeroId, ProvinceId, RoundId}
import net.eagle0.eagle.model.state.quest.QuestT
import net.eagle0.eagle.model.state.unaffiliated_hero.UnaffiliatedHeroType.Prisoner
case class CheckForFailedQuestsAction(
gameId: GameId,
@@ -1,16 +1,23 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.eagle.{
BattalionId,
FactionId,
GameId,
HeroId,
ProvinceId,
RoundId
}
import net.eagle0.eagle.common.battalion_type.BattalionType
import net.eagle0.eagle.library.actions.impl.common.ProtolessSequentialResultsAction
import net.eagle0.eagle.library.settings.{
MinSupportForTaxes,
PortionOfCapacityForUpgradeBattalionQuest
}
import net.eagle0.eagle.library.util.province.ProvinceUtils
import net.eagle0.eagle.library.util.quest_fulfillment.QuestFulfillmentUtils
import net.eagle0.eagle.library.util.BattalionTypeFinder
import net.eagle0.eagle.library.util.province.ProvinceUtils
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.state.BattalionTypeId
import net.eagle0.eagle.model.state.battalion.BattalionT
import net.eagle0.eagle.model.state.date.Date
import net.eagle0.eagle.model.state.faction.FactionRelationship.RelationshipLevel.{
@@ -20,7 +27,6 @@ import net.eagle0.eagle.model.state.faction.FactionRelationship.RelationshipLeve
import net.eagle0.eagle.model.state.faction.FactionT
import net.eagle0.eagle.model.state.hero.HeroT
import net.eagle0.eagle.model.state.province.ProvinceT
import net.eagle0.eagle.model.state.quest.QuestT
import net.eagle0.eagle.model.state.quest.concrete.{
AllianceQuest,
ComponentQuest,
@@ -41,14 +47,8 @@ import net.eagle0.eagle.model.state.quest.concrete.{
UpgradeBattalionQuest,
WealthQuest
}
import net.eagle0.eagle.{
BattalionId,
FactionId,
GameId,
HeroId,
ProvinceId,
RoundId
}
import net.eagle0.eagle.model.state.quest.QuestT
import net.eagle0.eagle.model.state.BattalionTypeId
case class CheckForFulfilledQuestsAction(
gameId: GameId,
@@ -1,11 +1,5 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.eagle.common.action_result_notification_details.ShatteredArmyDetails.Reason.{
SHATTERED_ARMY_REASON_BLIZZARD,
SHATTERED_ARMY_REASON_UNKNOWN_UNSPECIFIED,
SHATTERED_ARMY_REASON_WITHDRAW,
Unrecognized
}
import net.eagle0.eagle.common.action_result_notification_details.{
AllianceAcceptedDetails,
BreakAllianceAcceptedDetails,
@@ -32,14 +26,15 @@ import net.eagle0.eagle.common.action_result_notification_details.{
TruceAmbassadorImprisonedDetails,
VassalExiledDetails
}
import net.eagle0.eagle.common.action_result_notification_details.ShatteredArmyDetails.Reason.{
SHATTERED_ARMY_REASON_BLIZZARD,
SHATTERED_ARMY_REASON_UNKNOWN_UNSPECIFIED,
SHATTERED_ARMY_REASON_WITHDRAW,
Unrecognized
}
import net.eagle0.eagle.common.action_result_type.ActionResultType.FACTION_DESTROYED
import net.eagle0.eagle.common.date.Date
import net.eagle0.eagle.internal.action_result.ActionResult
import net.eagle0.eagle.internal.event_for_chronicle.ShatteredArmyEvent.Reason.{
SHATTERED_ARMY_EVENT_REASON_BLIZZARD,
SHATTERED_ARMY_EVENT_REASON_UNKNOWN_UNSPECIFIED,
SHATTERED_ARMY_EVENT_REASON_WITHDRAW
}
import net.eagle0.eagle.internal.event_for_chronicle.{
AllianceAcceptedEvent,
BreakAllianceAmbassadorImprisonedEvent,
@@ -68,8 +63,13 @@ import net.eagle0.eagle.internal.event_for_chronicle.{
TruceAmbassadorImprisonedEvent,
VassalExiledEvent
}
import net.eagle0.eagle.library.GameHistory
import net.eagle0.eagle.internal.event_for_chronicle.ShatteredArmyEvent.Reason.{
SHATTERED_ARMY_EVENT_REASON_BLIZZARD,
SHATTERED_ARMY_EVENT_REASON_UNKNOWN_UNSPECIFIED,
SHATTERED_ARMY_EVENT_REASON_WITHDRAW
}
import net.eagle0.eagle.library.actions.impl.common.ActionWithResultingState
import net.eagle0.eagle.library.GameHistory
object ChronicleEventGenerator {
private def relevantNotifications(
@@ -1,16 +1,16 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.eagle.{GameId, RoundId}
import net.eagle0.eagle.library.actions.impl.common.ProtolessSequentialResultsAction
import net.eagle0.eagle.library.util.quest_fulfillment.QuestFulfillmentUtils
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.action_result.concrete.ActionResultC
import net.eagle0.eagle.model.action_result.types.EndAttackDecisionPhaseResultType
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.state.date.Date
import net.eagle0.eagle.model.state.province.ProvinceT
import net.eagle0.eagle.model.state.RoundPhase
import net.eagle0.eagle.model.state.quest.QuestT
import net.eagle0.eagle.model.state.quest.concrete.TruceWithFactionQuest
import net.eagle0.eagle.{GameId, RoundId}
import net.eagle0.eagle.model.state.quest.QuestT
import net.eagle0.eagle.model.state.RoundPhase
case class EndAttackDecisionPhaseAction(
gameId: GameId,
@@ -1,6 +1,7 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
import net.eagle0.eagle.common.unaffiliated_hero_type.UnaffiliatedHeroType
import net.eagle0.eagle.common.unaffiliated_hero_type.UnaffiliatedHeroType.{
UNAFFILIATED_HERO_OUTLAW,
@@ -22,24 +23,29 @@ import net.eagle0.eagle.internal.deferred_change.{
}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.internal.unaffiliated_hero.UnaffiliatedHero
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.library.actions.applier.ActionResultTApplier
import net.eagle0.eagle.library.actions.generated_text_request_generators.captured_hero_helpers.CapturedHeroPleaGenerator
import net.eagle0.eagle.library.actions.impl.action.EndBattleAftermathPhaseAction.RevelationChange
import net.eagle0.eagle.library.actions.impl.common.{
ProtolessRandomSequentialResultsAction,
RandomStateTSequencer
}
import net.eagle0.eagle.library.actions.generated_text_request_generators.captured_hero_helpers.CapturedHeroPleaGenerator
import net.eagle0.eagle.library.settings.{
FactionBiasAgainstFormerOnExile,
FactionBiasFromExile,
FactionBiasFromImprisonment,
TruceMonthsFromReturningLeader
}
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.util.faction_utils.FactionUtils
import net.eagle0.eagle.library.util.unaffiliated_hero.LegacyUnaffiliatedHeroUtils
import net.eagle0.eagle.library.util.view_filters.ProvinceViewFilter
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.model.action_result.{
ActionResultT,
NotificationDetails,
NotificationT
}
import net.eagle0.eagle.model.action_result.changed_province.concrete.ChangedProvinceC
import net.eagle0.eagle.model.action_result.concrete.{
ActionResultC,
@@ -51,25 +57,16 @@ import net.eagle0.eagle.model.action_result.types.{
CapturedHeroResolvedResultType,
EndAftermathPhaseResultType
}
import net.eagle0.eagle.model.action_result.{
ActionResultT,
NotificationDetails,
NotificationT
}
import net.eagle0.eagle.model.proto_converters.date.DateConverter
import net.eagle0.eagle.model.proto_converters.faction.FactionConverter
import net.eagle0.eagle.model.proto_converters.hero.HeroConverter
import net.eagle0.eagle.model.proto_converters.province.ProvinceConverter
import net.eagle0.eagle.model.proto_converters.{
BattleRevelationConverter,
NotificationConverter,
UnaffiliatedHeroConverter
}
import net.eagle0.eagle.model.state.BattleRevelationType.{
DidBattle,
Unknown,
Withdrew
}
import net.eagle0.eagle.model.proto_converters.date.DateConverter
import net.eagle0.eagle.model.proto_converters.faction.FactionConverter
import net.eagle0.eagle.model.proto_converters.hero.HeroConverter
import net.eagle0.eagle.model.proto_converters.province.ProvinceConverter
import net.eagle0.eagle.model.state.{BattleRevelation, RoundPhase}
import net.eagle0.eagle.model.state.faction.FactionRelationship
import net.eagle0.eagle.model.state.hero.{
CapturedHeroExiledBackstoryEvent,
@@ -77,8 +74,11 @@ import net.eagle0.eagle.model.state.hero.{
CapturedHeroReturnedBackstoryEvent,
EventForHeroBackstoryT
}
import net.eagle0.eagle.model.state.{BattleRevelation, RoundPhase}
import net.eagle0.eagle.{FactionId, HeroId, ProvinceId}
import net.eagle0.eagle.model.state.BattleRevelationType.{
DidBattle,
Unknown,
Withdrew
}
object EndBattleAftermathPhaseAction {
case class RevelationChange(
@@ -2,7 +2,6 @@ package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.library.actions.applier.ActionResultTApplier
import net.eagle0.eagle.library.actions.impl.action.diplomacy_helpers.{
AllianceResolutionHelpers,
@@ -18,6 +17,7 @@ import net.eagle0.eagle.library.actions.impl.common.{
import net.eagle0.eagle.library.util.faction_utils.FactionUtils
import net.eagle0.eagle.library.util.quest_fulfillment.QuestFulfillmentChecker
import net.eagle0.eagle.library.util.ransom_validity.RansomValidity
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.model.action_result.concrete.{
ActionResultC,
ChangedFactionC
@@ -35,16 +35,8 @@ import net.eagle0.eagle.model.proto_converters.date.DateConverter
import net.eagle0.eagle.model.proto_converters.faction.FactionConverter
import net.eagle0.eagle.model.proto_converters.hero.HeroConverter
import net.eagle0.eagle.model.proto_converters.province.ProvinceConverter
import net.eagle0.eagle.model.state.RoundPhase.ReconResolution
import net.eagle0.eagle.model.state.battalion.BattalionT
import net.eagle0.eagle.model.state.date.Date
import net.eagle0.eagle.model.state.diplomacy_offer.status.{
Accepted,
Imprisoned,
Invalidated,
Rejected,
Unresolved
}
import net.eagle0.eagle.model.state.diplomacy_offer.{
AllianceOffer,
BreakAlliance,
@@ -52,9 +44,17 @@ import net.eagle0.eagle.model.state.diplomacy_offer.{
RansomOffer,
TruceOffer
}
import net.eagle0.eagle.model.state.diplomacy_offer.status.{
Accepted,
Imprisoned,
Invalidated,
Rejected,
Unresolved
}
import net.eagle0.eagle.model.state.faction.FactionT
import net.eagle0.eagle.model.state.hero.HeroT
import net.eagle0.eagle.model.state.province.ProvinceT
import net.eagle0.eagle.model.state.RoundPhase.ReconResolution
case class EndDiplomacyResolutionPhaseAction(
gameState: GameState,
@@ -2,9 +2,9 @@ package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.actions.impl.common.ProtolessSequentialResultsAction
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.action_result.concrete.ActionResultC
import net.eagle0.eagle.model.action_result.types.EndFreeForAllDecisionPhaseResultType
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.proto_converters.province.ProvinceConverter
import net.eagle0.eagle.model.state.RoundPhase
@@ -1,7 +1,6 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.ProvinceId
import net.eagle0.eagle.api.command.OneProvinceAvailableCommands
import net.eagle0.eagle.common.action_result_type.ActionResultType.END_HANDLE_RIOTS_PHASE
import net.eagle0.eagle.common.round_phase.NewRoundPhase
@@ -20,8 +19,9 @@ import net.eagle0.eagle.library.actions.impl.common.{
}
import net.eagle0.eagle.library.util.command_choice_helpers.CommandChoiceHelpers
import net.eagle0.eagle.library.util.province.LegacyProvinceUtils
import net.eagle0.eagle.model.proto_converters.province.ProvinceConverter
import net.eagle0.eagle.model.proto_converters.game_state.GameStateConverter
import net.eagle0.eagle.model.proto_converters.province.ProvinceConverter
import net.eagle0.eagle.ProvinceId
case class EndHandleRiotsPhaseAction(
gameState: GameState,
@@ -1,11 +1,9 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.ProvinceId
import net.eagle0.eagle.internal.deferred_change.DeferredChange.Empty
import net.eagle0.eagle.internal.deferred_change.*
import net.eagle0.eagle.internal.deferred_change.DeferredChange.Empty
import net.eagle0.eagle.internal.game_state.GameState
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.library.actions.applier.ActionResultTApplier
import net.eagle0.eagle.library.actions.impl.common.{
ProtolessRandomSequentialResultsAction,
@@ -13,12 +11,12 @@ import net.eagle0.eagle.library.actions.impl.common.{
VigorXPApplier
}
import net.eagle0.eagle.library.settings.PrisonerEscapeChance
import net.eagle0.eagle.library.util.province.ProvinceUtils
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.library.util.ProvinceEventUtils
import net.eagle0.eagle.library.util.province.ProvinceUtils
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.action_result.changed_province.ChangedProvinceT
import net.eagle0.eagle.library.EagleInternalException
import net.eagle0.eagle.model.action_result.changed_province.concrete.ChangedProvinceC
import net.eagle0.eagle.model.action_result.changed_province.ChangedProvinceT
import net.eagle0.eagle.model.action_result.concrete.{
ActionResultC,
ChangedFactionC,
@@ -31,6 +29,11 @@ import net.eagle0.eagle.model.action_result.types.{
PrisonerMoveTookEffectResultType,
WeatherTookEffectResultType
}
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.proto_converters.{
NotificationConverter,
UnaffiliatedHeroConverter
}
import net.eagle0.eagle.model.proto_converters.date.DateConverter
import net.eagle0.eagle.model.proto_converters.faction.FactionConverter
import net.eagle0.eagle.model.proto_converters.hero.HeroConverter
@@ -38,21 +41,18 @@ import net.eagle0.eagle.model.proto_converters.province.{
ProvinceConverter,
ProvinceEventConverter
}
import net.eagle0.eagle.model.proto_converters.{
NotificationConverter,
UnaffiliatedHeroConverter
}
import net.eagle0.eagle.model.state.unaffiliated_hero.UnaffiliatedHeroType.{
Outlaw,
Prisoner
}
import net.eagle0.eagle.model.state.province.{
BlizzardEvent,
DroughtEvent,
EpidemicEvent
}
import net.eagle0.eagle.model.state.RoundPhase
import net.eagle0.eagle.model.state.unaffiliated_hero.RecruitmentInfo
import net.eagle0.eagle.model.state.unaffiliated_hero.UnaffiliatedHeroType.{
Outlaw,
Prisoner
}
import net.eagle0.eagle.model.state.RoundPhase
import net.eagle0.eagle.ProvinceId
case class EndPlayerCommandsPhaseAction(
gameState: GameState,
@@ -1,15 +1,15 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.common.{FunctionalRandom, RandomState}
import net.eagle0.eagle.GameId
import net.eagle0.eagle.library.actions.impl.common.ProtolessRandomSequentialResultsAction
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.action_result.concrete.ActionResultC
import net.eagle0.eagle.model.action_result.types.EndProvinceEventsPhaseResultType
import net.eagle0.eagle.model.state.RoundPhase.HandleRiot
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.state.faction.FactionT
import net.eagle0.eagle.model.state.hero.HeroT
import net.eagle0.eagle.model.state.province.ProvinceT
import net.eagle0.eagle.model.state.RoundPhase.HandleRiot
import net.eagle0.eagle.GameId
case class EndProvinceMoveResolutionPhaseAction(
gameId: GameId,
@@ -1,21 +1,21 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.eagle.{GameId, RoundId}
import net.eagle0.eagle.library.actions.impl.common.ProtolessSequentialResultsAction
import net.eagle0.eagle.library.util.unaffiliated_hero.UnaffiliatedHeroUtils
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.action_result.changed_province.concrete.ChangedProvinceC
import net.eagle0.eagle.model.action_result.concrete.ActionResultC
import net.eagle0.eagle.model.action_result.generated_text_request.LlmRequestT
import net.eagle0.eagle.model.action_result.generated_text_request.LlmRequestT.PleaseRecruitMeMessage
import net.eagle0.eagle.model.action_result.types.EndUnaffiliatedHeroActionsPhaseResultType
import net.eagle0.eagle.model.state.RoundPhase
import net.eagle0.eagle.model.state.unaffiliated_hero.UnaffiliatedHeroType.Outlaw
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.state.date.Date
import net.eagle0.eagle.model.state.faction.FactionT
import net.eagle0.eagle.model.state.hero.HeroT
import net.eagle0.eagle.model.state.province.ProvinceT
import net.eagle0.eagle.model.state.unaffiliated_hero.UnaffiliatedHeroT
import net.eagle0.eagle.{GameId, RoundId}
import net.eagle0.eagle.model.state.unaffiliated_hero.UnaffiliatedHeroType.Outlaw
import net.eagle0.eagle.model.state.RoundPhase
case class EndUnaffiliatedHeroActionsPhaseAction(
gameId: GameId,
@@ -12,11 +12,11 @@ import net.eagle0.eagle.library.actions.impl.common.{
RandomStateProtoSequencer
}
import net.eagle0.eagle.library.util.EagleRequire.internalRequire
import net.eagle0.eagle.model.proto_converters.date.DateConverter
import net.eagle0.eagle.model.proto_converters.{
ActionResultProtoConverter,
BattalionConverter
}
import net.eagle0.eagle.model.proto_converters.date.DateConverter
import net.eagle0.eagle.model.proto_converters.faction.FactionConverter
import net.eagle0.eagle.model.proto_converters.hero.HeroConverter
import net.eagle0.eagle.model.proto_converters.province.ProvinceConverter
@@ -1,10 +1,10 @@
package net.eagle0.eagle.library.actions.impl.action
import net.eagle0.eagle.library.actions.impl.common.ProtolessSimpleAction
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.action_result.changed_province.concrete.ChangedProvinceC
import net.eagle0.eagle.model.action_result.concrete.ActionResultC
import net.eagle0.eagle.model.action_result.types.FreeForAllDrawResultType
import net.eagle0.eagle.model.action_result.ActionResultT
import net.eagle0.eagle.model.state.MovingArmy
import net.eagle0.eagle.shardok_interface.ResolvedEagleUnit
import net.eagle0.eagle.ProvinceId

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