define sus_requirements = { "category upper undergarment": 5, "category lower undergarment": 5, "category piercings & tattoos": 16, "touch head": 4, "touch breasts": 12, "touch vagina": 18, "unequip panties": 6, "unequip bra": 6, "unequip top": 3, "unequip bottom": 3, } define sus_responses = { "category_fail": "sus_reaction_category_fail", "equip": "sus_reaction_equip", "equip_fail": "sus_reaction_equip_fail", "unequip": "sus_reaction_unequip", "unequip_fail": "sus_reaction_unequip_fail", "touch": "sus_reaction_touch", "touch_fail": "sus_reaction_touch_fail", "equip_outfit": "sus_reaction_equip_outfit", "equip_outfit_fail": "sus_reaction_equip_outfit_fail", "blacklist": "sus_reaction_blacklist", "fallback": "sus_reaction_fallback", } label sus_reaction_category_fail(category): if category == "upper undergarment": sus @ cheeks blush "M--{w=0.2} my underwear? W-- {w=0.2}Why do you require me to--{w=0.2} *Ehm*..." ("angry", "happy", "sad", "down") elif category == "lower undergarment": sus @ cheeks blush "M--{w=0.2} my underwear? W--{w=0.2} Why do you require me to--{w=0.2} *Ehm*..." ("soft", "happy", "sad", "downR") elif category == "piercings & tattoos": sus @ cheeks blush "W--{w=0.2} What would people... Sir, I don't want to be made f--{w=0.2} fun of..." ("angry", "happy", "sad", "right") sus @ cheeks blush "" ("normal", "happy", "sad", "mid") return label sus_reaction_touch(what): if what == "head": $ mouse_headpat() else: $ mouse_heart() if what == "head": $ mouse_headpat() random: sus "S--{w=0.2} Sir..." ("soft", "base", "base", "mid") sus "A--{w=0.2} Are you s-sure this is appropriate?" ("open", "base", "base", "right") sus @ cheeks blush "Professor, p--{w=0.2} please..." ("base", "base", "sad", "downR") elif what == "breasts": $ mouse_heart() random: sus @ cheeks blush "W--{w=0.2} Why are you..." ("soft", "happy", "sad", "stare") sus @ cheeks blush "P--{w=0.2} please, it's embarrassing..." ("angry", "happy", "sad", "downR") sus @ cheeks blush "D--{w=0.2} don't... Don't look at me, sir..." ("soft", "closed", "sad", "mid") elif what == "vagina": $ mouse_heart() random: sus @ cheeks blush "M--{w=0.2} My..." ("soft", "happy", "sad", "stare") sus @ cheeks blush "S--{w=0.2} Sir..." ("soft", "closed", "sad", "mid") sus @ cheeks blush "P--{w=0.2} please sir, it's embarrassing..." ("base", "happy", "sad", "downR") return label sus_reaction_touch_fail(what): if what == "head": $ mouse_slap() sus @ cheeks blush "*Eeek*!" ("angry", "happyCl", "sad", "mid") sus @ cheeks blush "I'm sorry sir, you scared me..." ("angry", "base", "sad", "mid") gen "(Poor thing isn't used to human touch...)" ("base", xpos="far_left", ypos="head") elif what == "breasts": $ mouse_slap() sus @ cheeks blush "Please...{w=0.4} Don't bully me [name_genie_susan]." ("angry", "happy", "sad", "down") elif what == "vagina": $ mouse_slap() sus @ cheeks blush "No! Please don't make me do this in front of everyone again..." ("angry", "happyCl", "sad", "mid") gen "Do what?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "N--{w=0.2} nothing [name_genie_susan], forgive me." ("angry", "wide", "sad", "stare") gen "(...)" ("base", xpos="far_left", ypos="head") return label sus_reaction_equip(item): ### Add specific clothing reactions here. # if item == : # sus "This looks awesome! I'll wear this with pride!" # TODO: Blacklist fallbacks have to be added. return label sus_reaction_equip_fail(item): ### Add specific clothing reactions here. # if item == : # sus "I won't wear because!" # else: # sus @ cheeks blush "I--{w=0.2} I..." ("soft", "happy", "base", "right") gen "You don't like it?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "It's not like t-that, I just..." ("angry", "happy", "worried", "right") gen "Not comfortable wearing it?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "*Uh-huh*" ("normal", "happy", "worried", "down") gen "Okay, maybe later then." ("base", xpos="far_left", ypos="head") return label sus_reaction_unequip(item): ### Example # if item.type == "panties": # if states.sus.level > 15: # sus "You want to see my snatch?" # sus "You got it [name_genie_hermione]!" # return label sus_reaction_unequip_fail(item): if item.type == "panties": sus @ cheeks blush "I'm N--{w=0.2} not comfortable with that, [name_genie_susan]..." ("open", "happy", "sad", "right") elif item.type == "bra": sus @ cheeks blush "P--{w=0.2} please, I can't be D--{w=0.2} doing that, [name_genie_susan]..." ("soft", "happy", "worried", "down") elif item.type == "top": sus @ cheeks blush "I don't know if this is a good idea..." ("annoyed", "happy", "sad", "mid") gen "You have nothing to be ashamed of." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "S--{w=0.2} Sorry, I can't..." ("soft", "happyCl", "worried", "mid") elif item.type == "bottom": sus @ cheeks blush "I--{w=0.2} I can't..." ("open", "happyCl", "sad", "mid") gen "It's okay, we'll work on your confidence first." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "Thank you..." ("soft", "happy", "base", "mid") return label sus_reaction_equip_outfit(item): ######################## ## Default Schoolgirl ## ######################## if item == sus_outfit_default: gen "Could you put on your regular school uniform for me?" ("base", xpos="far_left", ypos="head") sus "Of course, [name_genie_susan]." ("base", "base", "base", "mid") sus "I'll just go and change real quick..." ("open", "base", "base", "right") ########################## ## Muggle Casual Outfit ## ########################## elif item == sus_outfit_muggle_casual1: gen "Could you put on your normal clothing for me?" ("base", xpos="far_left", ypos="head") sus "What do you--{w=0.2} *Ehm*...{w=0.4} Which clothing, [name_genie_susan]?" ("soft", "happy", "raised", "mid") gen "The boring sweater one, and the jeans." ("base", xpos="far_left", ypos="head") sus "My muggle clothing?" ("open", "base", "raised", "mid") gen "Sure!" ("base", xpos="far_left", ypos="head") sus "Okay then." ("base", "base", "base", "mid") ######################## ## Lingerie Outfit 1 ## ######################## elif item == sus_outfit_lace1: gen "Could you put on this lingerie for me please?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "Okay...{w=0.4} One moment [name_genie_susan]." ("base", "narrow", "base", "downR") ############################## ## Latex Underwear Outfit 1 ## ############################## elif item ==sus_outfit_latex1: gen "Put your latex underwear on for me." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "The--{w=0.2} The latex, but it's so tight..." ("soft", "narrow", "base", "down") gen "I know! Perfectly enhances your greatest features!" ("base", xpos="far_left", ypos="head") gen "Or squishes them, rather..." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "Alright, if you say so..." ("base", "narrow", "base", "down") ################ ## Priestess Outfit ## ################ elif item ==sus_outfit_priestess: gen "How about you put on this Priestess outfit for me?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "A--{w=0.2} A Priestess outfit, [name_genie_susan]?" ("soft", "narrow", "base", "mid") gen "Indeed." ("grin", xpos="far_left", ypos="head") sus @ cheeks blush "Why would you-- I mean... Sorry, but I'm a bit confused." ("open", "narrow", "base", "down") gen "Luckily, you've got me here for guidance." ("grin", xpos="far_left", ypos="head") gen "Now put the dress on." ("grin", xpos="far_left", ypos="head") sus @ cheeks blush "Oh--{w=0.2} Okay then..." ("open", "narrow", "base", "mid") else: gen "Could you put this on for me?" ("base", xpos="far_left", ypos="head") sus "Of course [name_genie_susan]..." ("base", "base", "base", "mid") # TODO: Blacklist fallbacks have to be added. return label sus_reaction_equip_outfit_fail(item): ######################## ## Lingerie Outfit 1 ## ######################## if item == sus_outfit_lace1: gen "Could you put on this lingerie for me please?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "L--{w=0.2} Lingerie!?" ("angry", "wide", "shocked", "mid") gen "Yep." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "I--{w=0.2} I--{w=0.2} Why would you ask me to--" ("angry", "happyCl", "worried", "mid") gen "...{w=0.4} Maybe some other time then." ("base", xpos="far_left", ypos="head") ############################## ## Latex Underwear Outfit 1 ## ############################## elif item ==sus_outfit_latex1: gen "Put your latex underwear on for me." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "The-- The what?!?" ("angry", "wide", "shocked", "mid") gen "These!" ("grin", xpos="far_left", ypos="head") sus @ cheeks blush "Oh, by Merlin's beard!" ("clench", "wide", "base", "down") sus @ cheeks blush "I can't wear these!" ("open", "happyCl", "worried", "mid") gen "Of course you can! I made sure to have them made specifically for your size of--" ("base", xpos="far_left", ypos="head") gen "I mean, your size!" ("angry", xpos="far_left", ypos="head") sus @ cheeks blush "..." ("annoyed", "happy", "sad", "mid") gen "Oh, you meant can't as in won't." ("base", xpos="far_left", ypos="head") gen "Alright... Never mind then." ("base", xpos="far_left", ypos="head") ###################### ## Priestess Outfit ## ###################### elif item ==sus_outfit_priestess: gen "Put on this Priestess outfit for me will you?" ("base", xpos="far_left", ypos="head") sus "A what, sorry?" gen "This dress, here." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "B-- But, [name_genie_susan]!" ("angry", "wide", "shocked", "mid") sus @ cheeks blush "S-- Surely wearing that would be s--{w=0.2} sacrilegious!" ("open", "happyCl", "worried", "mid") gen "Sacre-- what?" ("base", xpos="far_left", ypos="head") gen "Sorry, I don't speak French." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "I-- I am not a Priestess, [name_genie_susan]." ("soft", "happy", "sad", "down") gen "What does that have to do with wearing a dress?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "S-- Sorry, [name_genie_susan]... I think I better not."("soft", "happy", "sad", "right") gen "Sacrebleu..." ("base", xpos="far_left", ypos="head") else: sus "I--{w=0.2} I..." ("angry", "happy", "sad", "mid") gen "You don't like it?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "It's not t-that I--{w=0.2} I just..." ("soft", "happyCl", "sad", "mid") gen "Not comfortable wearing it?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "*Uh-huh*" ("soft", "happy", "sad", "down") gen "Okay, maybe later then." ("base", xpos="far_left", ypos="head") return label sus_reaction_blacklist(item): sus "B--{w=0.2} but..." ("angry", "happy", "sad", "mid") gen "But what?" ("base", xpos="far_left", ypos="head") if "top" in item.blacklist and susan.is_worn("top"): sus "I would feel cold without my top..." ("annoyed", "happy", "sad", "down") if "bottom" in item.blacklist and susan.is_worn("bottom"): sus @ cheeks blush "I c--{w=0.2} can't take off my bottoms." ("open", "happy", "sad", "down") gen "Can't or won't?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "Won't..." ("annoyed", "happy", "sad", "mid") gen "Come off it, I'm sure you'll like it." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "..." ("soft", "happy", "base", "right") if "bra" in item.blacklist and susan.is_worn("bra"): gen "Let me guess, you aren't comfortable without a bra?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "*uh-huh*" ("soft", "happy", "sad", "down") sus @ cheeks blush "" ("soft", "happy", "sad", "mid") if "panties" in item.blacklist and susan.is_worn("panties"): sus @ cheeks blush "M--{w=0.2} My panties..." ("angry", "happy", "sad", "down") gen "Oh, right... Yeah, you'd need to do something about those..." ("base", xpos="far_left", ypos="head") sus @ cheeks blush "I'd have to--{w=0.4} To..." ("soft", "happy", "sad", "downR") gen "How about just giving it a try?" ("base", xpos="far_left", ypos="head") gen "If you don't like it, you can always change back, would that be okay?" ("base", xpos="far_left", ypos="head") sus @ cheeks blush "Alright..." ("base", "happy", "base", "down") sus @ cheeks blush "" ("base", "happy", "base", "mid") return label sus_reaction_fallback(item): if states.sus.level < get_character_requirement("susan", "unequip top") and not "top" in susan.blacklist and not item.type == "top": $ susan.equip(sus_top_school1) if states.sus.level < get_character_requirement("susan", "unequip bottom") and not "bottom" in susan.blacklist and not item.type == "bottom": $ susan.equip(sus_bottom_school1) if states.sus.level < get_character_requirement("susan", "unequip bra") and not "bra" in susan.blacklist and not item.type == "bra": $ susan.equip(sus_bra_base1) if states.sus.level < get_character_requirement("susan", "unequip panties") and not "panties" in susan.blacklist and not item.type == "panties": $ susan.equip(sus_panties_base1) sus "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "right") sus "" ("base", "base", "base", "mid") return