Unify and simplify kinetic text effect func
This commit is contained in:
parent
a267ebabba
commit
d66866aecb
@ -42,7 +42,7 @@ label ast_reaction_category_fail(category):
|
||||
|
||||
label ast_reaction_touch(what):
|
||||
if what == "head":
|
||||
$ mouse_headpat()
|
||||
$ show_kinetic_text(_("{shudder}*pat*{/shudder}"), sound="sounds/slap_03.ogg")
|
||||
|
||||
random:
|
||||
block:
|
||||
@ -55,7 +55,7 @@ label ast_reaction_touch(what):
|
||||
gen "*Err*..." ("base", xpos="far_left", ypos="head")
|
||||
ast "When people called you eccentric I didn't think they meant bonkers mad..." ("clench", "closed", "base", "down")
|
||||
elif what == "breasts":
|
||||
$ mouse_boing()
|
||||
$ show_kinetic_text(_("{shake}*boing*{/shake}"), sound="sounds/boing02.ogg")
|
||||
|
||||
random:
|
||||
block:
|
||||
@ -68,7 +68,7 @@ label ast_reaction_touch(what):
|
||||
block:
|
||||
ast "Gross..." ("annoyed", "narrow", "base", "mid")
|
||||
elif what == "vagina":
|
||||
$ mouse_heart()
|
||||
$ show_kinetic_text(_("*squelch*"), sound="sounds/drooling.ogg", trans=squeeze_hearts)
|
||||
|
||||
random:
|
||||
block:
|
||||
|
@ -57,7 +57,7 @@ label cho_reaction_category_fail(category):
|
||||
|
||||
label cho_reaction_touch(what):
|
||||
if what == "head":
|
||||
$ mouse_headpat()
|
||||
$ show_kinetic_text(_("{shudder}*pat*{/shudder}"), sound="sounds/slap_03.ogg")
|
||||
|
||||
if states.cho.level < 10: #Pre Slytherin match (after hufflepuff match)
|
||||
random:
|
||||
@ -89,7 +89,7 @@ label cho_reaction_touch(what):
|
||||
|
||||
|
||||
elif what == "breasts":
|
||||
$ mouse_boing()
|
||||
$ show_kinetic_text(_("{shake}*boing*{/shake}"), sound="sounds/boing02.ogg")
|
||||
|
||||
if states.cho.level < 16: # Before Gryffindor match
|
||||
random:
|
||||
@ -111,7 +111,7 @@ label cho_reaction_touch(what):
|
||||
cho @ cheeks blush "Glad you appreciate them as much as I do..." ("smile", "wink", "base", "mid")
|
||||
|
||||
elif what == "vagina":
|
||||
$ mouse_heart()
|
||||
$ show_kinetic_text(_("*squelch*"), sound="sounds/drooling.ogg", trans=squeeze_hearts)
|
||||
|
||||
if states.cho.level < 16: #Before Gryffindor match
|
||||
random:
|
||||
|
@ -56,7 +56,7 @@ label her_reaction_category_fail(category):
|
||||
|
||||
label her_reaction_touch(what):
|
||||
if what == "head":
|
||||
$ mouse_headpat()
|
||||
$ show_kinetic_text(_("{shudder}*pat*{/shudder}"), sound="sounds/slap_03.ogg")
|
||||
|
||||
if states.her.level >= 20:
|
||||
#craving it
|
||||
@ -90,7 +90,7 @@ label her_reaction_touch(what):
|
||||
her "Why are you doing that?" ("clench", "base", "base", "R")
|
||||
|
||||
elif what == "breasts":
|
||||
$ mouse_boing()
|
||||
$ show_kinetic_text(_("{shake}*boing*{/shake}"), sound="sounds/boing02.ogg")
|
||||
|
||||
if states.her.level >= 20:
|
||||
random:
|
||||
@ -112,7 +112,7 @@ label her_reaction_touch(what):
|
||||
her @ cheeks blush "I guess a small kiss is fine..." ("annoyed", "base", "base", "R")
|
||||
her @ cheeks blush "That's not my cheek..." ("disgust", "narrow", "base", "mid")
|
||||
elif what == "vagina":
|
||||
$ mouse_heart()
|
||||
$ show_kinetic_text(_("*squelch*"), sound="sounds/drooling.ogg", trans=squeeze_hearts)
|
||||
|
||||
if hermione.is_worn("bottom"):
|
||||
# Bottoms only OR Bottoms AND panties
|
||||
|
@ -51,7 +51,7 @@ label lun_reaction_category_fail(category):
|
||||
|
||||
label lun_reaction_touch(what):
|
||||
if what == "head":
|
||||
$ mouse_headpat()
|
||||
$ show_kinetic_text(_("{shudder}*pat*{/shudder}"), sound="sounds/slap_03.ogg")
|
||||
|
||||
if states.lun.tier == 5:
|
||||
random:
|
||||
@ -102,7 +102,7 @@ label lun_reaction_touch(what):
|
||||
|
||||
|
||||
elif what == "breasts":
|
||||
$ mouse_boing()
|
||||
$ show_kinetic_text(_("{shake}*boing*{/shake}"), sound="sounds/boing02.ogg")
|
||||
|
||||
if states.lun.tier == 5:
|
||||
random:
|
||||
@ -149,7 +149,7 @@ label lun_reaction_touch(what):
|
||||
lun "Sorry [name_genie_luna], your beard is tickling me..." ("smile", "base", "base", "mid")
|
||||
|
||||
elif what == "vagina":
|
||||
$ mouse_heart()
|
||||
$ show_kinetic_text(_("*squelch*"), sound="sounds/drooling.ogg", trans=squeeze_hearts)
|
||||
|
||||
if states.lun.tier == 5:
|
||||
random:
|
||||
|
@ -38,7 +38,7 @@ label sus_reaction_category_fail(category):
|
||||
|
||||
label sus_reaction_touch(what):
|
||||
if what == "head":
|
||||
$ mouse_headpat()
|
||||
$ show_kinetic_text(_("{shudder}*pat*{/shudder}"), sound="sounds/slap_03.ogg")
|
||||
|
||||
random:
|
||||
sus "S--{w=0.2} Sir..." ("soft", "base", "base", "mid")
|
||||
@ -46,14 +46,14 @@ label sus_reaction_touch(what):
|
||||
sus @ cheeks blush "Professor, p--{w=0.2} please..." ("base", "base", "sad", "downR")
|
||||
|
||||
elif what == "breasts":
|
||||
$ mouse_boing()
|
||||
$ show_kinetic_text(_("{shake}*boing*{/shake}"), sound="sounds/boing02.ogg")
|
||||
|
||||
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()
|
||||
$ show_kinetic_text(_("*squelch*"), sound="sounds/drooling.ogg", trans=squeeze_hearts)
|
||||
|
||||
random:
|
||||
sus @ cheeks blush "M--{w=0.2} My..." ("soft", "happy", "sad", "stare")
|
||||
|
@ -52,7 +52,7 @@ label ton_reaction_category_fail(category):
|
||||
|
||||
label ton_reaction_touch(what):
|
||||
if what == "head":
|
||||
$ mouse_headpat()
|
||||
$ show_kinetic_text(_("{shudder}*pat*{/shudder}"), sound="sounds/slap_03.ogg")
|
||||
|
||||
random:
|
||||
ton "Is this what you do to our students? A bit tame, don't you think?" ("soft", "narrow", "base", "mid")
|
||||
@ -66,7 +66,7 @@ label ton_reaction_touch(what):
|
||||
ton "Don't you dare touch my elbows next..." ("soft", "narrow", "base", "mid")
|
||||
|
||||
elif what == "breasts":
|
||||
$ mouse_boing()
|
||||
$ show_kinetic_text(_("{shake}*boing*{/shake}"), sound="sounds/boing02.ogg")
|
||||
|
||||
random:
|
||||
ton "*Mmm*..." ("base", "narrow", "base", "up")
|
||||
@ -76,7 +76,7 @@ label ton_reaction_touch(what):
|
||||
ton "I don't remember this being part of the job description..." ("horny", "narrow", "shocked", "down")
|
||||
ton "But I'll look the other way for now..." ("grin", "closed", "base", "mid")
|
||||
elif what == "vagina":
|
||||
$ mouse_heart()
|
||||
$ show_kinetic_text(_("*squelch*"), sound="sounds/drooling.ogg", trans=squeeze_hearts)
|
||||
|
||||
random:
|
||||
ton "A gentleman usually doesn't kiss on the lips, but I'll allow it..." ("soft", "closed", "base", "mid")
|
||||
@ -97,11 +97,11 @@ label ton_reaction_touch_fail(what):
|
||||
block:
|
||||
ton "Hey, don't do that!" ("open", "narrow", "base", "mid")
|
||||
ton "Let me pet you instead." ("base", "narrow", "angry", "mid")
|
||||
$ mouse_headpat()
|
||||
$ show_kinetic_text(_("{shudder}*pat*{/shudder}"), sound="sounds/slap_03.ogg")
|
||||
pause 0.35
|
||||
$ mouse_headpat()
|
||||
$ show_kinetic_text(_("{shudder}*pat*{/shudder}"), sound="sounds/slap_03.ogg")
|
||||
pause 0.35
|
||||
$ mouse_headpat()
|
||||
$ show_kinetic_text(_("{shudder}*pat*{/shudder}"), sound="sounds/slap_03.ogg")
|
||||
ton "Good boy!" ("horny", "narrow", "base", "mid")
|
||||
|
||||
elif what == "breasts":
|
||||
|
@ -106,6 +106,25 @@ init -1 python:
|
||||
|
||||
return score
|
||||
|
||||
def show_kinetic_text(text, style="what_centered_small", pos=None, anchor=(0.5, 0.6), zoom=1.0, sound=None, trans=None, timer=1):
|
||||
if pos is None:
|
||||
start_x, start_y = renpy.get_mouse_pos()
|
||||
else:
|
||||
start_x, start_y = pos
|
||||
|
||||
target_x, target_y = start_x, start_y-15
|
||||
xanchor, yanchor = anchor
|
||||
|
||||
if sound:
|
||||
renpy.play(sound)
|
||||
|
||||
if trans:
|
||||
d = At(At(Text(text, style=style), trans), random_rotation) # We need to do this in two steps because of the rotation
|
||||
else:
|
||||
d = At(Text(text, style=style), random_rotation)
|
||||
|
||||
renpy.show_screen("gfx_effect", start_x=start_x, start_y=start_y, target_x=target_x, target_y=target_y, img=d, xanchor=xanchor, yanchor=yanchor, zoom=zoom, timer=timer)
|
||||
|
||||
def mouse_slap():
|
||||
"""Causes the mouse to be moved away from current position and displays a smoke effect"""
|
||||
renpy.play('sounds/slap.ogg')
|
||||
@ -116,36 +135,6 @@ init -1 python:
|
||||
renpy.show_screen("gfx_effect", start_x=x, start_y=y, target_x=xx, target_y=yy, img="smoke", xanchor=0.1, yanchor=0.7, zoom=0.2, duration=0.15)
|
||||
renpy.set_mouse_pos(xx, yy, duration=0.1)
|
||||
|
||||
def mouse_headpat():
|
||||
"""Causes the mouse to be moved away from current position and displays a heart effect"""
|
||||
renpy.play("sounds/slap_03.ogg")
|
||||
renpy.stop_predict_screen("gfx_effect")
|
||||
x, y = renpy.get_mouse_pos()
|
||||
xx, yy = x, y-15
|
||||
img = At(Text(_("{shudder}*pat*{/shudder}")), random_rotation)
|
||||
renpy.hide_screen("gfx_effect")
|
||||
renpy.show_screen("gfx_effect", start_x=x, start_y=y, target_x=xx, target_y=yy, img=img, xanchor=0.5, yanchor=0.65, zoom=1.0, timer=1)
|
||||
|
||||
def mouse_boing():
|
||||
"""Causes the mouse to be moved away from current position and displays a heart effect"""
|
||||
renpy.play('sounds/boing02.ogg')
|
||||
renpy.stop_predict_screen("gfx_effect")
|
||||
x, y = renpy.get_mouse_pos()
|
||||
xx, yy = x, y-15
|
||||
img = At(Text(_("{shake}*boing*{/shake}")), random_rotation)
|
||||
renpy.hide_screen("gfx_effect")
|
||||
renpy.show_screen("gfx_effect", start_x=x, start_y=y, target_x=xx, target_y=yy, img=img, xanchor=0.5, yanchor=0.65, zoom=1.0, timer=1)
|
||||
|
||||
def mouse_heart():
|
||||
"""Causes the mouse to be moved away from current position and displays a heart effect"""
|
||||
renpy.play('sounds/drooling.ogg')
|
||||
renpy.stop_predict_screen("gfx_effect")
|
||||
x, y = renpy.get_mouse_pos()
|
||||
xx, yy = x, y-15
|
||||
img = At(At(Text(_("*squelch*"), style="what_centered_small"), squeeze_hearts), random_rotation)
|
||||
renpy.hide_screen("gfx_effect")
|
||||
renpy.show_screen("gfx_effect", start_x=x, start_y=y, target_x=xx, target_y=yy, img=img, xanchor=0.5, yanchor=0.65, zoom=1.0, timer=1)
|
||||
|
||||
def wardrobe_fail_hint(value):
|
||||
"""Displays required whoring/friendship/affection level."""
|
||||
word_list = {"tonks": "friendship", "astoria": "affection", "susan": "confidence", "luna": "corruption", "cho": "recklessness", "hermione": "whoring"}
|
||||
@ -159,32 +148,6 @@ init -1 python:
|
||||
renpy.with_statement(d3)
|
||||
return
|
||||
|
||||
def list_outfit_files():
|
||||
|
||||
@functools.cache
|
||||
def build_button(rp):
|
||||
style = "wardrobe_button"
|
||||
child = Fixed(Transform(rp, xsize=96, fit="contain", yalign=1.0, yoffset=-6), Frame(gui.format("interface/frames/{}/iconframe.webp"), 6, 6), xysize=(96, 168))
|
||||
action = Return(["import", rp])
|
||||
hover_foreground = "#ffffff80"
|
||||
|
||||
return Button(child=child, action=action, hover_foreground=hover_foreground, style=style)
|
||||
|
||||
path = f"{config.gamedir}/outfits/"
|
||||
|
||||
if not os.path.exists(path):
|
||||
os.makedirs(path)
|
||||
|
||||
files = []
|
||||
for f in os.listdir(path):
|
||||
fp = os.path.join(path, f)
|
||||
rp = os.path.relpath(fp, config.gamedir).replace("\\", "/")
|
||||
|
||||
if os.path.isfile(os.path.join(path, f)) and f.endswith(".png"):
|
||||
files.append(build_button(rp))
|
||||
|
||||
return files
|
||||
|
||||
transform squeeze_hearts:
|
||||
animation
|
||||
subpixel True
|
||||
|
@ -309,8 +309,8 @@ init python in wardrobe:
|
||||
delete_action = renpy.store.Function(renpy.store.colorpicker.cp.remove_favorite, i) if col else renpy.store.NullAction()
|
||||
save_action = renpy.store.Function(renpy.store.colorpicker.cp.add_favorite, i, renpy.store.colorpicker.cp.live_color)
|
||||
d = {
|
||||
_("Select"): (renpy.store.Text("✅", align=(0.5, 0.5)), [exit_action, select_action]),
|
||||
_("Delete"): (renpy.store.Text("❌", align=(0.5, 0.5)), [exit_action, delete_action]),
|
||||
_("Select"): (renpy.store.Text("✅", align=(0.5, 0.5)), [exit_action, select_action]),
|
||||
}
|
||||
|
||||
if col:
|
||||
|
Loading…
Reference in New Issue
Block a user