2022-05-16 23:48:22 +00:00
|
|
|
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":
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "M--{w=0.2} my underwear? W-- {w=0.2}Why do you require me to--{w=0.2} *Ehm*..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
elif category == "lower undergarment":
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "M--{w=0.2} my underwear? W--{w=0.2} Why do you require me to--{w=0.2} *Ehm*..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
elif category == "piercings & tattoos":
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "W--{w=0.2} What would people... Sir, I don't want to be made f--{w=0.2} fun of..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_touch(what):
|
|
|
|
if what == "head":
|
|
|
|
$ mouse_headpat()
|
|
|
|
else:
|
|
|
|
$ mouse_heart()
|
|
|
|
|
|
|
|
if what == "head":
|
|
|
|
$ mouse_headpat()
|
|
|
|
$ random_number = renpy.random.randint(1, 3)
|
|
|
|
|
|
|
|
if random_number == 1:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "S--{w=0.2} Sir..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
elif random_number == 2:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "A--{w=0.2} Are you s-sure this is appropriate?" ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
elif random_number == 3:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "Professor, p--{w=0.2} please..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
elif what == "breasts":
|
|
|
|
$ mouse_heart()
|
|
|
|
$ random_number = renpy.random.randint(1, 3)
|
|
|
|
|
|
|
|
if random_number == 1:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "W--{w=0.2} Why are you..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
elif random_number == 2:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "P--{w=0.2} please, it's embarrassing..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
elif random_number == 3:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "D--{w=0.2} don't... Don't look at me sir..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
elif what == "vagina":
|
|
|
|
$ mouse_heart()
|
|
|
|
$ random_number = renpy.random.randint(1, 3)
|
|
|
|
|
|
|
|
if random_number == 1:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "M--{w=0.2} My..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
elif random_number == 2:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "S--{w=0.2} Sir..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
elif random_number == 3:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "P--{w=0.2} please sir, it's embarrassing..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_touch_fail(what):
|
|
|
|
if what == "head":
|
|
|
|
$ mouse_slap()
|
|
|
|
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "*Eeek!*" ("base", "base", "base", "mid")
|
|
|
|
sus "I'm sorry sir, you scared me..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
gen "(Poor thing isn't used to human touch...)" ("base", xpos="far_left", ypos="head")
|
|
|
|
|
|
|
|
elif what == "breasts":
|
|
|
|
$ mouse_slap()
|
|
|
|
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "Please don't bully me [sus_genie_name]..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
elif what == "vagina":
|
|
|
|
$ mouse_slap()
|
|
|
|
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "No! Please don't make me do this in front of everyone again..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
gen "Do what?" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "N--{w=0.2} nothing [sus_genie_name], forgive me." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
gen "(...)" ("base", xpos="far_left", ypos="head")
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_equip(item):
|
2022-06-13 17:25:01 +00:00
|
|
|
### Add specific clothing reactions here.
|
|
|
|
# if item == <DollCloth Object>:
|
|
|
|
# sus "This <specific item description> looks awesome! I'll wear this <specific item description> with pride!"
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
# TODO: Blacklist fallbacks have to be added.
|
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_equip_fail(item):
|
2022-06-13 17:25:01 +00:00
|
|
|
### Add specific clothing reactions here.
|
|
|
|
# if item == <DollCloth Object>:
|
|
|
|
# sus "I won't wear <specific item description> because!"
|
|
|
|
# else:
|
|
|
|
# <indent code below to be used as a fallback>
|
|
|
|
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "I--{w=0.2} I..." ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "You don't like it?" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "It's not like t-that, I just..." ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "Not comfortable wearing it?" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "*Uh-huh*" ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "Okay, maybe later then." ("base", xpos="far_left", ypos="head")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_unequip(item):
|
|
|
|
### Example
|
|
|
|
# if item.type == "panties":
|
|
|
|
# if sus_whoring > 15:
|
|
|
|
# sus "You want to see my snatch?"
|
|
|
|
# sus "You got it [genie_name]!"
|
|
|
|
#
|
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_unequip_fail(item):
|
|
|
|
if item.type == "panties":
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "I'm N--{w=0.2} not comfortable with that, [sus_genie_name]..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
elif item.type == "bra":
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "P--{w=0.2} please, I can't be W--{w=0.2} wearing this [sus_genie_name].." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
elif item.type == "top":
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "I don't know if this is a good idea..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
gen "You have nothing to be ashamed of." ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "S--{w=0.2} Sorry, I can't..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
elif item.type == "bottom":
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "I can't..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
gen "It's okay, we'll work on your confidence first." ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "Thank you..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_equip_outfit(item):
|
2022-06-15 14:57:38 +00:00
|
|
|
########################
|
|
|
|
## Default Schoolgirl ##
|
|
|
|
########################
|
|
|
|
if item == _sus_outfit_default:
|
|
|
|
gen "Could you put on your regular school uniform for me?"
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "Of course, [sus_genie_name]." ("base", "base", "base", "mid")
|
|
|
|
sus "I'll just go and change real quick..." ("base", "base", "base", "mid")
|
2022-06-15 14:57:38 +00:00
|
|
|
|
2022-06-13 17:25:01 +00:00
|
|
|
##########################
|
|
|
|
## Muggle Casual Outfit ##
|
|
|
|
##########################
|
2022-06-15 14:57:38 +00:00
|
|
|
elif item == sus_outfit_muggle_casual1:
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "Could you put on your normal clothing for me." ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "What do you... *Ehm*... Which clothing, [sus_genie_name]?" ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "The boring sweater one, and the jeans." ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "My muggle clothing?" ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "Sure!" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "Okay then." ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
|
|
|
|
########################
|
|
|
|
## Lingerie Outfit 1 ##
|
|
|
|
########################
|
|
|
|
elif item == sus_outfit_lace1:
|
|
|
|
gen "Could you put on these lingerie for me please?" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "Okay... One moment [sus_genie_name]." ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
else:
|
|
|
|
gen "Could you put this on for me?" ("base", xpos="far_left", ypos="head")
|
|
|
|
sus "Of course [sus_genie_name]..."
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
# TODO: Blacklist fallbacks have to be added.
|
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_equip_outfit_fail(item):
|
2022-06-13 17:25:01 +00:00
|
|
|
########################
|
|
|
|
## Lingerie Outfit 1 ##
|
|
|
|
########################
|
|
|
|
if item == sus_outfit_lace1:
|
|
|
|
gen "Could you put on these lingerie for me please?" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "L--{w=0.2} Lingerie!?" ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "Yep." ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "I--{w=0.2} I--{w=0.2} Why would you ask me to--" ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "...{w=0.4} Maybe some other time then." ("base", xpos="far_left", ypos="head")
|
|
|
|
else:
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "I--{w=0.2} I..." ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "You don't like it?" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "It's not like t-that, I just..." ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "Not comfortable wearing it?" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "*Uh-huh*" ("base", "base", "base", "mid")
|
2022-06-13 17:25:01 +00:00
|
|
|
gen "Okay, maybe later then." ("base", xpos="far_left", ypos="head")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_blacklist(item):
|
|
|
|
sus "B--{w=0.2} but..." ("base", "base", "base", "mid")
|
|
|
|
gen "But what?" ("base", xpos="far_left", ypos="head")
|
|
|
|
|
|
|
|
if "top" in item.blacklist and susan.is_worn("top"):
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "I would feel cold without my top..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
if "bottom" in item.blacklist and susan.is_worn("bottom"):
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "I c--{w=0.2} can't take off my skirt." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
gen "Can't or won't?" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "Won't..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
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")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "*uh-huh*" ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
if "panties" in item.blacklist and susan.is_worn("panties"):
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "The panties are e-essential for me..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
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, that okay?" ("base", xpos="far_left", ypos="head")
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "Alright..." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label sus_reaction_fallback(item):
|
|
|
|
if sus_whoring < get_character_requirement("susan", "unequip top") and not "top" in susan.blacklist and not item.type == "top":
|
|
|
|
$ susan.equip(sus_top_school1)
|
|
|
|
|
|
|
|
if sus_whoring < get_character_requirement("susan", "unequip bottom") and not "bottom" in susan.blacklist and not item.type == "bottom":
|
|
|
|
$ susan.equip(sus_bottom_school1)
|
|
|
|
|
|
|
|
if sus_whoring < get_character_requirement("susan", "unequip bra") and not "bra" in susan.blacklist and not item.type == "bra":
|
|
|
|
$ susan.equip(sus_bra_base1)
|
|
|
|
|
|
|
|
if sus_whoring < get_character_requirement("susan", "unequip panties") and not "panties" in susan.blacklist and not item.type == "panties":
|
|
|
|
$ susan.equip(sus_panties_base1)
|
|
|
|
|
2022-06-15 21:17:20 +00:00
|
|
|
sus "Just give me a second, I need to get my clothes back in order." ("base", "base", "base", "mid")
|
2022-05-16 23:48:22 +00:00
|
|
|
sus "" ("base", "base", "base", "mid")
|
|
|
|
return
|