LoafyLemon
98ba4d03a2
* Added thread-assisted assets preloading * Added loading displayable * Added rollback and skipping support to wardrobe reactions * Improved wardrobe performance * Improved wardrobe reactions compatibility with Renpy scope
78 lines
2.7 KiB
Plaintext
78 lines
2.7 KiB
Plaintext
init python:
|
|
def wardrobe_check_category(category):
|
|
req = get_character_requirement(active_girl, "category {}".format(category))
|
|
flag = get_character_progression(active_girl)
|
|
|
|
return (flag >= req)
|
|
|
|
def wardrobe_check_touch(what):
|
|
req = get_character_requirement(active_girl, "touch {}".format(what))
|
|
flag = get_character_progression(active_girl)
|
|
|
|
return (flag >= req)
|
|
|
|
def wardrobe_check_equip(item):
|
|
req = item.level
|
|
flag = get_character_progression(active_girl)
|
|
|
|
return (flag >= req)
|
|
|
|
def wardrobe_check_unequip(item):
|
|
req = get_character_requirement(active_girl, "unequip {}".format(item.type))
|
|
flag = get_character_progression(active_girl)
|
|
|
|
return (flag >= req)
|
|
|
|
def wardrobe_check_equip_outfit(item):
|
|
req = max((i.level for i in item.group))
|
|
flag = get_character_progression(active_girl)
|
|
|
|
has_bra = any(i.type == "bra" for i in item.group)
|
|
has_panties = any(i.type == "panties" for i in item.group)
|
|
|
|
if not has_bra:
|
|
req = max(req, get_character_requirement(active_girl, "unequip bra"))
|
|
|
|
if not has_panties:
|
|
req = max(req, get_character_requirement(active_girl, "unequip panties"))
|
|
|
|
if any(i.type.startswith(("piercing", "tattoo")) for i in item.group):
|
|
req = max(req, get_character_requirement(active_girl, "category piercings & tattoos"))
|
|
|
|
return (flag >= req)
|
|
|
|
def wardrobe_check_blacklist(item):
|
|
if not item.blacklist:
|
|
return True
|
|
|
|
req = max( ( get_character_requirement(active_girl, "unequip {}".format(i)) for i in item.blacklist ) )
|
|
flag = get_character_progression(active_girl)
|
|
|
|
return (flag >= req)
|
|
|
|
def wardrobe_fallback_required(item):
|
|
fallbacks = {"top", "bottom", "bra", "panties"}
|
|
char = get_character_object(active_girl)
|
|
req = [get_character_requirement(active_girl, "unequip {}".format(i)) for i in fallbacks if not char.is_equipped(i) and not i in char.blacklist]
|
|
|
|
if not req:
|
|
return False
|
|
|
|
req = max(req)
|
|
flag = get_character_progression(active_girl)
|
|
|
|
return not (flag >= req)
|
|
|
|
def wardrobe_react(what, arg):
|
|
global _skipping
|
|
if wardrobe_chitchats:
|
|
_skipping = True
|
|
renpy.suspend_rollback(False)
|
|
renpy.hide_screen("wardrobe")
|
|
renpy.hide_screen("wardrobe_menuitem")
|
|
renpy.hide_screen("wardrobe_outfit_menuitem")
|
|
renpy.show("gui_fade", zorder=10, behind=get_character_tag(active_girl))
|
|
renpy.block_rollback()
|
|
renpy.call(get_character_response(active_girl, what), arg)
|
|
return
|