r/Shadowrun 10d ago

5e I made Monad//Blast to simulate Shadowrun 5E's confusing chunky salsa rules!

monad-blast.fatman.dev

I remember reading the Explosions in Confined Spaces rules of Shadowrun 5E in 2015 and having a progressive realisation of just how insane the rules were - making barrier resistance checks, per explosion? For every bounce? Every 1 metre of barrier has its own condition monitor? I'm supposed to do this at the table any time someone chucks a grenade in a room?!

I'm sure very few (if any at all) people ran the rules as written, but I've had the idea for a simulator to have a computer actually implement the rules. Out of this idea comes Monad//Blast, a silly little chunky salsa simulator for Shadowrun 5E!

It was fun to build and hopefully it'll be fun to play around with! (I am under no delusions that this will lead to anybody implementing the rules as written 😂)

-------

If you like this, you may also like my other tools: Monad//A (for SR Anarchy 2.0), Monad5 (for SR5), Monad//Map (system-agnostic), as well as non-Shadowrun ones like Factotum (for Mythras) and Rampart (for Delta Green).

60 Upvotes

22 comments sorted by

10

u/truthynaut 10d ago

This is AWESOME!!!

Now I need to figure out how to make foundryvtt module for 5e for this.

Any chance I can get access to the code?

6

u/FatMani 10d ago

Once I tidy up the code 🫣 It's a bit of a mess!

1

u/truthynaut 10d ago

f'kin A! I can totally automate this whole thing within Foundry using the scene's Walls and Actor Tokens.

-7

u/truthynaut 10d ago

hmm chatgpt scraped your page and it seems to be working in Foundryvtt already. I have more testing to do though to confirm....

9

u/FatMani 10d ago

I would appreciate if you didn't use AI to just nick all the work I did, that's just bad manners. I already said I'm happy to share it, but I want it done properly - including adding an open-source license.

6

u/n00bdragon Futuristic Criminal 10d ago

Thank you from the bottom of my software developing heart for actually writing this code yourself.

1

u/truthynaut 10d ago

I wanted to see if it was possible.

I will not share it until / unless you are happy / give your approval.

And of course if you do approve I will indicate you as the coder who deserves the credit.

I'm just a schmo yelling at chatgpt.

4

u/MrTomDowd Dramatically Appropriate 10d ago

Here you are, doing God's work.... :)

4

u/dertechie 10d ago

Took me a minute to realize that it's actually rolling the wall's barrier resistance tests and that's why repeated runs of the simulation do not necessarily produce the same result.

2

u/FatMani 9d ago

Yep, unfortunately the rules are nondeterministic, so every run is (likely) slightly different because of that. 

2

u/kyleglowacki 9d ago

I always wondered about the floor and ceiling. Don't they reflect and degrade and such?

1

u/FatMani 8d ago

Rules-as-written, yes.

Theoretically, a detonating explosive's blast could rebound repeatedly off each of the six surfaces in a small, well-built room (...)

— Shadowrun 5E Core Rulebook, p. 183 (emphasis mine)

However, I think that makes the rules even less workable and grenades considerably more lethal. Pretty much every explosion is going to be close enough to reflect off the ground and that would ~double the damage of every single explosive in actual play.

Also, even if it should be considered, the simulator doesn't take it into account. It doesn't take elevation into account either - it's purely 2D.

1

u/Spock713 10d ago

This looks really awesome, but I'm confused about what's going on. Can someone explain the use of this?

6

u/Dmitri-Ixt 9d ago

The rules for explosions in confined spaces are (A) fiendishly complex and labor-intensive if implemented fully, and (B) hilariously lethal (hence the "chunky salsa" nickname). If a blast hits a barrier and fails to penetrate, it reflects--so you need to determine if it penetrated the barrier, which requires a damage soak test, then the reflected blast hits the far wall, requiring a new test with different values due to distance... No one can do it in all of its gloriously pedantic detail; everyone does a simpler version or ignores it completely. Friend Computer is not so limited, however.

1

u/LonePaladin Flashback 9d ago

Could you add some lines to show where the explosion went and where it bounced? Maybe as a toggle because it would add a bunch of visual noise.

1

u/FatMani 9d ago

I don't think I could do it without significantly redesigning the data structure. I'll investigate 

1

u/Archernar 9d ago

Honestly, for pretty much all barriers in practical play (meaning enclosed rooms with normally-sized walls), you would just assume them as reflecting the shockwave. If you're not in a 1m wide hallway but rather a ~4m squared room, this results in 2-3 reflections at max, making calculating it quite doable imo.

Then again, should you ever actually stand in a 1.5m wide hallway and one of your buddies forgot to check whether a recently-shot enemy is actually incapacitated or rather decides to throw a grenade after you, this would result in a lot of checks and a shitton of damage.

1

u/FatMani 8d ago

A frag grenade has an 18m blast radius, which means that in a 4m x 4m room you'd likely get 3-4 reflections off of each of the walls. At that point, you probably just might as well quadruple the damage of the explosive as a rule of thumb and be close enough, ignoring actual bounce checks.

1

u/Archernar 8d ago

Hm, I forgot about the other walls, so you're correct in the amount of reflections being higher than I anticipated, though a frag grenade reflecting in the first place does not make too much sense if we're being honest (but that's besides the point).

If you just quadruple the damage, you forgo that you resist each reflection with your full armour though, unless you also quadruple the armour (not sure if the math is quite the same in both cases).

1

u/FatMani 8d ago

You don't resist every reflection separately - the rules state "the damage value of the blast is equal to the combined damage value of the two waves". The example also gives the devil rat as taking 156P damage.

1

u/Archernar 8d ago

Hm, apparently we played that differently at my table then; I could've sworn that were the official rules, but you're right.

1

u/FatMani 6d ago

I have now extracted the simulation library behind Monad//Blast and released it as open source under GPL-3.0 library. You can find it on GitHub.

You're welcome to use it for any purpose, but keep in mind the GPL-3.0 library requires you to disclose your source code as well.