From 860212b5e1c2065d161027bb5e450fda3eb4fca5 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Wed, 21 Dec 2022 20:38:20 +0000 Subject: [PATCH] Xmas Story * Added new Genie Stripper Santa Outfit. * Added experimental Genie Outfit cheat. * Refactored santa speaker to utilize a single `gen` speaker and applied the change to all affected events. * Improved base Genie model, the default robes outfit and image creation code. --- game/characters/genie/base.webp | 4 +- game/characters/genie/beard.webp | 3 + game/characters/genie/outfits/robes.webp | 3 + .../characters/genie/outfits/robes_beard.webp | 3 + game/characters/genie/outfits/santa.webp | 3 + .../genie/outfits/santa_beard_angry.webp | 3 + .../genie/outfits/santa_beard_base.webp | 3 + .../genie/outfits/santa_beard_grin.webp | 3 + .../genie/outfits/santa_beard_open.webp | 3 + .../genie/outfits/santa_beard_smile.webp | 3 + game/characters/genie/robes.webp | 3 - game/characters/genie/robes_fix.webp | 3 - game/scripts/characters.rpy | 9 --- game/scripts/characters/genie/wardrobe.rpy | 18 ++++-- game/scripts/interface/cheats.rpy | 19 +++++++ .../mirror/events/a_christmas_tale.rpy | 18 +++--- .../mirror/events/a_christmas_tale2.rpy | 56 +++++++++---------- .../mirror/events/a_white_christmas.rpy | 2 +- .../mirror/events/genies_christmas_wish.rpy | 10 ++-- 19 files changed, 103 insertions(+), 66 deletions(-) create mode 100644 game/characters/genie/beard.webp create mode 100644 game/characters/genie/outfits/robes.webp create mode 100644 game/characters/genie/outfits/robes_beard.webp create mode 100644 game/characters/genie/outfits/santa.webp create mode 100644 game/characters/genie/outfits/santa_beard_angry.webp create mode 100644 game/characters/genie/outfits/santa_beard_base.webp create mode 100644 game/characters/genie/outfits/santa_beard_grin.webp create mode 100644 game/characters/genie/outfits/santa_beard_open.webp create mode 100644 game/characters/genie/outfits/santa_beard_smile.webp delete mode 100644 game/characters/genie/robes.webp delete mode 100644 game/characters/genie/robes_fix.webp diff --git a/game/characters/genie/base.webp b/game/characters/genie/base.webp index 9253162b..b30dac7a 100644 --- a/game/characters/genie/base.webp +++ b/game/characters/genie/base.webp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0484d04fcbf27cf86e56800bf03e62edfa0417f060a257b1d30f87902a425ef -size 218008 +oid sha256:250449ae16d33b43148b9d4d18506d3faf1738f7c06df4a0bfa8967073210800 +size 216480 diff --git a/game/characters/genie/beard.webp b/game/characters/genie/beard.webp new file mode 100644 index 00000000..f32a1c67 --- /dev/null +++ b/game/characters/genie/beard.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a53dffc1c42a1fe081df634cbcdcd0991979dcade9f3d992fefba90ad0ee3057 +size 6166 diff --git a/game/characters/genie/outfits/robes.webp b/game/characters/genie/outfits/robes.webp new file mode 100644 index 00000000..11b988d6 --- /dev/null +++ b/game/characters/genie/outfits/robes.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c1c4ed5e3842b361c1ca1af5eeb3e5e9c9315d6a8c90c318f7898ecf554ded5 +size 395224 diff --git a/game/characters/genie/outfits/robes_beard.webp b/game/characters/genie/outfits/robes_beard.webp new file mode 100644 index 00000000..f32a1c67 --- /dev/null +++ b/game/characters/genie/outfits/robes_beard.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a53dffc1c42a1fe081df634cbcdcd0991979dcade9f3d992fefba90ad0ee3057 +size 6166 diff --git a/game/characters/genie/outfits/santa.webp b/game/characters/genie/outfits/santa.webp new file mode 100644 index 00000000..53f26f2f --- /dev/null +++ b/game/characters/genie/outfits/santa.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7b3317f21f0140149fe6ff5265eceeb83d4972a70d6b6c53f8810a9cf32d603 +size 433864 diff --git a/game/characters/genie/outfits/santa_beard_angry.webp b/game/characters/genie/outfits/santa_beard_angry.webp new file mode 100644 index 00000000..83730a2d --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab75c9dbcb03f0a78baa25c13b96eb780cc9a672a0d6b12aff79a4e45e8d2db5 +size 51918 diff --git a/game/characters/genie/outfits/santa_beard_base.webp b/game/characters/genie/outfits/santa_beard_base.webp new file mode 100644 index 00000000..937d8a1d --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5672a51afac6a00e21096c069e8815d07fbc09baf2d841dc4a4054f33409c654 +size 51880 diff --git a/game/characters/genie/outfits/santa_beard_grin.webp b/game/characters/genie/outfits/santa_beard_grin.webp new file mode 100644 index 00000000..aad06406 --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09fb7071cd1f8684b6438efa97c40b3667e32ee0bb4d555c4fa81e9f0ed9afca +size 52344 diff --git a/game/characters/genie/outfits/santa_beard_open.webp b/game/characters/genie/outfits/santa_beard_open.webp new file mode 100644 index 00000000..b09dff5c --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee1732655493fceb707ca24dd1c78522834f94a06d07132dd5fca350079c6cda +size 52894 diff --git a/game/characters/genie/outfits/santa_beard_smile.webp b/game/characters/genie/outfits/santa_beard_smile.webp new file mode 100644 index 00000000..427b0929 --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beed64f6c5cff84a6d0982de5b5ce702cd1d134555060a7162ac61ac155c65ea +size 53502 diff --git a/game/characters/genie/robes.webp b/game/characters/genie/robes.webp deleted file mode 100644 index 3d1633eb..00000000 --- a/game/characters/genie/robes.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f7145c4b0b13f2bea60f37e8108b80b1cceb4d42d1a19a512da2d88c9df2cd9b -size 391566 diff --git a/game/characters/genie/robes_fix.webp b/game/characters/genie/robes_fix.webp deleted file mode 100644 index 39949277..00000000 --- a/game/characters/genie/robes_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c717d6968ad8c8c2c8b4cd7140523a6972100c2c23009b1bad6b6750f42603e -size 14424 diff --git a/game/scripts/characters.rpy b/game/scripts/characters.rpy index 8dbea8ab..ab0ae54c 100644 --- a/game/scripts/characters.rpy +++ b/game/scripts/characters.rpy @@ -79,12 +79,3 @@ define dum2 = Character("[dumbledore_name]", show_side_image=Image("characters/m define dum3 = Character("[dumbledore_name]", show_side_image=Image("characters/misc/dumbledore/dum_3.webp"), show_icon="dumbledore") define dum4 = Character("[dumbledore_name]", show_side_image=Image("characters/misc/dumbledore/dum_4.webp"), show_icon="dumbledore") define dum5 = Character("[dumbledore_name]", show_side_image=Image("characters/misc/dumbledore/dum_5.webp"), show_icon="dumbledore") - -# Santa -define san1 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_1.webp"), show_icon="santa") -define san2 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_2.webp"), show_icon="santa") -define san3 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_3.webp"), show_icon="santa") -define san4 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_4.webp"), show_icon="santa") -define san5 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_5.webp"), show_icon="santa") -define san6 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_6.webp"), show_icon="santa") -define san7 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_7.webp"), show_icon="santa") diff --git a/game/scripts/characters/genie/wardrobe.rpy b/game/scripts/characters/genie/wardrobe.rpy index beb78f20..ebe200e5 100644 --- a/game/scripts/characters/genie/wardrobe.rpy +++ b/game/scripts/characters/genie/wardrobe.rpy @@ -36,22 +36,28 @@ layeredimage genie: group hair: attribute nude "characters/genie/hair.webp" - group fixes: - attribute robes "characters/genie/robes_fix.webp" - always "characters/genie/base.webp" group face: - attribute base Null() + attribute base default 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" + attribute robes default "characters/genie/outfits/robes.webp" + attribute santa "characters/genie/outfits/santa.webp" + + group beard multiple: + attribute nude default "characters/genie/beard.webp" if_all ["nude"] + attribute robes default "characters/genie/outfits/robes_beard.webp" if_all ["robes"] + attribute santa_base default "characters/genie/outfits/santa_beard_base.webp" if_all ["santa", "base"] + attribute santa_grin default "characters/genie/outfits/santa_beard_grin.webp" if_all ["santa", "grin"] + attribute santa_angry default "characters/genie/outfits/santa_beard_angry.webp" if_all ["santa", "angry"] + attribute santa_smile default "characters/genie/outfits/santa_beard_smile.webp" if_all ["santa", "smile"] + attribute santa_open default "characters/genie/outfits/santa_beard_open.webp" if_all ["santa", "open"] at Transform(function=genie_transform) diff --git a/game/scripts/interface/cheats.rpy b/game/scripts/interface/cheats.rpy index 549dc707..355ab861 100644 --- a/game/scripts/interface/cheats.rpy +++ b/game/scripts/interface/cheats.rpy @@ -302,6 +302,25 @@ label cheats: jump cheats menu: + "-Genie Outfits-": + label .genie: + menu: + "-Use Default Outfit": + show genie robes + hide genie + with None + + gen robes "Swag." ("grin", xpos="far_left", ypos="head") + "-Use Santa Outfit": + show genie santa + hide genie + with None + + gen santa "Cool." ("grin", xpos="far_left", ypos="head") + ">Disclaimer: Outfits will not be displayed during CG scenes and for chibi animations." + "-Back-": + jump cheats.characters + jump cheats.genie "{size=-4}-Wardrobe Transparency Slider- (Is enabled: [cheat_wardrobe_alpha]){/size}" (icon="interface/icons/small/wardrobe.webp"): $ cheat_wardrobe_alpha = not cheat_wardrobe_alpha diff --git a/game/scripts/minigames/mirror/events/a_christmas_tale.rpy b/game/scripts/minigames/mirror/events/a_christmas_tale.rpy index 65ea68ff..36378bff 100644 --- a/game/scripts/minigames/mirror/events/a_christmas_tale.rpy +++ b/game/scripts/minigames/mirror/events/a_christmas_tale.rpy @@ -90,11 +90,11 @@ label a_christmas_tale: show screen bld1 with d3 - san1 "Oh hello there my friend." + gen santa "Oh hello there my friend." ("base", xpos="far_left", ypos="head") nar "Said the figure at last." - san1 "I thought you might be here, but where's that genie?" + gen "I thought you might be here, but where's that genie?" ("base", xpos="far_left", ypos="head") sna "..." (face="snape_25") - san1 "Blast..." + gen "Blast..." ("base", xpos="far_left", ypos="head") sna "Genie..." (face="snape_24") nar "Said the teacher." @@ -102,16 +102,16 @@ label a_christmas_tale: sna "Have you been drinking again?" (face="snape_25") sna "And I don't mean drinking tea." (face="snape_29") - san1 "I don't know what you mean." + gen "I don't know what you mean." ("base", xpos="far_left", ypos="head") nar "Said the large bearded man..." - san2 "I'm Santa of course." - san2 "I bring presents..." - san2 "That's the plan!" + gen "I'm Santa of course." ("grin", xpos="far_left", ypos="head") + gen "I bring presents..." ("grin", xpos="far_left", ypos="head") + gen "That's the plan!" ("grin", xpos="far_left", ypos="head") pause.8 nar "After silence and confusion then Severus said..." sna "Well, just get it over with so I can go back to bed." (face="snape_09") - san1 "Now boy where's your spirit, it's Christmas is it not?" + gen "Now boy where's your spirit, it's Christmas is it not?" ("base", xpos="far_left", ypos="head") sna "Now genie, look here..." (face="snape_24") nar "But then he froze on the spot." @@ -177,7 +177,7 @@ label a_christmas_tale: with d5 pause.8 - san4 "Happy Holidays." + gen "Happy Holidays." ("grin", xpos="far_left", ypos="head") show screen blkfade with d9 diff --git a/game/scripts/minigames/mirror/events/a_christmas_tale2.rpy b/game/scripts/minigames/mirror/events/a_christmas_tale2.rpy index fe78eee1..6a125a8c 100644 --- a/game/scripts/minigames/mirror/events/a_christmas_tale2.rpy +++ b/game/scripts/minigames/mirror/events/a_christmas_tale2.rpy @@ -85,23 +85,23 @@ label a_christmas_tale2(): with d3 sna "Genie of course... You think I'd fall for that fake beard?" ("snape_05", trans=d3) - san1 "I think you must be mistaken." + gen santa "I think you must be mistaken." ("base", xpos="far_left", ypos="head") hide snape_main hide screen bld1 with d3 nar "Said Santa to the man." show screen bld1 with d3 - san1 "I'm not Genie, I'm Santa!" - san1 "I deliver presents!" - san2 "That's the plan!" + gen "I'm not Genie, I'm Santa!" ("base", xpos="far_left", ypos="head") + gen "I deliver presents!" ("base", xpos="far_left", ypos="head") + gen "That's the plan!" ("grin", xpos="far_left", ypos="head") - san1 "I bring cheers and presents, to all across the land." + gen "I bring cheers and presents, to all across the land." ("base", xpos="far_left", ypos="head") sna "Are you sure about that? I don't see a sack in your hand..." ("snape_01", trans=d3) hide snape_main with d3 - san1 "Be patient dear boy... Don't you give me that face." - san1 "Your gift will get here soon through this office fireplace." + gen "Be patient dear boy... Don't you give me that face." ("base", xpos="far_left", ypos="head") + gen "Your gift will get here soon through this office fireplace." ("base", xpos="far_left", ypos="head") hide screen bld1 with d3 @@ -113,7 +113,7 @@ label a_christmas_tale2(): show screen bld1 with d3 - san2 "Now check out this girl!" + gen "Now check out this girl!" ("grin", xpos="far_left", ypos="head") ton "" ("horny", "narrow", "base", "mid", hair="happy", xpos="mid", ypos="base", trans=d3) call ctc @@ -121,12 +121,12 @@ label a_christmas_tale2(): sna "Now that is a present!" ("snape_13", trans=d3) sna "You've outdone yourself." ("snape_20") hide snape_main - san1 "That's not your present, that's my sexy helper elf..." + gen "That's not your present, that's my sexy helper elf..." ("base", xpos="far_left", ypos="head") ton "Eye's up here boy..." ("base", "base", "base", "mid", hair="happy", trans=dissolve) ton "Your present is in this sack..." ("soft", "narrow", "base", "down", hair="happy") ton "These milkers belong to Santa!" ("horny", "narrow", "base", "L", hair="horny") - san2 "They're my after-work Christmas snack!" + gen "They're my after-work Christmas snack!" ("grin", xpos="far_left", ypos="head") hide tonks_main hide screen bld1 @@ -156,20 +156,20 @@ label a_christmas_tale2(): sna "Now that's a proper present!" ("snape_13", trans=d3) hide snape_main with d3 - san2 "Now unwrap those naughty bits!" + gen "Now unwrap those naughty bits!" ("grin", xpos="far_left", ypos="head") ton "Wait, I just remembered, don't unwrap the present yet!" ("mad", "shocked", "base", "L", hair="happy", trans=dissolve) ton "If he's not been good this year then a gift he cannot get." ("open", "closed", "shocked", "mid", hair="happy") hide tonks_main with d3 - san2 "I'm certain he's been good... Now unwrap her I insist!" + gen "I'm certain he's been good... Now unwrap her I insist!" ("grin", xpos="far_left", ypos="head") ton "I'm not so sure myself... His offences fill this list." ("upset", "narrow", "base", "down", hair="happy", trans=dissolve) hide tonks_main with d3 - san1 "Then read it for me elf... I'm sure it will be quick..." + gen "Then read it for me elf... I'm sure it will be quick..." ("base", xpos="far_left", ypos="head") hide screen bld1 with d3 nar "The elf then unrolled it... A scroll six inches thick." @@ -182,7 +182,7 @@ label a_christmas_tale2(): hide hermione_main with d3 - san1 "That can't be true!" + gen "That can't be true!" ("base", xpos="far_left", ypos="head") sna "Mere fabrications that, indeed..." ("snape_35", trans=d3) hide snape_main with d3 @@ -198,25 +198,25 @@ label a_christmas_tale2(): with d3 ton "So is slapping their ass..." ("disgust", "narrow", "base", "mid", hair="happy") - san1 "Well I'm sure they're all right... It was only a slap..." + gen "Well I'm sure they're all right... It was only a slap..." ("base", xpos="far_left", ypos="head") ton "I'm not done yet santa, there's more..." ("annoyed", "narrow", "base", "L", hair="happy") - san1 "What the crap..." + gen "What the crap..." ("base", xpos="far_left", ypos="head") ton "Stealing mounds of sweets and sniffing girls hair..." ("normal", "base", "raised", "down", hair="happy") sna "Now let's be reasonable for a minute, this list isn't fair!" ("snape_18", trans=d3) hide snape_main with d3 - san1 "I think he's got a point, at least he didn't curse..." + gen "I think he's got a point, at least he didn't curse..." ("base", xpos="far_left", ypos="head") ton "You say that but now, is when the list is getting worse..." ("disgust", "base", "base", "mid", hair="happy") ton "He's bought blowjobs with house points... Now that doesn't sound great..." ("open", "narrow", "base", "down", hair="happy") - san2 "A misprint I'm sure!" + gen "A misprint I'm sure!" ("grin", xpos="far_left", ypos="head") ton "The list says thirty-eight..." ("mad", "wide", "base", "down", hair="happy") ton "Wrapped around his finger... This is making me sick..." ("upset", "base", "base", "down", hair="upset") ton "This list is massive!" ("clench", "wide", "annoyed", "down", hair="angry") - san1 "Then just skim it real quick..." + gen "Then just skim it real quick..." ("base", xpos="far_left", ypos="head") ton "Taking girls books and replacing it with smut..." ("disgust", "narrow", "base", "down", hair="happy") ton "Then punishing them for it by spanking their butt..." ("annoyed", "narrow", "annoyed", "mid", hair="happy") @@ -232,26 +232,26 @@ label a_christmas_tale2(): ton "Spying in the toilets..." ("disgust", "narrow", "base", "down", hair="disgusted") ton "Never knocks on any doors..." ("open", "closed", "base", "mid", hair="happy") - san1 "Never knocks on any doors?!" + gen "Never knocks on any doors?!" ("base", xpos="far_left", ypos="head") nar "Said Santa at last." - san1 "Now that's a big offence!" + gen "Now that's a big offence!" ("base", xpos="far_left", ypos="head") ton "You really think so Santa?" ("annoyed", "wide", "raised", "mid", hair="happy") sna "Blast..." ("snape_11", trans=d3) hide snape_main with d3 - san1 "Sexual acts is one thing... But not knocking on doors!" - san1 "A man without manners is what Santa Claus abhors." - san1 "I can't give you a gift but I offer this advice." - san1 "Most things I will ignore but good manners deem you nice." + gen "Sexual acts is one thing... But not knocking on doors!" ("base", xpos="far_left", ypos="head") + gen "A man without manners is what Santa Claus abhors." ("base", xpos="far_left", ypos="head") + gen "I can't give you a gift but I offer this advice." ("base", xpos="far_left", ypos="head") + gen "Most things I will ignore but good manners deem you nice." ("base", xpos="far_left", ypos="head") - san1 "Now ladies it's time to leave, it is a busy time of year..." - san1 "Let us empty this sack and spread my Christmas cheer." + gen "Now ladies it's time to leave, it is a busy time of year..." ("base", xpos="far_left", ypos="head") + gen "Let us empty this sack and spread my Christmas cheer." ("base", xpos="far_left", ypos="head") ton "This meeting took way too long so we better spread it quick..." ("mad", "base", "base", "L", hair="happy") ton "I hope I get overtime for this..." ("annoyed", "base", "base", "R", hair="happy") hide tonks_main with d3 - san2 "I'll let you ride my magic di--" + gen "I'll let you ride my magic di--" ("grin", xpos="far_left", ypos="head") call gen_chibi("hide") #call ton_chibi("hide") diff --git a/game/scripts/minigames/mirror/events/a_white_christmas.rpy b/game/scripts/minigames/mirror/events/a_white_christmas.rpy index c03209ef..b30f8c78 100644 --- a/game/scripts/minigames/mirror/events/a_white_christmas.rpy +++ b/game/scripts/minigames/mirror/events/a_white_christmas.rpy @@ -369,6 +369,6 @@ label a_white_christmas: gen "Aaaah!" nar "Ball disintegration." - san4 "Happy Holidays." + gen santa "Happy Holidays." ("grin", xpos="far_left", ypos="head") $ renpy.end_replay() diff --git a/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy b/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy index 19a2371a..44c46692 100644 --- a/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy +++ b/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy @@ -127,7 +127,7 @@ label genies_christmas_wish: nar "His eyes now shut, as they had been sprayed by magic sand." - gen "My eyes!" ("open", xpos="far_left", ypos="head") + gen santa "My eyes!" ("open", xpos="far_left", ypos="head") nar "He yelled loudly... His vision now impaired." gen "This better not be permanent!" ("angry", xpos="far_left", ypos="head") nar "He said, his tone sounding a bit scared." @@ -221,14 +221,14 @@ label genies_christmas_wish: nar "One of them asked, as a tear escaped genie's eye." gen "A Christmas filled with sex... Now that is enough, to make a grown man cry." ("base", xpos="far_left", ypos="head") - san4 "The end!" + gen santa "The End!" ("grin", xpos="far_left", ypos="head") show screen blkfade with d4 - cho "Why was I even in this story? We don't even celebrate Christmas at my home." - san3 "*Err*..." + cho robes "Why was I even in this story? We don't even celebrate Christmas at my home." + gen "*Err*..." ("open", xpos="far_left", ypos="head") - san4 "Merry Christmas!" + gen santa "Happy Holidays!" ("smile", xpos="far_left", ypos="head") $ renpy.end_replay()