ReModel: remove the CharacterInstanceId: client
This commit is contained in:
parent
a5adc61e90
commit
9cc6414648
67 changed files with 891 additions and 953 deletions
|
|
@ -35,7 +35,7 @@ class AlteredCharacterSheetFactory(
|
|||
sheetUseCase = sheetUseCase,
|
||||
expressionUseCase = expressionUseCase,
|
||||
sheet = characterSheet,
|
||||
alterations = alterations,
|
||||
fieldAlterations = alterations,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -44,7 +44,7 @@ class AlteredCharacterSheet(
|
|||
private val sheetUseCase: CharacterSheetUseCase,
|
||||
private val expressionUseCase: ExpressionUseCase,
|
||||
private val sheet: CharacterSheet,
|
||||
private val alterations: Map<String, List<FieldAlteration>>,
|
||||
private val fieldAlterations: Map<String, List<FieldAlteration>>,
|
||||
) {
|
||||
val id: String = sheet.id
|
||||
|
||||
|
|
@ -53,56 +53,68 @@ class AlteredCharacterSheet(
|
|||
val shouldLevelUp: Boolean = sheet.shouldLevelUp
|
||||
|
||||
val portrait: String?
|
||||
get() = alterations[PORTRAIT]
|
||||
get() = fieldAlterations[PORTRAIT]
|
||||
?.firstNotNullOfOrNull { (it.expression as? Expression.UrlExpression)?.url }
|
||||
?: sheet.portrait
|
||||
|
||||
val thumbnail: String?
|
||||
get() = alterations[THUMBNAIL]
|
||||
get() = fieldAlterations[THUMBNAIL]
|
||||
?.firstNotNullOfOrNull { (it.expression as? Expression.UrlExpression)?.url }
|
||||
?: sheet.thumbnail
|
||||
|
||||
val level: Int
|
||||
get() = sheet.level + alterations[LVL].sum()
|
||||
get() = sheet.level + fieldAlterations[LVL].sum()
|
||||
|
||||
val strength: Int
|
||||
get() = sheet.strength + alterations[STR].sum()
|
||||
get() = sheet.strength + fieldAlterations[STR].sum()
|
||||
|
||||
val dexterity: Int
|
||||
get() = sheet.dexterity + alterations[DEX].sum()
|
||||
get() = sheet.dexterity + fieldAlterations[DEX].sum()
|
||||
|
||||
val constitution: Int
|
||||
get() = sheet.constitution + alterations[CON].sum()
|
||||
get() = sheet.constitution + fieldAlterations[CON].sum()
|
||||
|
||||
val height: Int
|
||||
get() = sheet.height + alterations[HEI].sum()
|
||||
get() = sheet.height + fieldAlterations[HEI].sum()
|
||||
|
||||
val intelligence: Int
|
||||
get() = sheet.intelligence + alterations[INT].sum()
|
||||
get() = sheet.intelligence + fieldAlterations[INT].sum()
|
||||
|
||||
val power: Int
|
||||
get() = sheet.power + alterations[POW].sum()
|
||||
get() = sheet.power + fieldAlterations[POW].sum()
|
||||
|
||||
val charisma: Int
|
||||
get() = sheet.charisma + alterations[CHA].sum()
|
||||
get() = sheet.charisma + fieldAlterations[CHA].sum()
|
||||
|
||||
val movement: Int
|
||||
get() = sheetUseCase.movement() + alterations[MOV].sum()
|
||||
get() = sheetUseCase.movement() + fieldAlterations[MOV].sum()
|
||||
|
||||
val armor: Int
|
||||
get() = sheetUseCase.armor() + alterations[ARMOR].sum()
|
||||
get() = sheetUseCase.armor() + fieldAlterations[ARMOR].sum()
|
||||
|
||||
val maxHp: Int
|
||||
get() = sheetUseCase.maxHp(
|
||||
constitution = constitution,
|
||||
height = height,
|
||||
level = level,
|
||||
) + alterations[HP].sum()
|
||||
) + fieldAlterations[HP].sum()
|
||||
|
||||
val maxPp: Int
|
||||
get() = sheetUseCase.maxPp(
|
||||
power = power,
|
||||
) + alterations[PP].sum()
|
||||
) + fieldAlterations[PP].sum()
|
||||
|
||||
val damage: Int
|
||||
get() = sheet.damage
|
||||
|
||||
val fatigue: Int
|
||||
get() = sheet.fatigue
|
||||
|
||||
val diminished: Int
|
||||
get() = sheet.diminished
|
||||
|
||||
val alterations: List<String>
|
||||
get() = sheet.alterations
|
||||
|
||||
val damageBonus: String
|
||||
get() {
|
||||
|
|
@ -110,7 +122,7 @@ class AlteredCharacterSheet(
|
|||
strength = strength,
|
||||
height = height,
|
||||
)
|
||||
return alterations[DMG]
|
||||
return fieldAlterations[DMG]
|
||||
?.joinToString(separator = "+") { it.expression.toString() }
|
||||
?.let { "$initial+$it" }
|
||||
?: initial
|
||||
|
|
@ -119,12 +131,12 @@ class AlteredCharacterSheet(
|
|||
val learning: Int
|
||||
get() = sheetUseCase.learning(
|
||||
intelligence = intelligence
|
||||
) + alterations[LB].sum()
|
||||
) + fieldAlterations[LB].sum()
|
||||
|
||||
val hpGrow: Int
|
||||
get() = sheetUseCase.hpGrow(
|
||||
constitution = constitution,
|
||||
) + alterations[GHP].sum()
|
||||
) + fieldAlterations[GHP].sum()
|
||||
|
||||
// Helper method
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ sealed interface CampaignEvent : SocketMessage {
|
|||
@Serializable
|
||||
data class UpdateScene(
|
||||
override val timestamp: Long,
|
||||
val name: String,
|
||||
) : CampaignEvent
|
||||
|
||||
@Serializable
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ sealed interface CharacterSheetEvent : SocketMessage, CharacterSheetIdMessage {
|
|||
data class UpdateDamage(
|
||||
override val characterSheetId: String,
|
||||
override val timestamp: Long,
|
||||
val oldValue: Int,
|
||||
val damage: Int,
|
||||
) : CharacterSheetEvent
|
||||
|
||||
|
|
@ -16,6 +17,7 @@ sealed interface CharacterSheetEvent : SocketMessage, CharacterSheetIdMessage {
|
|||
data class UpdateFatigue(
|
||||
override val characterSheetId: String,
|
||||
override val timestamp: Long,
|
||||
val oldValue: Int,
|
||||
val fatigue: Int,
|
||||
) : CharacterSheetEvent
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue