Page 1 of 1
Custom Content?
Posted: Thu Jul 17, 2025 12:18 am
by hoofedear
Hello!
I was curious as to how we could implement any custom content with RSC Sundae? Like custom npcs or sprites? I noticed that it grabs the relevant .jag files and uses the data in those, but I'm not seeing how we could specify any additional data?
Totally get it if RSCSundae can't and/or won't support this, just thought I'd ask since Sundae is the coolest pirate
Thanks for being awesome
Re: Custom Content?
Posted: Thu Jul 17, 2025 5:17 pm
by Stormy
You drop the raw content files into the data/ directory, like SundaePK does:
https://git.sr.ht/~stormy/rscsundae/tre ... /item/data
Grab them here:
https://chisel.weirdgloop.org/rsc/files/ (up until 2002)
https://git.sr.ht/~stormy/rsc-config/tree (later)
Edit maps with jmedit:
https://git.sr.ht/~stormy/jmedit
Maps can also be dropped into RSC-C's cache/ directory.
Re: Custom Content?
Posted: Thu Jul 17, 2025 7:03 pm
by hoofedear
You are a legend, thank you Stormy!
Re: Custom Content?
Posted: Thu Jul 17, 2025 11:59 pm
by hoofedear
Here's what I came up with for a single player version of Shield of Arrav! This is in the curator.lua file inside data/lua/rs1/quest/shield of arrav. Basically replace the original elseif for only having one half of the shield with this code here:
Code: Select all
elseif held(player, "arravshield1", 1) or
held(player, "arravshield2", 1) then
say(player, "I have half the shield of Arrav here")
say(player, "What can you tell me about it?")
npcsay(npc, "Half the shield of Arrav?")
npcsay(npc, "Let me see that")
mes(player, "The curator peers at the shield half")
delay(5)
npcsay(npc, "This is incredible")
npcsay(npc, "The shield has been missing for about twenty five years")
npcsay(npc, "A colleague of mine recently found the other half")
npcsay(npc, "Well give me that half you have")
npcsay(npc, "And I'll write you out a certificate")
npcsay(npc, "Saying you helped return the shield")
npcsay(npc, "So you can claim your reward from the king")
npcsay(npc, "Of course, the other half of the reward")
npcsay(npc, "Will go to my colleague")
say(player, "That makes sense to me")
mes(player, "You hand over the shield part")
if held(player, "arravshield1", 1) then
remove(player, "arravshield1", 1)
else
remove(player, "arravshield2", 1)
end
delay(3)
mes(player, "The curator writes out a certificate")
give(player, "certificate", 1)
npcsay(npc, "Take this to the king")
npcsay(npc, "And he'll pay you handsomely")
else
...snip...
Re: Custom Content?
Posted: Fri Jul 18, 2025 8:25 pm
by hoofedear
Sorry to bug, but just to clarify, I noticed that the folder there you linked has a “shops.txt”, and then some others like “npc.txt.patch”. Is the txt.patch format necessary? It seems to be formatted like a git file change?
And with the shop.txt file, would I make the change to the entire file or does that .txt file only include the new shops you added?
Thanks again Stormy, it’s been fun making custom interactions and changes using Lua so far

Re: Custom Content?
Posted: Fri Jul 18, 2025 11:11 pm
by Stormy
hoofedear wrote: Fri Jul 18, 2025 8:25 pm
Sorry to bug, but just to clarify, I noticed that the folder there you linked has a “shops.txt”, and then some others like “npc.txt.patch”. Is the txt.patch format necessary? It seems to be formatted like a git file change?
And with the shop.txt file, would I make the change to the entire file or does that .txt file only include the new shops you added?
The changes from the .patch files need to be applied to the original files, it needs the whole thing.