Skip to content

Commit

Permalink
Merge pull request #702 from Just-Natsuki-Team/v1.2.2
Browse files Browse the repository at this point in the history
v1.2.2
  • Loading branch information
Blizzardsev committed May 18, 2023
2 parents 479c64e + 505fcf5 commit c041c35
Show file tree
Hide file tree
Showing 21 changed files with 730 additions and 133 deletions.
64 changes: 51 additions & 13 deletions README.md
@@ -1,5 +1,5 @@
<p align="center">
<img src="https://justnatsuki.club/img/logos/jn_1-2-1_logo.png" height="300"/>
<img src="https://justnatsuki.club/img/logos/jn_1-2-2_logo.png" height="300"/>
</p>
<br>

Expand Down Expand Up @@ -101,6 +101,7 @@ An After-Story style mod for Natsuki from DDLC, focusing on building a post-game
</table>

### And extra special thanks to:

- Snow, rain graphics thanks to Monika After Story team @ https://github.com/Monika-After-Story/MonikaModDev
- License template thanks to Monika After Story team @ https://github.com/Monika-After-Story/MonikaModDev
- Our community, for being so patient despite our delays
Expand Down Expand Up @@ -140,6 +141,25 @@ It's rude to keep someone waiting, you know...

**Read the instructions carefully.**

#### Using the Official JN Installer (recommended)

