NickWildish / Mas-NSFW-Submod

A submod dedicated to bring you and Monika THAT much closer. How close you ask? Like, THIS close 🤏
39 stars 86 forks source link

Feature - Make Monika use pink and black underwear during sexting #137

Open SaltyMelonLord opened 8 months ago

SaltyMelonLord commented 8 months ago

Since it kinda sucked that you could unlock the black and pink underwear for Monika but she would never use it again after unlocking them, here’s a possible solution that makes her pick the unlocked underwear randomly (maybe you’ll figure out an even better one).

label nsfw_pick_underwear:
    if mas_SELisUnlocked(store.mas_clothes_underwear_pink) and mas_SELisUnlocked(store.mas_clothes_underwear_black): # all three unlocked
        $ color = renpy.random.randint(1,3)                
    elif mas_SELisUnlocked(store.mas_clothes_underwear_pink) # no black
        $ color = renpy.random.randint(3,4)
    elif mas_SELisUnlocked(store.mas_clothes_underwear_black) # no pink
        $ color = renpy.random.randint(1,2)
    else: # only white available
        $ color = 1

    if color == 3:
        call mas_clothes_change(outfit=mas_clothes_underwear_pink, outfit_mode=False, exp="6hubfb", restore_zoom=False)
    elif color == 2:
        call mas_clothes_change(outfit=mas_clothes_underwear_black, outfit_mode=False, exp="6hubfb", restore_zoom=False)
    else:    
        call mas_clothes_change(outfit=mas_clothes_underwear_white, outfit_mode=False, exp="6hubfb", restore_zoom=False)
    return

Add the label nsfw_pick_underwear block from above somewhere in nsfw_sexting.rpy (I put it between label nsfw_sexting_sexy_transfer and label nsfw_sexting_finale). Then replace all

if shouldchange == 1:
       call mas_clothes_change(outfit=mas_clothes_underwear_white, outfit_mode=False, exp="3tublb", restore_zoom=False)

with

if shouldchange == 1:
       call nsfw_pick_underwear

and you should be good to go. Example:

label nsfw_sexting_hot_transfer:
    m 1hub "Hah~ This is fun."
    m 3eua "I hope you're enjoying yourself as much as I am, [player]. Ehehe~"

    $ new_underwear = mas_nsfw.try_unlock_new_underwear()
    if new_underwear != None:
        m 3tub "Hey, [player]..."
        m 3tublb "I have a surprise for you..."

        call mas_clothes_change(outfit=new_underwear, outfit_mode=False, exp="2eublu", restore_zoom=False, unlock=True)

        m 2eubla "Ehehe~ I got a new pair of underwear!"
        m 2hublb "What do you think?"
        m 3eub "I think they're really cute!"
    else:
        python:
            if persistent._nsfw_lingerie_on_start:
                if store.mas_submod_utils.isSubmodInstalled("Auto Outfit Change"):
                    if store.ahc_utils.hasUnlockedClothesOfExprop("lingerie") and not store.ahc_utils.isWearingClothesOfExprop("lingerie"):
                        shouldchange = 2
                    elif mas_SELisUnlocked(store.mas_clothes_underwear_white): # unlikely case where player has AHC but no lingerie unlocked
                        shouldchange = 1
                elif mas_SELisUnlocked(store.mas_clothes_underwear_white): # player doesn't have AHC but does have submod underwear
                    shouldchange = 1

    if shouldchange == 1: 
        call nsfw_pick_underwear # change here
    elif shouldchange == 2:
        window hide
        call mas_transition_to_emptydesk
        python:
            renpy.pause(1.0, hard=True)
            store.ahc_utils.changeClothesOfExprop("lingerie")
            renpy.pause(4.0, hard=True)
        call mas_transition_from_emptydesk("monika 6hubfb")
        window hide
    $ shouldchange = 0

    m 3tua "..."
    m 1tuu "So.{w=0.1}.{w=0.1}.{w=0.1}are we going to keep going, or what?"
    m 1hublb "Ahaha! Just teasing you, [player]."
    return

Results:

17182776649259679744_20231115203453_1 17182776649259679744_20231115211144_1

SaltyMelonLord commented 8 months ago

Update: First code block simplified.

SaltyMelonLord commented 8 months ago

Update 2.0: Simplified the elif conditions.

NickWildish commented 8 months ago

Ah yeah, that's a good idea, so even if the user does not have the Auto Hair Change submod installed, they can still get some variety when sexting. I'll look at implementing this after the bugfixes have been resolved.