diff --git a/game/scripts/characters/astoria/common.rpy b/game/scripts/characters/astoria/common.rpy index dbdc7867..551a28ab 100644 --- a/game/scripts/characters/astoria/common.rpy +++ b/game/scripts/characters/astoria/common.rpy @@ -93,7 +93,13 @@ init python: name_suffix = "" if what: - side_doll = At(astoria.image, doll_transform(astoria.pos, astoria.zoom, astoria.xzoom)) if head_only else None + if head_only: + xpos = sprite_pos.get("x").get("right_corner") if astoria.xzoom == 1 else sprite_pos.get("x").get("left_corner") + ypos = astoria.pos[1] + side_doll = At(astoria.image, doll_transform((xpos, ypos), astoria.zoom, astoria.xzoom)) + else: + side_doll = None + character.astoria_say(what, who_prefix=name_prefix, who_suffix=name_suffix, show_side_doll=side_doll, **kwargs) if temp_face: diff --git a/game/scripts/characters/cho/common.rpy b/game/scripts/characters/cho/common.rpy index 522cf567..eeff5aad 100644 --- a/game/scripts/characters/cho/common.rpy +++ b/game/scripts/characters/cho/common.rpy @@ -91,7 +91,13 @@ init python in character: name_suffix = "" if what: - side_doll = renpy.store.At(renpy.store.cho.image, renpy.store.doll_transform(renpy.store.cho.pos, renpy.store.cho.zoom, renpy.store.cho.xzoom)) if head_only else None + if head_only: + xpos = renpy.store.sprite_pos.get("x").get("right_corner") if renpy.store.cho.xzoom == 1 else renpy.store.sprite_pos.get("x").get("left_corner") + ypos = renpy.store.cho.pos[1] + side_doll = renpy.store.At(renpy.store.cho.image, renpy.store.doll_transform((xpos, ypos), renpy.store.cho.zoom, renpy.store.cho.xzoom)) + else: + side_doll = None + cho_say(what, who_prefix=name_prefix, who_suffix=name_suffix, show_side_doll=side_doll, **kwargs) if temp_face: diff --git a/game/scripts/characters/genie/common.rpy b/game/scripts/characters/genie/common.rpy index 71a99886..16dce60a 100644 --- a/game/scripts/characters/genie/common.rpy +++ b/game/scripts/characters/genie/common.rpy @@ -16,7 +16,6 @@ init python: states.gen.image.ypos = ypos head_ypos = sprite_pos.get("y").get("head") - far_xpos = sprite_pos.get("x").get("far_left") if states.gen.image.ypos in ("head", head_ypos): states.gen.image.offset = (-25, 630) diff --git a/game/scripts/characters/hermione/common.rpy b/game/scripts/characters/hermione/common.rpy index 11a6dbee..f92b8cf2 100644 --- a/game/scripts/characters/hermione/common.rpy +++ b/game/scripts/characters/hermione/common.rpy @@ -86,8 +86,13 @@ init python: name_suffix = "" if what: - side_doll = At(hermione.image, doll_transform(hermione.pos, hermione.zoom, hermione.xzoom)) if head_only else None - character.hermione_say(what, who_prefix=name_prefix, who_suffix=name_suffix, **kwargs) + if head_only: + xpos = sprite_pos.get("x").get("right_corner") -20 if hermione.xzoom == 1 else sprite_pos.get("x").get("left_corner") +20 + ypos = hermione.pos[1] + side_doll = At(hermione.image, doll_transform((xpos, ypos), hermione.zoom, hermione.xzoom)) + else: + side_doll = None + character.hermione_say(what, who_prefix=name_prefix, who_suffix=name_suffix, show_side_doll=side_doll, **kwargs) if temp_face: hermione.set_face(**last_face) diff --git a/game/scripts/characters/hooch/common.rpy b/game/scripts/characters/hooch/common.rpy index f04e01b0..b162bf17 100644 --- a/game/scripts/characters/hooch/common.rpy +++ b/game/scripts/characters/hooch/common.rpy @@ -69,7 +69,12 @@ init python: hooch.hide() if what: - side_doll = At(hooch.image, doll_transform(hooch.pos, hooch.zoom, hooch.xzoom)) if head_only else None + if head_only: + xpos = sprite_pos.get("x").get("right_corner") if hooch.xzoom == 1 else sprite_pos.get("x").get("left_corner") + ypos = hooch.pos[1] + side_doll = At(hooch.image, doll_transform((xpos, ypos), hooch.zoom, hooch.xzoom)) + else: + side_doll = None character.hooch_say(what, show_side_doll=side_doll, **kwargs) if temp_face: diff --git a/game/scripts/characters/luna/common.rpy b/game/scripts/characters/luna/common.rpy index 8bbd747e..cd4a1d12 100644 --- a/game/scripts/characters/luna/common.rpy +++ b/game/scripts/characters/luna/common.rpy @@ -89,7 +89,12 @@ init python: name_suffix = "" if what: - side_doll = At(luna.image, doll_transform(luna.pos, luna.zoom, luna.xzoom)) if head_only else None + if head_only: + xpos = sprite_pos.get("x").get("right_corner") - 46 if luna.xzoom == 1 else sprite_pos.get("x").get("left_corner") + 46 + ypos = luna.pos[1] + side_doll = At(luna.image, doll_transform((xpos, ypos), luna.zoom, luna.xzoom)) + else: + side_doll = None character.luna_say(what, who_prefix=name_prefix, who_suffix=name_suffix, show_side_doll=side_doll, **kwargs) if temp_face: diff --git a/game/scripts/characters/susan/common.rpy b/game/scripts/characters/susan/common.rpy index 9e41a297..6715ab27 100644 --- a/game/scripts/characters/susan/common.rpy +++ b/game/scripts/characters/susan/common.rpy @@ -88,7 +88,12 @@ init python: name_suffix = "" if what: - side_doll = At(tonks.image, doll_transform(tonks.pos, tonks.zoom, tonks.xzoom)) if head_only else None + if head_only: + xpos = sprite_pos.get("x").get("right_corner") if susan.xzoom == 1 else sprite_pos.get("x").get("left_corner") + ypos = susan.pos[1] + side_doll = At(susan.image, doll_transform((xpos, ypos), susan.zoom, susan.xzoom)) + else: + side_doll = None character.susan_say(what, who_prefix=name_prefix, who_suffix=name_suffix, show_side_doll=side_doll, **kwargs) if temp_face: diff --git a/game/scripts/characters/tonks/common.rpy b/game/scripts/characters/tonks/common.rpy index 7b659486..c8769315 100644 --- a/game/scripts/characters/tonks/common.rpy +++ b/game/scripts/characters/tonks/common.rpy @@ -108,7 +108,12 @@ init python: name_suffix = "" if what: - side_doll = At(tonks.image, doll_transform(tonks.pos, tonks.zoom, tonks.xzoom)) if head_only else None + if head_only: + xpos = sprite_pos.get("x").get("right_corner") -25 if tonks.xzoom == 1 else sprite_pos.get("x").get("left_corner") + 25 + ypos = tonks.pos[1] + side_doll = At(tonks.image, doll_transform((xpos, ypos), tonks.zoom, tonks.xzoom)) + else: + side_doll = None character.tonks_say(what, who_prefix=name_prefix, who_suffix=name_suffix, show_side_doll=side_doll, **kwargs) # Weird Engine quirk; `show_` prefix required to pass arguments to screen. if temp_face: diff --git a/game/scripts/utility/dialogue.rpy b/game/scripts/utility/dialogue.rpy index 410fc58c..df75170a 100644 --- a/game/scripts/utility/dialogue.rpy +++ b/game/scripts/utility/dialogue.rpy @@ -11,7 +11,9 @@ define sprite_pos = { "far_left": 25, "right": 400, "wardrobe": 540, - "close": 540 + "close": 540, + "left_corner": -100, + "right_corner": 675, }, "y": {