init python: def post_resolve_scene(resolution): global pause_for_movement pause_for_movement = True return def autorun_hacks(map_name): conditions = [lambda event: True] if map_name == "Knockers": if switch("dixondress"): conditions.append(lambda event: event[0] != "KnockersNightVisit") # hack for dixon's flyers must not trigger knockers night if map_name == "Warehouse": if switch("datewithjessie") and jessiedatenight <= 2 and _return is not None: conditions.append(lambda event: event[0] != "WarehouseEveningSwitches") # hack to prevent this running after Jessie autorun return lambda event: all(map(lambda condition: condition(event), conditions)) def character_direction(called_from, character, direction): return True def character_x(charId): if charId == "player": return map_x return 0 def character_y(charId): if charId == "player": return map_y return 0 def ImageManagercacheEmpty(): return True def display_name(m): return rpgm_display_name(m) def map_hacks(map_name, all_events): conditions = [lambda event: True] if map_name == "Home": if enchantment == 0 and not seen_today("HomeOutOfBed"): conditions.append(lambda event: event[0][0] == "HomeShower" or event[0][0] == "HomeDresser" or event[0][0] == "HomeOutOfBed") if people_donnie > 9: result_home_alone = event_call_result(["HomeAloneTime"]) if result_home_alone != None and result_home_alone[1][2] == "HomeAloneTime_5": conditions.append(lambda event: event[0][0] != "HomeAloneTime") elif map_name == "Tunnels": if sewer == 3: # hacks for positional events, with stevie meet moleman conditions.append(lambda event: event[0][0] != "TunnelsToSewer") elif switch("photoshoot_3"): # hacks for positional events, photoshoot3 conditions.append(lambda event: event[0][0] != "TunnelsToLockerRoomTunnelSewer") if not seen_today("TunnelsPlaceFeelsStrangePhotoshoot3"): conditions.append(lambda event: event[0][0] != "TunnelsToLockerRoomTunnelPhotoshoot3") else: conditions.append(lambda event: event[0][0] != "TunnelsPlaceFeelsStrangePhotoshoot3") elif map_name == "Sewer": if the_void <= 10: # hacks for positional events, first sewer visit conditions.append(lambda event: event[0][0] != "SewerToTunnels") elif switch("sewer"): # hacks for positional events with stevie, second sewer visit if not seen_today("SewerFirstEncounter"): conditions.append(lambda event: event[0][0] != "SewerToTunnels") else: conditions.append(lambda event: event[0][0] != "SewerFirstEncounter") elif switch("photoshoot_3"): # hacks for positional events, photoshoot3 conditions.append(lambda event: event[0][0] != "SewerToTunnels") if not seen_today("SewerFirstEncounter"): conditions.append(lambda event: event[0][0] != "SewerToTunnelsPhotoshoot3") else: conditions.append(lambda event: event[0][0] != "SewerFirstEncounter") # elif map_name == "Warehouse": # if outfit == 10 and not switch("stevierapeoutfit10"): # result_warehouse_stevie = event_call_result(["WarehouseStevie"]) # if result_warehouse_stevie != None and result_warehouse_stevie[1][2] == "WarehouseStevie_2": # conditions.append(lambda event: event[0][0] != "WarehouseStevie") elif map_name == "ParkBathroom": if switch("day_off") and jogging >= 1 and not switch("joggingoutfit"): conditions.append(lambda event: event[0][0] != "ParkBathroomChangeClothes") # hack for getting stuck in the park on day off elif map_name == "Outside": if revenge >= 22 and revenge < 25: conditions.append(lambda event: event[0][0] != "OutsideToWarehouse") # hack for getting stuck in the office after revenge if doctor == 0 and not switch("doctors_office"): conditions.append(lambda event: event[0][0] != "OutsideToDoctors") if time_of_day >= 1600 and (not switch("day_off") or drinkatoshannons > 0) and not switch("datewithjessie"): conditions.append(lambda event: event[0][0] != "OutsideToOShannons") if switch("day_off") and drinkatoshannons > 0: conditions.append(lambda event: event[0][0] != "OutsideToOShannons") if time_of_day < 1500 or time_of_day >= 1600: conditions.append(lambda event: event[0][0] != "OutsideToAntonellis") if enchantment < 35 and not switch("day_off"): conditions.append(lambda event: event[0][0] != "OutsideToPark") elif map_name == "Office": if switch("jasonfired") and jessie >= 3 and jessie <= 5: conditions.append(lambda event: event[0][0] != "OfficeMyDesk") # hack for work 3 times to avoid Jessie after day off, preventing Jason return if not all(map(lambda event: event[0][0] != "OfficeBruceOffice", all_events)): result_bruce_office = event_call_result(["OfficeBruceOffice"]) if result_bruce_office != None: conditions.append(lambda event: event[0][0] != "OfficeBruce") if not all(map(lambda event: event[0][0] != "OfficeMichaelsOffice", all_events)): result_office = event_call_result(["OfficeMichaelsOffice"]) # result_desk = call OfficeMichaelsDesk(play_event = False, trigger = "event") if result_office != None: if result_office[1][2] == "OfficeMichaelsOffice_1" and (not switch("jasonfired") or jessie != 3): conditions.append(lambda event: event[0][0] != "OfficeMichaelsOffice") else: conditions.append(lambda event: event[0][0] != "OfficeMichaelsDesk") if seen_today("OfficeMichaelsOffice"): conditions.append(lambda event: event[0][0] != "OfficeMichaelsOffice") pass if outfit == 10 and switch("talkedtonateof10") and people_nate != 4: office_nate_morning_result = event_call_result(["OfficeNateMorning"]) if office_nate_morning_result != None and office_nate_morning_result[1][2] == "OfficeNateMorning_6": conditions.append(lambda event: event[0][0] != "OfficeNateMorning") elif map_name == "Basement": if the_void < 9: conditions.append(lambda event: event[0][0] != "BasementThroughTheGate") if time_of_day >= 1900 or time_of_day < 1600: conditions.append(lambda event: event[0][0] != "BasementToSewer") elif (warehouse_work != 14 and warehouse_work != 15 and sewer == 0) or (the_void < 10) or (the_void >= 12): conditions.append(lambda event: event[0][0] != "BasementToSewer") if angelo > 3 and outfit == 10: result_basement_angelo = event_call_result(["BasementAngelo"]) if result_basement_angelo != None and result_basement_angelo[1][2] == "BasementAngelo_4": conditions.append(lambda event: event[0][0] != "BasementAngelo") elif map_name == "NightDistrict": if andy < 4: conditions.append(lambda event: event[0][0] != "NightDistrictToDixons") elif map_name == "Neighborhood": if time_of_day == 1045: conditions.append(lambda event: event[0][0] != "NeighborhoodFrontDoor") if switch("bruce_fight_night"): conditions.append(lambda event: event[0][0] != "NeighborhoodToHomeStation") conditions.append(lambda event: event[0][0] != "NeighborhoodCitizen1") conditions.append(lambda event: event[0][0] != "NeighborhoodCitizen2") conditions.append(lambda event: event[0][0] != "NeighborhoodDoggy") if switch("nakedoutside") and arousal < 20: conditions.append(lambda event: event[0][0] != "NeighborhoodNakedOutsideWindow") elif map_name == "LockerRoomTunnel" and switch("enchantment___tunnels_stevie"): conditions.append(lambda event: event[0][0] != "LockerRoomTunnelToBasementWithStevie") elif map_name == "Knockers": if switch("dixondress"): conditions.append(lambda event: event[0][0] != "KnockersJason") # hack for dixon's flyers must not trigger knockers night return lambda event: all(map(lambda condition: condition(event), conditions)) def hack_events(events): new_events = [] has_middle_carriage = False has_carriage = False for event in events: if event[0] == "OutsideStationToSubwayMiddleCarriage": carriage_call_result = event_call_result(event) if carriage_call_result != None: has_middle_carriage = outfit >= 8 # disable middle carriage if no grope for event in events: if event[0] == "ParkHomelessCamp" and homeless_camp > 1: pass elif event[0] == "OfficeMyDesk" and time_of_day >= 1115 and time_of_day < 1500: new_events.append(("OfficeMyDesk", _("Work at my desk."))) elif event[0] == "BasementZack1" and zack == 0: new_events.append(("BasementZack1", _("Talk to the guy who ran off."))) elif event[0] == "TransportAuthorityReceptionist" and tabitha > 0: new_events.append(("TransportAuthorityReceptionist", _("Talk to Tabitha."))) elif event[0] == "WarehouseSimon" and switch("simongone"): new_events.append(("WarehouseSimon", _("Go to Simon's desk."))) elif event[0] == "OutsideToOShannons" and switch("day_off"): new_events.append(("OutsideToOShannons", _("Go for a drink at O'Shannons."))) elif event[0] == "OutsideToAntonellis" and switch("day_off"): new_events.append(("OutsideToAntonellis", _("Go into Antonelli's."))) elif event[0] == "OutsideToAntonellis" and "Andy" in followers: pass elif event[0] == "OutsideToOShannons" and "Andy" in followers: pass elif event[0] == "OutsideStationToSubway" and has_middle_carriage: has_carriage = True elif event[0] == "OutsideStationToSubwayMiddleCarriage": pass elif event[0] == "FivePointsJunky" and seen_today("FivePointsJunky"): new_events.append(("FivePointsJunky",_("Talk to junkie."))) elif event[0] == "FivePointsDrugDealer" and seen_today("FivePointsDrugDealer"): new_events.append(("FivePointsDrugDealer",_("Talk to drug dealer."))) elif event[0] == "FivePointsVagrant" and seen_today("FivePointsVagrant"): new_events.append(("FivePointsVagrant",_("Talk to vagrant."))) elif event[0] == "NeighborhoodFrontDoor" and switch("bruce_fight_night"): new_events.append(("NeighborhoodFrontDoor",_("Look for Stacy."))) elif event[0] == "HomeAloneTime": alone_call_result = event_call_result(event) if alone_call_result != None and alone_call_result[1][2] in ["HomeAloneTime_4", "HomeAloneTime_5", "HomeAloneTime_6"]: if time_of_day <= 1100: if alone_call_result[1][2] == "HomeAloneTime_5": new_events.append(("HomeAloneTime",_("Talk to Donnie."))) else: if people_donnie >= 14: new_events.append(("HomeAloneTime",_("Talk to Donnie."))) else: new_events.append(("HomeAloneTime",_("Talk to Donnie and Jason."))) else: new_events.append(event) elif event[0] == "HomeJason": jason_call_result = event_call_result(event) if jason_call_result != None and jason_call_result[1][2] in ["HomeJason_9"]: if time_of_day > 1100: new_events.append(event) else: new_events.append(event) elif event[0] == "OShannonsAndy" and switch("jessie_oshannons"): new_events.append(("OShannonsAndy",_("Join Andy and Jessie."))) elif event[0] == "NeighborhoodPollys" and switch("arousalmeter"): new_events.append(("NeighborhoodPollys",_("Approach Polly's building."))) elif event[0] == "AbandonedSubwayMeanNewDog" and dog_in_subway <= 9: new_events.append(("AbandonedSubwayMeanNewDog",_("Look for buddy."))) elif event[0] == "ParkStrangerinPark" and dog_in_subway >= 6: new_events.append(("ParkStrangerinPark",_("Talk to Clyde."))) elif event[0] == "WarehouseKyle" and switch("michael_tour___kyle"): new_events.append(("WarehouseKyle",_("Approach warehouse worker."))) elif event[0] == "OutsideToOShannons" and switch("datewithjessie") and time_of_day >= 1900: new_events.append(("OutsideToOShannons",_("Go to O'Shannon's."))) elif event[0] == "AbandonedSubwayDog" and outfit >= 10 and dog_in_subway >= 12: new_events.append(("AbandonedSubwayDog",_("Greet dogs."))) else: new_events.append(event) if has_middle_carriage: new_events.append(("OutsideStationToSubway", _("Get on a front carriage."))) new_events.append(("OutsideStationToSubwayMiddleCarriage", _("Get on a rear carriage."))) elif has_carriage: new_events.append(("OutsideStationToSubway", _("Board a train."))) if switch("arousalmeter") and current_map == "Neighborhood" and arousal < 100: new_events.append(("NeighborhoodCarArousal", _("Walk into the street."))) return new_events def get_autoruns_for_map_hacked(map_name): autoruns = get_autoruns_for_map(map_name) return autoruns global time_of_day_monastery_hack time_of_day_monastery_hack = None def hack_no_events(map_name): global time_of_day global time_of_day_monastery_hack if map_name == "Special" and switch("monastery_1") and (time_of_day >= 1600 or time_of_day < 1530) and not switch("enchantment___monastery_with_andy"): time_of_day_monastery_hack = time_of_day time_of_day = 1530 # hack for the monastery-no-events bug return True return False def reset_soft(): global videos, playing_videos, obscured_videos, obscured_playing_videos videos = [None for _ in range(MAX_VIDEOS)] playing_videos = [] obscured_playing_videos = [] obscured_videos = [None for _ in range(MAX_VIDEOS)] def outside_to_warehouse_does_nothing(): call_result = renpy.call_in_new_context("OutsideToWarehouse", trigger = "event", play_event = False) if call_result is None: return True return call_result[2] in [ "OutsideToWarehouse_4", "OutsideToWarehouse_5", "OutsideToWarehouse_6" ] def pause_for_movement_no_moves(called_from, move_len): try: pause_length_no_moves = 0.2 + (move_len * 0.02) renpy.pause(pause_length_no_moves) except (ValueError, TypeError): pass label TransferPlayer(to_map, called_from, x = 0, y = 0, reset = True): $ previous_map = current_map $ map_x = x $ map_y = y call SwitchMap(to_map, called_from, reset) from _call_hacks_SwitchMap if previous_map != to_map: $ pause_for_movement = False if not reset: $ reset_soft() elif called_from == "DoctorsNurse1_2": $ reset_soft() # multiple Outside transfers with playing videos if to_map == "Outside": if called_from == "CommonEventsPhotoStudioPhoneCall": call OutsideStart from _call_hacks_transfer_CommonEventsPhotoStudioPhoneCallOutside elif called_from == "CommonEventsPhotoStudioEvent": $ hint = _("Time to go home.") elif called_from == "CommonEventsPhotoshoot3": call ParkStart from _call_hacks_ParkStart elif called_from.startswith("OutsideChiChis") or called_from.startswith("AntonellisLunch") or called_from.startswith("OutsideTabitha") or called_from.startswith("CommonEventsLunchwTabithaModeling"): call ParkStart from _call_hacks_ParkStart_1 $ picture1was = pictures[1] $ picture2was = pictures[2] $ show_picture(1, "parkdaybg") $ show_picture(2, "darkbg") $ resolve_scene() $ pictures[1] = picture1was $ pictures[2] = picture2was elif to_map == "HomeStation": if called_from == "CommonEventsJimDinner2": $ set_transparency_backgrounds(["jim_dinner_2_59"]) $ set_map_backgrounds(["jim_dinner_2_59"]) elif to_map == "Special": if called_from.startswith("Outside"): if called_from.startswith("OutsideChiChis"): call ChiChisBG from _call_hacks_Special_ChiChisBG elif called_from == "OutsideEV084_0": $ last_displayed_pictures = None $ last_displayed_pictures_set = None else: call ParkStart from _call_hacks_ParkStart_2 elif called_from.startswith("Office"): call OfficeStart from _call_hacks_OfficeStart elif "SubwayTravel" in called_from: pass else: call SpecialStart from _call_hacks_SpecialStart elif to_map == "Warehouse": if called_from == "CommonEventsPhotoshoot3": if previous_map == "Outside": $ set_transparency_backgrounds(["bg_warehouse_kyle"]) # after photoshoot 3 with tabitha $ set_map_backgrounds(["bg_warehouse_kyle"]) elif to_map == "Basement": if called_from.startswith("BasementAngelo") or called_from.startswith("CommonEventsStorageRoom") or called_from.startswith("BasementShower") or called_from.startswith("CommonEventsNateLunchStorageSex") or called_from.startswith("OfficeJasonatDesk"): call StorageBG from _call_hacks_transfer_BasementAngelo elif called_from.startswith("CommonEventsTheVoid") or called_from.startswith("BasementZack") or called_from.startswith("Sewer") or called_from.startswith("Tunnels") or called_from.startswith("WarehouseDavid"): call VoidBG from _call_hacks_transfer_CommonEventsTheVoid elif called_from.startswith("CommonEventsPhotoshoot3"): if map_backgrounds[0] == "bg_serverroom" and switch("connor"): $ fade_out() call VoidBG from _call_hacks_transfer_VoidBG_CommonEventsPhotoshoot3 $ fade_in() $ resolve_scene() pause 1 elif called_from.startswith("LockerRoomTunnel"): if map_backgrounds[0] != "bg_lockerroom": $ set_transparency_backgrounds(["lockertunnelbg"]) # squeeze through with Stevie $ set_map_backgrounds(["lockertunnelbg"]) elif called_from.startswith("BasementZack") or called_from.startswith("CommonEventsAfterworkChoice") or called_from.startswith("CommonEventsGymWorkoutZack") or called_from.startswith("OfficeMyDesk"): call GymStart from _call_hacks_transfer_BasementZack elif called_from == "BasementWorkout_3" or called_from.startswith("CommonEventsGymWorkoutAlone") or called_from.startswith("CommonEventsGymWorkoutZack") or called_from.startswith("CommonEventsGymShower") or called_from.startswith("CommonEventsSCNGymWorkoutAlone"): call GymBG from _call_hacks_transfer_BasementWorkout_3 elif called_from.startswith("BasementWorkout") or called_from.startswith("BasementShower") or called_from.startswith("BasementGymZack") or called_from.startswith("CommonEventsGymShower") or called_from.startswith("WarehousePaul_1") or called_from == "CommonEventsPhotoshoot3" or called_from.startswith("BasementLingerieEscape"): call LockersBG from _call_hacks_transfer_BasementWorkout elif to_map == "Home": if called_from == "BasementWorkout_0": call HomeBG from _call_HomeBG_1 elif called_from == "CommonEventsPhotoStudioPhoneCall": call HomeStart from _call_hacks_transfer_CommonEventsPhotoStudioPhoneCallHome $ hint = _("Get ready for the photoshoot.") $ reset_pictures(hard = True) elif to_map == "Neighborhood": if called_from == "CommonEventsITHelpNightOfficeVisit": $ set_transparency_backgrounds(["neighborhoodnightbg"]) $ set_map_backgrounds(["neighborhoodnightbg"]) return label LogicCallback(called_from, script): if script == "Stacy Normal \"Let's see, item number TC-193552A...\"": if outfit == 1: $ show_scene("warehouse_stevie_08") elif script == "Zack Normal \"Yeah, sorry, that's what we call that monster in there...\"": $ set_map_backgrounds("bg_serverroom") elif script == "Zack Normal \"Oh, I don't mind.\"": $ set_map_backgrounds("zackdesk_02") elif script == "\"I like to curl up with a trashy romance novel and lose myself for a couple of hours before bedtime.\"": if day == 1: $ set_map_backgrounds("reading_01") # if not switch("pendant_on"): # $ set_map_backgrounds("reading_01") # else: # if switch("breasts_bigger"): # $ set_map_backgrounds("reading_01b") # else: # $ set_map_backgrounds("reading_01a") # $ fade_in() # $ resolve_scene() # pause pass elif script == "\"{i}Ugh...it's late. Better get to bed myself.{/i}\"": $ show_scene("stacy_apartment_bed_2") elif script == "\"That was strange...not entirely unpleasant though.\"": pass elif script == "Simon Normal \"That's right, go on up and look for it on the top shelf.\"": if simon == 1: if outfit == 1: $ show_picture(1, "warehouse_simon_07_outfit_01") else: if outfit == 2: $ show_picture(1, "warehouse_simon_07_outfit_02") else: $ show_picture(1, "warehouse_simon_07_outfit_03") $ resolve_scene() elif script == "\"I should head back upstairs to get my stuff for the day.\"": $ set_map_backgrounds("warehouse_1") $ resolve_scene() elif script == "Polly Normal \"Let's step away from wandering ears.\"": $ set_map_backgrounds("bg_pollycorner") elif script == "\"I love coming to the park, but there are a lot of weirdos here.\"": call ParkBathroomBG from _call_hacks_ParkBathroomBG elif script == "\"I better get home. I need my Jason right now.\"": call LockersBG from _call_hacks_NeedJasonLockersBG $ set_transparency_backgrounds(["bg_lockerroom", "darkbg"]) elif script == "Stacy Outfit09 \"It's just big enough...to fit through...\"": call LockersBG from _call_hacks_JustBigEnoughLockersBG elif script == "\"Ugh...home...finally!\"": $ show_scene("bg_stacyapartmentkitchen") $ set_transparency_backgrounds(["bg_stacyapartmentkitchen"]) elif script == "Fill Normal \"Door Guy: Whoa, hold up ladies.\"": $ show_scene("nightdistrictbg") call NightDistrictBG from _call_hacks_NightDistrictBG $ resolve_scene() elif script == "\"This is crazy! \"": $ set_transparency_backgrounds(["belowvoidbg2"]) $ set_map_backgrounds(["belowvoidbg2"]) $ resolve_scene() elif script == "$ knockersnight = 6": $ hint = _("Go to Kitty's with Tonya") return label GymStart: call BasementStart from _call_hacks_GymStartBasementStart call GymBG from _call_hacks_GymStartGymBG return label GymBG: $ set_transparency_backgrounds(None) $ set_map_backgrounds("gym_01") return label VoidBG: $ set_transparency_backgrounds(["bg_void"]) $ set_map_backgrounds(["bg_void"]) return label StorageBG: $ set_transparency_backgrounds("storage_room1_01b") $ set_map_backgrounds("storage_room1_01b") return label LockersBG: $ set_transparency_backgrounds(["bg_lockerroom", "darkbg"]) $ set_map_backgrounds(["bg_lockerroom", "darkbg"]) return label ChiChisBG: $ set_transparency_backgrounds(["chichis_start"]) $ set_map_backgrounds(["chichis_start"]) return label OShannonsStartCustom: call OShannonsStart from _call_hacks_OShannonsStartCustomStart call OShannonsBGCustom from _call_hacks_OShannonsStartCustomBGCustom return label OShannonsBGCustom: call OShannonsBG from _call_hacks_OShannonsBGCustom if not switch("day_off"): if switch("jessie_oshannons"): $ set_transparency_backgrounds(["oshannons_06_andyjessie"]) $ set_map_backgrounds(["oshannons_06_andyjessie"]) elif outfit >= 3 and (switch("andy") or andy >= 9): $ set_transparency_backgrounds(["oshannons_06_andy"]) $ set_map_backgrounds(["oshannons_06_andy"]) return label BasementStartCustom: call BasementStart from _call_hacks_BasementStartCustomBasementStart call BasementBG from _call_hacks_BasementStartCustomBasementBG return default call_text = "" default previous_call_text = "" default scene_unlocked = False default followers_before_call = None label CallWithHacks(event, trigger): $ previous_call_text = "(previous " + call_text + ")" $ call_text = trigger + ":" + event $ show_dialog_background() $ hide_shown_images() $ reset_choices() $ scene_state = "dirty" $ followers_before_call = followers # hack before if event == "OutsideChiChis": call ParkStart from _call_hacks_cwh_ParkStart call ChiChisBG from _call_hacks_cwh_ChiChisBG elif event.startswith("OutsideStrangeMan"): call ParkStart from _call_hacks_cwh_ParkStart_2 elif event.startswith("BasementToWarehouse"): if switch("gym___cuminpanties") and time_of_day >= 2015: $ set_switch("gym___cuminpanties", False) # hack for (one of) the "I need to workout first." bugs if switch("gym") and time_of_day >= 2015: $ set_switch("gym", False) # hack for (one of) the getting stuck in the basement "I need to workout first." bugs elif event == "WarehouseDavid": if warehouse_work == 24 and warehouseoffice == 0 and switch("enchantment___polly_web_cam_3"): $ warehouseoffice = 1 # hack for talking to david does nothing if you haven't done warehouse office before polly web cam 3 if tabitha == 4 and switch("photoshoot") and (warehouse_work == 14 or (warehouse_work == 13 and enchantment >= 42)) and time_of_day >= 1599: $ set_switch("photoshoot", False) # hack before for photoshoot call landing on same day as sewer first encounter elif event == "OfficePolly": $ set_transparency_backgrounds(["bg_pollytable", "darkbg"]) $ set_map_backgrounds(["bg_pollytable", "darkbg"]) elif event == "OutsideGetIntoCar": $ set_map_backgrounds("alleycar") elif event == "AntonellisLunch": $ set_transparency_backgrounds("antonellisbg") $ set_map_backgrounds("antonellisbg") $ show_scene("antonellisbg") elif event == "BasementGymDay1": call GymStart from _call_hacks_cwh_GymStart $ show_scene("gym_01") elif event == "BasementWorkout": call GymStart from _call_hacks_cwh_GymStart_1 elif event == "BasementShower": $ set_map_backgrounds("gymshower_03") elif event == "OutsideToWarehouse" and not outside_to_warehouse_does_nothing(): call WarehouseBG from _call_hacks_cwh_WarehouseBG elif event == "OutsideTabitha" and trigger == "autorun": call ParkBG from _call_hacks_cwh_ParkBG elif event.startswith("BasementAngelo"): call StorageBG from _call_hacks_cwh_BasementAngelo elif event.startswith("BasementKabir"): call VoidBG from _call_hacks_cwh_BasementKabir elif event == "NightDistrictBruceCemetary3Auto": $ set_transparency_backgrounds(None) $ set_map_backgrounds(None) elif event == "WarehouseToBasement": if switch("day_of_filming") and revenge >= 22 and switch("gymzackchange"): $ set_switch("gymzackchange", False) # hack for the IT revenge scene, but Zack is waiting for a workout bug elif event == "OfficeMichaelsDesk": if michael == 2 and outfit == 5: $ michael = 3 # hack for not going into Michael's office in outfit 4 $ previous_map = current_map if trigger == "event": $ resolve_scene() $ renpy.checkpoint(hard = False) $ renpy.call(event, trigger=trigger) $ call_result = _return if call_result != None: $ call_text = trigger + ":" + call_result[2] if trigger == "autorun": $ have_run.append(call_result[2]) if followers_before_call != None: $ set_show_new_followers(followers_before_call, followers) if game_over: return call_result # hack after if switch("enchantment___morgan_morning") and nate_breakroom < 2: $ nate_breakroom = 2 # hack for the break room bug if switch("nate_breakroom_3") and nate_breakroom < 3: $ nate_breakroom = 3 # hack for when you visit the break room with nate_breakroom = 3 before doug dinner, nate_breakroom gets set back to 2 if not switch("enchantment___meet_professor") and andy > 32: $ andy = 32 # hack for the skip meet professor bug elif event == "OfficeTimeCheck" and switch("lunch_event") and switch("jason_lunch") and guy == 4 and hint == _("You should talk to Jason before lunch.") and time_of_day >= 1500 and time_of_day < 1600: $ hint = _("Take the subway to the police station.") # hack for the jason lunch and guy cop lunch hint bug elif event == "SpecialMonastery" and time_of_day_monastery_hack != None: $ time_of_day = time_of_day_monastery_hack # hack to reset the time of day after the monastery event with Andy if current_map == "Warehouse" and hint == _("Start at Simon's desk.") and not switch("simongone"): $ set_switch("simongone", True) # hack for not having correct setting of this in morning switches if simon > 17 and nanette < 4: $ simon = 17 # hack for progressing Simon to outfit 10 before meeting professor if simon > 17 and not switch("enchantment___simon_rape") and not switch("warehousebathroomsimonsex"): $ simon = 17 # hack for having skipped the simon force scene in a legacy build if event == "OutsideToWarehouse" and current_map == "Warehouse" and not outside_to_warehouse_does_nothing(): call WarehouseEnterWarehouse(True, "event") from _call_hacks_cwh_WarehouseEnterWarehouse elif event == "OfficePolly": if current_map == "Office": call OfficeBG from _call_hacks_cwh_OfficePollyOfficeBG elif event == "BasementWorkout": if current_map == "Basement": call GymStart from _call_hacks_cwh_GymStart_2 elif event == "BasementShower": $ set_map_backgrounds("gymshower_03") $ set_transparency_backgrounds("gymshower_03") elif event == "ParkToParkBathroom" and switch("day_off") and switch("joggingoutfit") and jogging == 1 and time_of_day == 1900: $ time_of_day = 1800 # hack for cannot change out of jogging outfit elif event == "OShannonsEddie": call OShannonsBGCustom from _call_hacks_cwh_OShannonsBGCustom elif call_result != None and call_result[2] == "HomeMorningAuto_0" and bruce_fight_night == 2 and not switch("enchantment___fight_night"): $ show_scene("bg_stacyapartmentkitchen") $ set_map_backgrounds(["bg_stacyapartmentkitchen"]) elif call_result != None and call_result[2] == "HomeEveningAuto_2": $ reset_pictures() elif call_result != None and call_result[2] == "OfficeNateTraining_0": if switch("workout_in_gym") and natecusttraining == 1 and knockers == 7 and switch("knockers") and switch("knockers_off"): $ set_switch("workout_in_gym", False) # hack for the cannot do anything at night if you can't meet Guy bug elif call_result != None and (call_result[2] == "OfficeJasonatDesk_4" or call_result[2] == "OfficeJasonatDesk_5"): if switch("warehousework2") and jason_lunch == 16 and time_of_day <= 1600: $ set_switch("warehousework2", False) # hack for delaying jason sex until after simon returns elif not switch("warehousework2") and time_of_day == 1615 and (warehouse_work == 8 or warehouse_work == 9 or warehouse_work == 14): $ set_switch("warehousework2", True) if enchantment >= 20 and simon <= 4: $ set_switch("simongone", True) # hack for the above clause not having time_of_day <= 1600 in the released version elif call_result != None and call_result[2] == "HomeJason_1": if knockers == 3 and switch("knockers"): $ hint = _("Go to Knockers with Jason") # hack jason hint being "Go Home" before Knockers Night 1 elif call_result != None and (call_result[2] == "SewerFirstEncounter_2" or call_result[2] == "SewerFirstEncounter_3"): $ set_transparency_backgrounds(["belowvoidbg2"]) $ set_map_backgrounds(["belowvoidbg2"]) elif event == "WarehouseDavid" and tabitha == 4 and warehouse_work == 15 and time_of_day >= 1599 and call_result != None and call_result[2] == "WarehouseDavid_1" and photostudio < 4: $ set_switch("photoshoot", True) # hack after for photoshoot call landing on same day as sewer first encounter if event in ["HomeOutOfBed", "OfficeMichaelsOffice", "FivePointsJunky", "FivePointsDrugDealer", "FivePointsVagrant", "OShannonsEddie", "SewerFirstEncounter", "TunnelsPlaceFeelsStrangePhotoshoot3"]: $ add_seen_today(event) return call_result label PlayEvent(play_event, event, base_event): if play_event: if renpy.has_label(event + "Custom"): $ renpy.call(event + "Custom") else: $ renpy.call(event) if _return: python: try: erase_event_from_map(base_event) except NameError: erase_event_from_map(event) return label OpenSaveScreen(called_from = ""): python: save_screen_continue = "Continue" if called_from == "CommonEventsEndGame": save_screen_continue = "End game" menu: "Open save screen?": $ open_save_screen() "[save_screen_continue]": pass return default pause_for_movement = True label PauseForMovement(called_from, character, moves=None): if character == "OutsideJose": call ParkStart from _call_hacks_PauseForMovement_OutsideJose if pause_for_movement: if moves is None: $ pause_for_movement_no_moves(called_from, character) else: call PauseForMovementBase(called_from, character, moves) from _PauseForMovement_PauseForMovementBase return