From 7ed5b0122746f2abb560686335608a59e4f9a2d1 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Mon, 13 Feb 2023 22:17:02 +0000 Subject: [PATCH] Bug fixes * Fixed pulse_hover animation resetting * Fixed Hermione's hold book pose * Fixed minor story inconsistencies and spelling * Fixed Tonks' hair colour not resetting * Blocked Hermione from being summoned during Tonks' investigation * Blocked Snape from being summoned during the day (It's not like he'd help anyway) * Updated tutorials to reflect these changes --- .../frame/default/skin.webp} | 0 game/scripts/animations/transforms.rpy | 1 + .../characters/hermione/events/intro.rpy | 8 +++--- .../scripts/characters/snape/events/intro.rpy | 7 +++--- game/scripts/characters/tonks/common.rpy | 25 ++++++++++--------- .../scripts/characters/tonks/events/intro.rpy | 7 ++++-- game/scripts/characters/tonks/summon.rpy | 2 +- game/scripts/characters/tonks/vars.rpy | 5 +++- game/scripts/events/DayNight.rpy | 2 +- game/scripts/interface/tutorials.rpy | 6 ++--- 10 files changed, 37 insertions(+), 26 deletions(-) rename game/characters/hermione/poses/hold_book/{body/front.webp => bodyparts/frame/default/skin.webp} (100%) diff --git a/game/characters/hermione/poses/hold_book/body/front.webp b/game/characters/hermione/poses/hold_book/bodyparts/frame/default/skin.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/body/front.webp rename to game/characters/hermione/poses/hold_book/bodyparts/frame/default/skin.webp diff --git a/game/scripts/animations/transforms.rpy b/game/scripts/animations/transforms.rpy index f5c1d2d3..880fa24d 100644 --- a/game/scripts/animations/transforms.rpy +++ b/game/scripts/animations/transforms.rpy @@ -105,6 +105,7 @@ transform random_rotation(a=-45, b=45): rotate random.randint(a, b) transform pulse_hover(t=1.0, strength=0.2, pause=0.0): + animation linear t matrixcolor BrightnessMatrix(value=strength) linear t matrixcolor BrightnessMatrix(value=0.0) pause pause diff --git a/game/scripts/characters/hermione/events/intro.rpy b/game/scripts/characters/hermione/events/intro.rpy index fedb21ad..f6ddc96e 100644 --- a/game/scripts/characters/hermione/events/intro.rpy +++ b/game/scripts/characters/hermione/events/intro.rpy @@ -646,7 +646,7 @@ label ss_he_hermione_E2: sna "Oh, yes!" ("snape_34") gen "And she thinks that she is better than everyone else..." ("base", xpos="far_left", ypos="head") sna "Where are you going with this?" ("snape_44") - gen "Well, it seems like all of her power comes from her reputation..." ("base", xpos="far_left", ypos="head") + gen "Well, it seems like all of her power comes from her reputation and good grades..." ("base", xpos="far_left", ypos="head") sna "......................?" ("snape_39") gen "What if we take that away from her?" ("base", xpos="far_left", ypos="head") sna "That would shut her up I suppose..." ("snape_38") @@ -656,6 +656,8 @@ label ss_he_hermione_E2: sna "She is always way ahead of schedule..." ("snape_31") sna "Damn, how I hate it when she corrects me during my classes..." ("snape_08") sna "And thanks to her the Gryffindor house is way ahead of everybody else now..." ("snape_34") + sna "It's only a matter of time before they win the house cup..." ("snape_34") + gen "(Students fighting for imaginary points... That sure seems like a normal school.)" ("base", xpos="far_left", ypos="head") sna "Even Slytherin is no match for them this year..." ("snape_35") sna "........................" ("snape_43") sna "Dammit... I need more wine..." ("snape_34") @@ -679,7 +681,7 @@ label ss_he_hermione_E2: gen "Exactly!" ("base", xpos="far_left", ypos="head") sna "You're right! I can grade her tests unfairly! I could even persuade other teachers to do the same!" ("snape_02") sna "I could say that the order comes from you..." ("snape_02") - sna "And when the real Dumbledore shows up I will pretend that I had no idea that he was away..." ("snape_45") + sna "And when the real Dumbledore shows up, I will pretend that I had no idea that he was away..." ("snape_45") gen "Works for me." ("base", xpos="far_left", ypos="head") sna "*Err*..." ("snape_38") sna "This is still you, genie, right?" ("snape_38") @@ -806,7 +808,7 @@ label hermione_intro_E3: "\"There, there... It'll be alright.\"": her "No it won't! This is a catastrophe!" ("mad", "happyCl", "worried", "mid", tears="soft_blink") - her "And the worst part is that I think I might be the only one who failed..." ("angry", "base", "base", "mid", tears="soft") + her "And the worst part is that I think I might be the only one who failed... Well... {i}Almost{/i}" ("angry", "base", "base", "mid", tears="soft") her "How will this make me look?" ("angry", "base", "base", "mid", tears="soft") her "I will know for sure when we get the results though..." ("normal", "base", "base", "R", tears="soft") her "Yes, I'm sure everyone else failed as well..." ("soft", "base", "base", "R") diff --git a/game/scripts/characters/snape/events/intro.rpy b/game/scripts/characters/snape/events/intro.rpy index 0fb8a1e5..c67e0629 100644 --- a/game/scripts/characters/snape/events/intro.rpy +++ b/game/scripts/characters/snape/events/intro.rpy @@ -410,6 +410,7 @@ label snape_intro_E3: gen "!!!" ("angry", xpos="far_left", ypos="head") sna "Easy now... Just answer my question." ("snape_01", wand=True) gen "Alright, alright. Just calm down, would you?" ("base", xpos="far_left", ypos="head") + gen "You might poke someone's eye with that stick if you're not careful." ("base", xpos="far_left", ypos="head") sna "........" ("snape_01", wand=True) label no_wait: @@ -541,7 +542,7 @@ label snape_intro_E4: gen "He's Probably feeling just as surprised finding himself in my world as I am about finding myself here..." ("base", xpos="far_left", ypos="head") sna "...................................." ("snape_01") sna "When did this happen?" ("snape_01") - gen "Three days ago..." ("base", xpos="far_left", ypos="head") + gen "It happened few days ago..." ("base", xpos="far_left", ypos="head") sna "Can you go back?" ("snape_01") gen "I think so..." ("base", xpos="far_left", ypos="head") sna "Why didn't you?" ("snape_31") @@ -748,7 +749,7 @@ label snape_intro_E5: gen "Seriously though, I don't see how this whole affair benefits me at all." ("base", xpos="far_left", ypos="head") sna "Do you have any choice?" ("snape_01") gen "I do..." ("base", xpos="far_left", ypos="head") - gen "Instead of sitting here on my ass all day and being quiet I could explore your world..." ("base", xpos="far_left", ypos="head") + gen "Instead of sitting here on my ass all day and being quiet, I could explore your world..." ("base", xpos="far_left", ypos="head") sna "*Hmm*..." ("snape_03") sna "Well, alright, what do you want?" ("snape_01") @@ -781,7 +782,7 @@ label snape_intro_E5: gen "I don't want my guests to just stand." ("base", xpos="far_left", ypos="head") sna "Guests? You're not supposed to have g--" ("snape_10") sna "*sigh* It's pointless reasoning with you, isn't it?" ("snape_06") - gen "Yes." ("base", xpos="far_left", ypos="head") + gen "You're learning quick." ("base", xpos="far_left", ypos="head") sna "Alright, you'll have your chair." ("snape_03") gen "and lastly..." ("base", xpos="far_left", ypos="head") gen "Teach me your magic..." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/tonks/common.rpy b/game/scripts/characters/tonks/common.rpy index 02ea23c0..b18a26a5 100644 --- a/game/scripts/characters/tonks/common.rpy +++ b/game/scripts/characters/tonks/common.rpy @@ -91,32 +91,33 @@ init python: redraw = True tonks.set_emote(emote) + target_color = tonks_haircolor if hair: if isinstance(hair, list): target_color = hair elif hair in ("neutral", "basic", "reset"): - target_color = tonks_haircolor + pass elif hair in ("red", "angry", "furious"): - target_color = [[164, 34, 34, 255], [219, 83, 83, 255]] + target_color = [Color((164, 34, 34, 255)), Color((219, 83, 83, 255))] elif hair in ("orange", "upset", "annoyed"): - target_color = [[228, 93, 34, 255], [246, 193, 170, 255]] + target_color = [Color((228, 93, 34, 255)), Color((246, 193, 170, 255))] elif hair in ("yellow", "happy", "cheerful"): - target_color = [[255, 213, 23, 255], [255, 239, 167, 255]] + target_color = [Color((255, 213, 23, 255)), Color((255, 239, 167, 255))] elif hair in ("green", "disgusted"): - target_color = [[111, 205, 75, 255], [200, 237, 186, 255]] + target_color = [Color((111, 205, 75, 255)), Color((200, 237, 186, 255))] elif hair in ("blue", "sad"): - target_color = [[64, 75, 205, 255], [182, 186, 237, 255]] + target_color = [Color((64, 75, 205, 255)), Color((182, 186, 237, 255))] elif hair == "purple": - target_color = [[205, 75, 205, 255], [237, 186, 237, 255]] + target_color = [Color((205, 75, 205, 255)), Color((237, 186, 237, 255))] elif hair in ("white", "scared"): - target_color = [[238, 238, 241, 255], [249, 249, 250, 255]] + target_color = [Color((238, 238, 241, 255)), Color((249, 249, 250, 255))] elif hair in ("pink", "horny"): - target_color = [[255, 105, 180, 255], [251, 205, 222, 255]] + target_color = [Color((255, 105, 180, 255)), Color((251, 205, 222, 255))] - if target_color != tonks.get_equipped("hair").color: - tonks.get_equipped("hair").set_color(target_color) - redraw = True + if target_color != tonks.get_equipped("hair").color: + tonks.get_equipped("hair").set_color(target_color) + redraw = True if animation != False: tonks.animation = animation diff --git a/game/scripts/characters/tonks/events/intro.rpy b/game/scripts/characters/tonks/events/intro.rpy index d0882d60..d1360fbc 100644 --- a/game/scripts/characters/tonks/events/intro.rpy +++ b/game/scripts/characters/tonks/events/intro.rpy @@ -231,6 +231,7 @@ label tonks_intro_E1: gen "This can't be good..." ("base", xpos="far_left", ypos="head") $ snape_busy = True + $ hermione_busy = True $ tonks_intro.E1_complete = True jump end_tonks_event @@ -330,6 +331,7 @@ label tonks_intro_E2: gen "Shit..." ("base", xpos="far_left", ypos="head") gen "I better talk to Snape about this..." ("base", xpos="far_left", ypos="head") + $ hermione_busy = True $ tonks_intro.E2_complete = True jump end_tonks_event @@ -454,6 +456,7 @@ label ss_he_tonks_E1: $ ss_he.tonks_E1 = True $ ss_event_pause += 1 + $ hg_event_pause += 1 $ chair_OBJ.hidden = False $ fireplace_OBJ.foreground = None @@ -527,9 +530,9 @@ label tonks_intro_E3: gen "No wait, it was {i}Albertus Dumblerdore{/i}! That's it!" ("angry", xpos="far_left", ypos="head") gen "(Yes, that was probably it...)" ("base", xpos="far_left", ypos="head") "\"You know who!\"": - ton "What?" ("open", "wide", "angry", "mid") + ton "What?!" ("open", "wide", "base", "mid", hair="scared") gen "You...{w=0.8} know...{w=0.8} who..." ("base", xpos="far_left", ypos="head") - ton "That can't be true!" ("open", "base", "annoyed", "mid") + ton "That can't be true, you're making it up!" ("open", "base", "annoyed", "mid") gen "You know who I am. You said it yourself earlier." ("base", xpos="far_left", ypos="head") gen "(If only I could remember what she called me...)" ("base", xpos="far_left", ypos="head") #"The danger!": diff --git a/game/scripts/characters/tonks/summon.rpy b/game/scripts/characters/tonks/summon.rpy index 69118f34..bc5a3d7b 100644 --- a/game/scripts/characters/tonks/summon.rpy +++ b/game/scripts/characters/tonks/summon.rpy @@ -57,7 +57,7 @@ label summon_tonks: call wardrobe # Hair fix - $ tonks_haircolor = tonks.get_equipped("hair").color + $ tonks_haircolor = [c for c in tonks.get_equipped("hair").color] jump tonks_requests "-Hidden-" (style="disabled") if not tonks_wardrobe_unlocked: diff --git a/game/scripts/characters/tonks/vars.rpy b/game/scripts/characters/tonks/vars.rpy index 603bb751..5e1ad9a4 100644 --- a/game/scripts/characters/tonks/vars.rpy +++ b/game/scripts/characters/tonks/vars.rpy @@ -19,7 +19,10 @@ default tonks_outfits_schedule = True default ton_level_up = None default gave_tonks_gift = False default tonks_mail_list = [] -default tonks_haircolor = [[255, 146, 185, 255], [254, 218, 238, 255]] + +init offset = 5 +default tonks_haircolor = [c for c in ton_hair_base.color] +init offset = 0 # Names default tonks_name = "Tonks" diff --git a/game/scripts/events/DayNight.rpy b/game/scripts/events/DayNight.rpy index 64a05162..c8f0b6e1 100644 --- a/game/scripts/events/DayNight.rpy +++ b/game/scripts/events/DayNight.rpy @@ -58,7 +58,7 @@ label day_start: sb_summon_pause = max(sb_summon_pause-1, 0) # Reset busy flags (Based on current tick) - snape_busy = bool(ss_summon_pause) + snape_busy = True # bool(ss_summon_pause) tonks_busy = bool(nt_summon_pause) hermione_busy = bool(hg_summon_pause) luna_busy = bool(ll_summon_pause) diff --git a/game/scripts/interface/tutorials.rpy b/game/scripts/interface/tutorials.rpy index 4b1da488..912f0ed5 100644 --- a/game/scripts/interface/tutorials.rpy +++ b/game/scripts/interface/tutorials.rpy @@ -2,13 +2,13 @@ default tutorial_dict = { "hearts": ["Favours", "Hearts indicate your current status towards a personal favour.\n\n{color=#FFFFFF80}{b}Empty Heart{/b}{/color}{size=-2} indicates the event hasn't been seen yet.{/size}\n{color=#bf5649}{b}Red Heart{/b}{/color}{size=-2} indicates completion of the event.{/size}\n{color=#333333}{b}Black Heart{/b}{/color}{size=-2} indicates failure of the event and you should try it again at a higher character level.{/size}\n{b}{color=#FFFFFF80}Half{/color} {color=#bf5649}Heart{/color}{/b}{size=-2} indicates there's a hidden path inside the event you should follow, in order to progress further.{/size}", False], "moodngifts": ["Mood & Gifts", "Sometimes your choices may upset some characters, just like in life. You can try and avoid picking options that you think would upset them, but if you mess up, buy them some nice {color=#204997}{b}gift{/b}{/color} and they might forgive you. Keep in mind that every character has their own gift preferences.\n\nAlternatively, you can wait until they calm down but who knows how long that would take.", False], "hangouts": ["Hangouts", "Getting to know your accomplices is an important aspect of progressing through the game. Hanging out with Snape for example improves your friendship and support which has various benefits such as story and character related unlockables.\n\nYou can check your current relationship status in the {color=#204997}{b}characters menu{/b}{/color}.", False], - "workngold": ["Working & Gold", "Gold is a universal currency in the magical world. To earn gold you must complete at least one full report for the ministry. You can start working by clicking on the {color=#204997}{b}work button{/b}{/color} or clicking on the desk and papers.\n\nYou might find other work opportunities as you progress through the game.", False], + "workngold": ["Working & Gold", "Gold is a universal currency in the magical world. To earn gold you must complete at least one full report for the ministry. You can start working by clicking on the {color=#204997}{b}work button{/b}{/color} or clicking on the desk and papers.\n\nYou might find other work opportunities as you progress through the game. Please note that characters may not be available at all times.", False], "inventory": ["Inventory & Items", "The inventory screen allows you to examine items you possess. You can access it by clicking on the {color=#204997}{b}inventory button{/b}{/color} located on the top right part of the screen. The inventory is split into two main categories:\n{color=#204997}{b}Gifts{/b}{/color} - Items that can be given to other characters.\n{color=#204997}{b}Quest Items{/b}{/color} - Important items related to game progression. Some of them can be used by clicking on the {b}USE{/b} button next to the item name when it's selected.", False], "schedule": ["Outfits Schedule", "Outfits can be assigned into a set schedule, which will allow the girls to pick what they are going to wear next time you summon them, based on time of day and weather conditions.\n\nYou can assign schedules inside the Wardrobe's Outfits Manager section, by clicking on the icon represented above. \n\nThis feature can be disabled at any time in the wardrobe options menu.", False], "points": ["House Points", "House points are awarded to students for excelling in their assignments. You can manipulate the points system directly by awarding points to students for completing their tasks, or by befriending the teachers.\n\nSome characters may care about house points more than others so keep that in mind.", False], "map": ["Navigation", "The map allows you to traverse the castle by clicking on one of the icons. Highlighted areas indicate a new event on that location. You can access the map from within the desk menu.", False], - "time": ["Passing Time", "There's various things that you can spend your time doing at Hogwarts, but sometimes you may end up with not much to do.\nIf this is the case then you can pass time by clicking on the {color=#204997}{b}pass time button{/b}{/color} located in the top-right corner. \n\n{size=-2}Or you could always rub one out for old time's sake. The choice is yours.{/size}", False], - "mail": ["Mail", "Owls will occasionally bring you letters or parcels. Click on the owl or parcel to interact with it.\n\nUnlike mail pidgeons, owls are tidy creatures and won't shit all over your floor... Probably.", False], + "time": ["Passing Time", "There are many activities you may do at Hogwarts, but occasionally there might not be much to do.\nIf this is the case then you can pass time by clicking on the {color=#204997}{b}pass time button{/b}{/color} located in the top-right corner.\n\n{size=-2}Or you could always rub one out for old time's sake. The choice is yours.{/size}", False], + "mail": ["Mail", "Owls will occasionally bring you letters or parcels. Click on the owl or parcel to interact with it.\n\nUnlike mail pidgeons, owls are tidy creatures and won't shit all over your floors. Theorethically...", False], "brewing": ["Potions Brewing", "Brewing potions wasn't always an easy task, but thanks to Magic Cauldron incorporated (TM), the entire process became automated. Once you have the required ingredients in your inventory, simply click on the {color=#204997}{b}cauldron{/b}{/color} to make the desired potion.", False], }