Compare commits

..

10 Commits
main ... gouv-5

26 changed files with 82 additions and 149 deletions

View File

@ -273,10 +273,10 @@ image ch_gen dick_out:
"characters/genie/chibis/jerk_off/dick_out.webp"
image ch_gen dick_out_normal:
"characters/genie/chibis/jerk_off/dick_out_normal.webp"
"characters/genie/chibis/jerk_off/dick_out_normal.webp"
image ch_gen dick_out_shocked:
"characters/genie/chibis/jerk_off/dick_out_shocked.webp"
"characters/genie/chibis/jerk_off/dick_out_shocked.webp"
# Masturbating while standing
#TODO Genie's standing jerk off chibis don't stand level with the others. Fix this and check/correct relevant events

View File

@ -18,7 +18,7 @@ init python:
renpy.show_screen(controller, focused)
screen cho_dual_cg(focused, _layer="screens", bubble="cho_handjob_bubble", mask="cho_handjob_bubble_mask"):
screen cho_dual_cg(focused, _layer="screens", bubble_="cho_handjob_bubble", mask="cho_handjob_bubble_mask"):
tag switcher
zorder 300
@ -27,12 +27,12 @@ screen cho_dual_cg(focused, _layer="screens", bubble="cho_handjob_bubble", mask=
if d:
$ btn = AlphaMask(Fixed(Transform(d, align=( (1.0, 0.05) if flip else (0.0, 0.05) ), zoom=0.5, xzoom=flip)), Transform(mask, zoom=0.25))
$ btn = Fixed(Transform(bubble, zoom=0.25), btn)
$ btn = Fixed(Transform(bubble_, zoom=0.25), btn)
imagebutton:
idle Transform(btn, alpha=0.75)
hover Transform(btn, alpha=1.0)
action Function(cg_pov_switch, layer=_layer)
focus_mask True
at transform:
xzoom flip
xzoom flip

View File

@ -50,10 +50,10 @@ label ast_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path=
return
# Screens
screen ast_cloth_pile(position=(440, 425)): # Default position: Right of desk, below feet.
screen ast_cloth_pile(pos=(440, 425)): # Default position: Right of desk, below feet.
tag ast_cloth_pile
zorder astoria_chibi.zorder
add "characters/chibis/cloth_pile_r.webp" pos position zoom 0.5
add "characters/chibis/cloth_pile_r.webp" pos pos zoom 0.5
# Chibi definition
default astoria_chibi = Chibi("astoria", ["fix", "base", "bottom", "shoes", "top", "robe", "gloves"], update_astoria_chibi)

View File

@ -50,10 +50,10 @@ label cho_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path=
return
# Screens
screen cho_cloth_pile(position=(440, 425)): # Default position: Right of desk, below feet.
screen cho_cloth_pile(pos=(440, 425)): # Default position: Right of desk, below feet.
tag cho_cloth_pile
zorder cho_chibi.zorder
add "characters/chibis/cloth_pile_r.webp" pos position zoom 0.5
add "characters/chibis/cloth_pile_r.webp" pos pos zoom 0.5
# Chibi definition
default cho_chibi = Chibi("cho", ["fix", "base", "bottom", "shoes", "top", "robe", "gloves"], update_cho_chibi)

View File

@ -813,7 +813,7 @@ label cc_pf_strip_T2_intro_E3:
cho @ cheeks blush "Does Granger do these sorts of things for you too?" ("soft", "base", "worried", "mid")
# Remove skirt.
# Remove skirt.
if cho.is_worn("bottom"):
play sound "sounds/cloth_sound3.ogg"
hide cho_main
@ -910,7 +910,7 @@ label cc_pf_strip_T2_intro_E3:
hide screen bld1
hide screen blkfade
with d3
call teleport(position="cho", effect=False)
call teleport(position_="cho", effect=False)
pause .5
call bld
@ -1239,4 +1239,3 @@ label cc_pf_strip_T2_E3_fail_repeat:
call cho_walk(action="leave")
jump end_cho_event

View File

@ -101,7 +101,7 @@ label hufflepuff_match:
with d3
call gen_chibi("stand", "door", "base")
call teleport(position="genie", effect=False)
call teleport(position_="genie", effect=False)
pause .5
call gen_chibi("stand", "door", "base", flip=False)

View File

@ -1680,7 +1680,7 @@ label cho_quid_E14:
play sound "sounds/kick.ogg"
call gen_chibi("stand", 430, "base")
call teleport(position="genie", effect=False)
call teleport(position_="genie", effect=False)
cho @ cheeks blush "Whoa! I didn't know you could apparate at Hogwarts!" ("angry", "narrow", "base", "mid")
gen "Appa--{w=0.4} What?" ("base", xpos="far_left", ypos="base")

View File

@ -31,9 +31,9 @@ style meter_text:
align (0.0, 0.5)
xoffset 5
screen swear_bubble(type):
screen swear_bubble(kind):
tag bubble
zorder 30
add "interface/meter/bubble/"+str(type)+".webp" ypos 100 xpos 100
add "interface/meter/bubble/[kind].webp" ypos 100 xpos 100
timer 1.0 action Hide("swear_bubble")

View File

@ -146,7 +146,7 @@ label slytherin_match:
with d3
call gen_chibi("stand", "door", "base")
call teleport(position="genie", effect=False)
call teleport(position_="genie", effect=False)
pause .2
call ton_chibi("stand", "desk", "base", flip=True)

View File

@ -1,5 +1,3 @@
### Hermione Blowjob ###
label start_hg_pf_blowjob:
@ -823,10 +821,10 @@ label hg_pf_hidden_blowjob:
jump hg_hidden_blowjob_luna
random:
block if states.her.ev.suck_it.snape_encounter:
block:
jump hg_hidden_blowjob_snape
block if states.her.ev.suck_it.tonks_encounter:
block:
jump hg_hidden_blowjob_tonks
block if states.her.ev.suck_it.luna_encounter:

View File

@ -13,20 +13,20 @@ label tentacle_scene_intro:
$ d_flag_03 = False
label .spell:
if d_flag_01 and d_flag_02 and d_flag_03:
jump .after_spell
jump .after_spell
menu:
"\"Open Sesame!\"" if not d_flag_01:
$ d_flag_01 = True
gen "...{w=0.8} Guess not..." ("base", xpos="far_left", ypos="head")
jump .spell
"\"Hocus Pocus!\"" if not d_flag_02:
$ d_flag_02 = True
gen "...{w=0.8} Damn..." ("base", xpos="far_left", ypos="head")
jump .spell
"\"Abracadabra!\"" if not d_flag_03:
$ d_flag_03 = True
gen "...{w=0.8} ..." ("base", xpos="far_left", ypos="head")
jump .spell
"\"Open Sesame!\"" if not d_flag_01:
$ d_flag_01 = True
gen "...{w=0.8} Guess not..." ("base", xpos="far_left", ypos="head")
jump .spell
"\"Hocus Pocus!\"" if not d_flag_02:
$ d_flag_02 = True
gen "...{w=0.8} Damn..." ("base", xpos="far_left", ypos="head")
jump .spell
"\"Abracadabra!\"" if not d_flag_03:
$ d_flag_03 = True
gen "...{w=0.8} ..." ("base", xpos="far_left", ypos="head")
jump .spell
label .after_spell:
gen "Work, you stupid scroll, or I'll throw you in the fire!" ("angry", xpos="far_left", ypos="head")

View File

@ -611,8 +611,8 @@ label snape_intro_E4:
sna "......................." ("snape_01")
sna "Yeah, right..." ("snape_01")
"\"I don't have a brother, Severus.\"":
sna "........................" ("snape_01")
sna "You may not have one, but the real Albus Dumbledore does." ("snape_01")
sna "........................" ("snape_01")
sna "You may not have one, but the real Albus Dumbledore does." ("snape_01")
"-Use magic to get the right answer-":
nar "You use your phenomenal cosmic powers to peek into the very fabric of the universe and get the correct answer."
gen "My little brother Aberforth? Why would I miss him?" ("base", xpos="far_left", ypos="head")
@ -640,8 +640,8 @@ label snape_intro_E4:
"\"A week or so...\"":
sna "*Hmm*.... A week, huh..." ("snape_01")
"\"Could be months...\"":
sna "That long?" ("snape_01")
sna "Now isn't that just \"perfect\"?" ("snape_01")
sna "That long?" ("snape_01")
sna "Now isn't that just \"perfect\"?" ("snape_01")
"\"I have no clue...\"":
sna "....................." ("snape_01")
sna "Splendid..." ("snape_31")

View File

@ -50,10 +50,10 @@ label ton_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path=
return
# Screens
screen ton_cloth_pile(position=(440, 425)): # Default position: Right of desk, below feet.
screen ton_cloth_pile(pos=(440, 425)): # Default position: Right of desk, below feet.
tag ton_cloth_pile
zorder tonks_chibi.zorder
add "characters/chibis/cloth_pile_r.webp" pos position zoom 0.5
add "characters/chibis/cloth_pile_r.webp" pos pos zoom 0.5
label ton_sit(xpos=nxpos, ypos=nypos, flip=None, chair=True): # TODO: replace this with the regular chibi call and add a sitting pose/action -- call ton_chibi("sit", chair=False)

View File

@ -81,13 +81,13 @@ init -1 python:
Actions are defined in the `actions` dict as a tuple: (special, transform, move_action|loop_time).
* `special` (bool) specifies whether layer images should come from a folder with the same name as the action.
This can be useful to prevent repetitive code in update callbacks.
This can be useful to prevent repetitive code in update callbacks.
* `transform` (string) is the name of the transform that is used for this action.
It will be combined with a base transform.
It will be combined with a base transform.
* `move_action` (string) if set, it's the action that will be used when the chibi starts moving after the current action.
It should not be set for move actions.
It should not be set for move actions.
* `loop_time` (float) if set, it's the time in seconds for one animation loop of this action. Used to calculate movement time.
It should only be set for move actions. Set to zero to disable time adjustments.
It should only be set for move actions. Set to zero to disable time adjustments.
Layers:
A chibi is made up of one or more named layers. These are cleared on update and should be set by a callback function.
@ -95,7 +95,7 @@ init -1 python:
* A layer can be set to either a filename or any kind of displayable.
* When setting an image filename, this class will look for it in `image_path` (or `image_path/action` if the action is special).
* Adding `~` as a prefix to a filename will ignore the special action folder.
This can be useful for images that are compatible with multiple actions.
This can be useful for images that are compatible with multiple actions.
* Layers are updated whenever the action changes by calling `update_callback`, which is expected to set the layers again.
"""

View File

@ -5,8 +5,8 @@ transform combine_transforms(one, two):
one
two
transform chibi_base(position, flip, scale):
pos position
transform chibi_base(pos, flip, scale):
pos pos
anchor (0.0, 1.0)
xzoom (-1 if flip else 1)
zoom (0.5 * scale)

View File

@ -211,9 +211,11 @@ init 5 python:
self.set_pose(pose or self.walk)
# Note: Warper names and their count can change over time,
# so it's easier to just evaluate the input.
# List of available warpers:
# https://www.renpy.org/doc/html/atl.html?#warpers
warper = getattr(_warper, warper, _warper.linear)
warper = eval(f"_warper.{warper}")
distances = []
times = []

View File

@ -348,7 +348,7 @@ label ball_ending_E1:
play music "music/Plaint.ogg" fadein 1 fadeout 1 #SAD CREDITS MUSIC. if_changed
centered """{size=+7}{color=#cbcbcb}Congratulations on completing the game!{/color}{/size}\n\n
{size=+5}{color=#cbcbcb}This is ending \"00\" out of \"02\".{/color}{/size}{#LINT_IGNORE}"""
{size=+5}{color=#cbcbcb}This is ending \"00\" out of \"02\".{/color}{/size}{#LINT_IGNORE}"""
centered "{size=+7}{color=#cbcbcb}Thank you for playing!{/color}{/size}\n\n{#LINT_IGNORE}"

View File

@ -103,34 +103,33 @@ label increase_house_points(house, points):
return
#TODO Check and fix teleport/heal effect position (chibis are now anchored bottom-left)
label teleport(position=None,effect=True,poof_label=None):
python:
if position == "genie":
teleport_xpos = genie_chibi.pos[0]+75
teleport_ypos = genie_chibi.pos[1]
label teleport(position_=None, effect=True, poof_label=None):
if position_ == "genie":
dynamic:
teleport_pos = (genie_chibi.pos[0]+75, genie_chibi.pos[1])
teleport_zorder = 3
elif position == "hermione":
teleport_xpos = hermione_chibi.pos[0]+45
teleport_ypos = hermione_chibi.pos[1]
elif position_ == "hermione":
dynamic:
teleport_pos = (hermione_chibi.pos[0]+45, hermione_chibi.pos[1])
teleport_zorder = 3
elif position == "cho":
teleport_xpos = cho_chibi.pos[0]+45
teleport_ypos = cho_chibi.pos[1]
elif position_ == "cho":
dynamic:
teleport_pos = (cho_chibi.pos[0]+45, cho_chibi.pos[1])
teleport_zorder = 3
elif position == "astoria":
teleport_xpos = astoria_chibi.pos[0]+45
teleport_ypos = astoria_chibi.pos[1]
elif position_ == "astoria":
dynamic:
teleport_pos = (astoria_chibi.pos[0]+45, astoria_chibi.pos[1])
teleport_zorder = 3
elif position == "desk":
teleport_xpos = 320
teleport_ypos = 450
elif position_ == "desk":
dynamic:
teleport_pos = (320, 450)
teleport_zorder = 5
else:
teleport_xpos = position[0]
teleport_ypos = position[1]
else:
dynamic:
teleport_pos = position_
teleport_zorder = 2
if effect == True:
if effect:
play sound "sounds/magic4.ogg"
show screen whitefade
with d1
@ -162,7 +161,7 @@ label teleport(position=None,effect=True,poof_label=None):
hide teleport_animation onlayer screens
with d5
if effect == True:
if effect:
pause 1
return
@ -172,4 +171,4 @@ default hermione_action = None
label set_her_action(action=None, update=None):
$ hermione_action = action
return
return

View File

@ -156,8 +156,8 @@ init -1 python:
if config.developer:
def __setattr__(self, attr, value):
if hasattr(self, attr) and getattr(self, attr) != value:
id = getattr(self, "id")
if getattr(self, attr, value) != value:
id = self.id
rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else ""
caller_id = renpy.get_filename_line()

Some files were not shown because too many files have changed in this diff Show More