Compare commits

..

13 Commits
gouv-5 ... main

Author SHA1 Message Date
8b127a25b4 Merge branch 'refs/heads/dev' 2024-04-08 15:53:40 +01:00
e295fbb791 PixelateMask Shader 2024-04-08 15:48:23 +01:00
5c4ce667a5 Replace unneccesary eval 2024-04-03 12:38:48 +01:00
0dc071261b Unlock Luna's favours in developer skip 2024-04-02 16:31:14 +01:00
61da56b6c8 Partially revert #7ca17b7 (Breaks dev debug) 2024-04-02 16:21:13 +01:00
9aff807593 Bug fixes
* Fixed inconsistent spacing
* Fixed inconsistent state var access
2024-04-02 16:18:18 +01:00
908beae5d3 Maintain access convention within save compat 2024-04-02 14:19:59 +01:00
d8751d73b9 Remove nonsense calls of getattr
(cherry picked from commit 7ca17b7ba7)
2024-04-02 13:53:55 +01:00
224194754f Avoid using unnecessary screens 2024-04-02 13:44:04 +01:00
e3c5fb609d Avoid python statement
(cherry picked from commit 22348f0901)
2024-04-02 13:41:44 +01:00
e04fd221dd Flag unreachable code
(cherry picked from commit 25820e002a)
2024-04-02 13:37:20 +01:00
ef97c273db Linting dynamic
(cherry picked from commit 60244e258a)
2024-04-02 13:36:59 +01:00
01126edc4e Update README 2023-08-02 22:00:18 +01:00
26 changed files with 149 additions and 82 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(pos=(440, 425)): # Default position: Right of desk, below feet.
screen ast_cloth_pile(position=(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 pos zoom 0.5
add "characters/chibis/cloth_pile_r.webp" pos position 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(pos=(440, 425)): # Default position: Right of desk, below feet.
screen cho_cloth_pile(position=(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 pos zoom 0.5
add "characters/chibis/cloth_pile_r.webp" pos position 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,3 +1239,4 @@ 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(kind):
screen swear_bubble(type):
tag bubble
zorder 30
add "interface/meter/bubble/[kind].webp" ypos 100 xpos 100
add "interface/meter/bubble/"+str(type)+".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,3 +1,5 @@
### Hermione Blowjob ###
label start_hg_pf_blowjob:
@ -821,10 +823,10 @@ label hg_pf_hidden_blowjob:
jump hg_hidden_blowjob_luna
random:
block:
block if states.her.ev.suck_it.snape_encounter:
jump hg_hidden_blowjob_snape
block:
block if states.her.ev.suck_it.tonks_encounter:
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(pos=(440, 425)): # Default position: Right of desk, below feet.
screen ton_cloth_pile(position=(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 pos zoom 0.5
add "characters/chibis/cloth_pile_r.webp" pos position 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(pos, flip, scale):
pos pos
transform chibi_base(position, flip, scale):
pos position
anchor (0.0, 1.0)
xzoom (-1 if flip else 1)
zoom (0.5 * scale)

View File

@ -211,11 +211,9 @@ 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 = eval(f"_warper.{warper}")
warper = getattr(_warper, warper, _warper.linear)
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,33 +103,34 @@ 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):
if position_ == "genie":
dynamic:
teleport_pos = (genie_chibi.pos[0]+75, genie_chibi.pos[1])
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]
teleport_zorder = 3
elif position_ == "hermione":
dynamic:
teleport_pos = (hermione_chibi.pos[0]+45, hermione_chibi.pos[1])
elif position == "hermione":
teleport_xpos = hermione_chibi.pos[0]+45
teleport_ypos = hermione_chibi.pos[1]
teleport_zorder = 3
elif position_ == "cho":
dynamic:
teleport_pos = (cho_chibi.pos[0]+45, cho_chibi.pos[1])
elif position == "cho":
teleport_xpos = cho_chibi.pos[0]+45
teleport_ypos = cho_chibi.pos[1]
teleport_zorder = 3
elif position_ == "astoria":
dynamic:
teleport_pos = (astoria_chibi.pos[0]+45, astoria_chibi.pos[1])
elif position == "astoria":
teleport_xpos = astoria_chibi.pos[0]+45
teleport_ypos = astoria_chibi.pos[1]
teleport_zorder = 3
elif position_ == "desk":
dynamic:
teleport_pos = (320, 450)
elif position == "desk":
teleport_xpos = 320
teleport_ypos = 450
teleport_zorder = 5
else:
dynamic:
teleport_pos = position_
else:
teleport_xpos = position[0]
teleport_ypos = position[1]
teleport_zorder = 2
if effect:
if effect == True:
play sound "sounds/magic4.ogg"
show screen whitefade
with d1
@ -161,7 +162,7 @@ label teleport(position_=None, effect=True, poof_label=None):
hide teleport_animation onlayer screens
with d5
if effect:
if effect == True:
pause 1
return
@ -171,4 +172,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 getattr(self, attr, value) != value:
id = self.id
if hasattr(self, attr) and getattr(self, attr) != value:
id = getattr(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