Wardrobe 2.0 Prototype
This commit is contained in:
parent
52929e9695
commit
15bc242d2b
BIN
game/gui/creamy_pumpkin_pie/icons/accessories.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/accessories.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/bottoms.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/bottoms.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/clothes.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/clothes.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/dyes.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/dyes.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/exit.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/exit.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/headgear.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/headgear.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/noicon.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/noicon.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/options.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/options.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/schedule.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/schedule.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/studio.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/studio.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/tops.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/tops.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/icons/underwear.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/icons/underwear.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/gui/creamy_pumpkin_pie/side_frame.png
(Stored with Git LFS)
Normal file
BIN
game/gui/creamy_pumpkin_pie/side_frame.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -191,7 +191,7 @@ init python:
|
|||||||
sprites.sort(key=itemgetter(2))
|
sprites.sort(key=itemgetter(2))
|
||||||
|
|
||||||
wmax, hmax = self.sizes
|
wmax, hmax = self.sizes
|
||||||
wmin = hmin = 96
|
wmin = hmin = 256
|
||||||
|
|
||||||
x, y, w, h = crop_whitespace(bounds)
|
x, y, w, h = crop_whitespace(bounds)
|
||||||
xoffset, yoffset = w/2, h/2
|
xoffset, yoffset = w/2, h/2
|
||||||
@ -216,7 +216,7 @@ init python:
|
|||||||
return self.build_icon(self._hash)
|
return self.build_icon(self._hash)
|
||||||
|
|
||||||
def _build_button(self, _hash):
|
def _build_button(self, _hash):
|
||||||
style = "wardrobe_button"
|
style = "wardrobe_item_button"
|
||||||
is_seen = self.seen
|
is_seen = self.seen
|
||||||
is_equipped = self.char.is_equipped_item(self)
|
is_equipped = self.char.is_equipped_item(self)
|
||||||
is_inadequate = bool(get_character_progression(self.char.name) < self.level)
|
is_inadequate = bool(get_character_progression(self.char.name) < self.level)
|
||||||
@ -230,14 +230,12 @@ init python:
|
|||||||
blacklister = self.char.get_blacklister(self.type) # Victim (List clothing types blacklisting this item )
|
blacklister = self.char.get_blacklister(self.type) # Victim (List clothing types blacklisting this item )
|
||||||
warnings.append("Incompatible with:{size=-4}\n" + "\n".join(set(blacklisted + blacklister)) + "{/size}")
|
warnings.append("Incompatible with:{size=-4}\n" + "\n".join(set(blacklisted + blacklister)) + "{/size}")
|
||||||
|
|
||||||
child = Frame(gui.format("interface/frames/{}/iconframe.webp"), 6, 6)
|
child = AlphaMask(Transform(self.icon, xysize=(96, 96)), Transform("wheelmenu_button_opaque", xysize=(96, 96)))
|
||||||
hbox = []
|
hbox = []
|
||||||
overlay = []
|
overlay = []
|
||||||
|
|
||||||
action = [Return(["equip", self]), self.build_button]
|
action = [Return(["equip", self]), self.build_button]
|
||||||
unhovered = None
|
unhovered = None
|
||||||
foreground = None
|
|
||||||
hover_foreground = "#ffffff80"
|
|
||||||
|
|
||||||
if is_inadequate:
|
if is_inadequate:
|
||||||
warnings.append("Character level too low")
|
warnings.append("Character level too low")
|
||||||
@ -260,8 +258,8 @@ init python:
|
|||||||
unhovered = [Function(self.mark_as_seen), self.clear_button_cache, self.build_button]
|
unhovered = [Function(self.mark_as_seen), self.clear_button_cache, self.build_button]
|
||||||
overlay.append(Text("NEW", align=(1.0, 1.0), offset=(-6, -6), style="wardrobe_button_text"))
|
overlay.append(Text("NEW", align=(1.0, 1.0), offset=(-6, -6), style="wardrobe_button_text"))
|
||||||
|
|
||||||
if is_equipped:
|
# if is_equipped:
|
||||||
overlay.append(Transform("interface/topbar/icon_check.webp", align=(1.0, 1.0), offset=(-6, -6), size=(24, 24)))
|
# overlay.append(Transform("interface/topbar/icon_check.webp", align=(1.0, 1.0), offset=(-6, -6), size=(24, 24)))
|
||||||
|
|
||||||
if hbox:
|
if hbox:
|
||||||
overlay.append(HBox(*hbox, offset=(6, 6)))
|
overlay.append(HBox(*hbox, offset=(6, 6)))
|
||||||
@ -270,10 +268,9 @@ init python:
|
|||||||
child = Fixed(child, *overlay, fit_first=True)
|
child = Fixed(child, *overlay, fit_first=True)
|
||||||
|
|
||||||
if is_inadequate:
|
if is_inadequate:
|
||||||
foreground = "#b2000040"
|
style = wardrobe_item_button_inadequate
|
||||||
hover_foreground = "#CD5C5C40"
|
|
||||||
|
|
||||||
return Button(child=child, focus_mask=None, xysize=(96, 96), background=Transform(self.icon, xysize=(96, 96)), action=action, tooltip=("\n".join(warnings)), foreground=foreground, hover_foreground=hover_foreground, unhovered=unhovered, style=style)
|
return Button(child=child, focus_mask=None, xysize=(96, 96), action=action, tooltip=("\n".join(warnings)), unhovered=unhovered, style=style, selected=is_equipped)
|
||||||
|
|
||||||
@functools.cache
|
@functools.cache
|
||||||
def build_button(self, _=None):
|
def build_button(self, _=None):
|
||||||
|
@ -100,8 +100,6 @@ init python:
|
|||||||
return self.build_icon(self._hash)
|
return self.build_icon(self._hash)
|
||||||
|
|
||||||
def _build_button(self, _hash, subcat):
|
def _build_button(self, _hash, subcat):
|
||||||
global wardrobe_outfit_schedule
|
|
||||||
|
|
||||||
style = "wardrobe_button"
|
style = "wardrobe_button"
|
||||||
# is_equipped = self.char.is_equipped_item(self)
|
# is_equipped = self.char.is_equipped_item(self)
|
||||||
is_modded = self.is_modded()
|
is_modded = self.is_modded()
|
||||||
@ -159,7 +157,7 @@ init python:
|
|||||||
# selected_foreground = "#CD5C5C40"
|
# selected_foreground = "#CD5C5C40"
|
||||||
|
|
||||||
if has_schedule:
|
if has_schedule:
|
||||||
for i in wardrobe_outfit_schedule:
|
for i in wardrobe.outfit_schedule: # Wardrobe store var
|
||||||
if self.schedule[i]:
|
if self.schedule[i]:
|
||||||
vbox.append(Transform(f"interface/wardrobe/icons/outfits/{i}.webp", size=(16, 16), offset=(6, 6)))
|
vbox.append(Transform(f"interface/wardrobe/icons/outfits/{i}.webp", size=(16, 16), offset=(6, 6)))
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ label gift_menu(inter_pause=True):
|
|||||||
hide screen blktone
|
hide screen blktone
|
||||||
with d3
|
with d3
|
||||||
else:
|
else:
|
||||||
$ renpy.call(get_character_gift_label(states.active_girl), _return)
|
$ renpy.call(f"give_{states.active_girl[:3]}_gift", _return)
|
||||||
elif _return.type == "potion":
|
elif _return.type == "potion":
|
||||||
if not states.active_girl in _return.usable_on:
|
if not states.active_girl in _return.usable_on:
|
||||||
show screen blktone
|
show screen blktone
|
||||||
|
@ -54,14 +54,6 @@ init -1 python:
|
|||||||
__check_exists(key)
|
__check_exists(key)
|
||||||
return f"{key}_main"
|
return f"{key}_main"
|
||||||
|
|
||||||
def get_character_sayer(key):
|
|
||||||
__check_exists(key)
|
|
||||||
return getattr(store, key[:3])
|
|
||||||
|
|
||||||
def get_character_gift_label(key):
|
|
||||||
__check_exists(key)
|
|
||||||
return f"give_{key[:3]}_gift"
|
|
||||||
|
|
||||||
def get_character_unlock(key):
|
def get_character_unlock(key):
|
||||||
__check_exists(key)
|
__check_exists(key)
|
||||||
return getattr(states, key[:3]).unlocked
|
return getattr(states, key[:3]).unlocked
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user