mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 20:55:44 +00:00
Initialize tutorial faction trust (#8678)
This commit is contained in:
+13
-1
@@ -3,6 +3,7 @@ package net.eagle0.eagle.service.new_game_creation
|
||||
import net.eagle0.common.common_unit.*
|
||||
import net.eagle0.common.tutorial_battle_config.*
|
||||
import net.eagle0.common.SeededRandom
|
||||
import net.eagle0.eagle.internal.game_parameters.SetFaction.StartingTrust
|
||||
import net.eagle0.eagle.library.{EngineAndResults, EngineAndResultsImpl, EngineImpl}
|
||||
import net.eagle0.eagle.library.util.hero_generator.HeroGenerator
|
||||
import net.eagle0.eagle.model.action_result.concrete.ActionResultC
|
||||
@@ -15,6 +16,8 @@ import net.eagle0.eagle.model.state.*
|
||||
import net.eagle0.eagle.model.state.battalion.concrete.BattalionC
|
||||
import net.eagle0.eagle.model.state.chronicle_entry.ChronicleEntry
|
||||
import net.eagle0.eagle.model.state.faction.concrete.FactionC
|
||||
import net.eagle0.eagle.model.state.faction.FactionRelationship
|
||||
import net.eagle0.eagle.model.state.faction.FactionRelationship.RelationshipLevel.Hostile
|
||||
import net.eagle0.eagle.model.state.game_state.EagleMapInfo
|
||||
import net.eagle0.eagle.model.state.hero.concrete.HeroC
|
||||
import net.eagle0.eagle.model.state.shardok_battle.ShardokBattle
|
||||
@@ -272,7 +275,16 @@ object TutorialGameCreation {
|
||||
factionHeadId = factionHeadId,
|
||||
name = s"${sf.factionHeadName}'s Faction",
|
||||
leaderIds = Vector(factionHeadId),
|
||||
prestigeModifiers = sf.prestigeModifiers.map(FactionConverter.fromProto).toVector
|
||||
prestigeModifiers = sf.prestigeModifiers.map(FactionConverter.fromProto).toVector,
|
||||
factionRelationships = sf.startingTrusts.map {
|
||||
case StartingTrust(targetFactionId, trustValue, _) =>
|
||||
FactionRelationship(
|
||||
targetFactionId = targetFactionId,
|
||||
relationshipLevel = Hostile,
|
||||
trustValue = trustValue
|
||||
)
|
||||
}.toVector,
|
||||
earliestRoundForInvitation = sf.earliestRoundForInvitation
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+25
@@ -75,6 +75,31 @@ class TutorialGameCreationTest extends AnyFlatSpec with Matchers {
|
||||
}
|
||||
}
|
||||
|
||||
it should "initialize configured faction trust" in {
|
||||
val gameState = engineAndResults.engine.currentState
|
||||
val tutorialParams = GameParametersUtils.tutorialGameParameters
|
||||
|
||||
tutorialParams.setFactions.foreach { setFaction =>
|
||||
val relationships = gameState.factions(setFaction.factionId).factionRelationships
|
||||
|
||||
setFaction.startingTrusts.foreach { startingTrust =>
|
||||
relationships
|
||||
.find(_.targetFactionId == startingTrust.targetFactionId)
|
||||
.map(_.trustValue) shouldBe Some(startingTrust.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
it should "initialize configured invitation timing" in {
|
||||
val gameState = engineAndResults.engine.currentState
|
||||
val tutorialParams = GameParametersUtils.tutorialGameParameters
|
||||
|
||||
tutorialParams.setFactions.foreach { setFaction =>
|
||||
gameState.factions(setFaction.factionId).earliestRoundForInvitation shouldBe
|
||||
setFaction.earliestRoundForInvitation
|
||||
}
|
||||
}
|
||||
|
||||
// TutorialBattleConfig tests
|
||||
|
||||
"TutorialBattleConfig" should "be enabled" in
|
||||
|
||||
Reference in New Issue
Block a user