Merge branch 'Xmas' into dev

This commit is contained in:
LoafyLemon 2022-12-28 19:09:28 +00:00
commit 4d5fb8869b
26 changed files with 149 additions and 27 deletions

Binary file not shown.

BIN
game/characters/tonks/clothes/bra/santa_bra/0.webp (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/characters/tonks/clothes/bra/santa_bra/outline.webp (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/characters/tonks/clothes/bra/santa_bra/skin.webp (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/characters/tonks/clothes/panties/santa_panties/0.webp (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
game/characters/tonks/clothes/top/santa_top/0.webp (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/characters/tonks/clothes/top/santa_top/0_zorder_8.webp (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/characters/tonks/clothes/top/santa_top/1.webp (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/characters/tonks/clothes/top/santa_top/1_zorder_8.webp (Stored with Git LFS) Normal file

Binary file not shown.

BIN
game/characters/tonks/clothes/top/santa_top/outline.webp (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
game/characters/tonks/clothes/top/santa_top/skin.webp (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -10,25 +10,11 @@ init python:
layeredimage genie_stats:
anchor (0.0, 1.0)
group hair:
attribute nude "characters/genie/hair.webp"
group fixes:
attribute robes "characters/genie/robes_fix.webp"
always "characters/genie/base.webp"
always "characters/genie/outfits/robes.webp"
always "characters/genie/outfits/robes_beard.webp"
group face:
attribute base Null()
attribute grin "characters/genie/grin.webp"
attribute angry "characters/genie/angry.webp"
attribute smile "characters/genie/smile.webp"
attribute open "characters/genie/open.webp"
group outfit:
attribute nude Null()
attribute robes default "characters/genie/robes.webp"
# TODO: Add outfit support; Low priority
layeredimage genie:
anchor (0.0, 1.0)

View File

@ -240,6 +240,16 @@ default ton_outfit_elf = DollOutfit([ton_hair_base_new, ton_makeup3_elf_ears, to
default ton_outfit_ribbon = DollOutfit([ton_hair_base_new, ton_neckwear_choker1, ton_bra_ribbon, ton_panties_ribbon])
default ton_outfit_xmas = DollOutfit([ton_hair_base_new, ton_hat_antlers, ton_earring_bells, ton_neckwear_bell1, ton_bra_pasties2, ton_bottom_xmas, ton_gloves_xmas, ton_stockings_xmas], addons=[ton_piercing1_nipple_bells, ton_bra_pasties2])
##################
## Santa Outfit ##
##################
default ton_bra_santa = DollCloth("tonks", ("upper undergarment", "bras"), "bra", "santa_bra", [[161, 55, 48, 255]])
default ton_top_santa = DollCloth("tonks", ("upper body", "shirts"), "top", "santa_top", [[161, 55, 48, 255], [255, 255, 255, 255]])
default ton_panties_santa = DollCloth("tonks", ("lower undergarment", "panties"), "panties", "santa_panties", [[161, 55, 48, 255]])
default ton_outfit_santa = DollOutfit([ton_hair_base_new, ton_panties_santa, ton_top_santa, ton_bra_santa])
###################
## Lady D Outfit ##
###################

View File

@ -484,14 +484,14 @@ label ton_reaction_equip_outfit(item):
ton "You sure you'd want that?" ("soft", "base", "raised", "mid")
gen "Of course!" ("base", xpos="far_left", ypos="head")
ton "But what if you've been to naughty this year for you to unwrap me?" ("soft", "narrow", "raised", "mid")
gen "I'll just have you unwrap yourself in thas case." ("base", xpos="far_left", ypos="head")
gen "I'll just have you unwrap yourself in that case." ("base", xpos="far_left", ypos="head")
ton "*Hmph*... That's cheating..." ("soft", "base", "base", "R")
##################
### Xmas Outfit ##
##################
elif item == ton_outfit_xmas:
gen "Miss Tonks, you know what the best thing about christmas is?" ("base", xpos="far_left", ypos="head")
gen "Miss Tonks, you know what the best thing about Christmas is?" ("base", xpos="far_left", ypos="head")
ton "The presents?" ("base", "base", "raised", "mid")
gen "After that." ("base", xpos="far_left", ypos="head")
ton "The food?" ("soft", "base", "base", "mid")
@ -502,6 +502,17 @@ label ton_reaction_equip_outfit(item):
gen "Yes, put this on for me will you?" ("base", xpos="far_left", ypos="head")
ton "Very well..." ("base", "base", "base", "mid")
##################
## Santa Outfit ##
##################
elif item == ton_outfit_santa:
gen "Ho-Ho-Ho!" ("grin", xpos="far_left", ypos="head")
ton "Yes?" ("soft", "base", "base", "mid")
gen "No, I'm doing a Santa laugh!" ("base", xpos="far_left", ypos="head")
ton "Oh, I see!" ("grin", "base", "raised", "mid")
gen "Anyway, I've got this sexy Santa costume for you to wear." ("grin", xpos="far_left", ypos="head")
ton "*Mmm*... Say no more..." ("horny", "narrow", "base", "mid")
###################
## Lady D Outfit ##
###################
@ -671,6 +682,11 @@ label ton_reaction_equip_outfit_fail(item):
##################
# elif item == ton_outfit_xmas:
##################
## Santa Outfit ##
##################
# elif item == ton_outfit_santa:
###################
## Lady D Outfit ##
###################

View File

@ -48,8 +48,12 @@ init python:
def set_layers(self):
for x in self.layers_special:
path = "{}{}.webp".format(self.imagepath, x)
self.__dict__[x] = path if renpy.loadable(path) else None
if x == "zorder":
self.__dict__["zlayers"] = [f for f in renpy.list_files() if f.startswith(self.imagepath.lstrip("/")) and "zorder" in f]
else:
path = "{}{}.webp".format(self.imagepath, x)
self.__dict__[x] = path if renpy.loadable(path) else None
for x in self.layers_additional:
self.__dict__[x] = []
@ -86,6 +90,8 @@ init python:
self.get_armfix(mannequin=True)
]
sprites.extend(self.get_zlayers())
sprites.sort(key=itemgetter(1))
# Apply Alpha mask
@ -146,6 +152,24 @@ init python:
# Defers rebuild until next time get_image is called
self.cached_icon = False
def get_zlayers(self):
"""Returns a list of zordered layers"""
zlayers = []
for i in self.zlayers:
path, filename = os.path.split(i)
filename = os.path.splitext(filename)[0]
# I.e "0_zorder_35", we don't need the middle control
layertype, _, zorder = filename.split("_")
if layertype.isdigit():
zlayers.append((self.apply_color(i, int(layertype)), int(zorder)))
else:
zlayers.append((i, int(zorder)))
return zlayers
def get_back(self):
"""Returns a list of layers displayed in the back of object/character"""
back_outline = [self.back_outline] if self.back_outline else []

View File

@ -76,7 +76,7 @@ init -1 python:
icon_threadlock = False
layers_extra = {"extra", "outline", "overlay"}
layers_special = {"skin", "mask", "wind_mask"}
layers_special = {"skin", "mask", "wind_mask", "zorder"}
layers_additional = {"back", "front"}
blacklist_toggles = ("hair", "glasses", "pubes", "piercing", "makeup", "tattoo", "earrings")

View File

@ -6,7 +6,10 @@ init python:
def set_layers(self):
for x in self.layers_special:
self.__dict__[x] = None
if x == "zorder":
self.__dict__["zlayers"] = [f for f in renpy.list_files() if f.startswith(self.imagepath.lstrip("/")) and "zorder" in f]
else:
self.__dict__[x] = None
for x in self.layers_additional:
self.__dict__[x] = []

Some files were not shown because too many files have changed in this diff Show More