Skip to content

Commit

Permalink
[DontEnablePam] Initial 1.0.0 content pack release (and promo stuff)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonqora committed Aug 28, 2020
1 parent f60283c commit 5e1cbd3
Show file tree
Hide file tree
Showing 10 changed files with 342 additions and 2 deletions.
36 changes: 36 additions & 0 deletions DontEnablePam/DontEnablePam.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<AssemblyName>DontEnablePam</AssemblyName>
<RootNamespace>DontEnablePam</RootNamespace>
<Version>1.0.0</Version>
<TargetFramework>net452</TargetFramework>
<Platforms>x86</Platforms>
<PlatformTarget>x86</PlatformTarget>
<EnableHarmony>true</EnableHarmony>
<IgnoreModFilePatterns>\.dll$, \.pdb$</IgnoreModFilePatterns>
<ModFolderName>[CP] Don't Enable Pam</ModFolderName>
</PropertyGroup>

<ItemGroup>
<None Remove="promo\nexus_description.txt" />
</ItemGroup>

<ItemGroup>
<Content Include="promo\nexus_description.txt" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Pathoschild.Stardew.ModBuildConfig" Version="3.1.0" />
</ItemGroup>

<ItemGroup>
<None Update="content.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="manifest.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>

</Project>
64 changes: 64 additions & 0 deletions DontEnablePam/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<details>
<summary><i>TRANSLATION INFO:</i></summary>

- No translations for this mod are available yet.
</details>

---

# Don't Enable Pam
*Changes the "Pam Is Thirsty" story quest to require juice instead of pale ale. You can avoid being an enabler for Pam's alcohol habits.*

## Features
I always try to avoid giving alcohol to Shane or Pam... even though they love it. But for the "Pam Is Thirsty" story quest--received by mail on Summer 14 in year 1--you don't have a choice; you need to bring Pam a pale ale to complete the quest. I wrote this mod to change that.

**Don't Enable Pam** mod replaces the "Pam Is Thirsty" quest objective to have you deliver juice! It also modifies the quest description, mail, and dialogue with new flavor text to reflect this change.

### DETAILS

