LoafyLemon
9b771d1a77
* Fixed character calls breaking when the supplied number of expressions was less than 4, from now on expressions must be supplied as keyword arguments (this is already internally enforced)
115 lines
3.1 KiB
Plaintext
115 lines
3.1 KiB
Plaintext
|
|
define sus_face = {
|
|
"mouth": {
|
|
"neutral": ["base"],
|
|
"happy": ["base","grin"],
|
|
"naughty": ["base"],
|
|
"horny": ["base"],
|
|
"annoyed": ["upset"],
|
|
"disgusted": ["open"],
|
|
"angry": ["upset"]
|
|
},
|
|
|
|
"eyes": {
|
|
"neutral": ["base", "closed"],
|
|
"happy": ["base", "eager"],
|
|
"naughty": ["base", "suspicious"],
|
|
"horny": ["suspicious"],
|
|
"annoyed": ["narrow","base", "suspicious"],
|
|
"disgusted": ["wide"],
|
|
"angry": ["suspicious"]
|
|
},
|
|
|
|
"eyebrows": {
|
|
"neutral": ["base"],
|
|
"happy": ["base"],
|
|
"naughty": ["base","worried"],
|
|
"horny": ["base","worried"],
|
|
"annoyed": ["angry"],
|
|
"disgusted": ["worried"],
|
|
"angry": ["angry"]
|
|
},
|
|
|
|
"pupils": {
|
|
"neutral": ["mid"],
|
|
"happy": ["mid","L","R"],
|
|
"naughty": ["L","R","down"],
|
|
"horny": ["L","R","down"],
|
|
"annoyed": ["R","down"],
|
|
"disgusted": ["R","wide"],
|
|
"angry": ["mid"]
|
|
}
|
|
}
|
|
|
|
label end_susan_event:
|
|
call sus_chibi("hide")
|
|
hide susan_main
|
|
with d3
|
|
pause.5
|
|
|
|
call update_susan
|
|
|
|
$ active_girl = None
|
|
$ susan_busy = True
|
|
$ susan.wear("all")
|
|
|
|
call music_block
|
|
jump main_room_menu
|
|
|
|
label update_susan:
|
|
# Chibi Update
|
|
$ susan_chibi.update()
|
|
$ susan_chibi.position(flip=False)
|
|
$ susan.xzoom = 1
|
|
hide screen susan_cloth_pile
|
|
|
|
return
|
|
|
|
define character.susan_say = Character("name_susan_genie", show_icon="susan", dynamic=True)
|
|
|
|
init python:
|
|
def sus(what, mouth=None, eyes=None, eyebrows=None, pupils=None, cheeks=None, tears=None,
|
|
emote=None, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs):
|
|
|
|
redraw = False
|
|
tag = susan.tag
|
|
layer = susan.layer
|
|
#showing = renpy.showing(name=tag, layer=layer)
|
|
|
|
if xpos != None or ypos != None:
|
|
xpos = susan.pos[0] if xpos == None else sprite_pos.get("x").get(xpos, xpos)
|
|
ypos = susan.pos[1] if ypos == None else sprite_pos.get("y").get(ypos, ypos)
|
|
susan.pos = (xpos, ypos)
|
|
redraw = True
|
|
|
|
head_only = susan.pos[1] == sprite_pos.get("y").get("head")
|
|
|
|
if any((mouth, eyes, eyebrows, pupils, cheeks, tears)):
|
|
susan.set_face(mouth=mouth, eyes=eyes, eyebrows=eyebrows, pupils=pupils, cheeks=cheeks, tears=tears)
|
|
redraw = True
|
|
|
|
susan.set_emote(emote)
|
|
|
|
if animation != False:
|
|
susan.animation = animation
|
|
redraw = True
|
|
|
|
if flip != None:
|
|
susan.xzoom = -1 if flip else 1
|
|
redraw = True
|
|
|
|
if redraw:
|
|
susan.show()
|
|
|
|
if not renpy.in_rollback():
|
|
if trans:
|
|
renpy.with_statement(trans)
|
|
else:
|
|
renpy.with_statement(d2)
|
|
|
|
if what:
|
|
character.susan_say(what, **kwargs)
|
|
|
|
if head_only:
|
|
susan.hide()
|