WTS/game/scripts/characters/genie/common.rpy

52 lines
1.6 KiB
Plaintext
Raw Normal View History

2022-05-16 23:48:22 +00:00
define character.genie_say = Character("Genie", show_icon="genie")
init python:
def gen(what, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs):
2022-05-16 23:48:22 +00:00
redraw = False
tag = "genie_main"
layer = "screens"
side = None
#showing = renpy.showing(name=tag, layer=layer)
if xpos is not None or ypos is not None:
xpos = states.gen.image.xpos if xpos is None else sprite_pos.get("x").get(xpos, xpos)
ypos = states.gen.image.ypos if ypos is None else sprite_pos.get("y").get(ypos, ypos)
states.gen.image.xpos = xpos
states.gen.image.ypos = ypos
2022-05-16 23:48:22 +00:00
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)
2022-05-16 23:48:22 +00:00
else:
states.gen.image.offset = (0, 600)
2022-05-16 23:48:22 +00:00
if face:
variant = f"genie {face}"
2022-05-16 23:48:22 +00:00
renpy.set_tag_attributes(variant)
side = "genie"
at_list = []
if animation:
at_list.append(animation)
2022-05-16 23:48:22 +00:00
if renpy.showing("genie", layer=layer):
renpy.show(variant, layer=layer, tag="genie", at_list=at_list)
2022-05-16 23:48:22 +00:00
if flip is not None:
states.gen.image.xzoom = -1 if flip else 1
2022-05-16 23:48:22 +00:00
if what:
character.genie_say(what, image=side, **kwargs)
label update_genie:
$ states.gen.image.xzoom = 1
$ states.gen.image.zorder = 15
2022-05-16 23:48:22 +00:00
call gen_chibi("sit_behind_desk")
return