Merge branch 'Xmas' into dev
This commit is contained in:
commit
4d5fb8869b
BIN
game/characters/tonks/body/breasts/normal.webp
(Stored with Git LFS)
BIN
game/characters/tonks/body/breasts/normal.webp
(Stored with Git LFS)
Binary file not shown.
BIN
game/characters/tonks/clothes/bra/santa_bra/0.webp
(Stored with Git LFS)
Normal file
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
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
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
BIN
game/characters/tonks/clothes/panties/santa_panties/0.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/characters/tonks/clothes/panties/santa_panties/outline.webp
(Stored with Git LFS)
Normal file
BIN
game/characters/tonks/clothes/panties/santa_panties/outline.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/characters/tonks/clothes/panties/santa_panties/skin.webp
(Stored with Git LFS)
Normal file
BIN
game/characters/tonks/clothes/panties/santa_panties/skin.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/characters/tonks/clothes/top/santa_top/0.webp
(Stored with Git LFS)
Normal file
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
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
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
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
BIN
game/characters/tonks/clothes/top/santa_top/outline.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/characters/tonks/clothes/top/santa_top/outline_zorder_8.webp
(Stored with Git LFS)
Normal file
BIN
game/characters/tonks/clothes/top/santa_top/outline_zorder_8.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
game/characters/tonks/clothes/top/santa_top/skin.webp
(Stored with Git LFS)
Normal file
BIN
game/characters/tonks/clothes/top/santa_top/skin.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -10,25 +10,11 @@ init python:
|
|||||||
layeredimage genie_stats:
|
layeredimage genie_stats:
|
||||||
anchor (0.0, 1.0)
|
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/base.webp"
|
||||||
|
always "characters/genie/outfits/robes.webp"
|
||||||
|
always "characters/genie/outfits/robes_beard.webp"
|
||||||
|
|
||||||
group face:
|
# TODO: Add outfit support; Low priority
|
||||||
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"
|
|
||||||
|
|
||||||
layeredimage genie:
|
layeredimage genie:
|
||||||
anchor (0.0, 1.0)
|
anchor (0.0, 1.0)
|
||||||
|
@ -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_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])
|
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 ##
|
## Lady D Outfit ##
|
||||||
###################
|
###################
|
||||||
|
@ -484,14 +484,14 @@ label ton_reaction_equip_outfit(item):
|
|||||||
ton "You sure you'd want that?" ("soft", "base", "raised", "mid")
|
ton "You sure you'd want that?" ("soft", "base", "raised", "mid")
|
||||||
gen "Of course!" ("base", xpos="far_left", ypos="head")
|
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")
|
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")
|
ton "*Hmph*... That's cheating..." ("soft", "base", "base", "R")
|
||||||
|
|
||||||
##################
|
##################
|
||||||
### Xmas Outfit ##
|
### Xmas Outfit ##
|
||||||
##################
|
##################
|
||||||
elif item == ton_outfit_xmas:
|
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")
|
ton "The presents?" ("base", "base", "raised", "mid")
|
||||||
gen "After that." ("base", xpos="far_left", ypos="head")
|
gen "After that." ("base", xpos="far_left", ypos="head")
|
||||||
ton "The food?" ("soft", "base", "base", "mid")
|
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")
|
gen "Yes, put this on for me will you?" ("base", xpos="far_left", ypos="head")
|
||||||
ton "Very well..." ("base", "base", "base", "mid")
|
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 ##
|
## Lady D Outfit ##
|
||||||
###################
|
###################
|
||||||
@ -671,6 +682,11 @@ label ton_reaction_equip_outfit_fail(item):
|
|||||||
##################
|
##################
|
||||||
# elif item == ton_outfit_xmas:
|
# elif item == ton_outfit_xmas:
|
||||||
|
|
||||||
|
##################
|
||||||
|
## Santa Outfit ##
|
||||||
|
##################
|
||||||
|
# elif item == ton_outfit_santa:
|
||||||
|
|
||||||
###################
|
###################
|
||||||
## Lady D Outfit ##
|
## Lady D Outfit ##
|
||||||
###################
|
###################
|
||||||
|
@ -48,6 +48,10 @@ init python:
|
|||||||
|
|
||||||
def set_layers(self):
|
def set_layers(self):
|
||||||
for x in self.layers_special:
|
for x in self.layers_special:
|
||||||
|
|
||||||
|
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)
|
path = "{}{}.webp".format(self.imagepath, x)
|
||||||
self.__dict__[x] = path if renpy.loadable(path) else None
|
self.__dict__[x] = path if renpy.loadable(path) else None
|
||||||
|
|
||||||
@ -86,6 +90,8 @@ init python:
|
|||||||
self.get_armfix(mannequin=True)
|
self.get_armfix(mannequin=True)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
sprites.extend(self.get_zlayers())
|
||||||
|
|
||||||
sprites.sort(key=itemgetter(1))
|
sprites.sort(key=itemgetter(1))
|
||||||
|
|
||||||
# Apply Alpha mask
|
# Apply Alpha mask
|
||||||
@ -146,6 +152,24 @@ init python:
|
|||||||
# Defers rebuild until next time get_image is called
|
# Defers rebuild until next time get_image is called
|
||||||
self.cached_icon = False
|
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):
|
def get_back(self):
|
||||||
"""Returns a list of layers displayed in the back of object/character"""
|
"""Returns a list of layers displayed in the back of object/character"""
|
||||||
back_outline = [self.back_outline] if self.back_outline else []
|
back_outline = [self.back_outline] if self.back_outline else []
|
||||||
|
@ -76,7 +76,7 @@ init -1 python:
|
|||||||
icon_threadlock = False
|
icon_threadlock = False
|
||||||
|
|
||||||
layers_extra = {"extra", "outline", "overlay"}
|
layers_extra = {"extra", "outline", "overlay"}
|
||||||
layers_special = {"skin", "mask", "wind_mask"}
|
layers_special = {"skin", "mask", "wind_mask", "zorder"}
|
||||||
layers_additional = {"back", "front"}
|
layers_additional = {"back", "front"}
|
||||||
|
|
||||||
blacklist_toggles = ("hair", "glasses", "pubes", "piercing", "makeup", "tattoo", "earrings")
|
blacklist_toggles = ("hair", "glasses", "pubes", "piercing", "makeup", "tattoo", "earrings")
|
||||||
|
@ -6,6 +6,9 @@ init python:
|
|||||||
|
|
||||||
def set_layers(self):
|
def set_layers(self):
|
||||||
for x in self.layers_special:
|
for x in self.layers_special:
|
||||||
|
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
|
self.__dict__[x] = None
|
||||||
|
|
||||||
for x in self.layers_additional:
|
for x in self.layers_additional:
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user