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)
123 lines
3.6 KiB
Plaintext
123 lines
3.6 KiB
Plaintext
define ast_face = {
|
|
"mouth": {
|
|
"neutral": ["annoyed", "base"],
|
|
"happy": ["smile", "grin"],
|
|
"naughty": ["grin", "horny"],
|
|
"horny": ["grin", "horny"],
|
|
"annoyed": ["annoyed"],
|
|
"disgusted": ["clench", "annoyed"],
|
|
"angry": ["clench","angry"]
|
|
},
|
|
|
|
"eyes": {
|
|
"neutral": ["base"],
|
|
"happy": ["base"],
|
|
"naughty": ["narrow", "base"],
|
|
"horny": ["narrow", "base"],
|
|
"annoyed": ["narrow"],
|
|
"disgusted": ["narrow"],
|
|
"angry": ["narrow", "base"]
|
|
},
|
|
|
|
"eyebrows": {
|
|
"neutral": ["base"],
|
|
"happy": ["base"],
|
|
"naughty": ["base"],
|
|
"horny": ["base"],
|
|
"annoyed": ["worried"],
|
|
"disgusted": ["base", "angry"],
|
|
"angry": ["angry"]
|
|
},
|
|
|
|
"pupils": {
|
|
"neutral": ["mid","L","R"],
|
|
"happy": ["mid","L","R"],
|
|
"naughty": ["mid","L","R","down"],
|
|
"horny": ["mid","L","R","down"],
|
|
"annoyed": ["mid","R"],
|
|
"disgusted": ["down"],
|
|
"angry": ["L"]
|
|
}
|
|
}
|
|
|
|
label update_astoria:
|
|
|
|
$ random_number = renpy.random.randint(0, 5)
|
|
if random_number in [1,5]:
|
|
$ name_susan_astoria = renpy.random.choice(["Suzy","Cow","Cow Tits","Milk Bag","Slut","Whore","Piggy","Pig","Bessie","Moo Moo"])
|
|
if random_number in [2,5]:
|
|
$ name_tonks_astoria = renpy.random.choice(["Hag","Old Hag","Punk","Dyke","Lesbo"])
|
|
if random_number in [3,5]:
|
|
$ name_astoria_tonks = renpy.random.choice(["Cutie","Kitty","Princess","Cupcake","Honey"])
|
|
|
|
# Chibi Update
|
|
$ astoria_chibi.update()
|
|
$ astoria_chibi.position(flip=False)
|
|
$ astoria.xzoom = 1
|
|
hide screen astoria_cloth_pile
|
|
|
|
return
|
|
|
|
label end_astoria_event:
|
|
call ast_chibi("hide")
|
|
hide astoria_main
|
|
with d3
|
|
pause.5
|
|
|
|
call update_astoria
|
|
|
|
$ active_girl = None
|
|
$ astoria_busy = True
|
|
$ astoria.wear("all")
|
|
|
|
call music_block
|
|
jump main_room_menu
|
|
|
|
define character.astoria_say = Character("name_astoria_genie", show_icon="astoria", dynamic=True)
|
|
|
|
init python:
|
|
def ast(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 = astoria.tag
|
|
layer = astoria.layer
|
|
#showing = renpy.showing(name=tag, layer=layer)
|
|
|
|
if xpos != None or ypos != None:
|
|
xpos = astoria.pos[0] if xpos == None else sprite_pos.get("x").get(xpos, xpos)
|
|
ypos = astoria.pos[1] if ypos == None else sprite_pos.get("y").get(ypos, ypos)
|
|
astoria.pos = (xpos, ypos)
|
|
redraw = True
|
|
|
|
head_only = astoria.pos[1] == sprite_pos.get("y").get("head")
|
|
|
|
if any((mouth, eyes, eyebrows, pupils, cheeks, tears)):
|
|
astoria.set_face(mouth=mouth, eyes=eyes, eyebrows=eyebrows, pupils=pupils, cheeks=cheeks, tears=tears)
|
|
redraw = True
|
|
|
|
astoria.set_emote(emote)
|
|
|
|
if animation != False:
|
|
astoria.animation = animation
|
|
redraw = True
|
|
|
|
if flip != None:
|
|
astoria.xzoom = -1 if flip else 1
|
|
redraw = True
|
|
|
|
if redraw:
|
|
astoria.show()
|
|
|
|
if not renpy.in_rollback():
|
|
if trans:
|
|
renpy.with_statement(trans)
|
|
else:
|
|
renpy.with_statement(d2)
|
|
|
|
if what:
|
|
character.astoria_say(what, **kwargs)
|
|
|
|
if head_only:
|
|
astoria.hide()
|