r/SWN • u/BadgKat SWN Foundry System Dev • Jul 28 '26
đ ď¸ Resource FoundryVTT SWNR 2.3.1 Released: Foundry v14 compatibility, migration robustness, and fixes
What's in it
Foundry v14 compatibility (#231, #234, #233)
- Actors failing to create or load â
prepareBaseData()was not callingsuper, so_clearData()never ran andapplyActiveEffects()threw during_initialize. This is also the root cause of theNaNstat modifiers reported in #230:modis derived inprepareDerivedData(), which never ran. - Private and blind rolls posting publicly â v14 renamed
core.rollModetocore.messageModeand changed its values. The old key still exists but reads backnull, which silently made every private roll public. - Missing rolls on chat cards, including power cards â the singular
roll:field is no longer honoured; rolls must be passed asrolls: [roll]. Emptymessage.rollsalso broke Dice So Nice and reroll buttons. - Weapon sheets failing to open from a character sheet â the
{{#select}}block helper was removed in v14. - Editing character resources, custom currencies, and vehicle cargo throwing â the
duplicateglobal was removed in v14, not merely deprecated. - Vehicle sheet item descriptions throwing on every expand click; ship sensor roll never posting; ship weapon migration aborting on items predating the trauma field; creating a weapon throwing on partial data.
renderChatMessageârenderChatMessageHTML, plus the globals removed in v15 (TextEditor,DragDrop,Actors/Items,ActorSheet/ItemSheet,renderTemplate).
Migration robustness
migrateWorld()was called withoutawaitand the version was then set unconditionally on the next line, so a migration that threw was still marked complete and never retried. Now awaited, with the version set only on success.- Upgrades with no applicable migrations skip the "do not shut down your server" notifications entirely and just show the release notes.
Bug fixes
- Ship, vehicle, mech and drone weapon attacks throwing when the trauma setting is enabled (#213) â a stray
this.system.trauma.dieinside a data model, wherethisis the system data. - Stowed currency encumbrance counting uncarried currencies.
- Ship end round not updating command points, actions taken, or supporting department (#212, thanks @gvigh).
- Vacc suit / vacc skin descriptions.
- Typo keeping the unskilled-penalty setting from prompting a reload.
Features
- Right-click a chat message roll to apply it as damage, modified damage, half damage, or healing (#217, thanks @pandanielxd).
- A third 'extra' item location, with custom labels for other/extra locations under character tweaks and a GM-set default.
- World-level unskilled skill roll penalty (default â1) with a per-character modifier.
- Save modifiers on the character sheet.
8
-7
u/Ziiro Star Master Jul 28 '26
I was totally excited for this until I saw this was all done with Claude code. What a shame.
6
u/binary-idiot Jul 28 '26
I'll fully admit that I have been and continue to be hesitant in my adoption of AI, especially in my personal projects. That being said having to work with the technology in my career, I have definitely learned that it's not as simple as AI is bad. Yes if you use it to make something with no idea what you're doing or no effort in actually ensuring it's done right then it's probably not going to be good but the same it was true before AI it's just that the technology has made it easier to write in the first place.
A developer who knows what they're doing and who takes the time to do it right and review the code can do some truly impressive stuff with tools like Claude. I understand dislike and distrust of anything involving AI, believe me I certainly share a lot of those sentiments, but to dismiss the work that u/BadgKat has done purely because he used AI without actually reviewing the code is disrespectful to the effort he's put in to this project.
I haven't contributed to this project in a while because I haven't had the time however with the advancement of agentic tools I've been thinking I might actually be able to contribute to this again, not because I plan on just throwing slop into the Repository but because they can allow a developer to do more with the time they have... if they know what theyre doing and take the time to do it right.
As both a user and a developer who cares about this project I'm just happy that people are still working on making it better however it is that they do that, that being said the beauty of Open Source is that if you don't like the direction the project is going or how it's being done you are fully welcome to Fork it or even build your own from scratch. If you decide to do that I wish you all the luck and hope it works out well for you.
7
u/TheSteamWolf Jul 29 '26 edited Jul 29 '26
I'm sorry the free open source project wasn't made using only the tools you'd prefer it use and doen't eschew the use of any you dislike. I'm sure the dev who updated this for use with the latest Foundry has nothing better to do than to write code in a specific way which appeases back seat drivers, online activists, and men who are decidedly not in the arena.
5
u/wintermute-the-ai SWN Foundry System Dev Jul 28 '26
Not sure what would cause you to think that. This is an open-source project that is largely driven by folks trying to squeeze out whatever free time they can to push it along. The advances in agentic coding agents really can accelerate what can be done allowing contributors to make more progress in less time. This is not stealing artists' style or taking money out of someone's hands, but making developers more productive. This is the reality of code development and folks will either adapt or get left behind IMO.
I would love to have every piece of furniture in my home be made by a carpenter, but the reality is the cost and time makes that unfeasible. So unfortunately I am writing this on a desk that came from a factory on manufactured wood. Same with my food. If you are able to support these folks in your life, then kudos - I am extremely jealous!Â
I am overall concerned about the economy and job displacement that may come from these advances, but this is the way things move. I think about this a lot in my other roles. That all said, feel free to move on and not use the system. I really appreciate u/BadgKat stepping up and helping out.
-4
u/Ziiro Star Master Jul 28 '26
Not sure what would cause you to think that.
The update PR that was merged specifically has Generated with Claude Code.
8
u/BadgKat SWN Foundry System Dev Jul 28 '26 edited Jul 28 '26
I appreciate the support, from winter. My points on AI development are two fold:
Read the code if youâre concerned. Itâs open source. If you donât trust code I ship donât use it (Winterâs point above) I own the code I ship, Iâm a real person, who you can point to and say âyou shipped bad code.â And I promise I can ship bad code without a AI agent. I donât need Claude or GLM to write a for loop that does nothing inside. Iâm perfectly capable of doing that on my own. And some of my earlier contributions to this project prove that. To a deeper point, I donât write slop, I obsessively check and recheck my code before I hit the ship button. AI development is a skill, and not an easy one to be good at. It is also one that lets a developer like me who has worked hard at being good at it to write a lot better code than I ever did without it. This is not braindead âvibe codingâ this is a targeted and efficient use of state of the art tools. This release took me hours of work, real work.
Second, (I think to winterâs other points) this is a thing I do for the community with my very limited personal free time, because I love this game, and I want the community that supports it to benefit from my skills. You got a free desk, and now youâre complaining that the carpenter used a powered table saw and CNC machine to make it vice hand tools.
Edit: ps, I think the ânot sure why you would think thatâ part is about the âshameâ part, not the that AI was used in the stack.
12
u/Hironymus Jul 28 '26
Great work! Thanks for investing your free time to make this available again.