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.
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 LTG→Logon 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.
| 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 |
SR3Decker.Data (no deps)
↑
SR3Decker.Database (depends on Data)
↑
SR3Decker.Simulation (depends on Database, Data)
↑
SR3Decker.Avalonia (depends on Simulation, Database, Data)
- Query/Handler (CQRS) —
Read*Queryrecords +Read*QueryHandlerclasses for DB access - Cached-singleton Repository — Repositories load once on construction, cache in memory, registered as DI singletons
- Service Facade + events —
MatrixSessionServicewraps all mutations, firesSessionChangedafter every change; VMs subscribe and rebind - MVVM —
ViewModelBase : ObservableObject,[ObservableProperty],[RelayCommand]source generators - No static in-code catalogs — All rule data lives in SQLite (primary DB from
sr3gensubmodule + sidecarsr3decker.db)
- .NET 10 SDK
- Git (to clone the
sr3gensubmodule)
# 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- Decker tab — Configure your decker: name, skills, cyberdeck, persona ratings, and load utilities (Sleaze, Attack, Browse, etc.).
- Matrix tab — Pick a jackpoint and entry LTG, then Jack In. The dice dialog rolls your Matrix Test vs the grid rating.
- On the grid — Use Locate Host to find a target, then Log On. Or traverse to an RTG/PLTG to reach remote hosts.
- 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.
- IC appears — When the sheaf triggers, IC spawns hidden. Use Locate IC to reveal them via a Perception test.
- Cybercombat — Click a revealed IC → Start Combat or Attack. Initiative is rolled automatically. Combat actions, IC turns, and round transitions are all logged.
- Combat ends — When all IC are crashed, a confirmation dialog appears and you return to the Matrix tab automatically.
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.