115 lines
3.6 KiB
Plaintext
115 lines
3.6 KiB
Plaintext
init 5 python:
|
|
|
|
def her_cg_doll_fix(st, at):
|
|
"""Used to fix the jaw issues on bent-over pose"""
|
|
|
|
face = hermione.get_face()
|
|
mouth = face["mouth"]
|
|
|
|
if hermione.pose == "CG_bent_over" and mouth in ("scream", "open_wide_tongue"):
|
|
return Image("images/CG/her_sex/{}.webp".format(mouth)), None
|
|
return Null(), None
|
|
|
|
def gen_cg_doll(st, at):
|
|
d = Image("{}genie_{}.webp".format(genie_doll_path, genie_doll))
|
|
return d, None
|
|
|
|
default genie_doll_path = "images/CG/her_sex/"
|
|
default genie_doll = "hold"
|
|
default genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp"
|
|
|
|
image CG genie_armfix = DynamicImage("[genie_doll_armfix]")
|
|
|
|
image CG her_doll_fix = DynamicDisplayable(her_cg_doll_fix)
|
|
image CG gen_doll = DynamicDisplayable(gen_cg_doll)
|
|
|
|
image CG her_sex = Fixed(
|
|
"images/CG/her_sex/background.webp",
|
|
"CG gen_doll",
|
|
"CG her_doll",
|
|
"CG her_doll_fix",
|
|
"images/CG/her_sex/foreground.webp",
|
|
"CG genie_armfix",
|
|
)
|
|
|
|
image CG her_intro hermione = Fixed(
|
|
"images/CG/her_intro/bg.webp",
|
|
AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG her_doll", zoom=1.2)), "images/CG/her_intro/mask.webp"),
|
|
)
|
|
|
|
image CG her_intro hermione bendover = Fixed(
|
|
"images/CG/her_intro/bg.webp",
|
|
"images/CG/her_intro/hermione_bendover.webp",
|
|
)
|
|
|
|
image CG breast expand corridor A1:
|
|
"images/CG/her_potions/breast_expand/corridor_a1.webp"
|
|
|
|
image CG breast expand corridor B1:
|
|
"images/CG/her_potions/breast_expand/corridor_b1.webp"
|
|
|
|
image CG breast expand classroom A1:
|
|
"images/CG/her_potions/breast_expand/classroom_a1.webp"
|
|
|
|
image CG breast expand classroom A2:
|
|
"images/CG/her_potions/breast_expand/classroom_a2.webp"
|
|
|
|
image CG breast expand classroom B1:
|
|
"images/CG/her_potions/breast_expand/classroom_b1.webp"
|
|
|
|
image CG breast expand classroom B2:
|
|
"images/CG/her_potions/breast_expand/classroom_b2.webp"
|
|
|
|
image CG ass expand classroom A1:
|
|
"images/CG/her_potions/ass_expand/classroom_a1.webp"
|
|
|
|
image CG ass expand classroom A2:
|
|
"images/CG/her_potions/ass_expand/classroom_a2.webp"
|
|
|
|
layeredimage her_vibrators_public:
|
|
fit "cover"
|
|
|
|
attribute background default
|
|
|
|
# TODO NPC reactions
|
|
|
|
attribute body default
|
|
group blush auto prefix "blush":
|
|
attribute neutral default
|
|
group tears auto prefix "tears"
|
|
group eyes auto prefix "eyes":
|
|
attribute forward default
|
|
group eyebrows auto prefix "eyebrows":
|
|
attribute neutral default
|
|
group mouth auto prefix "mouth":
|
|
attribute neutral default
|
|
attribute hair default
|
|
|
|
group wetness auto prefix "wetness"
|
|
|
|
group vibrator_upper multiple variant "vibrator_upper":
|
|
attribute base default
|
|
attribute egg default if_any ["nude" "nobra"]
|
|
attribute tape default if_any ["nude" "nobra"]
|
|
attribute effect default if_any ["nude" "nobra"]
|
|
|
|
group vibrator_lower multiple variant "vibrator_lower":
|
|
attribute base default
|
|
attribute egg default if_any ["nude" "nopanties"]
|
|
attribute tape default if_any ["nude" "nopanties"]
|
|
attribute effect default if_any ["nude" "nopanties"]
|
|
|
|
group underwear multiple:
|
|
attribute bra default if_any ["underwear", "nopanties"]
|
|
attribute panties default if_any ["underwear", "nobra"]
|
|
|
|
group outfit:
|
|
attribute uniform default
|
|
attribute underwear null
|
|
attribute nobra null
|
|
attribute nopanties null
|
|
attribute nude null
|
|
|
|
image her_vibrators_public_proxy = LayeredImageProxy("her_vibrators_public")
|
|
image her_vibrators_public_xray = Xray("her_vibrators_public", "her_vibrators_public_proxy", radius=0.18)
|