1. Download a fresh copy of DDLC from the [official site](https://ddlc.moe). **Do not use a Steam installation**.
2. Extract/unzip DDLC.
3. Download the [Official JN Installer](https://github.com/Just-Natsuki-Team/NatsukiModInstaller/releases/tag/release) for your operating system (one starting with `jn-installer`).
4. Extract the JN Installer file you have downloaded.
5. Run the JN Installer, and follow the steps in the application: **make sure you select your DDLC folder when prompted**.
1. If on Windows, you may receive a security warning from SmartScreen: to continue, click _More Info_, then _Run anyway_.
6. **This only applies if you have played the Just Natsuki BETA, wish to completely reset your progress, or if you are running the discontinued build from Wix/Google Drive**: You may already have a persistent from the old version of JN - this **must** be deleted.
1. Guidance on how to find your persistent can be found [here](https://github.com/Just-Natsuki-Team/NatsukiModDev/wiki/04:-FAQ#can-i-back-up-my-save-data--how-do-i-find-my-persistent).
7. Finally, launch _DDLC_.
1. If you are on OSX, you may have to review your security settings for the game to launch properly; please see the guidance listed [here](https://github.com/Just-Natsuki-Team/NatsukiModDev/issues/221).
8. Enjoy!

#### Manual installation

<details>
<summary>Details</summary>

1. Download a fresh copy of DDLC from the [official site](https://ddlc.moe). **Do not use a Steam installation**.
2. Extract/unzip DDLC.
3. Download the latest release [here](https://github.com/Just-Natsuki-Team/NatsukiModDev/releases): select the ZIP file starting with `jn` (I.E `jn-1.0.0.zip`). **Do not download the source code, as this will result in future updates failing.**
Expand All @@ -148,29 +168,47 @@ It's rude to keep someone waiting, you know...
6. From the JN mod files, copy the `lib` folder contents (all of it) into the `lib` folder of DDLC. If asked to replace files, select _Yes_.
7. From the JN mod files, copy the `update` folder into the DDLC folder.
8. **This only applies if you have played the Just Natsuki BETA, wish to completely reset your progress, or if you are running the discontinued build from Wix/Google Drive**: You may already have a persistent from the old version of JN - this **must** be deleted.
1. For Windows, you can find it here: `%APPDATA%/Roaming/RenPy/JustNatsuki`
2. For OSX, you can find it here: `~/Library/RenPy/JustNatsuki`
3. For Linux, you can find it here: `~/.renpy/JustNatsuki`
9. Finally, launch `DDLC.exe`.
1. Guidance on how to find your persistent can be found [here](https://github.com/Just-Natsuki-Team/NatsukiModDev/wiki/04:-FAQ#can-i-back-up-my-save-data--how-do-i-find-my-persistent).
9. Finally, launch _DDLC_.
1. If you are on OSX, you may have to review your security settings for the game to launch properly; please see the guidance listed [here](https://github.com/Just-Natsuki-Team/NatsukiModDev/issues/221).
10. Enjoy!

</details>

---

### Updating

*Use these instructions if you already have JN installed. If you are running a BETA version of JN, please follow the [Installation](#installation) steps instead.*

**Read the instructions carefully.**
**[Back up your persistent](https://github.com/Just-Natsuki-Team/NatsukiModDev/wiki/04:-FAQ#can-i-back-up-my-save-data--how-do-i-find-my-persistent) and read the instructions carefully.**

#### Using the Official JN Installer (recommended)

1. Stop JN, if you are currently playing the mod.
2. **Back up your persistent**: instructions on how to do so may be found [here](https://github.com/Just-Natsuki-Team/NatsukiModDev/wiki/04:-FAQ#can-i-back-up-my-save-data--how-do-i-find-my-persistent).
3. Download the latest release [here](https://github.com/Just-Natsuki-Team/NatsukiModDev/releases): select the ZIP file starting with `jn` (I.E `jn-1.0.0.zip`). **Do not download the source code, as this will result in future updates failing.**
4. Extract/unzip the new release files.
5. From the release files, copy the `game` folder contents (all of it) into the `game` folder of your JN installation. If asked to replace files, select _Yes_.
6. From the release files, copy the `lib` folder contents (all of it) into the `lib` folder of your JN installation. If asked to replace files, select _Yes_.
7. From the release files, copy the `update` folder contents (all of it) into the `update` folder of your JN installation. If asked to replace files, select _Yes_.
8. Finally, launch `DDLC.exe`.
2. Download the [Official JN Installer](https://github.com/Just-Natsuki-Team/NatsukiModInstaller/releases/tag/release) for your operating system (one starting with `jn-installer`).
3. Extract the JN Installer file you have downloaded.
4. Run the JN Installer, and follow the steps in the application: **make sure you select your DDLC folder when prompted**.
1. If on Windows, you may receive a security warning from SmartScreen: to continue, click _More Info_, then _Run anyway_.
5. Finally, launch _DDLC_.
6. Enjoy!

#### Manual update

<details>
<summary>Details</summary>

1. Stop JN, if you are currently playing the mod.
2. Download the latest release [here](https://github.com/Just-Natsuki-Team/NatsukiModDev/releases): select the ZIP file starting with `jn` (I.E `jn-1.0.0.zip`). **Do not download the source code, as this will result in future updates failing.**
3. Extract/unzip the new release files.
4. From the release files, copy the `game` folder contents (all of it) into the `game` folder of your JN installation. If asked to replace files, select _Yes_.
5. From the release files, copy the `lib` folder contents (all of it) into the `lib` folder of your JN installation. If asked to replace files, select _Yes_.
6. From the release files, copy the `update` folder contents (all of it) into the `update` folder of your JN installation. If asked to replace files, select _Yes_.
7. Finally, launch _DDLC_.
1. If the game does not appear to update or displays a warning about `.rpy` files, you are running the source code (files ending in `.rpy`) instead of the release files: delete **everything** in the `game` folder, download the release files (starting with `jn`) and update using those.
8. Enjoy!

</details>

---

Expand Down
18 changes: 15 additions & 3 deletions game/activity.rpy
Expand Up @@ -71,6 +71,7 @@ init python in jn_activity:
just_yuri = 20
forever_and_ever = 21
video_applications = 22
e_commerce = 23

def __int__(self):
return self.value
Expand Down Expand Up @@ -176,7 +177,7 @@ init python in jn_activity:
))
ACTIVITY_MANAGER.registerActivity(JNPlayerActivity(
activity_type=JNActivities.coding,
window_name_regex="(- visual studio|- notepad/+/+|- atom|- brackets|vim|eclipse|^github desktop$|^sourcetree$)",
window_name_regex="(- visual studio|- notepad/+/+|- atom|- brackets|vim|eclipse|^github desktop$|^sourcetree$|- scratch)",
notify_text=[
"You're seriously such a nerd, [player].",
"You forgot a semicolon! [tease_emote]",
Expand Down Expand Up @@ -215,7 +216,7 @@ init python in jn_activity:
))
ACTIVITY_MANAGER.registerActivity(JNPlayerActivity(
activity_type=JNActivities.gaming,
window_name_regex="(^steam$|^origin$|^battle.net$)",
window_name_regex="(^steam$|^origin$|^battle.net$|- itch.io)",
notify_text=[
"You better not be spending all day on that! [angry_emote]",
"Just... remember to take breaks, alright? [sad_emote]",
Expand Down Expand Up @@ -250,7 +251,7 @@ init python in jn_activity:
))
ACTIVITY_MANAGER.registerActivity(JNPlayerActivity(
activity_type=JNActivities.artwork,
window_name_regex="(clip studio paint|photoshop|krita|gimp|paint.net|paint tool sai|medibang)",
window_name_regex="(clip studio paint|photoshop|krita|gimp|paint.net|paint tool sai|medibang|- paint)",
notify_text=[
"Draw for me, [player]! Ehehe.",
"I was never any good at artwork... [sad_emote]",
Expand Down Expand Up @@ -393,6 +394,17 @@ init python in jn_activity:
"Oh hey! Any funny video clips? [tease_emote]",
]
))
ACTIVITY_MANAGER.registerActivity(JNPlayerActivity(
activity_type=JNActivities.e_commerce,
window_name_regex="(^amazon.[A-Za-z]{2,6}|\| ebay)",
notify_text=[
"Just... don't go overboard. [angry_emote]",
"Shopping, huh? [tease_emote]",
"Run out of something again? Ehehe.",
"Oh? You gotta grab something? [confused_emote]",
"Money to burn, huh?"
]
))

def _getJNWindowHwnd():
"""
Expand Down
2 changes: 1 addition & 1 deletion game/definitions.rpy
Expand Up @@ -1395,7 +1395,7 @@ init -990 python in jn_globals:
"midget",
"moron",
"narcissist",
"nasty",
"(^nasty$|nasty-ass)",
"neckcrack|neck-crack",
"necksnap|neck-snap",
"^nimrod$",
Expand Down
Binary file added game/mod_assets/buttons/choice_hover_blank_star.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified game/mod_assets/fonts/natsuki.ttf
Binary file not shown.
Binary file added game/mod_assets/panels/slider_thumb_small.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion game/options.rpy
Expand Up @@ -12,7 +12,7 @@
##
## The _() surrounding the string marks it as eligible for translation.

define config.version = "1.2.1"
define config.version = "1.2.2"
define config.name = "Just Natsuki"
define config.window_title = _("Just Natsuki - {0}".format(config.version))

Expand Down
4 changes: 2 additions & 2 deletions game/outfits.rpy
Expand Up @@ -295,7 +295,7 @@ init -1 python in jn_outfits:
- eyewear - JNEyewear associated with this outfit. Optional.
- headgear - JNHeadgear associated with this outfit. Optional.
- necklace - JNNecklace associated with this outfit. Optional.
- facewear - JNFacialwear associated with this outfit. Optional.
- facewear - JNFacewear associated with this outfit. Optional.
- back - JNBack associated with this outfit. Optional.
"""
# Clothes are required
Expand Down Expand Up @@ -464,7 +464,7 @@ init -1 python in jn_outfits:
if self.necklace and isinstance(self.necklace, JNNecklace):
outfit_dict["necklace"] = self.necklace.reference_name

if self.facewear and isinstance(self.necklace, JNFacewear):
if self.facewear and isinstance(self.facewear, JNFacewear):
outfit_dict["facewear"] = self.facewear.reference_name

if self.back and isinstance(self.back, JNBack):
Expand Down
3 changes: 3 additions & 0 deletions game/preferences.rpy
Expand Up @@ -70,3 +70,6 @@ default persistent._jn_notify_activity = True

# RPY warning
default persistent._jn_scw = True

# This determines if Natsuki should warn the player whenever she runs out of unlocked things to say
default persistent._jn_natsuki_out_of_topics_remind = True
12 changes: 8 additions & 4 deletions game/screens.rpy
Expand Up @@ -225,13 +225,17 @@ screen categorized_menu(menu_items, category_pane_space, option_list_space, cate

for _topic in menu_items.get(selected_category):
$ display_text = _topic.prompt if (_topic.shown_count > 0 or _topic.nat_says) else "{i}[_topic.prompt]{/i}"

#NOTE: This should be preprocessed such that Topics without prompts aren't passed into this menu
textbutton display_text:
style "categorized_menu_button"
#Return the label so it can be called
action [ Return(_topic.label), Function(prev_adjustment.change, 0), SetVariable("selected_category", None) ]
hover_sound gui.hover_sound
activate_sound gui.activate_sound

if _topic.shown_count == 0 and not _topic.nat_says:
idle_background Frame("mod_assets/buttons/choice_hover_blank_star.png", gui.frame_hover_borders, tile=gui.frame_tile)

null height 5

Expand Down Expand Up @@ -388,13 +392,13 @@ style vscrollbar:

style slider:
ysize 18
base_bar Frame("gui/scrollbar/horizontal_poem_bar.png", tile=False)
thumb "gui/slider/horizontal_hover_thumb.png"
base_bar Frame("mod_assets/panels/slider_back_h.png", tile=False)
thumb "mod_assets/panels/slider_thumb_small.png"

style vslider:
xsize gui.slider_size
base_bar Frame("gui/slider/vertical_[prefix_]bar.png", gui.vslider_borders, tile=gui.slider_tile)
thumb "gui/slider/vertical_[prefix_]thumb.png"
base_bar Frame("mod_assets/panels/slider_back_v.png", gui.vslider_borders, tile=gui.slider_tile)
thumb "mod_assets/panels/slider_thumb_small.png"

style frame:
padding gui.frame_borders.padding
Expand Down
2 changes: 1 addition & 1 deletion game/script-admissions.rpy
Expand Up @@ -828,7 +828,7 @@ label admission_insecure:
extend 2fsqbol " and listen good."
n 2fcseml "I don't care if you think people don't like you.{w=0.75}{nw}"
extend 2fnmbolsbr " {i}I{/i} like you."
n 4flrfll "I don't care if think you have no talents.{w=0.75}{nw}"
n 4flrfll "I don't care if people think you have no talents.{w=0.75}{nw}"
extend 1fcscalesi " {i}I{/i} know you do."
n 1fcstrl "I don't care if people think you're falling behind.{w=0.75}{nw}"
extend 2fnmsll " {i}I{/i} know you'll catch up."
Expand Down
6 changes: 5 additions & 1 deletion game/script-ch30.rpy
Expand Up @@ -455,7 +455,11 @@ init python:
Natsuki.calculatedAffinityGain()
queue(random.choice(topic_pool).label)

elif not store.persistent.jn_natsuki_repeat_topics and not store.persistent._jn_out_of_topics_warning_given:
elif (
not store.persistent.jn_natsuki_repeat_topics
and not store.persistent._jn_out_of_topics_warning_given
and persistent._jn_natsuki_out_of_topics_remind
):
# Out of random topics
queue("talk_out_of_topics")

Expand Down

0 comments on commit c041c35

Please sign in to comment.