diff --git a/game/scripts/characters.rpy b/game/scripts/characters.rpy index 6cb9a373..d1084dae 100644 --- a/game/scripts/characters.rpy +++ b/game/scripts/characters.rpy @@ -63,6 +63,7 @@ define qcr = Character("Quidditch Crowd") # Special define nar = Character("", what_prefix=">", show_icon="narrator", callback=narrator_fade) +define narrator = nar # Note: Without this definition, anonymous narrator style will be overridden by Renpy. define anon = Character("???") # Dumbledore diff --git a/game/scripts/doll/init.rpy b/game/scripts/doll/init.rpy index ab865391..4ffcb044 100644 --- a/game/scripts/doll/init.rpy +++ b/game/scripts/doll/init.rpy @@ -14,4 +14,6 @@ init python: outfit_last = outfit = get_character_outfit(c, type="last") outfit_last.save() + char.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") + config.start_callbacks.append(wardrobe_init) diff --git a/game/scripts/gui/say.rpy b/game/scripts/gui/say.rpy index 3bb138df..aa5cb296 100644 --- a/game/scripts/gui/say.rpy +++ b/game/scripts/gui/say.rpy @@ -20,6 +20,11 @@ screen nvl(dialogue, items=None): # # https://www.renpy.org/doc/html/screen_special.html#say +init python: + import re + def text_inner_thought(string, pattern=re.compile(r"\(([^)]+)\)")): + return re.findall(pattern, string) + screen say(who, what, side_image=None, icon=None): zorder 31 @@ -35,7 +40,8 @@ screen say(who, what, side_image=None, icon=None): add SideImage() # TODO: While this works, there might be a better way to add effects based on contents of the dialogue. - if what.startswith("(") and what.endswith(")") and not renpy.showing("cg"): + + if text_inner_thought(what) and not renpy.showing("cg"): add "fade_gradient" window id "window": diff --git a/game/scripts/inventory/classes.rpy b/game/scripts/inventory/classes.rpy index c65a8ef6..9f5a32d5 100644 --- a/game/scripts/inventory/classes.rpy +++ b/game/scripts/inventory/classes.rpy @@ -121,6 +121,8 @@ init python: if self.owned == 0: raise Exception("Decoration '{}' owned count is equal to zero.".format(self.name)) + achievements.unlock("decorator") + target = self.placement if not target.decoration is None: