JSON validator
Validation
No errors found! (You have no schema selected, so only the basic JSON syntax was checked.)
Content
You can change JSON format () or edit this file.
{
"Changes": [
{
"LogName": "Boris 2 Hearts - No SVE",
"Action": "EditData",
"Target": "Data/Events/Club",
"When": {
"HasMod |contains= FlashShifter.StardewValleyExpandedCP": false
},
"Entries": {
"{{ModId}}.borisbusy/Friendship {{ModID}}.Boris 500/NPCVisibleHere {{ModID}}.Boris": "continue/-1000 -1000/farmer 8 12 0 {{ModID}}.Boris 3 5 0 Sandy -100 -100 0/skippable//viewport 8 7/move farmer 0 -6 3/pause 500/emote farmer 56/move farmer -3 0 3/move farmer 0 -1 3/pause 2000/speak {{ModID}}.Boris \"Yes, I see you there.\"/pause 2000/emote {{ModID}}.Boris 12/faceDirection {{ModID}}.Boris 1/speak {{ModID}}.Boris \"Can I help you?\"/pause 1000/question null \"#I just wanted to say hello.#What are you doing?#Wow, someone's in a bad mood.\"/emote {{ModID}}.Boris 12/pause 1000/splitSpeak {{ModID}}.Boris \"I have a lot of work to do. Leave me alone.~Can't you see I'm working? Go away.~I'm in a bad mood because you're interrupting my work! Don't you have something better to do?$5\"/pause 1000/emote farmer 28/faceDirection {{ModID}}.Boris 0/pause 500/move farmer 3 0 1/move farmer 0 7 2 true/pause 10/fade/viewport -1000 -1000/changeLocation SandyHouse/warp farmer 17 3/warp {{ModID}}.Boris -100 -100/warp Sandy 2 5/viewport 9 7/faceDirection Sandy 3/move farmer 0 1 3/move farmer -6 0 3/warp {{ModID}}.Boris 17 3/move {{ModID}}.Boris 0 1 3/speak {{ModID}}.Boris \"@, wait.\"/faceDirection farmer 1/faceDirection Sandy 1/pause 400/move {{ModID}}.Boris -5 0 3/emote farmer 8/pause 1000/speak {{ModID}}.Boris \"Listen. I get very focused when I'm working.#$b#I guess what I'm trying to say is, I'm sorry for snapping at you. I don't want you to feel like you can't talk to me.\"/emote {{ModID}}Boris 40/pause 1500/speak {{ModID}}.Boris \"You seem...nice.\"/emote Sandy 32/pause 1500/faceDirection {{ModID}}.Boris 2/speak {{ModID}}.Boris \"Okay. Well, have a good day.\"/pause 500/move {{ModID}}.Boris 5 0 0/move {{ModID}}.Boris 0 -1 0 true/warp {{ModID}}.Boris -100 -100/faceDirection Sandy 3/move farmer -3 0 2/textAboveHead Sandy \"Hmm, new seed shipment tomworrow...\"/move farmer 0 4 3/move farmer -4 0 2 true/move farmer 0 1 2/warp farmer -100 -100/globalFade/viewport -1000 -1000/end"
}
},
{
"LogName": "Boris 2 Hearts - SVE",
"Action": "EditData",
"Target": "Data/Events/Club",
"When": {
"HasMod |contains= FlashShifter.StardewValleyExpandedCP": true
},
"Entries": {
"{{ModId}}.borisisbusy/Friendship {{ModID}}.Boris 500/NPCVisibleHere {{ModID}}.Boris": "continue/-1000 -1000/farmer 8 12 0 {{ModID}}.Boris 3 5 0/skippable//viewport 8 7/pause 1000/move farmer 0 -6 3/pause 500/emote farmer 56/move farmer -3 0 3/move farmer 0 -1 3/pause 500/speak {{ModID}}.Boris \"Yes, I see you there.\"/pause 1000/emote {{ModID}}.Boris 12/faceDirection {{ModID}}.Boris 1 continue/speak {{ModID}}.Boris \"Can I help you?\"/pause 1000/question null \"#I just wanted to say hello.#What are you doing?#Wow, someone's in a bad mood.\"/emote {{ModID}}.Boris 12/pause 1000/splitSpeak {{ModID}}.Boris \"I have a lot of work to do. Leave me alone.$2~Can't you see I'm working? Go away.$2~I'm in a bad mood because you're interrupting my work! Don't you have something better to do?$5\"/pause 500/faceDirection {{ModID}}.Boris 0 continue/emote farmer 28 continue/pause 500/move farmer 0 2 2/move farmer 2 0 1/move farmer 0 2 2/move farmer 4 0 0/fade/viewport -1000 -1000/changeLocation SandyHouse/wavy/-1000 -1000/farmer 17 3 2 {{ModID}}.Boris -100 -100 Sandy 9 6 1/skippable//viewport 9 5/fade unfade/move farmer 0 5 2/move farmer -2 0 3 continue/warp {{ModID}}.Boris 17 3 2/speak {{ModID}}.Boris \"@, wait.\"/faceDirection farmer 1 continue/emote Sandy 8/move Sandy 0 -1 0 continue/move Sandy 4 0 2 continue/pause 400/move {{ModID}}.Boris 0 5 3/emote farmer 8 continue/pause 500/speak {{ModID}}.Boris \"Listen. I get very focused when I'm working.#$b#I guess what I'm trying to say is, I'm sorry for snapping at you. I don't want you to feel like you can't talk to me. You seem...nice.\"/emote Sandy 32/pause 1500/faceDirection {{ModID}}.Boris 2 continue/speak {{ModID}}.Boris \"Okay. Well, have a good afternoon.\"/pause 500/move {{ModID}}.Boris 0 -5 0/warp {{ModID}}.Boris -100 -100/speed Sandy 6/move Sandy -4 0 3/speed Sandy 6/move Sandy 0 1 1/move farmer -2 0 3/textAboveHead Sandy \"Hmm, new seed shipment tomorrow...\"/move farmer -2 0 3/move farmer -0 -3 0/move farmer -5 0 3 continue/globalFade/viewport -1000 -1000/end"
}
},
{
"LogName": "Boris 4 Hearts pt 1",
"Action": "EditData",
"Target": "Data/Events/SandyShop",
"Entries": {
"{{ModId}}.boriscooking1/Friendship {{ModID}}.Boris 1000/time 900 1900/NPCVisibleHere Sandy": "continue/-1000 -1000/farmer -100 -100 0 {{ModID}}.Boris 4 6 3 Sandy 2 5 3/skippable//viewport 10 5/pause 1000/textAboveHead Sandy \"Ugh, it was horrible.\"/pause 500/textAboveHead {{ModID}}.Boris \"It was my first try!\"/pause 500/warp farmer 4 9 0/emote Sandy 16 continue/move farmer 0 2 3/warp farmer -1 0 3/pause 500/speak Sandy \"Hi, sweetie! We were just reminiscing about some of Boris's greatest cooking misses.\"/pause 500/speak {{ModID}}.Boris \"Sandy was reminiscing. I was regretting.$2\"/pause 500/speak Sandy \"Do you remember the risotto?\"/textAboveHead {{ModID}}.Boris \"*groan*\"/pause 500/speak {{ModID}}.Boris \"I thought I had finally cracked it and I invited Sandy over to try some. We got caught up talking and I burned it to death. I ended up having to throw out the whole pan, it was crusted on so hard.\"/pause 500/speak Sandy \"That was, what, four years ago?\"/speak {{ModID}}.Boris \"Yes, I've come a long way.#$q 44/45/46 {{ModID}}.cookinghabits #Are you much of a cook, @?#$r 44 20#I love cooking!#$r 45 0#I cook every once in a while.#$r 46 -10#I'm more of a takeout person.\"/speak {{ModID}}.Boris \"#$p 46#It's not for everyone. I like perfecting new techniques. Eating the end product is a nice bonus.|It's a great skill to have. Getting to eat the end product is a nice bonus.$1\"/pause 1000/emote Sandy 16/speak Sandy \"Oops! I just remembered I told the trader I'd bring by some lemonade today. I'll be back in a few.$2\"/pause 1000/speak {{ModID}}.Boris \"I feel like I need to prove my competence. Why don't I teach you how to make fiddlehead risotto? I promise not to burn it.\"/pause 500/emote farmer 32/speak Boris \"Great. Let's meet at the saloon around lunchtime. It's not usually busy, so I don't think Gus will mind us taking up space. Don't forget to bring a fiddlehead fern./pause 1000/globalFade/viewport -1000 -1000/end"
}
},
{
"LogName": "Boris 4 Hearts pt 2 - No SVE",
"Action": "EditData",
"Target": "Data/Events/Saloon",
"When": {
"HasMod |contains= FlashShifter.StardewValleyExpandedCP": false
},
"Entries": {
"{{ModId}}.boriscooking2/Friendship {{ModID}}.Boris 500/HasItem 259/SawEvent {{ModID}}.boriscooking1/time 1200 1500": "saloon1/14 22/farmer -100 -100 0 {{ModID}}.Boris 16 18 2 Gus 11 18 2/skippable/pause 1000/animate Gus false true 200 18 19 20/warp farmer 14 24 0/textAboveHead Gus \"@!\"/pause 500/textAboveHead {{ModID}}.Boris \"You're here!\"/move farmer 0 -3 1/speak {{ModID}}.Boris \"Go ahead, come around the bar. Gus won't bite.\"/textAboveHead Gus \"Unless you touch the top shelf liquor.\"/move farmer 2 0 3/move farmer 0 -1 0/move farmer -6 0 3/move farmer 2 0 1/move farmer 0 -1 0/move farmer 8 0 1/move farmer 0 1 3/speak {{ModID}}.Boris \"Did you bring the fiddlehead fern?\"/faceDirection farmer 2/showFrame farmer setting fern/addObject 15 18 259 1/speak {{ModID}}.Boris \"That looks great. Nothing like fresh forage from the valley.$7#$b#Let's get started.\"/removeTemporarySprites/move farmer 0 -1 1/move {{ModID}}.Boris 0 -1 3/stopAnimation Gus/showFrame Gus 3/faceDirection 2/warp Gus 18 20/advancedMove Gus true -2 0 3 3000 2 -1 4 3000 1 1 2 3000/speak {{ModID}}.Boris \"Let's start with the arborio rice. First we have to toast it, and then we add the wine and broth.\"/faceDirection farmer 2/faceDirection {{ModID}}.Boris 2/shake {{ModID}}.Boris 2000/shake farmer 2000/faceDirection farmer 1/faceDirection {{ModID}}.Boris 3/speak {{ModID}}.Boris \"Perfect. We need to stir it constantly. Can you do that while I chop up the other ingredients?\"/emote farmer 32/move {{ModID}}.Boris 1 0 2 true/faceDirection farmer 0/shake farmer 2000/shake {{ModID}}.Boris 2000/quickQuestion While you're stirring...#You follow Boris's instructions, stirring constantly.#You flip the risotto into the air and catch it in the pan.#You burn the risotto. You're no good at this.(break)friendship {{ModID}}.Boris 100\\move {{ModID}}.Boris -1 0 3\\speak {{ModID}}.Boris \"Great job, @.\"\\emote farmer 32\\faceDirection {{ModID}}.Boris 0\\speak {{ModID}}.Boris \"Now I'll add these...and...we're done.\"\\faceDirection {{ModID}}.Boris 3\\faceDirection farmer 1\\speak {{ModID}}.Boris \"Alright, let's give it a try.\"\\move {{ModID}}.Boris 0 1 2 true\\move farmer 0 1 2 true\\addObject 15 18 259 1\\shake farmer 1000\\shake {{ModID}}.Boris 1000\\speak {{ModID}}.Boris \"Hey, that turned out pretty well. We make a good team.$7#$b#Thanks for doing this with me. I didn't want you to think I was full of it every time I talked about cooking.$7\"\\pause 1000\\speak Gus \"Hey, this reminds me of the time I tried to teach you how to make croissants...\"\\pause 100\\textAboveHead {{ModID}}.Boris \"*groan*\"\\pause 100\\showFrame farmer 102\\showFrame farmer 103\\showFrame farmer 102\\showFrame farmer 103(break)friendship {{ModID}}.Boris 200\\move {{ModID}}.Boris -1 0 3\\speak {{ModID}}.Boris \"You should have said you knew your way around a kitchen already. I'm impressed.$3\"\\emote farmer 32\\faceDirection {{ModID}}.Boris 0\\speak {{ModID}}.Boris \"Now I'll add these...and...we're done.\"\\faceDirection {{ModID}}.Boris 3\\faceDirection farmer 1\\speak {{ModID}}.Boris \"Alright, let's give it a try.\"\\move {{ModID}}.Boris 0 1 2 true\\move farmer 0 1 2 true\\addObject 15 18 259 1\\shake farmer 1000\\shake {{ModID}}.Boris 1000\\speak {{ModID}}.Boris \"Hey, that turned out pretty well. We make a good team.$7#$b#Thanks for doing this with me. I didn't want you to think I was full of it every time I talked about cooking.$7\"\\pause 1000\\speak Gus \"Hey, this reminds me of the time I tried to teach you how to make croissants...\"\\pause 100\\textAboveHead {{ModID}}.Boris \"*groan*\"\\pause 100\\showFrame farmer 102\\showFrame farmer 103\\showFrame farmer 102\\showFrame farmer 103(break)friendship {{ModID}}.Boris -100\\stopAdvancedMoves\\emote farmer 16\\TemporarySprite 15 15 25 4 200 false 1\\faceDirection {{ModID}}.Boris 3 true\\emote {{ModID}}.Boris 16\\emote Gus 16\\speed Gus 6\\advancedMove Gus true 3 0 1 10 -5 0 3 10\\move {{ModID}}.Boris -1 0 0\\shake {{ModID}}.Boris 1000\\playSound wateringCan\\stopAdvancedMoves\\pause 1000\\faceDirection {{ModID}}.Boris 3\\faceDirection farmer 1\\speak {{ModID}}.Boris \"That was close. Are you okay?$4\"\\shake farmer 1000\\speak {{ModID}}.Boris \"I guess I'm not a very good teacher. I'm just glad you didn't get hurt.$6\"\\emote farmer 60\\faceDirection Gus 1\\textAboveHead Gus \"Who's going to clean this up?\"\\emote farmer 4\\emote {{ModID}}.Boris 4\\pause 1000/globalFade/viewport -1000 -1000/end",
"{{ModID}}.borisdrinks/Friendship {{ModID}}.Boris 2000/Time 1700 2100": "continue/-1000 -1000/farmer -100 -100 {{ModID}}.Boris 18 20 0 Sandy 20 19 3 Gus 11 18 2 Emily 15 17 0/skippable/pause 1000/animate Gus false true 200 18 19 20/advancedMove Emily true 2 0 4 1000 -3 0 3 1 0 2 1000 0 -1 4 1 0 4 1000/warp farmer 14 24/pause 100/textAboveHead Sandy \"Hi, @!\"/faceDirection {{ModID}}.Boris 2/speak {{ModID}}.Boris \"Hey, @. Come join us.$7\"/move farmer 0 -3 0/move farmer 2 0 1/move farmer 0 -1 1/faceDirection {{ModID}}.Boris 3/pause 100/speak Sandy \"We were just talking about you. All good things, I promise.\"/speak {{ModID}}.Boris \"You've really settled into the valley. You seem to know everyone.$7\"/textAboveHead Gus \"Order up.\"/speak Sandy \"Emily is always going on about your beautiful farm and how fresh your produce is.\"/textAboveHead Emily \"That's right!\"/speak Sandy \"Oh! That reminds me, I wanted to catch Abigail and ask her a question about her mom's plants. Talk to you later!\"/move Sandy 16 0 1 true/move Sandy 0 -1 0 true/move Sandy 4 0 1 true/speak {{ModID}}.Boris \"Her brain goes a mile a minute.$3#$b#I hope you're as happy here as it seems like you are.$7\"/message \"Boris clears his throat.\"/speak {{ModID}}.Boris \"You might have noticed that I work a lot. I didn't really think I had much else going on in my life until we became friends.#$b#Spending time with you has been good for me. You've given me a different perspective on what's important in life. Thank you for that.$7#$b#\"/emote farmer 32/speak {{ModID}}.Boris \"Anyway...the next round is on me.$7#$b#\"/emote farmer 56/globalFade/viewport -1000 -1000/end"
}
},
{
"Action": "EditData",
"Target": "Data/Events/Desert",
"Entries": {
"{{ModID}}.sunscreen/Friendship {{ModID}}.Boris 1500/Time 900 1800/Weather sunny": "continue/6 51/farmer -100 -100 0 {{ModID}}.Boris -100 -100/skippable/warp farmer 6 52/move farmer 0 1 3 true/move farmer 3 0 1 true/warp {{ModID}}.Boris 6 52 2/speak {{ModID}}.Boris \"Wait!\"/faceDirection farmer 3/speed {{ModID}}.Boris 4/move {{ModID}}.Boris 0 2 2/speed {{ModID}}.Boris 4/move {{ModID}}.Boris 1 0 1/speak {{ModID}}.Boris \"I'm glad I caught up to you. Sandy just told me something outrageous.\"/emote farmer 8/speak {{ModID}}.Boris \"@, do you not wear sunscreen?$1\"/emote farmer 36/speak {{ModID}}.Boris \"I can't believe it's true.$4#$b#@, skincare is very important. Your skin is your body's largest organ, and it's fighting a constant battle against the damaging rays of the sun.#$b#Here, this is a recipe for homemade sunscreen. Please use it. And take this, too. It's a bottle I made just last night.\"/addCraftingRecipe {{ModID}}.sunscreen/addItem {{ModID}}.Sunscreen 1 0/itemAboveHead pan|{{ModID}}.Sunscreen false/speak {{ModID}}.Boris \"Stay safe out there, @. I wouldn't want anything bad to happen to you.\"/move {{ModID}}.Boris -1 0 3 true/move {{ModID}}.Boris 0 -2 0 true/warp {{ModID}}.Boris -100 -100/move farmer 5 0 1/move farmer 0 -7 0 true/globalFade/viewport -1000 -1000/end"
}
},
{
"Action": "EditData",
"Target": "Data/Events/BusStop",
"Entries": {
"{{ModId}}.borispam/Friendship {{ModID}}.Boris 250/NPCVisibleHere Pam": "continue/24 17/farmer 19 23 1 {{ModID}}.Boris -100 -100 0 Pam -100 -100 0/skippable/move farmer 4 0 0/move farmer 0 -7 0 true/warp Pam 22 8/move Pam 0 3 2/move Pam -2 0 2 true/warp {{ModID}}.Boris 22 8/move {{ModID}}.Boris 0 6 2/speak {{ModID}}.Boris \"Excuse me.\"/pause 1000/move farmer -1 0 1/move {{ModID}}.Boris 0 8 2 true/move farmer 0 0 0 true/move {{ModID}}.Boris 31 0 1/warp {{ModID}}.Boris -100 -100/move farmer 0 -5 3/move Pam 0 0 1/pause 1000/speak Pam \"Hey, kid. That weird guy from the Oasis is really somethin', huh? Gives me the creeps.#$b#He's easy on the eyes, though.#$b#\"/emote farmer 8/speak Pam \"What? I'm old, not dead.\"/emote farmer 16/pause 1000/globalFade/viewport -1000 -1000/stopMusic/end"
}
},
{
"Action": "EditData",
"Target": "Data/Events/Desert",
"Entries": {
"{{ModId}}.borispicnic": ""
}
}
]
}