WTS/game/scripts/characters/astoria/chibi.rpy

85 lines
2.6 KiB
Plaintext
Raw Permalink Normal View History

2022-05-16 23:48:22 +00:00
label ast_chibi(action=None, xpos=None, ypos=None, flip=False):
$ astoria_chibi.position(xpos, ypos, flip)
if action == "hide":
$ astoria_chibi.hide()
return
elif action == "leave":
hide astoria_main
hide screen bld1
hide screen blktone
play sound "sounds/door.ogg"
2022-05-16 23:48:22 +00:00
$ astoria_chibi.hide()
with d3
pause .5
return
elif action == "reset":
$ astoria_chibi.do(None)
return
$ astoria_chibi.do(action)
return
label ast_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path=None, flip=False):
call hide_characters
hide screen bld1
hide screen blktone
with d3
if action == "enter":
play sound "sounds/door.ogg"
2022-05-16 23:48:22 +00:00
call ast_chibi(None, "door", "base", flip)
with d3
if xpos or ypos:
$ astoria_chibi.move((xpos, ypos), speed, reduce)
elif action == "leave":
$ astoria_chibi.show()
$ astoria_chibi.move(("door", "base"), speed, reduce)
play sound "sounds/door.ogg"
2022-05-16 23:48:22 +00:00
$ astoria_chibi.hide()
with d3
pause .5
elif path:
$ astoria_chibi.show()
$ astoria_chibi.move(path, speed, reduce)
else:
$ astoria_chibi.show()
$ astoria_chibi.move((xpos, ypos), speed, reduce)
return
# Screens
screen ast_cloth_pile(position=(440, 425)): # Default position: Right of desk, below feet.
tag ast_cloth_pile
zorder astoria_chibi.zorder
add "characters/chibis/cloth_pile_r.webp" pos position zoom 0.5
# Chibi definition
default astoria_chibi = Chibi("astoria", ["fix", "base", "bottom", "shoes", "top", "robe", "gloves"], update_astoria_chibi)
init python:
def update_astoria_chibi(chibi):
# Assume chibi action has a matching image definition
chibi_image = "ch_ast {}".format(chibi.action or "stand")
chibi["base"] = chibi_image
# Determine clothing state
if astoria.is_worn("top"):
chibi["top"] = "ag_top.webp"
if astoria.is_worn("bottom") or (astoria.is_worn("top") and astoria.get_equipped("top").id == ast_top_ann.id):
chibi["bottom"] = "ag_skirt.webp"
if astoria.is_worn("robe") and not chibi.special:
chibi["robe"] = "ag_robe.webp"
if astoria.is_any_worn("bottom", "stockings"):
if chibi.action == "wand_imperio":
chibi["shoes"] = "ch_ast imperio_shoes"
elif chibi.action == "walk":
chibi["shoes"] = "ch_ast walk_shoes"
else:
chibi["shoes"] = "ag_shoes.webp"