shahondin1624 1b75bc0b69 fix: compute DiceRoll success count from fresh roll, not stale result (Closes #16)
The DiceRoll.roll() method was counting successes from `this.result`
(the stale/empty list from before rolling) instead of the newly rolled
values. Fixed by capturing the new roll in a local variable before
passing it to copy(). Added 6 unit tests covering the fix.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:22:30 +01:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00
2025-10-25 11:22:27 +02:00

ShadowrunCharSheet

Android

To run the application on android device/emulator:

  • open project in Android Studio and run imported android run configuration

To build the application bundle:

  • run ./gradlew :androidApp:assembleDebug
  • find .apk file in androidApp/build/outputs/apk/debug/androidApp-debug.apk

Desktop

Run the desktop application: ./gradlew :desktopApp:run
Run the desktop hot reload application: ./gradlew :desktopApp:hotRun --auto

iOS

To run the application on iPhone device/simulator:

Web Distribution

Build web distribution: ./gradlew :webApp:composeCompatibilityBrowserDistribution
Deploy a dir webApp/build/dist/composeWebCompatibility/productionExecutable to a web server

JS Browser

Run the browser application: ./gradlew :webApp:jsBrowserDevelopmentRun

Wasm Browser

Run the browser application: ./gradlew :webApp:wasmJsBrowserDevelopmentRun

Description
Kotlin Multiplatform / Compose Multiplatform Shadowrun 5e character sheet app (Android, Desktop, Web, iOS)
Readme 873 KiB
2026-03-13 15:39:17 +01:00
Languages
Kotlin 99.2%
HTML 0.6%
Swift 0.2%