Skip to content

Commit 561ef83

Browse files
authored
Merge pull request #99 from fmasa/uia-qualities
New weapon Qualities and Flaws from Up in Arms
2 parents a89e34d + 2a48fb8 commit 561ef83

File tree

5 files changed

+19
-1
lines changed

5 files changed

+19
-1
lines changed

common/src/commonMain/kotlin/cz/frantisekmasa/wfrp_master/common/character/combat/TrappingFeatureList.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,14 @@ fun <T : TrappingFeature> translateFeatures(
4444
): List<String> {
4545
return features.map { (feature, rating) ->
4646
val name = feature.nameResolver(strings)
47-
if (feature.hasRating) "$name $rating" else name
47+
48+
if (!feature.hasRating) {
49+
return@map name
50+
}
51+
52+
val ratingUnit = feature.ratingUnit
53+
val formattedRating = if (ratingUnit != null) "($rating$ratingUnit)" else rating.toString()
54+
55+
"$name $formattedRating"
4856
}
4957
}

common/src/commonMain/kotlin/cz/frantisekmasa/wfrp_master/common/core/domain/trappings/TrappingFeature.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ import cz.frantisekmasa.wfrp_master.common.core.shared.Parcelable
55

66
interface TrappingFeature : NamedEnum, Parcelable {
77
val hasRating: Boolean
8+
val ratingUnit: String? get() = null
89
}

common/src/commonMain/kotlin/cz/frantisekmasa/wfrp_master/common/core/domain/trappings/WeaponFlaw.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ enum class WeaponFlaw(
1515
RELOAD({ it.weapons.flaws.reload }, hasRating = true),
1616
SLOW({ it.weapons.flaws.slow }),
1717
TIRING({ it.weapons.flaws.tiring }),
18+
UNBALANCED({ it.weapons.flaws.unbalanced }), // Up in Arms
1819
UNDAMAGING({ it.weapons.flaws.undamaging }),
1920
}

common/src/commonMain/kotlin/cz/frantisekmasa/wfrp_master/common/core/domain/trappings/WeaponQuality.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import cz.frantisekmasa.wfrp_master.common.localization.Strings
99
enum class WeaponQuality(
1010
override val nameResolver: (strings: Strings) -> String,
1111
override val hasRating: Boolean = false,
12+
override val ratingUnit: String? = null,
1213
) : Quality {
1314
ACCURATE({ it.weapons.qualities.accurate }),
1415
BLACKPOWDER({ it.weapons.qualities.blackpowder }),
@@ -27,6 +28,9 @@ enum class WeaponQuality(
2728
PUMMEL({ it.weapons.qualities.pummel }),
2829
REPEATER({ it.weapons.qualities.repeater }, hasRating = true),
2930
SHIELD({ it.weapons.qualities.shield }, hasRating = true),
31+
SLASH({ it.weapons.qualities.slash }, hasRating = true, ratingUnit = "A"), // Up in Arms
32+
SPREAD({ it.weapons.qualities.spread }, hasRating = true), // Up in Arms
33+
TRIP({ it.weapons.qualities.trip }), // Up in Arms
3034
TRAP_BLADE({ it.weapons.qualities.trapBlade }),
3135
UNBREAKABLE({ it.weapons.qualities.unbreakable }),
3236
WRAP({ it.weapons.qualities.wrap }),

common/src/commonMain/kotlin/cz/frantisekmasa/wfrp_master/common/localization/Strings.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,7 @@ data class WeaponFlawStrings(
668668
val reload: String = "Reload",
669669
val slow: String = "Slow",
670670
val tiring: String = "Tiring",
671+
val unbalanced: String = "Unbalanced",
671672
val undamaging: String = "Undamaging",
672673
)
673674

@@ -702,7 +703,10 @@ data class WeaponQualityStrings(
702703
val pummel: String = "Pummel",
703704
val repeater: String = "Repeater",
704705
val shield: String = "Shield",
706+
val slash: String = "Slash",
707+
val spread: String = "Spread",
705708
val trapBlade: String = "Trap Blade",
709+
val trip: String = "Trip",
706710
val unbreakable: String = "Unbreakable",
707711
val wrap: String = "Wrap",
708712
)

0 commit comments

Comments
 (0)