mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 20:55:44 +00:00
+1
-1
@@ -20,7 +20,7 @@ project/boot/
|
||||
project/plugins/project/
|
||||
project/target/
|
||||
bazel-bin
|
||||
bazel-eagle0
|
||||
bazel-eagle0*
|
||||
bazel-out
|
||||
bazel-testlogs
|
||||
.ijwb
|
||||
|
||||
@@ -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
-1
@@ -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 {
|
||||
|
||||
+7
-7
@@ -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
@@ -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)
|
||||
|
||||
|
||||
@@ -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] =
|
||||
|
||||
+5
-5
@@ -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
-1
@@ -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 {
|
||||
|
||||
|
||||
+2
-2
@@ -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 {
|
||||
|
||||
+2
-2
@@ -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 {
|
||||
|
||||
+3
-3
@@ -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 {
|
||||
|
||||
+4
-4
@@ -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
-1
@@ -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
-1
@@ -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 {
|
||||
|
||||
+3
-3
@@ -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(
|
||||
|
||||
+2
-2
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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 {
|
||||
|
||||
|
||||
+3
-3
@@ -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 {
|
||||
|
||||
+2
-2
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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 {
|
||||
|
||||
+3
-3
@@ -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 {
|
||||
|
||||
+6
-6
@@ -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 {
|
||||
|
||||
|
||||
+2
-2
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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(
|
||||
|
||||
+5
-5
@@ -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(
|
||||
|
||||
+2
-2
@@ -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
-1
@@ -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 {
|
||||
|
||||
+2
-2
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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] =
|
||||
|
||||
+2
-2
@@ -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 {
|
||||
|
||||
+1
-1
@@ -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 {
|
||||
|
||||
+6
-6
@@ -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(
|
||||
|
||||
+4
-4
@@ -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,
|
||||
|
||||
+11
-11
@@ -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,
|
||||
|
||||
+12
-12
@@ -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(
|
||||
|
||||
+4
-4
@@ -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,
|
||||
|
||||
+19
-19
@@ -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(
|
||||
|
||||
+9
-9
@@ -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,
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
|
||||
+2
-2
@@ -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,
|
||||
|
||||
+15
-15
@@ -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,
|
||||
|
||||
+3
-3
@@ -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,
|
||||
|
||||
+4
-4
@@ -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,
|
||||
|
||||
+1
-1
@@ -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
-1
@@ -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
Reference in New Issue
Block a user