Pam will still mention pale ale (depending on if you've seen the original letter), but will say that Penny is trying to get her to drink more juice instead. Pam then asks the farmer to bring her a juice; the quest will be completed with the usual rewards when you deliver the juice to Pam (any type).

> NOTE: if it's too hard to imagine Pam herself requesting juice, an alternate version is available: Penny can send you the quest mail instead, asking you to deliver some juice to her mom. You can choose which version to use in this mod's config settings.
**This mod works on all new and existing saves**, even if you've already received the original quest, deleted the original quest, or completed it! If you already received the original quest version at some point, this mod will replace it by delivering a new quest letter to your mailbox. Opening the mail will add the updated version to your quest log.

If you haven't yet opened your original quest letter, this mod will change its contents to give you the new quest version from the start.


## User Information
### COMPATIBILITY
- Stardew Valley v1.4 or later;
- [Content Patcher](https://www.nexusmods.com/stardewvalley/mods/1915) v1.15.0 or later;
- Linux, Mac, Windows, and Android.
- Single-player and multiplayer. This mod only affects the player who uses it.

### INSTALLATION
- [Install the latest version of SMAPI.](https://smapi.io/)
- Install the latest version of [Content Patcher.](https://www.nexusmods.com/stardewvalley/mods/1915)
- Download this mod from [Nexus](https://www.nexusmods.com/stardewvalley/mods/6721) or the [GitHub Releases](https://github.com/Jonqora/StardewMods/releases) list.
- Unzip the mod and place the `[CP] Don't Enable Pam` folder inside your `Mods` folder.
- Run the game using SMAPI.

### USING THE MOD
If you have not yet read the original quest letter before using this mod, you will get the new version of the letter and quest as soon as you read it. If you have already read the original quest letter, playing a savefile with this mod installed will remove the old quest from your quest log (if it is still there) and immediately add new quest mail to your mailbox. Reading the letter will add the new version of the quest to your log.


## Config Settings
After running SMAPI at least once with Don't Enable Pam (and Content Patcher) installed, a `config.json` file will be created inside the `[CP] Don't Enable Pam` mod folder. Open it in any text editor to change your config settings.


- **QuestLetterFrom:** Story version - choose which character should send you the updated quest letter. Options: `"Pam"` or `"Penny"`. Defaults to `"Pam"`.


- **DebugMode_ForceNewQuestLetter:** (Players should not change this setting. It is only used for specific debugging situations that do not occur with normal use.) Defaults to `false`.


## Notes
### ACKNOWLEDGEMENTS
* Much gratitude to ConcernedApe and [Pathoschild](https://www.nexusmods.com/stardewvalley/users/1552317?tab=user+files)!
* Thanks to those who provided help and support in the [Stardew Valley Discord](https://discordapp.com/invite/StardewValley) #making-mods channel.
* Hat-tip to discussion in the #seasoned-farmers channel that originally inspired the idea for this mod!

### SEE ALSO
* This mod on [GitHub](https://github.com/Jonqora/StardewMods/tree/master/DontEnablePam)
* Check out [my other mods](https://www.nexusmods.com/users/88107803?tab=user+files)!
160 changes: 160 additions & 0 deletions DontEnablePam/content.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
{
"Format": "1.15",

"ConfigSchema": {
"QuestLetterFrom": {
"AllowValues": "Pam, Penny",
"Default": "Pam"
},
"DebugMode_ForceNewQuestLetter": {
"AllowValues": "true, false",
"Default": "false"
}
},

"DynamicTokens": [
//Quest description variants
{
"Name": "QuestDescription",
"Value": "Pam is trying to drink more juice instead of just beer and pale ale. You can make your own juice by putting any vegetable in a keg.",
"When": {
"QuestLetterFrom": "Pam"
}
},
{
"Name": "QuestDescription",
"Value": "Penny is trying to get Pam to drink juice more often. You can make your own juice by putting any vegetable in a keg.",
"When": {
"QuestLetterFrom": "Penny"
}
},
//Quest end dialogue variants
{
"Name": "QuestEndDialogue",
"Value": "Gimme that. *slurp*... Ahh, that hits the spot.#$b#It's real nice and cool... very refreshing, and mildly sweet with a pleasant bite to the flavor.#$b#Thanks, kid. It means a lot to me. This stuff is pretty good affer all!$h",
"When": {
"QuestLetterFrom": "Pam"
}
},
{
"Name": "QuestEndDialogue",
"Value": "Gimme that. *slurp*... Ahh, that's surprisingly good.#$b#It's real nice and cool... very refreshing, and mildly sweet with a pleasant bite to the flavor.#$b#Thanks, kid. This means a lot to me. I'll have to thank Penny, too.$h",
"When": {
"QuestLetterFrom": "Penny"
}
},
//Quest mail variants (replacement version)
{
"Name": "QuestMailContent",
"Value": "Hey Kid,^^My throat's about as dry as a desert bone. I'm real thirsty for a pale ale, but Penny is trying to get me to drink more juice instead. Do you have any?^^I've been meaning to try some parsnip juice, but any vegetable juice will do.^^ -Pam%item quest 103 %%[#]Pam's Request",
"When": {
"QuestLetterFrom": "Pam"
}
},
{
"Name": "QuestMailContent",
"Value": "Hi @,^I've been trying to get my mom to drink juice more often, but we don't have any in the house. Do you think you could deliver some juice to her?^ -Penny^^P.S. Parsnip is probably her favorite, but any vegetable juice will do.%item quest 103 %%[#]Penny's Request",
"When": {
"QuestLetterFrom": "Penny"
}
},
//Quest mail variants (new mail received version)
{
"Name": "QuestAddNewMailContent",
"Value": "Hey Kid,^^I know I asked you for a pale ale earlier, but Penny is trying to get me to drink more juice these days. Do you have any?^^I've been meaning to try some parsnip juice, but any vegetable juice will do.^^ -Pam%item quest 103 %%[#]Pam's New Request",
"When": {
"QuestLetterFrom": "Pam"
}
},
{
"Name": "QuestAddNewMailContent",
"Value": "Hi @,^My mom's been craving pale ale, but I'm trying to encourage her to drink more juice instead. We don't have any juice in the house, though. Do you think you could deliver some to her?^ -Penny^^P.S. I think she'd enjoy parsnip juice the most, but any vegetable juice will do.%item quest 103 %%[#]Penny's Request",
"When": {
"QuestLetterFrom": "Penny"
}
},

//Boolean for replacing OG mail data
{
"Name": "ReplaceOriginalMail",
"Value": "true" //Always replace if OG mail never read, also replace if it was read but event 67210001 was seen prior to reading the mail
},
{
"Name": "ReplaceOriginalMail",
"Value": "false",
"When": {
"HasReadLetter": "summer_14_1",
"HasSeenEvent": "67210002" //This event id adds the new mail, and is a precondition for e 67210003 to wipe the old quest immediately after
}
}
],

"Changes": [

{
"LogName": "Change Pam Is Thirsty quest details",
"Action": "EditData",
"Target": "Data/Quests",
"Fields": {
"103": {
2: "{{QuestDescription}}",
3: "Bring Pam any juice.",
4: "Pam 350",
9: "{{QuestEndDialogue}}"
}
}
// "When": Always (if they have the old quest, events to remove it should immmediately trigger anyways)
},
{
"LogName": "Change Pam Is Thirsty quest mail",
"Action": "EditData",
"Target": "Data/mail",
"Entries": {
"summer_14_1": "{{QuestMailContent}}"
},
"When": {
"ReplaceOriginalMail": "true" //if mail has not been read yet, OR
//after mail is read, so long as the "already recieved OG mail" event 67210002 hasn't triggered
},
//"Update": "OnLocationChange" //...apparently it's not needed to switch true -> false when you leave farmhouse after 67210002/67210003 events?
},
{
"LogName": "Add new Pam Is Thirsty quest mail #2",
"Action": "EditData",
"Target": "Data/mail",
"Entries": {
"6721DontEnablePam_NewMail": "{{QuestAddNewMailContent}}"
}
// "When": Always (no harm in loading the new mail even if it's never received)
},
{
"LogName": "Add tracking flags and invisible event triggers",
"Action": "EditData",
"Target": "Data/Events/FarmHouse",
"Entries": {

//Flag for not having read the OG mail
"67210001/k 67210002/l summer_14_1/j 41/x 6721DontEnablePam_Replace%&NL&%": "null", //Silent event (mail with %&NL&% adds no letter)

//Flag for having already read the OG mail
"67210002/k 67210001/n summer_14_1/x 6721DontEnablePam_NewMail true": "null", //Silent event, puts new letter in your mailbox immediately

//Mini event that removes the quest if you read the OG mail
"67210003/e 67210002": "continue/-1000 -1000/farmer 100 100 2/removeQuest 103/fade unfade/end" //Removes old version from your quest log
}
},
{
"LogName": "Debug mode to force new quest letter",
"Action": "EditData",
"Target": "Data/Events/FarmHouse",
"Entries": {
//No pre-requisite version of 67210002 to add new mail (and trigger 67210003 old quest removal)
"67210002/x 6721DontEnablePam_NewMail true": "null", //Silent event, puts new letter in your mailbox immediately
},
"When": {
"DebugMode_ForceNewQuestLetter": "true"
}
}

]
}
13 changes: 13 additions & 0 deletions DontEnablePam/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"Name": "Don't Enable Pam",
"Author": "Jonqora",
"Version": "1.0.0",
"Description": "Changes the \"Pam Is Thirsty\" quest to require juice instead of pale ale.",
"UniqueID": "Jonqora.DontEnablePam",
"MinimumApiVersion": "3.5.0",
"UpdateKeys": [ "Nexus:6721" ],
"ContentPackFor": {
"UniqueID": "Pathoschild.ContentPatcher",
"MinimumVersion": "1.15.0"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
59 changes: 59 additions & 0 deletions DontEnablePam/promo/nexus_description.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[size=6][b]Don't Enable Pam[/b][/size]

I always try to avoid giving alcohol to Shane or Pam... even though they love it. But for the "Pam Is Thirsty" story quest—received by mail on Summer 14 in year 1—you don't have a choice; you need to bring Pam a pale ale to complete the quest. I wrote this mod to change that.

[b]Don't Enable Pam[/b] mod replaces the "Pam Is Thirsty" quest objective to have you deliver juice! It also modifies the quest description, mail, and dialogue with new flavor text to reflect this change.


[size=4][b]DETAILS[/b][/size]

Pam will still mention pale ale (depending on if you've seen the original letter), but will say that Penny is trying to get her to drink more juice instead. Pam then asks the farmer to bring her a juice; the quest will be completed with the usual rewards when you deliver the juice to Pam (any type).

[color=#e69138][b]NOTE: if it's too hard to imagine Pam herself requesting juice, an alternate version is available: Penny can send you the quest mail instead, asking you to deliver some juice to her mom. You can choose which version to use in this mod's config settings.[/b][/color]

[b]This mod works on all new and existing saves[/b], even if you've already received the original quest, deleted the original quest, or completed it! If you already received the original quest version at some point, this mod will replace it by delivering a new quest letter to your mailbox. Opening the mail will add the updated version to your quest log.

If you haven't yet opened your original quest letter, this mod will change its contents to give you the new quest version from the start.


[b][size=5][center]User Information[/center][/size][/b][size=4][b]COMPATIBILITY[/b][/size]
[list]
[*]Stardew Valley v1.4 or later;
[*][url=https://www.nexusmods.com/stardewvalley/mods/1915]Content Patcher[/url] v1.15.0 or later;
[*]Linux, Mac, Windows, and Android.
[*]Single-player and multiplayer. This mod only affects the player who uses it.
[/list]
[size=4][b]INSTALLATION[/b][/size]
[list=1]
[*][url=https://smapi.io/]Install the latest version of SMAPI.[/url]
[*]Install the latest version of [url=https://www.nexusmods.com/stardewvalley/mods/1915]Content Patcher.[/url]
[*]Download this mod from the link in the header above.
[*]Unzip the mod and place the [code][CP] Don't Enable Pam[/code] folder inside your [code]Mods[/code] folder.
[*]Run the game using SMAPI.
[/list]
[size=4][b]USING THE MOD[/b][/size]
If you have not yet read the original quest letter before using this mod, you will get the new version of the letter and quest as soon as you read it. If you have already read the original quest letter, playing a savefile with this mod installed will remove the old quest from your quest log (if it is still there) and immediately add new quest mail to your mailbox. Reading the letter will add the new version of the quest to your log.


[size=5][center][b]Config Settings[/b][/center][/size]After running SMAPI at least once with Don't Enable Pam (and Content Patcher) installed, a [code]config.json[/code] file will be created inside the [code][CP] Don't Enable Pam[/code] mod folder. Open it in any text editor to edit or change your config settings!


[b][size=3]QuestLetterFrom:[/size][/b]
Story version - choose which character should send you the updated quest letter. Options: [code]"Pam"[/code] or [code]"Penny"[/code]. Defaults to [code]"Pam"[/code].

[color=#999999][b][size=3]DebugMode_ForceNewQuestLetter:[/size][/b]
(Players should not change this setting. It is only used for specific debugging situations that do not occur with normal use.)[/color] Defaults to [code]false[/code].


[b][size=5][center]Notes[/center][/size][/b][size=4][b]ACKNOWLEDGEMENTS[/b][/size]
[list]
[*]Much gratitude to ConcernedApe and [url=https://www.nexusmods.com/stardewvalley/users/1552317?tab=user+files]Pathoschild[/url] !
[*]Thanks to those who provided help and support in the [url=https://discordapp.com/invite/StardewValley]Stardew Valley Discord[/url] #making-mods channel.
[*]Hat-tip to discussion in the #seasoned-farmers channel that originally inspired the idea for this mod!
[/list]
[size=4][b]SEE ALSO[/b][/size]
[list]
[*]This mod on [url=https://github.com/Jonqora/StardewMods/tree/master/DontEnablePam]GitHub[/url]
[*]Check out [url=https://www.nexusmods.com/users/88107803?tab=user+files]my other mods[/url]! My favorite one is [url=https://www.nexusmods.com/stardewvalley/mods/6324]Angry Grandpa[/url] mod, it has a bunch of cool features.
[/list]
[size=1]Tiny reminder: endorse the mod if you like it. It means more people will see it, and it makes the author happy. :)[/size]
12 changes: 10 additions & 2 deletions StardewMods.sln
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdviceGrandpa", "AdviceGran
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DynamicConversationTopics", "DynamicConversationTopics\DynamicConversationTopics.csproj", "{A5CFC56E-5B83-40C2-9E6F-FDE58341AD5B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SunscreenMod", "SunscreenMod\SunscreenMod.csproj", "{ACF868E4-8EE5-409F-BFBE-2F5AD63A61ED}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SunscreenMod", "SunscreenMod\SunscreenMod.csproj", "{ACF868E4-8EE5-409F-BFBE-2F5AD63A61ED}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoGrandpaGhost", "NoGrandpaGhost\NoGrandpaGhost.csproj", "{E31F626E-8C37-465D-A4C6-262D9915D389}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NoGrandpaGhost", "NoGrandpaGhost\NoGrandpaGhost.csproj", "{E31F626E-8C37-465D-A4C6-262D9915D389}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DontEnablePam", "DontEnablePam\DontEnablePam.csproj", "{40692A05-4031-471E-B4D7-92366F73A008}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Expand Down Expand Up @@ -98,6 +100,12 @@ Global
{E31F626E-8C37-465D-A4C6-262D9915D389}.Release|Any CPU.ActiveCfg = Release|x86
{E31F626E-8C37-465D-A4C6-262D9915D389}.Release|x86.ActiveCfg = Release|x86
{E31F626E-8C37-465D-A4C6-262D9915D389}.Release|x86.Build.0 = Release|x86
{40692A05-4031-471E-B4D7-92366F73A008}.Debug|Any CPU.ActiveCfg = Debug|x86
{40692A05-4031-471E-B4D7-92366F73A008}.Debug|x86.ActiveCfg = Debug|x86
{40692A05-4031-471E-B4D7-92366F73A008}.Debug|x86.Build.0 = Debug|x86
{40692A05-4031-471E-B4D7-92366F73A008}.Release|Any CPU.ActiveCfg = Release|x86
{40692A05-4031-471E-B4D7-92366F73A008}.Release|x86.ActiveCfg = Release|x86
{40692A05-4031-471E-B4D7-92366F73A008}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down

0 comments on commit 5e1cbd3

Please sign in to comment.