From 367fabc73987556eca060773176b4c84f77712c4 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sat, 17 Dec 2022 21:52:44 +0000 Subject: [PATCH] Decorations * Added naughty list decor * Added window decor * Added garland decor * Improved poster enlarging --- .../decorations/santas_naughty_list.webp | 3 + .../objects/decorations/xmas_garland.webp | 3 + .../xmas_window_santa_base.webp | 3 + .../xmas_window_santa_light.webp | 3 + .../xmas_window_santa_mask.webp | 3 + .../ui/naughty_list/naughty_list scroll.webp | 3 + .../ui/naughty_list/naughty_list spacer.webp | 3 + game/interface/icons/santas_naughty_list.webp | 3 + game/interface/icons/xmas_garland.webp | 3 + game/interface/icons/xmas_window_santa.webp | 3 + game/scripts/inventory/decorations.rpy | 3 + .../mirror/events/genies_christmas_wish.rpy | 16 +++-- game/scripts/rooms/main_room/images.rpy | 26 +++++++ .../rooms/main_room/objects/poster.rpy | 69 ++++++++++++++++--- 14 files changed, 130 insertions(+), 14 deletions(-) create mode 100644 game/images/rooms/objects/decorations/santas_naughty_list.webp create mode 100644 game/images/rooms/objects/decorations/xmas_garland.webp create mode 100644 game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_base.webp create mode 100644 game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_light.webp create mode 100644 game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_mask.webp create mode 100644 game/images/ui/naughty_list/naughty_list scroll.webp create mode 100644 game/images/ui/naughty_list/naughty_list spacer.webp create mode 100644 game/interface/icons/santas_naughty_list.webp create mode 100644 game/interface/icons/xmas_garland.webp create mode 100644 game/interface/icons/xmas_window_santa.webp diff --git a/game/images/rooms/objects/decorations/santas_naughty_list.webp b/game/images/rooms/objects/decorations/santas_naughty_list.webp new file mode 100644 index 00000000..7ac85aac --- /dev/null +++ b/game/images/rooms/objects/decorations/santas_naughty_list.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de4cf6a132b8785348d4222653898871a1cd332bcc3f1fddd7ccfb1cfd06e00e +size 16630 diff --git a/game/images/rooms/objects/decorations/xmas_garland.webp b/game/images/rooms/objects/decorations/xmas_garland.webp new file mode 100644 index 00000000..c34cda20 --- /dev/null +++ b/game/images/rooms/objects/decorations/xmas_garland.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a088606912fde5ad7728aa8c53eee8693d6787b1e3b454228fe0edd3c9813a4 +size 234868 diff --git a/game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_base.webp b/game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_base.webp new file mode 100644 index 00000000..440973c4 --- /dev/null +++ b/game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cf3b7a2416ab09c2769c02d9a483a27f7b0aada4cbf3f3ee3d704457087948b +size 1316 diff --git a/game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_light.webp b/game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_light.webp new file mode 100644 index 00000000..11c0a4cd --- /dev/null +++ b/game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_light.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71a73eb190313aad71b1ab452ebea5fb36cd1dea0baa89c2642e854b257a55a0 +size 1980 diff --git a/game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_mask.webp b/game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_mask.webp new file mode 100644 index 00000000..7c349368 --- /dev/null +++ b/game/images/rooms/objects/decorations/xmas_window_santa/xmas_window_santa_mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d669ec303b8919a09e90086871965f805df65559009ff8c62432a493a162e98 +size 3490 diff --git a/game/images/ui/naughty_list/naughty_list scroll.webp b/game/images/ui/naughty_list/naughty_list scroll.webp new file mode 100644 index 00000000..ba8a4c70 --- /dev/null +++ b/game/images/ui/naughty_list/naughty_list scroll.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40a3cae224584730ec302280962317386408539da126638b4426ff466e545a12 +size 186354 diff --git a/game/images/ui/naughty_list/naughty_list spacer.webp b/game/images/ui/naughty_list/naughty_list spacer.webp new file mode 100644 index 00000000..330c6d23 --- /dev/null +++ b/game/images/ui/naughty_list/naughty_list spacer.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:451d3f36568d0c23e5a75b9f9979661c3b35d6e93589a672d3a4fc01c2d55931 +size 1666 diff --git a/game/interface/icons/santas_naughty_list.webp b/game/interface/icons/santas_naughty_list.webp new file mode 100644 index 00000000..b5bd83a8 --- /dev/null +++ b/game/interface/icons/santas_naughty_list.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42f5240e8641f220b53ea7611c9d7c99c18ad7530dc4b951be0d7412ae115304 +size 41554 diff --git a/game/interface/icons/xmas_garland.webp b/game/interface/icons/xmas_garland.webp new file mode 100644 index 00000000..7ff585f9 --- /dev/null +++ b/game/interface/icons/xmas_garland.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0648f1dc6877a63b36d080ecd85df8d0335ed73c128c594f26053ec96c9dace7 +size 24436 diff --git a/game/interface/icons/xmas_window_santa.webp b/game/interface/icons/xmas_window_santa.webp new file mode 100644 index 00000000..c24f09f4 --- /dev/null +++ b/game/interface/icons/xmas_window_santa.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19d376aa067b50b83282067e054d0dbf3406fdf7c67b74f31455e346523a32bb +size 7670 diff --git a/game/scripts/inventory/decorations.rpy b/game/scripts/inventory/decorations.rpy index 31966646..1876b5bd 100644 --- a/game/scripts/inventory/decorations.rpy +++ b/game/scripts/inventory/decorations.rpy @@ -11,6 +11,7 @@ default harlot_poster_ITEM = Decoration("harlot_poster", "decoration", "Hogwarts default stripper_poster_ITEM = Decoration("stripper_poster", "decoration", "Stripper Poster", poster_OBJ, 2, "Hermione showing off how to work the pole... illusion charm included...") default wanted_poster_ITEM = Decoration("wanted_poster", "decoration", "Wanted Poster", poster_OBJ, 2, "A Wild West styled Wanted poster depicting our dear headmaster...") default tonks_poster_ITEM = Decoration("tonks_poster", "decoration", "Tonks Poster", poster_OBJ, 2, "Professor Tonks in her early twenties.") +default naughty_list_ITEM = Decoration("santas_naughty_list", "decoration", "Santa's Naughty List", poster_OBJ, 2, "See who was a bad boy, or a bad girl this year!", replace_action=Jump("naughty_list")) default stag_trophy_ITEM = Decoration("stag_trophy", "decoration", "Stag Trophy", trophy_OBJ, 3, "A perfect decoration over your mantelpiece to add a sense of masculinity to the office.") default crest_trophy_ITEM = Decoration("crest_trophy", "decoration", "Hogwarts Crest", trophy_OBJ, 3, "A perfect decoration for the headmaster.") @@ -44,3 +45,5 @@ default small_owl_ITEM = Decoration("small_owl", "decoration", "Small Owl", owl_ default xmas_lights_ITEM = Decoration("xmas_lights", "decoration", "Christmas Lights", chandelier_OBJ, 5, "A programmable set of LED lights. Remote control batteries not included.", replaces=True, room_image="xmas_lights_alternate", replace_action=Jump("xmas_lights_settings"), replace_anchor=(0.0, 0.0), replace_pos=(0, 0)) default xmas_wreaths_ITEM = Decoration("xmas_wreaths", "decoration", "Christmas Wreaths", door_OBJ, 5, "Chrismtas Wreaths to spread the christmas cheer.", room_image="xmas_wreaths") default xmas_giftchair_ITEM = Decoration("xmas_giftchair", "decoration", "Christmas Wreaths", chair_OBJ, 5, "A baby-sized gift-wrapped box. I wonder what's inside?", room_image="xmas_giftchair") +default xmas_garland_ITEM = Decoration("xmas_garland", "decoration", "Christmas Garland", chandelier_OBJ, 5, "A ever-so-green enchanted garland to get you into christmas spirit!", replace_anchor=(0.0, 0.0), replace_pos=(0, 0)) +default xmas_window_santa_ITEM = Decoration("xmas_window_santa", "decoration", "Christmas Window Enchantement", window_OBJ, 5, "A window enchantment that will make you think twice before saying \"I don't believe in Santa\" ever again.", room_image="xmas_window_santa", replace_anchor=(0.0, 0.0), replace_pos=(0,0)) diff --git a/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy b/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy index 62b770e2..19a2371a 100644 --- a/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy +++ b/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy @@ -5,7 +5,12 @@ label genies_christmas_wish_rewards: call unlock_clothing(text=">New clothing items for Cho have been unlocked!", item=cho_outfit_reindeer) call unlock_clothing(text=">New clothing items for Luna have been unlocked!", item=lun_outfit_reindeer) - # TODO: Add Decoration rewards + python: + naughty_list_ITEM.owned = 1 + xmas_garland_ITEM.owned = 1 + xmas_window_santa_ITEM.owned = 1 + + call give_reward(text=">You have received a bunch of new room decorations!", gift="interface/icons/santas_naughty_list.webp") return @@ -15,10 +20,10 @@ label genies_christmas_wish: #TODO Add decorations - # $ fireplace_OBJ.foreground = "fireplace_fire" - # $ phoenix_OBJ.decoration = xmas_phoenix_ITEM - # $ owl_OBJ.decoration = xmas_owl_ITEM - # $ fireplace_OBJ.decoration = xmas_fireplace_ITEM + $ fireplace_OBJ.foreground = "fireplace_fire" + $ window_OBJ.decoration = xmas_window_santa_ITEM + $ chandelier_OBJ.decoration = xmas_garland_ITEM + $ poster_OBJ.decoration = naughty_list_ITEM $ hermione.equip(her_outfit_reindeer) $ cho.equip(cho_outfit_reindeer) $ luna.equip(lun_outfit_reindeer) @@ -117,6 +122,7 @@ label genies_christmas_wish: gen "No I'm not!" ("base", xpos="far_left", ypos="head") show screen blkfade + with d3 play sound "sounds/woosh.ogg" nar "His eyes now shut, as they had been sprayed by magic sand." diff --git a/game/scripts/rooms/main_room/images.rpy b/game/scripts/rooms/main_room/images.rpy index ddcf6817..24d8fe53 100644 --- a/game/scripts/rooms/main_room/images.rpy +++ b/game/scripts/rooms/main_room/images.rpy @@ -668,3 +668,29 @@ image xmas_giftchair: pos (35, 108) "images/rooms/objects/decorations/xmas_giftchair.webp" + +image xmas_window_santa_doodle: + size (2160, 1200) + contains: + animation + size (240, 108) + subpixel True + offset (640, 460) + + contains: + fit "fill" + "xmas_window_santa_base" + contains: + animation + fit "fill" + "xmas_window_santa_light" + + linear 0.5 alpha 0.1 + linear 0.5 alpha 1.0 + repeat + + linear 10.0 xoffset 1000 + pause 10.0 + repeat + +image xmas_window_santa = AlphaMask("xmas_window_santa_doodle", "xmas_window_santa_mask") diff --git a/game/scripts/rooms/main_room/objects/poster.rpy b/game/scripts/rooms/main_room/objects/poster.rpy index 16b80350..1687f688 100644 --- a/game/scripts/rooms/main_room/objects/poster.rpy +++ b/game/scripts/rooms/main_room/objects/poster.rpy @@ -1,18 +1,69 @@ label enlarge_poster: - show screen blktone - show screen poster - with d3 + show image "#00000080" as underlay + $ renpy.show(name="poster", what=Image(poster_OBJ.decoration.image), zorder=25, at_list=[truecenter]) call ctc - hide screen blktone - hide screen poster + hide poster + hide underlay with d3 jump main_room_menu -screen poster(): - zorder 25 - tag poster +# Xmas 2022 - Decoration - add poster_OBJ.decoration.image align (0.5, 0.5) +default naughty_list_commentary = False + +label naughty_list: + + python: + _username = None + _d = [(i, get_character_progression(i)) for i in CHARACTERS if get_character_unlock(i)] + _d.append(["Snape", sna_friendship]) + + try: + _username = os.getlogin().split(" ")[0].capitalize() + _d.append([_username, 999]) + except: + _d.append(["Genie", 999]) + + _d.sort(key=lambda x: x[1], reverse=True) + + + show screen naughty_list(_d) + with d3 + + if not naughty_list_commentary: + $ naughty_list_commentary = True + + pause 1.0 + + if _username: + gen "List checks out... But who the fuck is [_username]?" ("base", xpos="far_left", ypos="head") + else: + gen "I'm on the first place, nice!" ("base", xpos="far_left", ypos="head") + + call ctc + + hide screen naughty_list + with d3 + + jump main_room_menu + +screen naughty_list(d): + zorder 25 + + add "#00000080" + add "naughty_list scroll" fit "cover" at truecenter + + vbox: + align (0.51, 0.66) + spacing 2 + + for i, (name, _) in enumerate(d, start=1): + + fixed: + fit_first True + add "naughty_list spacer" size (156, 21) + text "[i]" pos (6, 3) + text "[name]" xalign 0.5 yoffset 3