Skip to content

finsterdexter/sr3decker

Repository files navigation

SR3Decker

A desktop Matrix simulator for Shadowrun 3rd Edition. Run a decker through LTGs, RTGs, and PLTGs, log onto hosts, execute security sheaves, fight IC in cybercombat, and resolve every Matrix Operation with visible dice rolls.

Built with Avalonia UI on .NET 10.

.NET 10 Avalonia 11.3 SQLite

What it does

SR3Decker simulates the Matrix for a single decker using the complete SR3 ruleset (core rulebook + Matrix supplement).

  • Grid traversal — Jack in at a local jackpoint, then Logon to LTGLogon to RTG → hop across the global grid hierarchy. Every hop is a Matrix Test vs the grid's rating with visible dice.
  • Host operations — Once on a host, perform any System Operation from the SR3 rules (Analyze, Browse, Download, Decrypt, Crash, Encrypt, etc.). Each operation triggers an opposed System Test; host successes add to your Security Tally.
  • Security sheaf — When your tally crosses a sheaf step, IC spawns, alerts trigger, and the host fights back. The sheaf is fully simulated per SR3 rules.
  • IC behavior — IC get Sensor Tests to spot the decker. Reactive IC act immediately; proactive IC queue pending cybercombat that the user must acknowledge.
  • Cybercombat — Initiative rolls, action phases, attack/defend with combat pool, full turn-based combat against hostile IC. All dice are visible.
  • Paydata — Browse, locate, download, decrypt, and fence paydata per SR3 value tables.
  • Save/load — Save your Matrix session to JSON and resume later.

Architecture

Project Purpose
SR3Decker.Data Domain models — Decker, Cyberdeck, Program, Grid, Host, IC, SecuritySheaf, MatrixSession, etc.
SR3Decker.Database SQLite data access (Dapper). Reads the sr3gen submodule DB for decks/programs/IC; sidecar sr3decker.db for System Operations, host templates, sheaves, jackpoints
SR3Decker.Simulation Dice roller, Matrix/System Test runners, operation resolvers, security-sheaf runner, IC behaviors, cybercombat sequencer, MatrixSessionService facade
SR3Decker.Avalonia Desktop UI — Avalonia 11.3 MVVM with DI. Tabs: Decker, Matrix, Cybercombat, Security Sheaf (GM), Log
SR3Decker.Simulation.Test xUnit — dice, operation resolvers, sheaf runner, IC behaviors, end-to-end walkthroughs
SR3Decker.Database.Test xUnit — DB query coverage

Dependency graph

SR3Decker.Data (no deps)
    ↑
SR3Decker.Database (depends on Data)
    ↑
SR3Decker.Simulation (depends on Database, Data)
    ↑
SR3Decker.Avalonia (depends on Simulation, Database, Data)

Key patterns

  • Query/Handler (CQRS)Read*Query records + Read*QueryHandler classes for DB access
  • Cached-singleton Repository — Repositories load once on construction, cache in memory, registered as DI singletons
  • Service Facade + eventsMatrixSessionService wraps all mutations, fires SessionChanged after every change; VMs subscribe and rebind
  • MVVMViewModelBase : ObservableObject, [ObservableProperty], [RelayCommand] source generators
  • No static in-code catalogs — All rule data lives in SQLite (primary DB from sr3gen submodule + sidecar sr3decker.db)

Prerequisites

Quick start

# Clone with submodule
git clone --recurse-submodules <repo-url>
cd sr3decker

# Build
dotnet build

# Run tests
dotnet test

# Launch the desktop app
dotnet run --project SR3Decker.Avalonia

# Launch with hot reload (for development)
dotnet watch run --project SR3Decker.Avalonia

How to play

  1. Decker tab — Configure your decker: name, skills, cyberdeck, persona ratings, and load utilities (Sleaze, Attack, Browse, etc.).
  2. Matrix tab — Pick a jackpoint and entry LTG, then Jack In. The dice dialog rolls your Matrix Test vs the grid rating.
  3. On the grid — Use Locate Host to find a target, then Log On. Or traverse to an RTG/PLTG to reach remote hosts.
  4. On a host — Execute System Operations from the action grid. Each operation opens the dice dialog for a Matrix Test + opposed System Test. Host successes increase your tally.
  5. IC appears — When the sheaf triggers, IC spawns hidden. Use Locate IC to reveal them via a Perception test.
  6. Cybercombat — Click a revealed IC → Start Combat or Attack. Initiative is rolled automatically. Combat actions, IC turns, and round transitions are all logged.
  7. Combat ends — When all IC are crashed, a confirmation dialog appears and you return to the Matrix tab automatically.

License

This project is a fan work for Shadowrun 3rd Edition. Shadowrun is a registered trademark of The Topps Company, Inc. This project is not affiliated with or endorsed by Catalyst Game Labs or The Topps Company.

About

A matrix simulator using SR3 rules.

Resources

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages