From 1e3332b447aeec4a80e5afc613498641488095a7 Mon Sep 17 00:00:00 2001 From: Thomas Andres Gomez Date: Thu, 21 Dec 2023 13:52:52 +0100 Subject: [PATCH] Remove initiative from the proficiency page, add the proficiency mastery bonus instead. --- .../rememberCharacterSheetStatePreview.kt | 4 ++-- .../factory/CharacterSheetUioFactory.kt | 8 ++++---- .../pages/proficiency/ProficiencyPage.kt | 16 +++++----------- .../pages/proficiency/ProficiencyViewModel.kt | 2 -- app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 6 files changed, 13 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/composable/preview/rememberCharacterSheetStatePreview.kt b/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/composable/preview/rememberCharacterSheetStatePreview.kt index ed5bc3d..017ddb4 100644 --- a/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/composable/preview/rememberCharacterSheetStatePreview.kt +++ b/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/composable/preview/rememberCharacterSheetStatePreview.kt @@ -17,8 +17,8 @@ import com.pixelized.rplexicon.ui.screens.character.pages.proficiency.CharacterS fun rememberCharacterSheetStatePreview() = remember { mutableStateOf( CharacterSheetUio( - initiative = LabelPointUio( - label = R.string.character_sheet_title_initiative, + proficiency = LabelPointUio( + label = R.string.character_sheet_title_proficiency_bonus, value = "+2", ), stats = listOf( diff --git a/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/factory/CharacterSheetUioFactory.kt b/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/factory/CharacterSheetUioFactory.kt index b0760de..936da71 100644 --- a/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/factory/CharacterSheetUioFactory.kt +++ b/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/factory/CharacterSheetUioFactory.kt @@ -22,7 +22,7 @@ class CharacterSheetUioFactory @Inject constructor() { sheet: CharacterSheet, status: Map>, ): CharacterSheetUio { - val proficiency = (sheet.proficiency + status[Property.PROFICIENCY].sum) + val proficiency = sheet.proficiency + status[Property.PROFICIENCY].sum val strength = sheet.strength + status[Property.STRENGTH].sum val dexterity = sheet.dexterity + status[Property.DEXTERITY].sum val constitution = sheet.constitution + status[Property.CONSTITUTION].sum @@ -31,9 +31,9 @@ class CharacterSheetUioFactory @Inject constructor() { val charisma = sheet.charisma + status[Property.CHARISMA].sum return CharacterSheetUio( - initiative = LabelPointUio( - label = R.string.character_sheet_title_initiative, - value = (dexterity.modifier + status[Property.INITIATIVE].sum).toLabel(), + proficiency = LabelPointUio( + label = R.string.character_sheet_title_proficiency_bonus, + value = "$proficiency", max = null, ), stats = listOf( diff --git a/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/pages/proficiency/ProficiencyPage.kt b/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/pages/proficiency/ProficiencyPage.kt index 1524a10..2d352d5 100644 --- a/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/pages/proficiency/ProficiencyPage.kt +++ b/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/pages/proficiency/ProficiencyPage.kt @@ -52,7 +52,7 @@ import com.pixelized.rplexicon.utilitary.extentions.ddBorder @Stable data class CharacterSheetUio( - val initiative: LabelPointUio, + val proficiency: LabelPointUio, val stats: List, val savingThrows: List, val proficiencies: List, @@ -70,10 +70,6 @@ fun ProficiencyPage( ProficiencyPageContent( modifier = Modifier.fillMaxSize(), sheet = sheet, - onInitiative = { - overlay.prepareRoll(diceThrow = viewModel.initiativeRoll()) - overlay.showOverlay() - }, onStats = { stat -> overlay.prepareRoll(diceThrow = viewModel.statRoll(stat.id)) overlay.showOverlay() @@ -93,7 +89,6 @@ fun ProficiencyPageContent( inner: Shape = remember { RoundedCornerShape(size = 8.dp) }, outline: Shape = remember { CutCornerShape(size = 16.dp) }, sheet: CharacterSheetUio, - onInitiative: () -> Unit, onStats: (StatUio) -> Unit, onProficiencies: (ProficiencyUio) -> Unit, ) { @@ -110,18 +105,18 @@ fun ProficiencyPageContent( modifier = Modifier .sizeIn(minWidth = 100.dp, minHeight = 116.dp) .ddBorder(outline = outline, inner = inner) - .clickable(onClick = onInitiative) .padding(all = 8.dp), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(4.dp), ) { Text( style = MaterialTheme.typography.labelSmall, - text = sheet.initiative.label?.let { stringResource(id = it) } ?: "" + textAlign = TextAlign.Center, + text = sheet.proficiency.label?.let { stringResource(id = it) } ?: "" ) Text( - style = MaterialTheme.typography.displayMedium, - text = sheet.initiative.value ?: "" + style = MaterialTheme.typography.displaySmall, + text = sheet.proficiency.value ?: "" ) } sheet.stats.forEach { @@ -301,7 +296,6 @@ fun ProficiencyPreview() { val sheet by rememberCharacterSheetStatePreview() ProficiencyPageContent( sheet = sheet, - onInitiative = { }, onStats = { }, onProficiencies = { }, ) diff --git a/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/pages/proficiency/ProficiencyViewModel.kt b/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/pages/proficiency/ProficiencyViewModel.kt index 735a1a1..b23ffcf 100644 --- a/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/pages/proficiency/ProficiencyViewModel.kt +++ b/app/src/main/java/com/pixelized/rplexicon/ui/screens/character/pages/proficiency/ProficiencyViewModel.kt @@ -57,8 +57,6 @@ class ProficiencyViewModel @Inject constructor( } } - fun initiativeRoll(): DiceThrow.Initiative = DiceThrow.Initiative(character) - fun statRoll(id: StatUio.ID): DiceThrow = when (id) { StatUio.ID.STRENGTH -> DiceThrow.Strength(character) StatUio.ID.DEXTERITY -> DiceThrow.Dexterity(character) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index bf4d666..d262ed7 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -101,6 +101,7 @@ Inspiration Conduit Divin Initiative + Bonus de maîtrise Caractéristiques Attributs Talents passifs diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f10810c..6bb8b5e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -101,6 +101,7 @@ Inspiration Divine conduit Initiative + Proficiency bonus Saving Throws Proficiencies Characteristics