init 900 python: school_set_delete = {'delete_clothes':False, 'delete_clothes1':False, 'delete_pantsu':False, 'delete_brassiere':False, 'delete_swimsuit':False, 'delete_golfs':False} list4 = [] def refresh_table_of_donators(): persistent.top_sponsors_list = top_sponsors() return def check_name_for_subscriber(): if not persistent.name_user or (persistent.name_user and persistent.name_user == 'NoName'): persistent.name_user = persistent.search_name() return persistent.name_user def tray_function(): global number_occult_club, npc_id, name_days, satiety, purity_club_occult, random, game_status, minet_ayano, mods, difficulty_game, stability_body_left_leg, stability_body_head, stability_body_right_hand, stability_body_right_leg, stability_body_left_hand, stability_body_body, energy, lvl_achievement, timer_down_attributes, timer_down_attributes_with_modificator, satiety_max, energy mods = True try: int(random) except: random = 0 persistent.asdzzxa() check_erudition_up() persistent.self_function() renpy.game.FunctionLib.font_func() if not _preferences.language == 'english': name_days = {"1": "Пн", "2": "Вт", "3": "Ср", "4": "Чт", "5": "Пт", "6": "Сб", "7": "Вс"} else: name_days = {"1": "Mo", "2": "Tu", "3": "We", "4": "Th", "5": "Fr", "6": "Sa", "7": "Su"} if persistent.character_stuck == True: persistent.character_stuck = False renpy.show_screen('character_stuck_screen') if game_status == 'new game': if satiety <= -100: satiety = -100 if purity_club_occult >= 100: purity_club_occult = 100 lvl_achievement = lvl_achievment_def() max_satiety_func() if not difficulty_game in ['hard', 'middle']: timer_down_attributes = 0 timer_down_attributes_with_modificator = 0 satiety_max = max_satiety_func() if energy >= max_energy(): energy = max_energy() number_occult_club = len(count_RNPCs_in_occult_club()) if stability_body_left_leg >= 100: stability_body_left_leg = 100 if stability_body_head >= 100: stability_body_head = 100 if stability_body_right_hand >= 100: stability_body_right_hand = 100 if stability_body_right_leg >= 100: stability_body_right_leg = 100 if stability_body_left_hand >= 100: stability_body_left_hand = 100 if stability_body_body >= 100: stability_body_body = 100 if stability_body_left_leg <= 0: stability_body_left_leg = 0 if stability_body_head <= 0: stability_body_head = 0 if stability_body_right_hand <= 0: stability_body_right_hand = 0 if stability_body_right_leg <= 0: stability_body_right_leg = 0 if stability_body_left_hand <= 0: stability_body_left_hand = 0 if stability_body_body <= 0: stability_body_body = 0 if difficulty_game == 'easy': if stability_body_left_leg <= 100: stability_body_left_leg = 100 if stability_body_head <= 100: stability_body_head = 100 if stability_body_right_hand <= 100: stability_body_right_hand = 100 if stability_body_right_leg <= 100: stability_body_right_leg = 100 if stability_body_left_hand <= 100: stability_body_left_hand = 100 if stability_body_body <= 100: stability_body_body = 100 if energy <= 60: energy = 60 def check_func(): if not "images/" in config.search_prefixes: config.search_prefixes += [ "images/" ] if not "gui/" in config.search_prefixes: config.search_prefixes += [ "gui/" ] if not "modifications/" in config.search_prefixes: config.search_prefixes += [ "modifications/" ] global quest_giver2, yuki_delay, yuki_quest, procent_desctroy_of_yuki_oota, new_line_ayanp, yuki_new_line, lucky_asas, limit_for_increase_it_skill, quest_giver_list, suzuki_event_in_room_e1_variable, list4, delay_robert, phone_scammers_variable, sparring, gym_event_with_rnpcs, suzuki_delay, berserk_time, last_location_upd, mc_appearance, yuki_delay, does_yuki_like, location_school_for_events, event_with_lucky_day, sunbathing, classroom_duty, many_fights_around, value_asas, depravity_list, take_shower, perfume_use, special_t1_progress, alcohol_intoxication_mc, no_notification_sleep, money_mc_in_club, progress_tory, trust_in_the_journalism_club, power_word_in_the_journalism_club, girl_sleep_in_occult_club, award_for_achievements_10, award_for_achievements_15, award_for_achievements_20, award_for_achievements_25, award_for_achievements_30, award_for_achievements_33, yuki_food, npc_dialoge_main_character, popularity_mc_in_club, overpowering, timer_down_attributes_with_modificator, modificator_fight, timer_down_attributes, no_ntr, ivent_glasses, product_colvo39, product_colvo40, product_colvo41, product_colvo42, product_colvo43, stability_body_left_leg, stability_body_head, stability_body_right_hand, stability_body_right_leg, stability_body_left_hand, stability_body_body, student_soviet_progress, no_hungry, difficulty_game, fast_learning, no_smoking_days, addiction_cigarette, absenteeism_evaluations, evaluations, a_bully_with_experience, use_authority_for_perk, money_in_the_month, money_in_the_month_list, lesson_helping_e1, lesson_helping_e2, lesson_helping_e3, lesson_helping_e4, money, number_npc_max, name_meiko, joob, procent_npc_generate, find_human, find_human_club_occult, experience_points, level_club_zhournalism, experience_points_max, viagra_timer, solar_battery, energy, satiety, time_complete_offers, ayano_your_home, fountain_in_the_park_credits, ayano_masturbation_repeat, huligan_ivent_range, ivent_glasses, hitomi_home_for_glgg, hitomi_progress, depravity_list, product_colvo1, product_colvo2, product_colvo3, product_colvo4, product_colvo5, product_colvo6, product_colvo7, product_colvo8, product_colvo9, product_colvo10, product_colvo11, product_colvo12, product_colvo13, product_colvo14, product_colvo15, product_colvo16, product_colvo17, product_colvo18, product_colvo19, product_colvo20, product_colvo21, product_colvo22, product_colvo23, product_colvo24, product_colvo25, product_colvo26, product_colvo27, product_colvo28, product_colvo29, product_colvo30, product_colvo31, product_colvo32, product_colvo33, product_colvo34, product_colvo35, product_colvo36, product_colvo37, product_colvo38, find_human_club_occult, find_human, microwave, poster, refrigerator, playstation, furniture, authority_club_occult_poc, popularity_club_occult_poc, pool_ivent, meiko_joob, budget_club_occult, budget_club_occult_plus, popularity_club_occult, budget_club_occult, festivale, microwave, poster, refrigerator, playstation, furniture, authority_club_occult, vacuum, camera, tablet, tablet_painting, hitomi_home_for_glgg, authority_club_occult, club_joob, budget_club_occult, festivale, popularity_club_occult, global_project, new_participant_club_occult, popularity_club_occult, minute, hour, second, days, weeks, month, years, contact_gg_npc, charisma, stats_erudition_gg, love_gg_npc, days, contact_npc1, energy, menu_loc, location_npc, location_school, npc_nature, joob_complete, free_soda, lessons_per_day, absenteeism, absenteeism_joob, days_name, gg, purity_club_occult, popularity_club_occult, club, location_npc1, autofood, fish_and_vegetables, soup, egg_chops, fish_and_rice, chops, meat_and_rice, spaghettis, meat_and_vegetables, onigiri, rice_omelet, fried_egg, dumplings, frozen_pizza, frozen_cutlets, pie, elite_doshirak, save_date, stats_authority_gg_info, stats_forces_gg_info, stats_agility_gg_info, stats_lucky_gg_info, stats_stamina_gg_info, stats_science_gg_info, stats_cunning_gg_info, stats_erudition_gg_info, hentai_patch_inicial, pumped_up_body, npc_dialoge_main_character, n_c, student_soviet_g, stats_agility_gg, dop_stats_agility_gg, stats_stamina_gg, dop_stats_stamina_gg, stats_erudition_gg, dop_stats_erudition_gg, achievement_sex_machine, sex_machine_points, perk_fast_saturation, perk_genius, perk_huckster, perk_mool, everyone_favorite, lvl_achievement, homework, achievement_absenteeism, achievement_popularity_club, achievement_exhibitionism_NPC, achievement_programming, achievement_cunnilingus_NPC, achievement_school_uniform_changed, achievement_cooked_dish, achievement_spender, achievement_maximum_biography_level, achievement_telephone_number, achievement_education_NPC, achievement_sport_NPC, achievement_joob_magazine, achievement_strength, achievement_agility, achievement_stamina, achievement_cunning, achievement_full_location, achievement_pierre_woodman, achievement_occult_popularity_400_points, achievement_club_management, achievement_roommate_yuki, achievement_date_yuki, achievement_whore_meiko, achievement_disease_ayano, achievement_find_out_the_recipe, achievement_agitator, achievement_first_steps, achievement_suzuki_end_line, achievement_acquaintance_ayano, achievement_acquaintance_yuki, achievement_acquaintance_meiko, achievement_acquaintance_suzuki, achievement_organizational_matters, achievement_to_be_or_not_to_be, achievement_legend_in_the_flesh, achievement_among_the_few, achievement_sex_machine, achievement_alcohol, achievement_gaming_card, achievement_gaming_console, achievement_weapon, achievement_videocamera_in_fight, achievement_win_fights, achievement_help_fights, achievement_pacifism, achievement_one_face, achievement_contact_npc, achievement_image, achievement_gift, achievement_bulling, absenteeism, popularity_club_occult, skills_programm, stats_forces_gg, dop_stats_forces_gg, achievement_unlocked, achievement_agitator, achievement_first_steps, achievement_occult_popularity_400_points, achievement_absenteeism, suzuki_opinion, achievement_popularity_club, achievement_programming, achievement_strength, achievement_agility, achievement_stamina, achievement_cunning, achievement_full_location, park_visit_gg, pool_visit_gg, roof_visit_gg, library_visit_gg, canteen_visit_gg, class_visit_gg, join_school_visit_gg, corridor_school_visit_gg, pool_storeroom_school_visit_gg, women_room_school_visit_gg, wardrob_is_mxa, has_been_event_in_this_hour, student_soviet_school_visit_gg, amulet9, occult_club_school_visit_gg, occult_storeroom_school_visit_gg, minet_ayano, TC_visit_gg, product_magazine_visit_gg, yuki_your_home, ayano_your_home, days_without_cleaning, sex_meiko, location_gg, satiety_max, yuki_progress, student_soviet_progress, warning_school, real_estate_agency, npc_location_to_main_character, head_blood_list_male, leg_blood_list_male, money, quest_giver3, npc_for_clothes if wardrob_is_mxa >= 1: wardrob_is_mxa = 1 if quest_giver3 == 'npc0':quest_giver3 = generate_npc('npc_quest_giver_head_of_hooligans', 'Агрессивный', gender_of_character=2, quest_giver = True) if quest_giver2 == 'npc0':quest_giver2 = generate_npc(id_of_character='npc_quest_giver_with_glassess', character_trait_of_character='Надменный', gender_of_character=2, telephone_for_main_character = True) if npc_for_clothes == 'no':npc_for_clothes = generate_npc('npc_for_clothes1', gender_of_character=2) hour, minute, weeks, days, money, energy, satiety = int(hour), int(minute), int(weeks), int(days), int(money), int(energy), int(satiety) if minute <= -1: minute = 0 return def time_calculation(): global minute, hour minute1 = minute % 60 hour1 = minute / 60 hour += hour1 minute -= hour1 * 60 minute = minute1 return def check_variable(): global hour, minute, days, save_date hour = int(hour) minute = int(minute) days = int(days) save_date = {'hour':hour, 'minute':minute, 'days':days} if days == 0: days = 1 if minute <= -1: minute = 0 unlock_of_achievements() auto_food_function() def auto_food_function(): global gg, autofood, satiety, fish_and_vegetables, pie, soup, egg_chops, fish_and_rice, frozen_cutlets, chops, meat_and_rice, spaghettis, meat_and_vegetables, frozen_pizza, onigiri, rice_omelet, dumplings, fried_egg, elite_doshirak if gg == 5 and autofood == 1: if satiety-100 >= 0 and fish_and_vegetables >= 1: fish_and_vegetables -= 1 satiety += 100 elif satiety-100 >= 0 and pie >= 1: pie -= 1 satiety += 100 elif satiety-90 >= 0 and soup >= 1: soup -= 1 satiety += 90 elif satiety-90 >= 0 and egg_chops >= 1: egg_chops -= 1 satiety += 90 elif satiety-90 >= 0 and fish_and_rice >= 1: fish_and_rice -= 1 satiety += 90 elif satiety-80 >= 0 and frozen_cutlets >= 1: frozen_cutlets -= 1 satiety += 80 elif satiety-80 >= 0 and chops >= 1: chops -= 1 satiety += 80 elif satiety-80 >= 0 and meat_and_rice >= 1: meat_and_rice -= 1 satiety += 80 elif satiety-70 >= 0 and spaghettis >= 1: spaghettis -= 1 satiety += 70 elif satiety-70 >= 0 and meat_and_vegetables >= 1: meat_and_vegetables -= 1 satiety += 70 elif satiety-70 >= 0 and frozen_pizza >= 1: frozen_pizza -= 1 satiety += 70 elif satiety-60 >= 0 and onigiri >= 1: onigiri -= 1 satiety += 60 elif satiety-50 >= 0 and rice_omelet >= 1: rice_omelet -= 1 satiety += 50 elif satiety-50 >= 0 and dumplings >= 1: dumplings -= 1 satiety += 50 elif satiety-40 >= 0 and fried_egg >= 1: fried_egg -= 1 satiety += 40 elif satiety-40 >= 0 and elite_doshirak >= 1: elite_doshirak -= 1 satiety += 40 return def unlock_of_achievements(): global achievement_sex_machine, sex_machine_points, achievement_unlocked, achievement_absenteeism, absenteeism, achievement_popularity_club, popularity_club_occult, achievement_programming, skills_programm, achievement_strength, stats_forces_gg, dop_stats_forces_gg, achievement_agility, stats_agility_gg, dop_stats_agility_gg, achievement_stamina, stats_stamina_gg, dop_stats_stamina_gg, achievement_cunning, stats_erudition_gg, dop_stats_erudition_gg, achievement_full_location, park_visit_gg, pool_visit_gg, roof_visit_gg, library_visit_gg, canteen_visit_gg, class_visit_gg, join_school_visit_gg, corridor_school_visit_gg, pool_storeroom_school_visit_gg, women_room_school_visit_gg, student_soviet_school_visit_gg, occult_club_school_visit_gg, occult_storeroom_school_visit_gg, TC_visit_gg, product_magazine_visit_gg, achievement_occult_popularity_400_points, popularity_club_occult, achievement_agitator, student_soviet_g, achievement_first_steps, number_occult_club stats_mc() if achievement_sex_machine == 0: if sex_machine_points >= 5: achievement_sex_machine = 1 achievement_unlocked = 38 if achievement_absenteeism == 0: if absenteeism >= 25: achievement_absenteeism = 1 achievement_unlocked = 1 if achievement_popularity_club == 0: if popularity_club_occult >= 400: achievement_popularity_club = 1 achievement_unlocked = 2 if achievement_programming == 0: if skills_programm >= 10: achievement_programming = 1 achievement_unlocked = 4 if achievement_strength == 0: if stats_forces_gg + dop_stats_forces_gg >= 50: achievement_strength = 1 achievement_unlocked = 14 if achievement_agility == 0: if stats_agility_gg + dop_stats_agility_gg >= 50: achievement_agility = 1 achievement_unlocked = 15 if achievement_stamina == 0: if stats_stamina_gg + dop_stats_stamina_gg >= 50: achievement_stamina = 1 achievement_unlocked = 16 if achievement_cunning == 0: if stats_erudition_gg + dop_stats_erudition_gg >= 50: achievement_cunning = 1 achievement_unlocked = 17 if achievement_full_location == 0: if park_visit_gg + pool_visit_gg + roof_visit_gg + library_visit_gg + canteen_visit_gg + class_visit_gg + join_school_visit_gg + corridor_school_visit_gg + pool_storeroom_school_visit_gg + women_room_school_visit_gg + student_soviet_school_visit_gg + occult_club_school_visit_gg + occult_storeroom_school_visit_gg + TC_visit_gg + product_magazine_visit_gg >= 15: achievement_full_location = 1 achievement_unlocked = 18 if achievement_occult_popularity_400_points == 0: if popularity_club_occult >= 800: achievement_occult_popularity_400_points = 1 achievement_unlocked = 20 if achievement_agitator == 0: if student_soviet_g >= 5: achievement_agitator = 1 achievement_unlocked = 31 if achievement_first_steps == 0: if len(count_RNPCs_in_occult_club(sort_list_for_occult_club)) >= 5: achievement_first_steps = 1 achievement_unlocked = 32 def time1(): if not tray_function in config.overlay_functions: config.overlay_functions.append(tray_function) config.overlay_functions = list(dict.fromkeys(config.overlay_functions)) if game_status == 'new game': global quest_giver2, yuki_delay, yuki_quest, procent_desctroy_of_yuki_oota, new_line_ayanp, yuki_new_line, lucky_asas, limit_for_increase_it_skill, quest_giver_list, suzuki_event_in_room_e1_variable, list4, delay_robert, phone_scammers_variable, sparring, gym_event_with_rnpcs, suzuki_delay, berserk_time, last_location_upd, mc_appearance, yuki_delay, does_yuki_like, location_school_for_events, event_with_lucky_day, sunbathing, classroom_duty, many_fights_around, value_asas, depravity_list, take_shower, perfume_use, special_t1_progress, alcohol_intoxication_mc, no_notification_sleep, money_mc_in_club, progress_tory, trust_in_the_journalism_club, power_word_in_the_journalism_club, girl_sleep_in_occult_club, award_for_achievements_10, award_for_achievements_15, award_for_achievements_20, award_for_achievements_25, award_for_achievements_30, award_for_achievements_33, yuki_food, npc_dialoge_main_character, popularity_mc_in_club, overpowering, timer_down_attributes_with_modificator, modificator_fight, timer_down_attributes, no_ntr, ivent_glasses, product_colvo39, product_colvo40, product_colvo41, product_colvo42, product_colvo43, stability_body_left_leg, stability_body_head, stability_body_right_hand, stability_body_right_leg, stability_body_left_hand, stability_body_body, student_soviet_progress, no_hungry, difficulty_game, fast_learning, no_smoking_days, addiction_cigarette, absenteeism_evaluations, evaluations, a_bully_with_experience, use_authority_for_perk, money_in_the_month, money_in_the_month_list, lesson_helping_e1, lesson_helping_e2, lesson_helping_e3, lesson_helping_e4, money, number_npc_max, name_meiko, joob, procent_npc_generate, find_human, find_human_club_occult, experience_points, level_club_zhournalism, experience_points_max, viagra_timer, solar_battery, energy, satiety, time_complete_offers, ayano_your_home, fountain_in_the_park_credits, ayano_masturbation_repeat, huligan_ivent_range, ivent_glasses, hitomi_home_for_glgg, hitomi_progress, depravity_list, product_colvo1, product_colvo2, product_colvo3, product_colvo4, product_colvo5, product_colvo6, product_colvo7, product_colvo8, product_colvo9, product_colvo10, product_colvo11, product_colvo12, product_colvo13, product_colvo14, product_colvo15, product_colvo16, product_colvo17, product_colvo18, product_colvo19, product_colvo20, product_colvo21, product_colvo22, product_colvo23, product_colvo24, product_colvo25, product_colvo26, product_colvo27, product_colvo28, product_colvo29, product_colvo30, product_colvo31, product_colvo32, product_colvo33, product_colvo34, product_colvo35, product_colvo36, product_colvo37, product_colvo38, find_human_club_occult, find_human, microwave, poster, refrigerator, playstation, furniture, authority_club_occult_poc, popularity_club_occult_poc, pool_ivent, meiko_joob, budget_club_occult, budget_club_occult_plus, popularity_club_occult, budget_club_occult, festivale, microwave, poster, refrigerator, playstation, furniture, authority_club_occult, vacuum, camera, tablet, tablet_painting, hitomi_home_for_glgg, authority_club_occult, club_joob, budget_club_occult, festivale, popularity_club_occult, global_project, new_participant_club_occult, popularity_club_occult, minute, hour, second, days, weeks, month, years, contact_gg_npc, charisma, stats_erudition_gg, love_gg_npc, days, contact_npc1, energy, menu_loc, location_npc, location_school, npc_nature, joob_complete, free_soda, lessons_per_day, absenteeism, absenteeism_joob, days_name, gg, purity_club_occult, popularity_club_occult, club, location_npc1, autofood, fish_and_vegetables, soup, egg_chops, fish_and_rice, chops, meat_and_rice, spaghettis, meat_and_vegetables, onigiri, rice_omelet, fried_egg, dumplings, frozen_pizza, frozen_cutlets, pie, elite_doshirak, save_date, stats_authority_gg_info, stats_forces_gg_info, stats_agility_gg_info, stats_lucky_gg_info, stats_stamina_gg_info, stats_science_gg_info, stats_cunning_gg_info, stats_erudition_gg_info, hentai_patch_inicial, pumped_up_body, npc_dialoge_main_character, n_c, student_soviet_g, stats_agility_gg, dop_stats_agility_gg, stats_stamina_gg, dop_stats_stamina_gg, stats_erudition_gg, dop_stats_erudition_gg, achievement_sex_machine, sex_machine_points, perk_fast_saturation, perk_genius, perk_huckster, perk_mool, everyone_favorite, lvl_achievement, homework, achievement_absenteeism, achievement_popularity_club, achievement_exhibitionism_NPC, achievement_programming, achievement_cunnilingus_NPC, achievement_school_uniform_changed, achievement_cooked_dish, achievement_spender, achievement_maximum_biography_level, achievement_telephone_number, achievement_education_NPC, achievement_sport_NPC, achievement_joob_magazine, achievement_strength, achievement_agility, achievement_stamina, achievement_cunning, achievement_full_location, achievement_pierre_woodman, achievement_occult_popularity_400_points, achievement_club_management, achievement_roommate_yuki, achievement_date_yuki, achievement_whore_meiko, achievement_disease_ayano, achievement_find_out_the_recipe, achievement_agitator, achievement_first_steps, achievement_suzuki_end_line, achievement_acquaintance_ayano, achievement_acquaintance_yuki, achievement_acquaintance_meiko, achievement_acquaintance_suzuki, achievement_organizational_matters, achievement_to_be_or_not_to_be, achievement_legend_in_the_flesh, achievement_among_the_few, achievement_sex_machine, achievement_alcohol, achievement_gaming_card, achievement_gaming_console, achievement_weapon, achievement_videocamera_in_fight, achievement_win_fights, achievement_help_fights, achievement_pacifism, achievement_one_face, achievement_contact_npc, achievement_image, achievement_gift, achievement_bulling, absenteeism, popularity_club_occult, skills_programm, stats_forces_gg, dop_stats_forces_gg, achievement_unlocked, achievement_agitator, achievement_first_steps, achievement_occult_popularity_400_points, achievement_absenteeism, suzuki_opinion, achievement_popularity_club, achievement_programming, achievement_strength, achievement_agility, achievement_stamina, achievement_cunning, achievement_full_location, park_visit_gg, pool_visit_gg, roof_visit_gg, library_visit_gg, canteen_visit_gg, class_visit_gg, join_school_visit_gg, corridor_school_visit_gg, pool_storeroom_school_visit_gg, women_room_school_visit_gg, wardrob_is_mxa, has_been_event_in_this_hour, student_soviet_school_visit_gg, amulet9, occult_club_school_visit_gg, occult_storeroom_school_visit_gg, minet_ayano, TC_visit_gg, product_magazine_visit_gg, yuki_your_home, ayano_your_home, days_without_cleaning, sex_meiko, location_gg, satiety_max, yuki_progress, student_soviet_progress, warning_school, real_estate_agency, npc_location_to_main_character, head_blood_list_male, leg_blood_list_male, money, quest_giver3, npc_for_clothes for cycle in persistent.func_for_game(): eval(cycle)() if minute >= 60: # persistent.ads(module = None) time_calculation() suzuki_def() reset_for_hour() journalism_func() check_variable() for blood_cycle in head_blood_list + leg_blood_list + head_blood_list_male + leg_blood_list_male: if blood_cycle in mc_appearance['appearance']['blood_and_bruises']: mc_appearance['appearance']['blood_and_bruises'].remove(blood_cycle) for cycle in button_locations_for_mods: location_city.append(cycle['name']) for npc_id in all_npc_list(): # module with depravity try: number_npc = int(npc_id.replace('npc', '')) if persistent.interval_calculations == 1: if number_npc % 2 == 0 and hour % 2 == 0: pass elif number_npc % 2 >= 1 and hour % 2 >= 1: pass else: continue except: pass if not npc_id == npc_dialoge_main_character: eval(npc_id)['dialogue_fatigue_activitys'] -= 1 eval(npc_id)['dialogue_fatigue_ordinary'] -= 1 eval(npc_id)['dialogue_fatigue_romantic'] -= 1 eval(npc_id)['dialogue_fatigue_intim'] -= 1 eval(npc_id)['dialogue_fatigue_sex'] -= 1 eval(npc_id)['dialogue_fatigue_criminal'] -= 1 eval(npc_id)['dialogue_fatigue_cute'] -= 1 eval(npc_id)['dialogue_fatigue_politic'] -= 1 eval(npc_id)['dialogue_fatigue'] -= 10 # module with locations if eval(npc_id)['love_potion_timer'] >= 1: eval(npc_id)['love_potion_timer'] -= 1 eval(npc_id)["npcs_injurys"] -= 1 if eval(npc_id)["npcs_injurys"] <= 0: eval(npc_id)["npcs_injurys"] = 0 if eval(npc_id)["phone_call_mc"] >= 1: eval(npc_id)["phone_call_mc"] -= 1 module_moving_to_location(npc_id) Detect_Activity_RNPCs() # block_with_events if real_estate_agency >= 6 and real_estate_agency <= 12: real_estate_agency += 1 if yuki_progress == 0 and popularity_club_occult >= 400: yuki_progress = 1 elif yuki_progress == 1 and absenteeism >= 10 and location_gg in location_school_for_events: renpy.show_screen('yuki_call_student_soviet1') elif yuki_progress == 3 and absenteeism >= 25 and location_gg in location_school_for_events: renpy.show_screen('yuki_call_student_soviet2') elif yuki_progress == 5 and days >= 6 and gg == 5 and hour >= 16 and hour <= 23: renpy.show_screen('yuki_meeting') if warning_school == False and evaluations <= -500 and location_gg in location_school_for_events and difficulty_game in ['easy']: renpy.show_screen('expulsion_from_the_academy') if evaluations <= -1000 and location_gg in location_school_for_events and difficulty_game in ['easy']: renpy.show_screen('expulsion_from_the_academy_e1') if student_soviet_progress == 113 and days <= 2 and yuki_help == 2 and location_gg in location_school_for_events: renpy.show_screen('call_yuki_for_dualoge') if student_soviet_progress >= 113 and days == 5 and yuki_help == 2: renpy.show_screen('sleep_after') if student_soviet_progress >= 115 and hitomi_progress == 0 and yuki_call_student_soviet2 == 1 and hour >= 8 and hour <= 20: renpy.show_screen('call_yuki_for_hitomi') if hitomi_progress >= 5 and hitomi_progress <= 9 and gg == 5 and call_yuki_for_hitomi_e1 == 0 and hour >= 18 and hour <= 23: renpy.show_screen('call_yuki_for_hitomi_e1') if hitomi_progress == 106 and gg == 5 and hour >= 7 and hour <= 23: renpy.show_screen('call_hitomi_in_nt') if hitomi_progress in [113, 16] and days in [5, 6, 7] and hour >= 12 and hour <= 23: renpy.show_screen('sbor_in_stud_soviet_b1') if hitomi_progress == 128 and hour >= 13 and hour <= 20: renpy.show_screen('call_hitomi_in_telephone_re1saza') if hitomi_progress == 140 or yuki_new_line >= 6 and hour >= 16 and hour <= 23 and ivents_secter_fan == 6: renpy.show_screen('call_hitomi_after_training') if yuki_new_line == 1 and days == 7 and hour >= 16 and hour <= 23: renpy.show_screen('yuki_dialoge_of_hitomi_and_club_zhournalism_line_1') if yuki_new_line == 3 and days <= 4 and hour >= 16 and hour <= 23: renpy.show_screen('call_yuki_for_922e1') if yuki_new_line == 5 and days <= 4 and hour >= 16 and hour <= 23: renpy.show_screen('date1_yuki_for_922e1') if yuki_new_line == 7 and yuki_delay >= 7 and days >= 6 and does_yuki_like == True: renpy.show_screen('dialoge_with_yuki_in_stud_soviet_e14_timer') if sex_meiko == 18 and location_gg in location_school_for_events: renpy.show_screen('dialoge_to_meiko_e1') elif sex_meiko == 23 and location_gg in location_school_for_events: renpy.show_screen('yuki_after_ivent_successfull_meiko') if suzuki_delay >= 30 and suzuki_opinion <= -900 and hour >= 8 and hour <= 20: renpy.show_screen('suzuki_bad_screen') try: for cycle in def_editor_in_hour1_hour_massive: eval(cycle)() except Exception as e: exception_line.append('Module with mods'+str(e)) if hour >= 24: global business_list_own, suzuki_sawfilm, events_was_in_use_for_rnpcs, suzuki_playingcards, anabolic_for_speed_muscles_affect, money_of_bank if 'business_list_own' in globals(): for cycle in business_list_own: money_of_bank += int(cycle['income'] - cycle['content']) popularite_of_other_clubs() suzuki_sawfilm = False anabolic_for_speed_muscles_affect -= 1 suzuki_playingcards = False HideThemAll() event_with_lucky_day = False events_was_in_use_for_rnpcs = [] suzuki_delay += 1 yuki_delay += 1 delay_robert += 1 gym_event_with_rnpcs = False sparring = 'npc0' if renpy.random.randint(1, 100) >= 60: lucky_asas = 2 if phone_scammers_variable <= 27: phone_scammers_variable += 1 if ivent_glasses >= 10 and ivent_glasses <= 40: ivent_glasses += 1 elif ivent_glasses >= 42 and ivent_glasses <= 44: ivent_glasses += 1 renpy.invoke_in_thread(renpy.save, 'auto-day') global events_with_phone_event, event_exbicionism_for_npcs_stupid_event, event_fight_for_rnpcs_event, hair_list_male, hair_height, gym_lifting_barbell, days_in_gym, npcs_leave_in_school_variable, abandoned_factory_game_in_card121_variable, progress_body, ladies_man, weighting, work_in_temple_var, warning_for_player_about_addiction, days_of_survival, list_npc_in_guess, pray_altar, id_npc, ayano_delay, cycle_as3, cycle_meiko, swin_in_academy_pool, acquaintance, fix_move, progress, progress_body_info, progress_stamina, progress_agility, progress_up_erudition events_with_phone_event = 0 if eval('mc_appearance')['appearance']['strands_the_front'] == 'no' and eval('mc_appearance')['appearance']['strands_the_back'] == 'no': hair_height += 1 if hair_height >= 30: hair_cycle = hair_list_male[renpy.random.randint(0, len(hair_list_male)-1)] base_path = hair_cycle['base'] base_length = hair_cycle['base_length'] base_color = hair_cycle['base_color'] random_length = renpy.random.randint(1, len(base_length)) random_color = eval('mc_appearance')['appearance']['color_for_editor'] length_cycle = base_length['length'+str(random_length)] if not length_cycle[0] in [True, False]: strands_the_front = 'character/npc/npc_m/hair/'+str(base_path)+'/'+str(length_cycle[0])+'/front/'+str(random_color)+'.png' elif length_cycle[0] == True: strands_the_front = 'character/npc/npc_m/hair/'+str(base_path)+'/'+str('length'+str(random_length))+'/front/'+str(random_color)+'.png' else: strands_the_front = 'no' if not length_cycle[1] in [True, False]: strands_the_back = 'character/npc/npc_m/hair/'+str(base_path)+'/'+str(length_cycle[1])+'/back/'+str(random_color)+'.png' elif length_cycle[1] == True: strands_the_back = 'character/npc/npc_m/hair/'+str(base_path)+'/'+str('length'+str(random_length))+'/back/'+str(random_color)+'.png' else: strands_the_back = 'no' eval('mc_appearance')['appearance']['strands_the_front'] = strands_the_front eval('mc_appearance')['appearance']['strands_the_back'] = strands_the_back hair_height = 0 days_in_gym -= 1 gym_lifting_barbell = 0 npcs_leave_in_school_variable = False abandoned_factory_game_in_card121_variable = 0 if difficulty_game == 'hard' and satiety <= 0: stats_mc() stats_need() progress -= round(progress_science_need * 0.01 * 15, 2) progress_body -= round(1.25, 2) progress_stamina -= round(progress_stamina_need * 0.01 * 15, 2) progress_agility -= round(progress_agility_need * 0.01 * 15, 2) progress_up_erudition -= round(progress_erudition_need * 0.01 * 15, 2) if progress < 0: stats_mc() stats_need() minus1() progress = progress_science_need * 0.01 * 90 if progress_body < 0: stats_mc() stats_need() stats_forces_gg -= 1 progress_body_info = progress_body_info1 * 0.01 * 90 if progress_stamina < 0: stats_mc() stats_need() stats_stamina_gg -= 1 progress_stamina = progress_stamina_need * 0.01 * 90 if progress_agility < 0: stats_mc() stats_need() stats_agility_gg -= 1 progress_agility = progress_agility_need * 0.01 * 90 if progress_up_erudition < 0: stats_mc() stats_need() stats_erudition_gg -= 1 progress_up_erudition = progress_erudition_need * 0.01 * 90 work_in_temple_var = False if addiction_cigarette == True: no_smoking_days += 1 warning_for_player_about_addiction = False if days in [2, 5]: acquaintance = False swin_in_academy_pool = False cycle_meiko -= 1 cycle_as3 = False event_fight_for_rnpcs_event = False event_exbicionism_for_npcs_stupid_event = False ayano_delay += 1 pray_altar = False days_without_cleaning += 1 days_of_survival += 1 fix_move = False if days >= 5 and list_npc_in_guess == 'empty': list_npc_in_guess = [] for npc_id in all_npc_list(): if eval(npc_id)['contact_npc'] * 0.1 >= renpy.random.randint(1, 110) and eval(npc_id)['fear_npc'] <= 0 and eval(npc_id)['gender_npc'] == 2: list_npc_in_guess.append(npc_id) try: for npc_id in all_npc_list(): if eval(npc_id)['mood_npc'] <= 10: eval(npc_id)['mood_npc'] += renpy.random.randint(3, 4) if eval(npc_id)['appearance']['depravity'] >= 100 and eval(npc_id)['bravery'] >= 70 and eval(npc_id)['exposure_romantic_influences'] >= 80 and eval(npc_id)['exposure_dialoge'] <= 50 and persistent.no_ntr == True: eval(npc_id)['appearance']['depravity'] = 99 eval(npc_id)["cycle_as"] -= 1 eval(npc_id)["cycle_as1"] -= 1 eval(npc_id)["cycle_as2"] -= 1 eval(npc_id)["cycle_as3"] -= 1 if eval(npc_id)['debt_money'] >= 2: eval(npc_id)['debt_money'] -= 1 except Exception as e: exception_line.append('Module with mods'+str(e)) global occult_club_activity_glgg occult_club_activity_glgg = 0 if sex_meiko >= 8 and sex_meiko <= 13: sex_meiko += 1 if sex_meiko >= 15 and sex_meiko <= 17: sex_meiko += 1 if sex_meiko >= 20 and sex_meiko <= 22: sex_meiko += 1 if yuki_progress == 2: yuki_progress = 3 time_complete_offers -= 1 huligan_ivent_range += 1 if ayano_masturbation_repeat == 1: ayano_masturbation_repeat = 0 if ayano_your_home == 3: ayano_your_home = 4 if fountain_in_the_park_credits == 1: fountain_in_the_park_credits = 0 if student_soviet_progress == 106: student_soviet_progress = 107 elif student_soviet_progress >= 110 and student_soviet_progress <= 112: student_soviet_progress += 1 hitomi_home_for_glgg = 0 if hitomi_progress >= 100 and hitomi_progress <= 105: hitomi_progress += 1 if hitomi_progress >= 108 and hitomi_progress <= 112: hitomi_progress += 1 if hitomi_progress >= 11 and hitomi_progress <= 15: hitomi_progress += 1 if hitomi_progress >= 121 and hitomi_progress <= 127: hitomi_progress += 1 if ivent_glasses >= 2 and ivent_glasses <= 8: ivent_glasses += 1 try: for npc_id in all_npc_list(): if not eval(npc_id)['location_npc'] == 'beach' and eval(npc_id)['gender_npc'] == 2: if eval(npc_id)['appearance']['depravity'] <= 55: eval(npc_id)['appearance']['swimsuit_for_school_pool'] = 'character/npc/new/clothes/swimsuit/'+str(eval(npc_id)['appearance']['tits_path_for_generator']+'/')+'swimsuit.png' elif eval(npc_id)['appearance']['depravity'] <= 70: eval(npc_id)['appearance']['swimsuit_for_school_pool'] = 'character/npc/new/clothes/swimsuit/'+str(eval(npc_id)['appearance']['tits_path_for_generator']+'/')+'swimsuit3.png' elif eval(npc_id)['appearance']['depravity'] <= 85: eval(npc_id)['appearance']['swimsuit_for_school_pool'] = 'character/npc/new/clothes/swimsuit/'+str(eval(npc_id)['appearance']['tits_path_for_generator']+'/')+'swimsuit'+str(renpy.random.choice([2, 8, 9]))+'.png' else: eval(npc_id)['appearance']['swimsuit_for_school_pool'] = 'character/npc/new/clothes/swimsuit/'+str(eval(npc_id)['appearance']['tits_path_for_generator']+'/')+'swimsuit'+str(renpy.random.choice([1, 10, 11, 12]))+'.png' if eval(npc_id)['appearance']['depravity'] <= 70 and renpy.random.randint(1, 100) >= 50: eval(npc_id)['appearance']['swimsuit_for_school_pool'] = 'character/npc/new/clothes/swimsuit/'+str(eval(npc_id)['appearance']['tits_path_for_generator']+'/')+'swimsuit'+str(renpy.random.randint(4, 7))+'.png' pubic_hair_period = 0 if eval(npc_id)['cleanliness'] <= 50: pubic_hair_period += 1 eval(npc_id)['appearance']['pubic_hair_period'] = pubic_hair_period if pubic_hair_period >= 8: eval(npc_id)['appearance']['pubic_hair'] = True if eval(npc_id)['appearance']['depravity']-50 >= renpy.random.randint(0, 100): eval(npc_id)['appearance']['pubic_hair'] = False eval(npc_id)['appearance']['pubic_hair_period'] = 0 if eval(npc_id)['npc_shaved'] == True: pubic_hair_period = 0 if eval(npc_id)['gender_npc'] == 2 and renpy.random.randint(1, 100) <= eval(npc_id)['bravery'] and not 'changed' in eval(npc_id) and not npc_dialoge_main_character == npc_id: list2 = Change_Clothes_For_RNPCs(eval(npc_id)['appearance']['depravity'], eval(npc_id)['bravery']) eval(npc_id)['appearance']['preferences'] = list2[0] eval(npc_id)['appearance']['brassiere'] = list2[1] eval(npc_id)['appearance']['pantsu'] = list2[2] eval(npc_id)['appearance']['swimsuit'] = list2[3] eval(npc_id)['appearance']['accessories'] = list2[4] except Exception as e: exception_line.append('Module with RNPCs of trace '+str(e)) product_colvo1 -= renpy.random.randint(1, 5) product_colvo2 -= renpy.random.randint(1, 8) product_colvo3 -= renpy.random.randint(1, 10) product_colvo4 -= renpy.random.randint(1, 3) product_colvo5 -= renpy.random.randint(1, 1) product_colvo6 -= renpy.random.randint(1, 2) product_colvo7 -= renpy.random.randint(1, 3) product_colvo8 -= renpy.random.randint(1, 2) product_colvo9 -= renpy.random.randint(1, 1) product_colvo10 -= renpy.random.randint(1, 1) product_colvo11 -= renpy.random.randint(1, 1) product_colvo12 -= renpy.random.randint(1, 20) product_colvo13 -= renpy.random.randint(1, 1) product_colvo14 -= renpy.random.randint(1, 5) product_colvo15 -= renpy.random.randint(1, 30) product_colvo16 -= renpy.random.randint(1, 1) product_colvo17 -= renpy.random.randint(1, 1) product_colvo18 -= renpy.random.randint(1, 1) product_colvo19 -= renpy.random.randint(1, 3) product_colvo20 -= renpy.random.randint(1, 1) product_colvo21 -= renpy.random.randint(1, 1) product_colvo22 -= renpy.random.randint(1, 1) product_colvo23 -= renpy.random.randint(1, 1) product_colvo24 -= renpy.random.randint(1, 1) product_colvo25 -= renpy.random.randint(1, 1) product_colvo26 -= renpy.random.randint(1, 1) product_colvo27 -= renpy.random.randint(1, 1) product_colvo28 -= renpy.random.randint(0, 1) product_colvo29 -= renpy.random.randint(0, 1) product_colvo30 -= renpy.random.randint(0, 1) product_colvo31 -= renpy.random.randint(0, 1) product_colvo32 -= renpy.random.randint(0, 1) product_colvo33 -= renpy.random.randint(0, 1) product_colvo34 -= renpy.random.randint(0, 1) product_colvo35 -= renpy.random.randint(0, 1) product_colvo36 -= renpy.random.randint(0, 1) product_colvo37 -= renpy.random.randint(0, 1) product_colvo38 -= renpy.random.randint(0, 1) product_colvo39 -= renpy.random.randint(0, 5) product_colvo40 -= renpy.random.randint(0, 5) product_colvo41 -= renpy.random.randint(0, 2) product_colvo42 -= renpy.random.randint(0, 2) product_colvo43 -= renpy.random.randint(0, 2) for number_npc in range(1, 43): name_variable = 'product_colvo'+str(number_npc) if eval(name_variable) <= 0: setattr(store, name_variable, 0) if pool_ivent == 2: global meiko_quest meiko_quest = 3 pool_ivent = 3 authority_club_occult_poc = 0 popularity_club_occult_poc = 0 if days == 0: days = 1 if renpy.random.randint(1, 100) <= 100 - truant * 20: if joob in [1, 3]: absenteeism_joob -= joob_complete - 1 if not int(int(weeks) * 7 + days) in [6, 7, 13, 14, 15, 19, 20, 21, 22, 27, 28]: global homework_do_npcs if money >= money_in_the_month: money -= money_in_the_month else: for cycle in money_in_the_month_list: setattr(store, cycle, False) homework_do_npcs = False if not lesson_helping_e1 == False: lessons_per_day += 1 absenteeism_evaluations += 1 if not lesson_helping_e2 == False: lessons_per_day += 1 absenteeism_evaluations += 1 if not lesson_helping_e3 == False: lessons_per_day += 1 absenteeism_evaluations += 1 if not lesson_helping_e4 == False: lessons_per_day += 1 absenteeism_evaluations += 1 if lessons_per_day >= 4: lessons_per_day = 4 absenteeism += 4 - lessons_per_day if absenteeism_evaluations >= absenteeism: absenteeism_evaluations = absenteeism if homework == False and homework_do_npcs == False: evaluations -= renpy.random.randint(2, 4) if absenteeism > absenteeism_evaluations: evaluations -= absenteeism - absenteeism_evaluations absenteeism_evaluations = absenteeism if homework_do_npcs == False: homework = False else: homework = True if a_bully_with_experience == True: if not use_authority_for_perk == stats_mc()[0]: evaluations = evaluations + (stats_mc()[0] - use_authority_for_perk) use_authority_for_perk = stats_mc()[0] lessons_per_day = 0 joob_complete = 0 free_soda = 1 days1 = hour % 24 days += hour / 24 hour = 0 hour += days1 idleness_human = 0 global_project_human = 0 purity_human = 0 festivale_human = 0 articles_human = 0 if yuki_food == 1: yuki_food = 0 global donate_in_school_club_mc, budget_club_occult for npc_id in all_npc_list(): if eval(npc_id)['club_npc'] == 7: if eval(npc_id)['contact_npc'] + eval(npc_id)['love_npc'] >= 100 and days <= 6: if eval(npc_id)['corruption'] <= renpy.random.randint(1, 100) and renpy.random.randint(1, 200) >= 100: variable = renpy.random.randint(1, 120) budget_club_occult += variable donate_in_school_club_mc += variable if days <= 6: if len(count_RNPCs_in_occult_club()) >= 1: def_massive = stats_club_occult() authority_club_occult_poc = def_massive[1] popularity_club_occult_poc = def_massive[0] purity_club_occult += def_massive[3] festivale += def_massive[5] global_project += def_massive[4] for npc_id in all_npc_list(): if eval(npc_id)['club_npc'] == 7: level_of_RNPCs(npc_id) perk = eval(npc_id)["perk"] if authority_club_occult <= 0: eval(npc_id)["club_joob"] = 5 if perk == 'Самостоятельный': if eval(npc_id)["club_joob"] == 5: eval(npc_id)["club_joob"] = renpy.random.randint(1, 4) elif perk == 'Ленивый': eval(npc_id)["club_joob"] = 5 elif perk == 'Заядлый игрок': if playstation == 1: eval(npc_id)["club_joob"] = 5 elif perk == 'Чистюля': if purity_club_occult <= 0: eval(npc_id)["club_joob"] = 2 if not eval(npc_id)["club_joob"] == 5: level_of_RNPCs_up(npc_id) if days >= 7: if global_project >= 100: if perk == 'Бережливый': global_project += renpy.random.randint(1, 10) global_project_poc3 = int((popularity_club_occult / 100) * 5) popularity_club_occult += global_project_poc3 global_project = 0 if festivale >= 100: festivale = 0 popularity_club_occult += int((count_budget_of_clubs(0)[2] / 100) * (0.5 + (count_budget_of_clubs(popularity_club_occult)[1]*0.05))) if club == 1: if new_participant_club_occult == 0: find_human = stats_club_occult()[2] if renpy.random.randint(1, 100) <= find_human: new_participant_club_occult = 1 if days <= 5: purity_club_occult -= 10 if purity_club_occult >= 101: purity_club_occult = 100 elif purity_club_occult <= -101: purity_club_occult = -100 if festivale >= 100: festivale = 100 if global_project >= 100: global_project = 100 if len(count_RNPCs_in_occult_club()) >= 1: authority_club_occult += authority_club_occult_poc popularity_club_occult += popularity_club_occult_poc if not quest_giver3 == 'npc0': eval(quest_giver3)['location_npc'] = 'abandoned_factory_cabinet' if procent_desctroy_of_yuki_oota >= 100 and new_line_ayanp == 12: new_line_ayanp = 13 yuki_new_line = 9 yuki_quest = 20 yuki_delay = 0 if days >= 8: renpy.invoke_in_thread(renpy.save, 'auto-week') if student_soviet_progress == 106: student_soviet_progress = 107 global was_in_tournament_in_abandon_fabric, suzuku_question_film, money_grabbing_e1w_event, suzuki_event_in_room_e3_variable, suzuki_event_in_room_e2_variable, your_my_order_rnpcs_event, alleyway_sex_event_with_rnpc_event, sex_with_stupid_rnpcs_event, event_with_stronghold_event, suzuki_event_new_11, lvl_up_iten_in_the_week, meiko_in_dating_week, reputationt_hooligans, promotion_of_hooligans, money_per_week, bank_procent, tattoss_done_today, meiko_no_answer, event_bullying_rnpcs, event_fight_for_rnpcs, scholarship, budget_club_occult_plus, ayano_contact, festivale_poc3, festivale_poc4, event1_no_repeat, mother_son, stocks, ivents_park_exbitionism, popularity_detective_poc, popularity_journalism_poc, popularity_drama_poc, popularity_club_occult_poc2, old_popularity_club_occult, old_popularity_club_occult, popularity_pool_poc, popularity_athletics_poc, popularity_basketball_poc, popularity_art_poc, popularity_science_poc, popularity_literature_poc, popularity_basketball, popularity_pool, popularity_athletics, popularity_art, popularity_science, popularity_literature, popularity_drama, popularity_detective, popularity_journalism, gonna_in_other_location_rnpc_event was_in_tournament_in_abandon_fabric = False suzuku_question_film = False gonna_in_other_location_rnpc_event = False your_my_order_rnpcs_event = False suzuki_event_in_room_e1_variable = False suzuki_event_in_room_e2_variable = False suzuki_event_in_room_e3_variable = False money_grabbing_e1w_event = False if suzuki_event_new_11 == -2: suzuki_event_new_11 = 1 event_fight_for_rnpcs = False sex_with_stupid_rnpcs_event = False alleyway_sex_event_with_rnpc_event = False event_with_stronghold_event = False lvl_up_iten_in_the_week = False meiko_in_dating_week = False meiko_no_answer = False event_bullying_rnpcs = False event1_no_repeat = False tattoss_done_today = False list_npc_in_guess = 'empty' if amulet10 >= 1: reputationt_hooligans += 1 if evaluations <= -75: pass elif evaluations <= 75: scholarship += renpy.random.randint(500, 800) elif evaluations <= 300: scholarship += renpy.random.randint(800, 2000) else: scholarship += renpy.random.randint(2000, 4000) money_of_bank = int(money_of_bank + money_of_bank * 0.01 * bank_procent) money_of_bank += money_per_week if promotion_of_hooligans == True: money_of_bank += reputationt_hooligans * 7 if joob == 2: joob = 0 if mother_son == True: money += 1000 lvl_achievement = lvl_achievment_def() if lvl_achievement >= 5: money += 1000 stocks = renpy.random.randint(1, 6) ivents_park_exbitionism = 0 conditions_school_extensions = number_npc_max * 100 if days == 0: days = 1 if name_meiko == 'no': name_meiko = 'noo' sex_meiko = 1 global notepad_for_bugdet budget_club_occult_plus += count_budget_of_clubs(popularity_club_occult)[0] if notepad_for_bugdet == 1: budget_club_occult_plus = budget_club_occult_plus*0.01*115 budget_club_occult += int(budget_club_occult_plus) popularity_club_occult_poc2 = int(popularity_club_occult - old_popularity_club_occult) old_popularity_club_occult = popularity_club_occult mc_appearance['appearance']['blood_and_bruises'] = [] for npc_id in all_npc_list(): give_stats_npc(npc_id) if eval(npc_id)['appearance']['depravity'] >= 90: eval(npc_id)['character_trait'] = 'Извращенный' if stats_intellect <= 30: eval(npc_id)['character_trait'] = 'Глупость' elif eval(npc_id)['character_trait'] == 'Глупость' and stats_intellect >= 31: eval(npc_id)['character_trait'] = renpy.random.choice(['Лживость', 'Сплетничество', 'Агрессивный', 'Общительность', 'Надменный', 'Затворничество', 'С чувством юмора', 'Надежный']) eval(npc_id)['appearance']['blood_and_bruises'] = [] contact_npc = eval(npc_id)['contact_npc'] love_npc = eval(npc_id)["love_npc"] gender_npc = eval(npc_id)["gender_npc"] if eval(npc_id)["date_with_main_character"] == 'repeat': eval(npc_id)["date_with_main_character"] = False if renpy.random.randint(1, 100) >= renpy.random.randint(1, 100): if renpy.random.randint(1, 100) <= popularity_club_occult / 2: contact_npc += renpy.game.FunctionLib.max_min_float_value(int(popularity_club_occult / 80), 4, 0) love_npc += renpy.game.FunctionLib.max_min_float_value(int(popularity_club_occult / 120), 4, 0) eval(npc_id)["love_npc"] = love_npc eval(npc_id)["contact_npc"] = contact_npc if 'come_to_cinema' in eval(npc_id): eval(npc_id)['come_to_cinema'] = False popularity_club_occult += int(festivale / 4) budget_club_occult += int(festivale / 4 * 400) festivale_poc3 = int(festivale / 4) festivale_poc4 = int(festivale / 4) * 400 festivale = 0 ayano_contact += int(authority_club_occult / 2) for npc_id in all_npc_list(): if eval(npc_id)['club_npc'] == 7: club_joob = eval(npc_id)["club_joob"] perk = eval(npc_id)["perk"] if club_joob == 3: if perk == 'Бережливый': festivale += renpy.random.randint(1, 10) weeks1 = days/8 weeks += weeks1 days -= weeks1 * 8 global perk_28 product_colvo1 = renpy.random.randint(10, 30) * 2 * (perk_28 + 1) product_colvo2 = renpy.random.randint(20, 40) * 2 * (perk_28 + 1) product_colvo3 = renpy.random.randint(40, 60) * 2 * (perk_28 + 1) product_colvo4 = renpy.random.randint(10, 15) * 2 * (perk_28 + 1) product_colvo5 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo6 = renpy.random.randint(10, 20) * 2 * (perk_28 + 1) product_colvo7 = renpy.random.randint(10, 15) * 2 * (perk_28 + 1) product_colvo8 = renpy.random.randint(5, 10) * 2 * (perk_28 + 1) product_colvo9 = renpy.random.randint(10, 20) * 2 * (perk_28 + 1) product_colvo10 = renpy.random.randint(5, 15) * 2 * (perk_28 + 1) product_colvo11 = renpy.random.randint(10, 15) * 2 * (perk_28 + 1) product_colvo12 = renpy.random.randint(30, 70) * 2 * (perk_28 + 1) product_colvo13 = renpy.random.randint(5, 10) * 2 * (perk_28 + 1) product_colvo14 = renpy.random.randint(10, 40) * 2 * (perk_28 + 1) product_colvo15 = renpy.random.randint(50, 80) * 2 * (perk_28 + 1) product_colvo16 = renpy.random.randint(5, 8) * 2 * (perk_28 + 1) product_colvo17 = renpy.random.randint(3, 10) * 2 * (perk_28 + 1) product_colvo18 = renpy.random.randint(1, 5) * 2 * (perk_28 + 1) product_colvo19 = renpy.random.randint(10, 30) * 2 * (perk_28 + 1) product_colvo20 = renpy.random.randint(1, 50) * 2 * (perk_28 + 1) product_colvo21 = renpy.random.randint(1, 40) * 2 * (perk_28 + 1) product_colvo22 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo23 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo24 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo25 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo26 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo27 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo28 = renpy.random.randint(1, 9) * 2 * (perk_28 + 1) product_colvo29 = renpy.random.randint(1, 2) * 2 * (perk_28 + 1) product_colvo30 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo31 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo32 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo33 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo34 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo35 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo36 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo37 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo38 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo39 = renpy.random.randint(1, 10) * 2 * (perk_28 + 1) product_colvo40 = renpy.random.randint(1, 30) * 2 * (perk_28 + 1) product_colvo41 = renpy.random.randint(1, 8) * 2 * (perk_28 + 1) product_colvo42 = renpy.random.randint(1, 8) * 2 * (perk_28 + 1) product_colvo43 = renpy.random.randint(2, 10) * 2 * (perk_28 + 1) if int(weeks) >= 4: global event_in_park_e1_event, robert_von_cockroach_2_event, leaning_tower_of_pisa_event, robert_von_cockroach_1_event, my_not_my_eat_event, pipes_will_burn_event, warning_festival, event_exbicionism_for_npcs_stupid, money_for_ea_da, warning_room_gg2, no_helping_azumi for npc_id in all_npc_list(): try: eval(npc_id)['actions_with_main_character'].clear() except: pass event_in_park_e1_event = False warning_room_gg2 = False pipes_will_burn_event = False my_not_my_eat_event = False robert_von_cockroach_1_event = False leaning_tower_of_pisa_event = False robert_von_cockroach_2_event = False if not room_gg == 0 and difficulty_game in ['hard', 'middle']: cond_ = no_helping_azumi == False and real_estate_agency >= 17 if cond_ == False: money_for_ea_da += 2000 elif room_gg == 0 and difficulty_game in ['hard']: money_for_ea_da += 1000 warning_school = False event_exbicionism_for_npcs_stupid = False warning_festival = False month1 = int(weeks)/4 month += month1 weeks -= month1 * 4 global unlucky_event_in_room_value unlucky_event_in_room_value = False pregnancy_per_month() if persistent.memory_clear == True: renpy.free_memory() if month >= 12: years1 = month/12 month += years1 month -= years1 * 12 for npc_id in all_npc_list(): eval(npc_id)['age_npc'] += 1 if difficulty_game == 'easy': satiety = 100 if evaluations <= -1500: evaluations = -1500 elif evaluations >= 1000: evaluations = 1000 if energy <= -40: energy = -40 if Lite_Mode == 1: if satiety <= -1: satiety = 0 def change_joob_club( ): eval(npc_id)["club_joob"] = club_complete club_complete = 0 def lvl_achievment_def(): global lvl_achievement, achievement_absenteeism, achievement_popularity_club, achievement_exhibitionism_NPC, achievement_programming, achievement_cunnilingus_NPC, achievement_school_uniform_changed, achievement_cooked_dish, achievement_spender, achievement_maximum_biography_level, achievement_telephone_number, achievement_education_NPC, achievement_sport_NPC, achievement_joob_magazine, achievement_strength, achievement_agility, achievement_stamina, achievement_cunning, achievement_full_location, achievement_pierre_woodman, achievement_occult_popularity_400_points, achievement_club_management, achievement_roommate_yuki, achievement_date_yuki, achievement_whore_meiko, achievement_disease_ayano, achievement_find_out_the_recipe, achievement_agitator, achievement_first_steps, achievement_suzuki_end_line, achievement_acquaintance_ayano, achievement_acquaintance_yuki, achievement_acquaintance_meiko, achievement_acquaintance_suzuki, achievement_organizational_matters, achievement_to_be_or_not_to_be, achievement_legend_in_the_flesh, achievement_among_the_few, achievement_sex_machine, achievement_alcohol, achievement_gaming_card, achievement_gaming_console, achievement_weapon, achievement_videocamera_in_fight, achievement_win_fights, achievement_help_fights, achievement_pacifism, achievement_one_face, achievement_contact_npc, achievement_image, achievement_gift, achievement_bulling lvl_achievement = achievement_absenteeism + achievement_popularity_club + achievement_exhibitionism_NPC + achievement_programming + achievement_cunnilingus_NPC + achievement_school_uniform_changed + achievement_cooked_dish + achievement_spender + achievement_maximum_biography_level + achievement_telephone_number + achievement_education_NPC + achievement_sport_NPC + achievement_joob_magazine + achievement_strength + achievement_agility + achievement_stamina + achievement_cunning + achievement_full_location + achievement_pierre_woodman + achievement_occult_popularity_400_points + achievement_club_management + achievement_roommate_yuki + achievement_date_yuki + achievement_whore_meiko + achievement_disease_ayano + achievement_find_out_the_recipe + achievement_agitator + achievement_first_steps + achievement_suzuki_end_line + achievement_acquaintance_ayano + achievement_acquaintance_yuki + achievement_acquaintance_meiko + achievement_acquaintance_suzuki + achievement_organizational_matters + achievement_to_be_or_not_to_be + achievement_legend_in_the_flesh + achievement_among_the_few + achievement_sex_machine + achievement_alcohol + achievement_gaming_card + achievement_gaming_console + achievement_weapon + achievement_videocamera_in_fight + achievement_win_fights + achievement_help_fights + achievement_pacifism + achievement_one_face + achievement_contact_npc + achievement_image + achievement_gift + achievement_bulling return lvl_achievement def save_playstats(data): data["money_slot1"] = money data["energy_slot1"] = energy lvl_achievement = lvl_achievment_def() data["energy_man_slot1"] = int(max_energy()) data["satiety_slot1"] = int(satiety) data["days_slot1"] = int(days) data["hour_slot1"] = int(hour) data["minute_slot1"] = int(minute) data["player_name_slot1"] = player_name data["version_game"] = config.version config.save_json_callbacks.append(save_playstats) def minus_relationships_with_npcs(input): global hour, list1, list2, list3, quest_giver1, quest_giver_allow, face_mask list1 = [] list2 = [] list3 = [] for number_npc in range(1, number_npc_max+1): npc_number = "npc"+str(number_npc) if not npc_number == npc_id: global stealth if hour in [21, 22, 23, 0, 1, 2, 3, 4]: chance = 50 if stealth == True: break chance += 150 elif hour >= 17: chance = 10 else: chance = 0 if face_mask >= 1: chance += 50 if chance <= renpy.random.randint(0, 100): loc_npc = eval(npc_number)["location_npc"] if location_npc == loc_npc: character_trait_npc_id = eval(npc_id)["character_trait"] character_trait = eval(npc_number)["character_trait"] character_trait_list = ['Слабый', 'Агрессивный', 'Надменный', 'Надежный', 'С чувством юмора', 'Глупость', 'Общительность', 'Затворничество', 'Сплетничество', 'Лживость', 'Извращенный'] if input == 'Bullying': if character_trait_npc_id == 'Агрессивный': modificator_list = [-3, 4, 0, 0, 0, 0, 0, -3, 0, 0, 0] elif character_trait_npc_id == 'Слабый' or character_trait_npc_id == 'Затворничество': modificator_list = [5, -3, 2, 2, 2, 1, 1, 5, 2, 2, 2] else: modificator_list = [3, -1, 0, 2, 2, 1, 2, 3, 1, 1, 1] elif input == 'fight': if character_trait_npc_id == 'Агрессивный': modificator_list = [-3, 1, -1, -1, -1, -1, -1, -3, -1, -1, -1] elif character_trait_npc_id == 'Слабый' or character_trait_npc_id == 'Затворничество': modificator_list = [5, -3, 3, 3, 3, 2, 2, 5, 2, 2, 2] else: modificator_list = [3, -2, renpy.random.randint(0, 1), renpy.random.randint(0, 1), renpy.random.randint(0, 1), renpy.random.randint(0, 1), renpy.random.randint(0, 1), 3, renpy.random.randint(0, 1), renpy.random.randint(0, 1), renpy.random.randint(0, 1)] elif input == 'fight_loss' or input == 'fight_escape': if character_trait_npc_id == 'Агрессивный': modificator_list = [renpy.random.randint(-3, -1), 4, renpy.random.randint(-1, 0), renpy.random.randint(-1, 0), renpy.random.randint(-1, 0), renpy.random.randint(-1, 0), renpy.random.randint(-3, -1), -3, renpy.random.randint(-1, 0), renpy.random.randint(-1, 0), renpy.random.randint(-1, 0)] else: modificator_list = [renpy.random.randint(0, 4), 5, renpy.random.randint(0, 1), renpy.random.randint(0, 1), renpy.random.randint(0, 1), renpy.random.randint(0, 1), renpy.random.randint(0, 1), renpy.random.randint(0, 4), renpy.random.randint(0, 1), renpy.random.randint(0, 1), renpy.random.randint(0, 1)] modificator = modificator_list[character_trait_list.index(character_trait)] + eval(npc_number)['npc_contact_with_npc'][npc_id] * 0.02 list1.append(eval(npc_number)['contact_npc']) if not character_trait_npc_id == 'Агрессивный' and not character_trait == character_trait_npc_id: if eval(npc_number)['contact_npc'] <= 100 - eval(npc_number)['exposure_to_crime']: if quest_giver1 == npc_number and quest_giver_allow >= 1: eval(npc_number)['contact_npc'] = int(eval(npc_number)["contact_npc"] + renpy.random.randint(0, 6)) eval(npc_number)['love_npc'] = int(eval(npc_number)["love_npc"] + renpy.random.randint(0, 6)) else: if not modificator <= -1: if eval(npc_number)['exposure_to_crime'] >= 70 and eval(npc_number)['bravery'] >= 60 and eval(npc_number)['hatred_of_guns'] >= 70 and eval(npc_number)['exposure_dialoge'] <= 40: eval(npc_number)['contact_npc'] += renpy.random.randint(1, 8) eval(npc_number)['love_npc'] += renpy.random.randint(1, 8) else: eval(npc_number)['contact_npc'] = int(eval(npc_number)["contact_npc"] - renpy.random.randint(0, 50) * modificator) eval(npc_number)['love_npc'] = int(eval(npc_number)["love_npc"] - renpy.random.randint(0, 50) * modificator) else: if eval(npc_number)['exposure_to_crime'] >= 70 and eval(npc_number)['bravery'] >= 60 and eval(npc_number)['hatred_of_guns'] >= 70 and eval(npc_number)['exposure_dialoge'] <= 40: eval(npc_number)['contact_npc'] += renpy.random.randint(1, 8) eval(npc_number)['love_npc'] += renpy.random.randint(1, 8) else: eval(npc_number)['contact_npc'] = int(eval(npc_number)["contact_npc"] - renpy.random.randint(0, 7) * modificator) eval(npc_number)['love_npc'] = int(eval(npc_number)["love_npc"] - renpy.random.randint(0, 7) * modificator) if not character_trait == 'Агрессивный' and not input in ['fight_loss', 'fight_escape']: if not character_trait in ['Слабый', 'Затворничество']: if eval(npc_number)['npc_contact_with_npc'][npc_id] >= [100, 40, 70, -70, 0, -40, -20, 100, 20, -20, -20][character_trait_list.index(character_trait)] and (eval(npc_number)['npc_stats']['forces'] + eval(npc_number)['npc_stats']['agility'] + eval(npc_number)['npc_stats']['stamina']) * 2 + eval(npc_number)['bravery'] * 0.01 >= stats_mc()[1] + stats_mc()[2] + stats_mc()[3]: list3.append(npc_number) eval(npc_number)['fear_npc'] = int(eval(npc_number)["fear_npc"] + renpy.random.randint(0, 20) * modificator) list2.append(eval(npc_number)['contact_npc']) else: character_trait = eval(npc_number)["character_trait"] if quest_giver_allow >= 1 and character_trait == 'Агрессивный': if input == 'fight_loss' or input == 'fight_escape': eval(npc_number)['fear_npc'] = int(eval(npc_number)["fear_npc"] - renpy.random.randint(0, 100)) elif input == 'fight': eval(npc_number)['fear_npc'] = int(eval(npc_number)["fear_npc"] + renpy.random.randint(0, 50)) list2.append(input) return list1, list2, list3 def buy_item_in_online_magazine(): global dict_preferences_male_in_inventory, choice_item, units_choice, choice_item, weight_list, price_list, units_list, variable_name_list, achievement_gaming_console, achievement_gaming_console, achievement_unlocked, achievement_weapon, perk_huckster, page_galery, money, hovered_item, price_minus, variable_name if achievement_gaming_console == 0: if variable_name == 'gaming_comsole_item': achievement_gaming_console = 1 achievement_unlocked = 41 if achievement_weapon == 0: if variable_name == 'baseball_b' or variable_name == 'iron_castet' or variable_name == 'castet_with_ships' or variable_name == 'knife' or variable_name == 'knife_butterfly': achievement_weapon = 1 achievement_unlocked = 42 if perk_huckster == 1: price_minus = price_minus * 0.01 * 75 page_galery = 0 if choice_item <= 6: hovered_item = 0 if variable_name == 'everyday_clothes' and not 'everyday1' in dict_preferences_male_in_inventory: dict_preferences_male_in_inventory.append('everyday1') elif variable_name == 'gachi_clothes' and not 'gachi' in dict_preferences_male_in_inventory: dict_preferences_male_in_inventory.append('gachi') elif variable_name == 'monk_clothes' and not 'monk' in dict_preferences_male_in_inventory: dict_preferences_male_in_inventory.append('monk') if variable_name in ['aphrodisiac']: setattr(store, variable_name, int(units_choice)+5) elif variable_name in ['viagra']: setattr(store, variable_name, int(units_choice)+7) elif not variable_name in ['pills_for_insomnia', 'caffeine', 'condom_inventory']: setattr(store, variable_name, int(units_choice)+1) else: setattr(store, variable_name, int(units_choice)+20) money -= price_minus return def heft_size(): info_about_items_from_backpack() global items_variable, items_action_mods, items_variable, items_variable_mods, items_action, mods, cigarette, cola, rolton, heal, candy, zhiga, videocamera, soda_in_window, baseball_b, knife_butterfly, knife, castet_with_ships, iron_castet, skirt_and_shirt_in_inventory, light_dress_in_inventory, sundress_and_blouse_in_inventory, top_and_short_skirt_in_inventory, shorts_and_shirt_in_inventory, sundress_and_vest_in_inventory, knee_socks_in_inventory, tights_in_inventory, transparent_stockings_in_inventory, striped_stockings_1_in_inventory, striped_stockings_2_in_inventory, light_alcohol_item, strong_alcohol_item, stats_stamina_gg, stats_forces_gg, perk_mool, heft_cigarette, heft_cola, heft_rolton, heft_heal, heft_candy, heft_zhiga, heft_videocamera, heft_soda_in_window, heft_baseball_b, heft_knife_butterfly, heft_knife, heft_castet_with_ships, heft_iron_castet, heft_skirt_and_shirt_in_inventory, heft_light_dress_in_inventory, heft_sundress_and_blouse_in_inventory, heft_top_and_short_skirt_in_inventory, heft_shorts_and_shirt_in_inventory, heft_sundress_and_vest_in_inventory, heft_knee_socks_in_inventory, heft_tights_in_inventory, heft_transparent_stockings_in_inventory, heft_striped_stockings_1_in_inventory, heft_striped_stockings_2_in_inventory, heft_light_alcohol_item, heft_strong_alcohol_item, heft_metaldetector, metaldetector, school_backpack items_action_e1 = items_action + items_action_mods items_variable_e1 = items_variable + items_variable_mods heft_character = 0 if mods == True: for id in range(0, len(items_action_e1)+1): try: heft_character += eval(items_variable_e1[id]) * items_action_e1[id]['heft'] except: pass heft_character_max = ((stats_stamina_gg + stats_forces_gg) / 10) + (perk_mool * 8) + (school_backpack * 4) if heft_character_max <= 4: heft_character_max = 4 return heft_character, heft_character_max def give_perks(give_contact, give_love, give_fear): global number_npc_max for number_npc in range(1, number_npc_max+1): npc_number = "npc"+str(number_npc) eval(npc_number)['contact_npc'] = int(eval(npc_number)["contact_npc"] + give_contact) eval(npc_number)['love_npc'] = int(eval(npc_number)["love_npc"] + give_love) eval(npc_number)['fear_npc'] = int(eval(npc_number)["fear_npc"] + give_fear) return def stats_mc(): global automatic_body_for_mc, buff_for_cinema_attribute, buff_for_cinema, difficulty_game, amulet_skill, editor_main_character_animation_page1, berserk_time, mc_appearance, operation_for_up_attributes, overcoming_the_limits, stats_erudition_gg_info, stats_erudition_gg, dop_stats_erudition_gg, stats_authority_gg_info, stats_authority_gg, dop_stats_authority_gg, stats_forces_gg_info, stats_forces_gg, dop_stats_forces_gg, stats_agility_gg_info, stats_agility_gg, dop_stats_agility_gg, stats_lucky_gg_info, stats_lucky_gg, dop_stats_lucky_gg, stats_stamina_gg_info, anabolic_for_cap_muscles_affect, stats_stamina_gg, dop_stats_stamina_gg, stats_science_gg_info, stats_science_gg, dop_stats_science_gg, stats_cunning_gg_info, dop_stats_cunning_gg, stability_body_head, stability_body_right_hand, stability_body_right_leg, stability_body_left_hand, stability_body_body, stability_body_left_leg, timer_down_attributes, timer_down_attributes_with_modificator, modificator_fight, pumped_up_body, remarkable_strength, choice_p_in_school, mc_appearance, tattos_and_piercing, scars_list stats_authority_gg_info = stats_authority_gg + dop_stats_authority_gg stats_forces_gg_info = stats_forces_gg + dop_stats_forces_gg stats_agility_gg_info = stats_agility_gg + dop_stats_agility_gg stats_lucky_gg_info = stats_lucky_gg + dop_stats_lucky_gg stats_stamina_gg_info = stats_stamina_gg + dop_stats_stamina_gg stats_science_gg_info = stats_science_gg + dop_stats_science_gg stats_erudition_gg_info = stats_erudition_gg + dop_stats_erudition_gg stats_cunning_gg_info = int((stats_science_gg_info + stats_erudition_gg_info) * 0.5) + dop_stats_cunning_gg if difficulty_game in ['hard', 'middle']: if stability_body_head <= 29: stats_science_gg_info = int(stats_science_gg_info * 0.01 * 70) stats_erudition_gg_info = int(stats_erudition_gg_info * 0.01 * 70) stats_cunning_gg_info = int(stats_cunning_gg_info * 0.01 * 70) if stability_body_right_hand <= 29 and stability_body_left_hand <= 29: stats_forces_gg_info = int(stats_forces_gg_info * 0.01 * 70) elif stability_body_right_hand <= 29 or stability_body_left_hand <= 29: stats_forces_gg_info = int(stats_forces_gg_info * 0.01 * 85) if stability_body_right_leg <= 29 and stability_body_left_leg <= 29: stats_agility_gg_info = int(stats_agility_gg_info * 0.01 * 70) elif stability_body_right_leg <= 29 or stability_body_left_leg <= 29: stats_agility_gg_info = int(stats_agility_gg_info * 0.01 * 85) if stability_body_body <= 29: stats_stamina_gg_info = int(stats_stamina_gg_info * 0.01 * 70) if timer_down_attributes >= 1: stats_authority_gg_info = int(stats_authority_gg_info * 0.01 * 80) stats_forces_gg_info = int(stats_forces_gg_info * 0.01 * 80) stats_agility_gg_info = int(stats_agility_gg_info * 0.01 * 80) stats_lucky_gg_info = int(stats_lucky_gg_info * 0.01 * 80) stats_stamina_gg_info = int(stats_stamina_gg_info * 0.01 * 80) stats_science_gg_info = int(stats_science_gg_info * 0.01 * 80) stats_cunning_gg_info = int(stats_cunning_gg_info * 0.01 * 80) stats_erudition_gg_info = int(stats_erudition_gg_info * 0.01 * 80) if timer_down_attributes_with_modificator >= 1: stats_authority_gg_info = int(stats_authority_gg_info * 0.01 * (modificator_fight * 10)) stats_forces_gg_info = int(stats_forces_gg_info * 0.01 * (modificator_fight * 10)) stats_agility_gg_info = int(stats_agility_gg_info * 0.01 * (modificator_fight * 10)) stats_lucky_gg_info = int(stats_lucky_gg_info * 0.01 * (modificator_fight * 10)) stats_stamina_gg_info = int(stats_stamina_gg_info * 0.01 * (modificator_fight * 10)) stats_science_gg_info = int(stats_science_gg_info * 0.01 * (modificator_fight * 10)) stats_cunning_gg_info = int(stats_cunning_gg_info * 0.01 * (modificator_fight * 10)) stats_erudition_gg_info = int(stats_erudition_gg_info * 0.01 * (modificator_fight * 10)) attributes = limit_of_attributes() if stats_authority_gg_info >= attributes[0]: stats_authority_gg_info = attributes[0] if stats_forces_gg_info >= attributes[1]: stats_forces_gg_info = attributes[1] if stats_agility_gg_info >= attributes[2]: stats_agility_gg_info = attributes[2] if stats_lucky_gg_info >= attributes[3]: stats_lucky_gg_info = attributes[3] if stats_stamina_gg_info >= attributes[4]: stats_stamina_gg_info = attributes[4] if stats_science_gg_info >= attributes[5]: stats_science_gg_info = attributes[5] if stats_cunning_gg_info >= attributes[6]: stats_cunning_gg_info = attributes[6] if stats_erudition_gg_info >= attributes[7]: stats_erudition_gg_info = attributes[7] if stats_authority_gg_info <= 20: stats_authority_gg_info = 20 if stats_forces_gg_info <= 20: stats_forces_gg_info = 20 if stats_agility_gg_info <= 20: stats_agility_gg_info = 20 if stats_lucky_gg_info <= 20: stats_lucky_gg_info = 20 if stats_stamina_gg_info <= 20: stats_stamina_gg_info = 20 if stats_science_gg_info <= 20: stats_science_gg_info = 20 if stats_cunning_gg_info <= 20: stats_cunning_gg_info = 20 if stats_erudition_gg_info <= 20: stats_erudition_gg_info = 20 try: mc_appearance['npc_stats']['forces'] = stats_forces_gg_info mc_appearance['npc_stats']['agility'] = stats_agility_gg_info mc_appearance['npc_stats']['stamina'] = stats_stamina_gg_info mc_appearance['npc_stats']['lucky'] = stats_lucky_gg_info mc_appearance['npc_stats']['erudition'] = stats_forces_gg_info mc_appearance['npc_stats']['authority'] = stats_authority_gg_info mc_appearance['npc_stats']['science'] = stats_science_gg_info mc_appearance['npc_stats']['cunning'] = stats_cunning_gg_info except: pass if buff_for_cinema >= 1: if 0 in buff_for_cinema_attribute: stats_authority_gg_info = int(stats_authority_gg_info * 0.01 * 120) if 1 in buff_for_cinema_attribute: stats_forces_gg_info = int(stats_forces_gg_info * 0.01 * 120) if 2 in buff_for_cinema_attribute: stats_agility_gg_info = int(stats_agility_gg_info * 0.01 * 120) if 3 in buff_for_cinema_attribute: stats_lucky_gg_info = int(stats_lucky_gg_info * 0.01 * 120) if 4 in buff_for_cinema_attribute: stats_stamina_gg_info = int(stats_stamina_gg_info * 0.01 * 120) if 5 in buff_for_cinema_attribute: stats_science_gg_info = int(stats_science_gg_info * 0.01 * 120) if 6 in buff_for_cinema_attribute: stats_cunning_gg_info = int(stats_cunning_gg_info * 0.01 * 120) if 7 in buff_for_cinema_attribute: stats_erudition_gg_info = int(stats_erudition_gg_info * 0.01 * 120) else: buff_for_cinema_attribute = [] if debuff_for_book >= 1: stats_forces_gg_info = int(stats_forces_gg_info * 0.01 * 90) stats_agility_gg_info = int(stats_agility_gg_info * 0.01 * 90) stats_stamina_gg_info = int(stats_stamina_gg_info * 0.01 * 90) effects = effects_of_mc() stats_authority_gg_info += effects[0] stats_forces_gg_info += effects[1] stats_agility_gg_info += effects[2] stats_lucky_gg_info += effects[3] stats_stamina_gg_info += effects[4] stats_science_gg_info += effects[5] stats_cunning_gg_info += effects[6] stats_erudition_gg_info += effects[7] if automatic_body_for_mc: try: if stats_forces_gg_info >= 70 and stats_agility_gg_info <= 40: eval('mc_appearance')['appearance']['type_body_in_male'] = 5 elif stats_forces_gg_info + stats_agility_gg_info + stats_stamina_gg_info <= 121: eval('mc_appearance')['appearance']['type_body_in_male'] = 2 elif stats_forces_gg_info + stats_agility_gg_info + stats_stamina_gg_info <= 241: eval('mc_appearance')['appearance']['type_body_in_male'] = 3 else: eval('mc_appearance')['appearance']['type_body_in_male'] = 4 except: pass try: if stats_forces_gg_info >= 70 and stats_agility_gg_info <= 40: eval('npc999')['appearance']['type_body_in_male'] = 5 elif stats_forces_gg_info + stats_agility_gg_info + stats_stamina_gg_info <= 121: eval('npc999')['appearance']['type_body_in_male'] = 2 elif stats_forces_gg_info + stats_agility_gg_info + stats_stamina_gg_info <= 241: eval('npc999')['appearance']['type_body_in_male'] = 3 else: eval('npc999')['appearance']['type_body_in_male'] = 4 except: pass try: features_of_appearance_npc = mc_appearance['appearance']['features_of_appearance_npc'] for cycle in tattos_and_piercing: if features_of_appearance_npc[cycle] == True: stats_authority_gg_info += 1 for cycle in scars_list: if features_of_appearance_npc[cycle] == True: stats_authority_gg_info += 1 except: pass return [stats_authority_gg_info, stats_forces_gg_info, stats_agility_gg_info, stats_lucky_gg_info, stats_stamina_gg_info, stats_science_gg_info, stats_cunning_gg_info, stats_erudition_gg_info] def limit_of_attributes(): global operation_for_up_attributes, anabolic_for_cap_muscles_affect, overcoming_the_limits, editor_main_character_animation_page1, editor_main_character_animation_page1, editor_main_character_animation_page1, amulet_skill, pumped_up_body, remarkable_strength, choice_p_in_school, choice_p_in_school, choice_p_in_school, choice_p_in_school, choice_p_in_school, choice_p_in_school, operation_for_up_attributes, berserk_time, mc_appearance, tattos_and_piercing, scars_list, autority_of_bad_guy, lucky_of_bad_guy if anabolic_for_cap_muscles_affect >= 5:anabolic_for_cap_muscles_affect=5 effects = effects_of_mc() stats_authority_gg_info = 400 + effects[0] stats_forces_gg_info = 100 + anabolic_for_cap_muscles_affect * 4 + effects[1] stats_agility_gg_info = 100 + anabolic_for_cap_muscles_affect * 4 + effects[2] stats_lucky_gg_info = 400 + effects[3] stats_stamina_gg_info = 100 + anabolic_for_cap_muscles_affect * 4 + effects[4] stats_science_gg_info = 100 + effects[5] stats_cunning_gg_info = 200 + effects[6] stats_erudition_gg_info = 100 + effects[7] if operation_for_up_attributes == True: stats_forces_gg_info += 20 stats_agility_gg_info += 20 stats_stamina_gg_info += 20 if overcoming_the_limits == True: stats_authority_gg_info += 20 stats_forces_gg_info += 20 stats_agility_gg_info += 20 stats_lucky_gg_info += 20 stats_stamina_gg_info += 20 stats_science_gg_info += 20 stats_cunning_gg_info += 20 stats_erudition_gg_info += 20 try: features_of_appearance_npc = mc_appearance['appearance']['features_of_appearance_npc'] for cycle in tattos_and_piercing: if features_of_appearance_npc[cycle] == True: stats_authority_gg_info += 1 + autority_of_bad_guy * 1 if lucky_of_bad_guy == True: stats_lucky_gg_info += 1 for cycle in scars_list: if features_of_appearance_npc[cycle] == True: stats_authority_gg_info += 1 + autority_of_bad_guy * 1 if lucky_of_bad_guy == True: stats_lucky_gg_info += 1 except: pass return [stats_authority_gg_info, stats_forces_gg_info, stats_agility_gg_info, stats_lucky_gg_info, stats_stamina_gg_info, stats_science_gg_info, stats_cunning_gg_info, stats_erudition_gg_info] def effects_of_mc(): global pretty_face, anabolic_for_cap_muscles_affect, overcoming_the_limits, editor_main_character_animation_page1, editor_main_character_animation_page1, editor_main_character_animation_page1, amulet_skill, pumped_up_body, remarkable_strength, choice_p_in_school, choice_p_in_school, choice_p_in_school, choice_p_in_school, choice_p_in_school, choice_p_in_school, operation_for_up_attributes, berserk_time stats_authority_gg_info = 0 stats_forces_gg_info = 0 stats_agility_gg_info = 0 stats_lucky_gg_info = 0 stats_stamina_gg_info = 0 stats_science_gg_info = 0 stats_cunning_gg_info = 0 stats_erudition_gg_info = 0 if pretty_face == True: stats_authority_gg_info -= 100 if editor_main_character_animation_page1 == 1: stats_science_gg_info += 5 elif editor_main_character_animation_page1 == 3: stats_science_gg_info -= 5 elif editor_main_character_animation_page1 == 4: stats_forces_gg_info += 5 stats_agility_gg_info += 5 stats_stamina_gg_info += 5 if amulet_skill == True: stats_lucky_gg_info += 60 stats_authority_gg_info += 60 stats_forces_gg_info += 10 stats_agility_gg_info += 10 stats_stamina_gg_info += 10 stats_science_gg_info += 10 stats_cunning_gg_info += 30 stats_erudition_gg_info += 10 if choice_p_in_school == 1: stats_science_gg_info += 7 stats_agility_gg_info -= 5 stats_stamina_gg_info -= 5 stats_forces_gg_info -= 5 elif choice_p_in_school == 2: stats_science_gg_info += 3 elif choice_p_in_school == 3: stats_erudition_gg_info += 10 elif choice_p_in_school == 4: stats_erudition_gg_info -= 6 stats_science_gg_info += 10 elif choice_p_in_school == 5: stats_science_gg_info -= 7 stats_agility_gg_info += 5 stats_stamina_gg_info += 5 stats_forces_gg_info += 5 elif choice_p_in_school == 6: stats_lucky_gg_info += 20 stats_authority_gg_info += 20 stats_forces_gg_info += 5 stats_agility_gg_info += 5 stats_stamina_gg_info += 5 stats_science_gg_info += 5 stats_cunning_gg_info += 10 stats_erudition_gg_info += 5 if berserk_time >= 1: stats_forces_gg_info += 60 stats_agility_gg_info += 60 stats_stamina_gg_info += 60 return [stats_authority_gg_info, stats_forces_gg_info, stats_agility_gg_info, stats_lucky_gg_info, stats_stamina_gg_info, stats_science_gg_info, stats_cunning_gg_info, stats_erudition_gg_info] def change_relationships_with_npc(input, give_contact, give_love, give_fear): eval(input)['contact_npc'] = int(eval(input)["contact_npc"] + give_contact) eval(input)['love_npc'] = int(eval(input)["love_npc"] + give_love) eval(input)['fear_npc'] = int(eval(input)["fear_npc"] + give_fear) return def give_appearance_npc_for_editor(input): global sexual_exp_npc_editor, rgb_eye_one_editor, rgb_eye_two_editor, exposure_dialoge_editor, exposure_romantic_influences_editor, exposure_to_crime_editor, bravery_editor, love_for_cute_things_editor, hatred_of_guns_editor, love_of_soda_editor, night_walk_editor, school_absenteeism_editor, corruption_editor, rgb_shade_for_beard, sexual_exp_npc, abs_waist, changed_clothes_top, changed_clothes_down, editor_npc_character, bold_npc, form_of_waist_editor, exp_function_disable, set_npc_editor, legs_calf_editor, legs_hips_editor, form_of_hand_editor, beard, rgb_eye_one, rgb_eye_two, pantsu, rgb_shade_for_hair_editor, rgb_shade_for_hair, pantsu_editor, accesories_for_mods, wrinkles_editor, rgb_tone_skin, rgb_tone_skin_massive, hair_list_male, hair_in_body, new_type_body_on_rnpcs, mc_npc, base_path_for_editor, tits_path_for_generator, penis_phimosis, pubic_hair, penis, futa, features_of_appearance_npc, love_npc, contact_npc, fear_npc, eye_npc, swimsuit_for_school_pool, swimsuit, ypos_in_button, brassiere, eye, pupils, pupils1, body, pantsu, MatrixColorEyeOne, MatrixColorEyeTwo, golfs1, bold_npc, golfs, depravity, clothes, clothes1, preferences, MatrixColorStrands, strands_the_front, wrinkles_editor, strands_the_back, accessories_editor, accessories1_editor, accessories2_editor, accessories3_editor, accessories4_editor, tits, type_body, tits_type, v_npc, gender_npc, glasses_equip, eye_type, type_face, type_nose, eye_type, face_type, nose_type, conjunctura_highness, conjunctura_downness, type_body_in_male, legs_hips_for_girl try: eval(input)['appearance']['abs_waist'] except: eval(input)['appearance']['abs_waist'] = int((150 - (eval(input)['npc_stats']['forces'] + eval(input)['npc_stats']['agility'] + eval(input)['npc_stats']['stamina'])) / 35) abs_waist = eval(input)['appearance']['abs_waist'] if 'changed_clothes_top' in eval(input): changed_clothes_top = eval(input)['changed_clothes_top'] else: changed_clothes_top = None if 'changed_clothes_down' in eval(input): changed_clothes_down = eval(input)['changed_clothes_down'] else: changed_clothes_down = None bold_npc = False try: for cycle in accesories_for_mods: if 'hide_hair' in cycle: bold_npc = True except: pass try: eval(input)['appearance']['rgb_eye_one'] eval(input)['appearance']['rgb_eye_two'] except: eval(input)['appearance']['rgb_eye_one'] = 'None' eval(input)['appearance']['rgb_eye_two'] = 'None' rgb_eye_one_editor = eval(input)['appearance']['rgb_eye_one'] rgb_eye_two_editor = eval(input)['appearance']['rgb_eye_two'] try: legs_calf_editor = eval(input)['appearance']['legs_calf'] legs_hips_editor = eval(input)['appearance']['legs_hips'] except: legs_calf_editor = 'no' legs_hips_editor = 'no' try: form_of_hand_editor = eval(input)['appearance']['form_of_hand'] form_of_waist_editor = eval(input)['appearance']['form_of_waist'] except: form_of_hand_editor = 0 form_of_waist_editor = 0 if form_of_waist_editor in [1, 2] and exp_function_disable == False: legs_hips_editor = legs_hips_for_girl[1] bold_npc = False try: for cycle in accesories_for_mods: if 'hide_hair' in cycle: bold_npc = True except: pass try: rgb_shade_for_hair = eval(input)['appearance']['rgb_shade_for_hair'] except: eval(input)['appearance']['rgb_shade_for_hair'] = 'None' rgb_shade_for_hair = eval(input)['appearance']['rgb_shade_for_hair'] if eval(input)['gender_npc'] == 1: try: rgb_shade_for_beard = eval(input)['appearance']['rgb_shade_for_beard'] except: eval(input)['appearance']['rgb_shade_for_beard'] = 'None' rgb_shade_for_beard = eval(input)['appearance']['rgb_shade_for_beard'] pantsu = eval(input)['appearance']['pantsu'] pantsu_editor = eval(input)['appearance']['pantsu'] npc_id = input give_stats_npc(input) wrinkles_editor = eval(input)['wrinkles'] rgb_shade_for_hair_editor = eval(input)['appearance']['rgb_shade_for_hair'] if eval(input)['gender_npc'] == 2: accessories_editor = eval(input)['appearance']['accessories'] accessories1_editor = eval(input)['appearance']['accessories1'] accessories2_editor = eval(input)['appearance']['accessories2'] accessories3_editor = eval(input)['appearance']['accessories3'] accessories4_editor = eval(input)['appearance']['accessories4'] pubic_hair = eval(input)['appearance']['pubic_hair'] else: beard_editor = eval(input)['beard'] appearance = eval(input)['appearance'] if eval(input)['appearance']['type_body_in_male'] == 1: eval(input)['appearance']['type_body_in_male'] = renpy.random.randint(2, 5) if type_body_in_male == 1: type_body_in_male = 2 appearance = eval(input)['appearance'] if check_string_to_int_or_not(eval(input)['appearance']['eye']) == True: eval(input)['appearance']['eye'] = 'character/npc/new/face/eye/eye'+str(eval(input)['appearance']['eye'])+'.png' eye = appearance['eye'] eye_npc = appearance['eye'] try: if int(eye_npc.replace('character/npc/new/face/eye/eye', '').replace('.png', '')) >= 13 and gender_npc == 1: appearance['eye'] = 'character/npc/new/face/eye/eye'+str(renpy.random.randint(1, 12))+'.png' eval(input)['appearance'] = appearance except: pass conjunctura_highness_sa = renpy.random.randint(1, 100) * 0.001 conjunctura_highness = eval(npc_id)['appearance']['conjunctura_highness'] conjunctura_downness = eval(npc_id)['appearance']['conjunctura_downness'] penis_phimosis = eval(input)['appearance']['penis_phimosis'] if eval(input)['gender_npc'] == 1 and not eval(input)['appearance']['clothes'] in ['character/npc/npc_m/clothes/clothes1.png', 'character/npc/npc_m/clothes/clothes2.png', 'no', 'character/npc/npc_m/clothes/clothes4.png', 'character/npc/npc_m/clothes/clothes3.png']: try: pref_male = eval(input)['pref_male'] except: if eval(input)['appearance']['type_body_in_male'] >= 2: eval(input)['pref_male'] = renpy.random.choice(['character/npc/npc_m/clothes/clothes1.png', 'character/npc/npc_m/clothes/clothes2.png', 'character/npc/npc_m/clothes/clothes3.png']) else: eval(input)['pref_male'] = renpy.random.choice(['character/npc/npc_m/clothes/clothes1.png', 'character/npc/npc_m/clothes/clothes2.png']) pref_male = eval(input)['pref_male'] if eval(input)['gender_npc'] == 2: clothes = eval(input)['appearance']['clothes'] clothes1 = eval(input)['appearance']['clothes1'] if clothes.find('everyday') + clothes.find('everyday1') + clothes.find('everyday5') + clothes1.find('everyday5') + clothes.find('dress') + clothes.find('sport_top') + clothes.find('sweater') + clothes1.find('skirts') + clothes1.find('other_down') + clothes1.find('other_down_no') + clothes1.find('sundress_no') + clothes1.find('skirts_big') + clothes1.find('skirts_middle') + clothes1.find('skirts_short') <= -10: if eval(input)['appearance']['golfs'] in ['character/npc/new/clothes/stockings/tights.png', 'character/npc/new/clothes/stockings/tights1.png'] or eval(input)['appearance']['golfs1'] in ['character/npc/new/clothes/stockings/tights.png', 'character/npc/new/clothes/stockings/tights1.png']: golfs = 'no' golfs1 = 'no' rgb_tone_skin = eval(input)['appearance']['rgb_tone_skin'] if not rgb_tone_skin in ['000000', '000', 0] and eval(input)['appearance']['preferences'] in ['jacket_and_skirt'] and eval(input)['gender_npc'] == 2: eval(input)['appearance']['preferences'] = renpy.random.choice(['school_set', 'everyday', 'sundress', 'everyday_depravity', 'shorts_and_shirt', 'sundress_and_vest', 'short_and_top_black', 'short_and_top_white', 'everyday_black', 'skirt_and_top_black', 'sport_depravity', 'dress', 'everyday3', 'everyday4', 'everyday5']) func = function_preferences_as(eval(input)['appearance']['preferences'], eval(input)['appearance']['tits_path_for_generator']) eval(input)['appearance']['clothes'] = func[0] eval(input)['appearance']['clothes1'] = func[1] clothes = func[0] clothes1 = func[1] if eval(input)['gender_npc'] == 2: if eval(input)['appearance']['eye_type'] == 2: eval(input)['appearance']['eye_type'] = renpy.random.choice([1, 3, 4, 5]) if eval(input)['appearance']['tits_path_for_generator'] == 2: eval(input)['appearance']['tits_path_for_generator'] = eval(input)['appearance']['tits_path_for_generator'].replace('_tits_tits', '_tits') eval(input)['appearance']['clothes'] = eval(input)['appearance']['clothes'].replace('_tits_tits', '_tits') eval(input)['appearance']['clothes1'] = eval(input)['appearance']['clothes1'].replace('_tits_tits', '_tits') try: clothes = clothes.replace('_tits_tits', '_tits') clothes1 = clothes1.replace('_tits_tits', '_tits') except: pass if editor_npc_character == 'Агрессивный': features_of_appearance_npc_editor['neck'] = True sexual_exp_npc_editor = eval(input)['sexual_exp_npc'] if 'shade_makeup_color' in eval(input)['appearance']: shade_makeup_color_for_editor = eval(input)['appearance']['shade_makeup_color'] else: shade_makeup_color_for_editor = 'None' if 'shade_makeup' in eval(input)['appearance']: shade_makeup_for_editor = eval(input)['appearance']['shade_makeup'] else: shade_makeup_for_editor = 'no' if 'blush_makeup' in eval(input)['appearance']: blush_makeup_for_editor = eval(input)['appearance']['blush_makeup'] else: blush_makeup_for_editor = 'no' if 'blush_makeup_color' in eval(input)['appearance']: blush_makeup_color_for_editor = eval(input)['appearance']['blush_makeup_color'] else: blush_makeup_color_for_editor = 'None' if 'lipstick_makeup' in eval(input)['appearance']: lipstick_makeup_for_editor = eval(input)['appearance']['lipstick_makeup'] else: lipstick_makeup_for_editor = 'no' if 'lipstick_color_makeup' in eval(input)['appearance']: lipstick_color_makeup_for_editor = eval(input)['appearance']['lipstick_color_makeup'] else: lipstick_color_makeup_for_editor = 'None' exposure_dialoge_editor = eval(npc_id)['exposure_dialoge'] exposure_romantic_influences_editor = eval(npc_id)['exposure_romantic_influences'] exposure_to_crime_editor = eval(npc_id)['exposure_to_crime'] bravery_editor = eval(npc_id)['bravery'] love_for_cute_things_editor = eval(npc_id)['love_for_cute_things'] hatred_of_guns_editor = eval(npc_id)['hatred_of_guns'] love_of_soda_editor = eval(npc_id)['love_of_soda'] night_walk_editor = eval(npc_id)['night_walk'] school_absenteeism_editor = eval(npc_id)['school_absenteeism'] corruption_editor = eval(npc_id)['corruption'] return def Change_Clothes_For_RNPCs(depravity, bravery): preferences = renpy.random.choice(preferences_list) for cycle in range(0, len(preferences_list)): if ('depravity_for_wear' in eval(preferences+'_preferences') and eval(preferences+'_preferences')['depravity_for_wear']*2 > depravity+bravery) or ('not_for_generate' in eval(preferences+'_preferences')): preferences = renpy.random.choice(preferences_list) else: break for name_variable_clothes_cycle in ['accessories', 'pantsu', 'swimsuit']: cycle_priority = [] ravno1 = [] for cycle_name_in_generator in eval(name_variable_clothes_cycle+str('_list')): cycle_priority.append(eval(cycle_name_in_generator+str('_dict'))['priority']) priority_cycle_list = cycle_priority cycle_priority.sort(reverse=True) cycle_priority = cycle_priority[0] random = renpy.random.randint(0, cycle_priority) for priority_cycle_list_ in priority_cycle_list: for cycle_name_in_generator in eval(name_variable_clothes_cycle+str('_list')): priority_condition = eval(cycle_name_in_generator+str('_dict'))['priority'] if priority_cycle_list_ == priority_condition: ravno1.append(cycle_name_in_generator) if random <= priority_condition: check_tits_size = eval(cycle_name_in_generator+str('_dict'))['check_tits_size'] if check_tits_size == True: path_variable = eval(cycle_name_in_generator+str('_dict'))['path'] + str(tits_type+'_tits/') + eval(cycle_name_in_generator+str('_dict'))['path.png'] else: path_variable = eval(cycle_name_in_generator+str('_dict'))['path'] name_variable = name_variable_clothes_cycle setattr(store, name_variable, path_variable) for brassiere_cycle in brassiere_list: suitable_for = eval(brassiere_cycle+str('_dict'))['suitable_for'] if pantsu in suitable_for: brassiere = eval(brassiere_cycle+'_dict')['quick_link'].replace('small_tits', str(tits_path_for_generator)) ypos_in_button = eval(brassiere_cycle+'_dict')['ypos_in_button'] break else: brassiere_cycle = str(renpy.random.randint(1, len(brassiere_list))) brassiere = eval('brassiere'+brassiere_cycle+'_dict')['quick_link'].replace('small_tits', str(tits_path_for_generator)) ypos_in_button = eval('brassiere'+str(brassiere_cycle)+'_dict')['ypos_in_button'] return preferences, brassiere, pantsu, swimsuit, accessories def Detect_Set_Clothes(npc_id): global preferences, n_c, golfs, swimsuit_for_school_pool, golfs1, pantsu, brassiere, location_gg, school_set_in_f, location_school_for_events, school_set_delete, list_of_preferences_for_npc_test, list_of_golfs_for_npc_test, list_of_pantsu_for_npc_test, list_of_brassiere_for_npc_test, list_of_swimsuit_for_npc_test, clothes, clothes1 depravity = eval(npc_id)['appearance']['depravity'] tits = eval(npc_id)['appearance']['tits'] tits_type = eval(npc_id)['appearance']['tits_type'] type_body = eval(npc_id)['appearance']['type_body'] preferences = eval(npc_id)['appearance']['preferences'] golfs = 'no' golfs1 = eval(npc_id)['appearance']['golfs1'] brassiere = eval(npc_id)['appearance']['brassiere'] pantsu = eval(npc_id)['appearance']['pantsu'] swimsuit_for_school_pool = eval(npc_id)['appearance']['swimsuit_for_school_pool'] clothes = eval(npc_id)['appearance']['clothes'] clothes1 = eval(npc_id)['appearance']['clothes1'] if eval(npc_id)['location_npc'] in location_school_for_events and school_set_in_f == 'new_school_set' and not preferences in list_of_preferences_for_npc_test: without_pantsu = True without_brassiere = True swimsuit_for_school_pool = 'no' delete_clothes = school_set_delete['delete_clothes'] delete_clothes1 = school_set_delete['delete_clothes1'] delete_pantsu = school_set_delete['delete_pantsu'] delete_brassiere = school_set_delete['delete_brassiere'] delete_swimsuit = school_set_delete['delete_swimsuit'] delete_golfs = school_set_delete['delete_golfs'] preferences = renpy.random.choice(list_of_preferences_for_npc_test) eval(npc_id)['appearance']['preferences'] = preferences if delete_golfs == False and len(list_of_golfs_for_npc_test) >= 1: golfs = renpy.random.choice(list_of_golfs_for_npc_test) if delete_clothes == False: clothes = function_preferences_as(preferences, eval(npc_id)['appearance']['tits_path_for_generator'], waist=eval(npc_id)['appearance']['form_of_waist'])[0] if delete_clothes1 == False: clothes1 = function_preferences_as(preferences, eval(npc_id)['appearance']['tits_path_for_generator'], waist=eval(npc_id)['appearance']['form_of_waist'])[1] if delete_pantsu == False and len(list_of_pantsu_for_npc_test) >= 1: pantsu = renpy.random.choice(list_of_pantsu_for_npc_test) if delete_brassiere == False and len(list_of_brassiere_for_npc_test) >= 1: brassiere = renpy.random.choice(list_of_brassiere_for_npc_test).replace('/small_tits/', tits_type+'_tits/') if delete_swimsuit == False and len(list_of_swimsuit_for_npc_test) >= 1: swimsuit_for_school_pool = renpy.random.choice(list_of_swimsuit_for_npc_test).replace('/small_tits/', tits_type+'_tits/') if len(list_of_golfs_for_npc_test) == 0 and delete_golfs == False: golfs = golfs1 if len(list_of_pantsu_for_npc_test) == 0 and delete_pantsu == False: pantsu = eval(npc_id)['appearance']['pantsu'] if len(list_of_brassiere_for_npc_test) == 0 and delete_brassiere == False: brassiere = eval(npc_id)['appearance']['brassiere'] if len(list_of_swimsuit_for_npc_test) == 0 and delete_swimsuit == False: swimsuit_for_school_pool = eval(npc_id)['appearance']['swimsuit_for_school_pool'] if eval(npc_id)['location_npc'] == 'women_room': eval(npc_id)["progress_clothes_up"] = renpy.random.randint(1, 100) if preferences == 'shorts_and_shirt' and golfs1 == 'character/npc/new/clothes/stockings/stockings.png': golfs = 'no' if clothes.find('everyday') + clothes.find('everyday1') + clothes.find('everyday5') + clothes1.find('everyday5') + clothes.find('dress') + clothes.find('sport_top') + clothes.find('sweater') + clothes1.find('skirts') + clothes1.find('other_down') + clothes1.find('other_down_no') + clothes1.find('sundress_no') + clothes1.find('skirts_big') + clothes1.find('skirts_middle') + clothes1.find('skirts_short') >= -10 and not golfs == 'no': golfs = 'no' golfs1 = 'no' eval(npc_id)['appearance']['pantsu'] = pantsu eval(npc_id)['appearance']['brassiere'] = brassiere eval(npc_id)['appearance']['swimsuit_for_school_pool'] = swimsuit_for_school_pool return def function_preferences_as(preferences, tits_type, waist = 0): global changed_clothes_down, changed_clothes_top, dict_preferences, depravity, npc999, npc_id, form_of_waist_list, form_of_waist_editor, form_of_waist, chair, hairpin, bracelets_in_right_hand, bracelets_in_left_hand, chair_editor, hairpin_editor, bracelets_in_right_hand_editor, bracelets_in_left_hand_editor if tits_type.find('tits') <= -1: tits_type = tits_type+'_tits' if renpy.get_screen('editor') or renpy.get_screen('editor_main_character_new'): depravity = npc999['depravity'] if renpy.get_screen('editor_new'): depravity = eval(npc_id)['depravity'] form_of_waist = form_of_waist_editor golfs = 'path_golfs_for_editor_rnpcs' else: golfs = 'golfs' if not waist == 0: form_of_waist = waist clothes = 'no' clothes1 = 'no' for path_clothes_id in ['path_clothes', 'path_clothes1']: if not eval(preferences+str('_preferences'))[path_clothes_id+str('.png')] == 'no': if len(eval(preferences+str('_preferences'))[path_clothes_id+str('.png')]) == 1: cycle_value = eval(preferences+str('_preferences'))[path_clothes_id+str('.png')] random = 0 else: random = len(eval(preferences+str('_preferences'))['depravity_list'])-1 for depravity_cycle in eval(preferences+str('_preferences'))['depravity_list']: if depravity >= depravity_cycle: cycle_value = eval(preferences+str('_preferences'))[path_clothes_id+str('.png')] break else: random -= 1 path_clothes_id_res = path_clothes_id[:0] + path_clothes_id[5:] for check_for_breast_size_cycle in eval(preferences+str('_preferences'))['check_for_breast_size']: if path_clothes_id == check_for_breast_size_cycle: cycle_result = eval(preferences+str('_preferences'))[path_clothes_id] + str(tits_type+'/') + cycle_value[random] break else: cycle_result = eval(preferences+str('_preferences'))[path_clothes_id] + cycle_value[random] if path_clothes_id_res == 'clothes1': clothes1 = cycle_result else: clothes = cycle_result if changed_clothes_down: if not 'png' in changed_clothes_down: clothes1 = changed_clothes_down['path'] else: clothes1 = changed_clothes_down['path'] + str(tits_type+'/') + changed_clothes_down['png'] if changed_clothes_top: clothes = changed_clothes_top['path'] + str(tits_type+'/') + changed_clothes_top['png'] if 'without_golfs' in eval(preferences+'_preferences'): if (eval(preferences+'_preferences')['without_golfs'] == True and golfs in ['character/npc/new/clothes/stockings/tights1.png', 'character/npc/new/clothes/stockings/tights.png']) or eval(preferences+'_preferences')['without_golfs'] == False: setattr(store, golfs, 'no') if clothes.find('sweater') + clothes1.find('sweater') >= 1 or preferences in ['everyday2', 'monk', 'everyday11']: chair = 0 hairpin = 0 bracelets_in_right_hand = 0 bracelets_in_left_hand = 0 chair_editor = 0 hairpin_editor = 0 bracelets_in_right_hand_editor = 0 bracelets_in_left_hand_editor = 0 if renpy.loadable(clothes1.replace('/clothes/', form_of_waist_list[form_of_waist])): clothes1 = clothes1.replace('/clothes/', form_of_waist_list[form_of_waist]) elif form_of_waist_list[form_of_waist] in ['/clothes_pragnancy_stage3/', '/clothes_pragnancy_stage2/'] and renpy.loadable(clothes1.replace('/clothes/', '/clothes_chubby/')): clothes1 = clothes1.replace('/clothes/', '/clothes_chubby/') if renpy.loadable(clothes.replace('/clothes/', form_of_waist_list[form_of_waist])): clothes = clothes.replace('/clothes/', form_of_waist_list[form_of_waist]) elif form_of_waist_list[form_of_waist] in ['/clothes_pragnancy_stage3/', '/clothes_pragnancy_stage2/'] and renpy.loadable(clothes.replace('/clothes/', '/clothes_chubby/')): clothes = clothes.replace('/clothes/', '/clothes_chubby/') return clothes, clothes1 def give_appearance_npc(input, immeditionaly_preferences=None): global new_line_ayanp, appearance, hour, changes_in_the_hands, shade_makeup, blush_makeup, lipstick_makeup, shade_makeup_color, blush_makeup_color, lipstick_color_makeup, fam_npc, location_school_for_events, rgb_shade_for_beard, pubic_hair_color, sexual_exp_npc, abs_waist, name_npc, changed_clothes_top, changed_clothes_down, body_type, npc_id, exp_function_disable, form_of_waist, form_of_hand, tattos_and_piercing, list_path_to_the_clothes_for_male, dict_preferences_male, rgb_eye_one, rgb_eye_two, rgb_shade_for_hair, accesories_for_mods, cash_npc_in_miscalculation, nudity_mc, exposure_dialoge, exposure_romantic_influences, exposure_to_crime, bravery, love_for_cute_things, school_absenteeism, love_of_soda, night_walk, hatred_of_guns, orientation, rgb_tone_skin, appearance_for_, rgb_tone_skin_massive, dict_preferences, rgb_top, rgb_down, hair_in_body, eyebrows_type, hair_in_body, gachhi_coustums_on_rnpcs, glassess, list3, hair_list, hair_list_male, height_npc_as, base_path_for_editor, tits_path_for_generator, penis_phimosis, pubic_hair, penis, futa, features_of_appearance_npc, love_npc, contact_npc, fear_npc, eye_npc, swimsuit_for_school_pool, swimsuit, ypos_in_button, brassiere, eye, pupils, pupils1, body, pantsu, MatrixColorEyeOne, MatrixColorEyeTwo, golfs1, golfs, depravity, clothes, clothes1, preferences, MatrixColorStrands, legs_calf, legs_calf_for_girl_for_generation, legs_hips_for_girl_for_generation, legs_hips, strands_the_front, strands_the_back, accessories, accessories1, accessories2, accessories3, accessories4, tits, type_body, tits_type, v_npc, gender_npc, glasses_equip, blood_and_bruises, eye_type, type_face, type_nose, eye_type, face_type, nose_type, bold_npc, conjunctura_highness, conjunctura_downness, all_bisexual_orientation, all_heterosexual_orientation, chair, hairpin, bracelets_in_right_hand, bracelets_in_left_hand, list_wrinkles, npc, color_hair, wrinkles, dict_preferences, legs_hips_for_girl, without_clothes, without_clothes1, without_pantsu, without_brassiere try: input = input.replace('npcnpc', 'npc').replace('npcFalse', 'npc1').replace('npcTrue', 'npc1') except: return if not 'club_joob' in eval(input) or (not new_line_ayanp == 12 and eval(input)['club_joob'] == 7): eval(input)['club_joob'] = 5 npc_id = input bold_npc = False if 'hair_in_body' in eval(npc_id)['appearance']: hair_in_body = eval(npc_id)['appearance']['hair_in_body'] else: hair_in_body = 0 try: eval(input)['bravery'] except: eval(input)['bravery'] = renpy.random.randint(1, 100) if eval(input)['gender_npc'] == 1: try: rgb_shade_for_beard = eval(input)['appearance']['rgb_shade_for_beard'] except: eval(input)['appearance']['rgb_shade_for_beard'] = 'None' rgb_shade_for_beard = eval(input)['appearance']['rgb_shade_for_beard'] if 'pregnancy' in eval(input) and eval(input)['pregnancy'] >= 1: form_of_waist = 2+eval(input)['pregnancy'] eval(input)['appearance']['form_of_waist'] = 2+eval(input)['pregnancy'] if 'changed_clothes_top' in eval(input): changed_clothes_top = eval(input)['changed_clothes_top'] else: changed_clothes_top = None if 'changed_clothes_down' in eval(input): changed_clothes_down = eval(input)['changed_clothes_down'] else: changed_clothes_down = None if 'pubic_hair_color' in eval(input)['appearance']: pubic_hair_color = eval(input)['appearance']['pubic_hair_color'] else: pubic_hair_color = None if eval(input)['appearance']['rgb_shade_for_hair'] == 0: eval(input)['appearance']['rgb_shade_for_hair'] = 'None' try: for cycle in eval(input)['appearance']['accesories_for_mods']: if 'hide_hair' in cycle: bold_npc = True except: pass try: eval(input)['appearance']['legs_calf'] except: eval(input)['appearance']['legs_calf'] = renpy.random.choice(legs_calf_for_girl_for_generation) eval(input)['appearance']['legs_hips'] = renpy.random.choice(legs_hips_for_girl_for_generation) legs_calf = eval(input)['appearance']['legs_calf'] legs_hips = eval(input)['appearance']['legs_hips'] check_func_for_(input) give_stats_npc(input) try: eval(input)['appearance']['abs_waist'] except: eval(input)['appearance']['abs_waist'] = int((150 - (eval(input)['npc_stats']['forces'] + eval(input)['npc_stats']['agility'] + eval(input)['npc_stats']['stamina'])) / 35) abs_waist = eval(input)['appearance']['abs_waist'] try: rgb_shade_for_hair = eval(input)['appearance']['rgb_shade_for_hair'] except: eval(input)['appearance']['rgb_shade_for_hair'] = 'None' rgb_shade_for_hair = eval(input)['appearance']['rgb_shade_for_hair'] blood_and_bruises = eval(input)['appearance']['blood_and_bruises'] try: eval(input)['appearance']['rgb_eye_one'] eval(input)['appearance']['rgb_eye_two'] except: eval(input)['appearance']['rgb_eye_one'] = 'None' eval(input)['appearance']['rgb_eye_two'] = 'None' rgb_eye_one = eval(input)['appearance']['rgb_eye_one'] rgb_eye_two = eval(input)['appearance']['rgb_eye_two'] try: if eval(input)['appearance']['monk']: eval(input)['appearance']['preferences'] = 'monk' except: pass npc = Character(renpy.translate_string(eval(input)['npc_name']) + ' ' + renpy.translate_string(eval(input)['npc_fam']), color="#ffffff", who_font= 'gui/fonts/calibri_bold.ttf') name_npc = renpy.translate_string(eval(npc_id)['npc_name']) fam_npc = renpy.translate_string(eval(npc_id)['npc_fam']) if input in ['npc999', 'mc_appearance']: stats_mc() if not appearance_for_ == eval(input)['appearance'] and eval(input)['gender_npc'] == 2: Detect_Set_Clothes(input) accesories_for_mods = eval(input)['appearance']['accesories_for_mods'] pantsu = eval(input)['appearance']['pantsu'] rgb_tone_skin = eval(input)['appearance']['rgb_tone_skin'] give_eye_color(input) features_of_appearance_npc = eval(input)['appearance']['features_of_appearance_npc'] exposure_dialoge = eval(input)['exposure_dialoge'] exposure_romantic_influences = eval(input)['exposure_romantic_influences'] exposure_to_crime = eval(input)['exposure_to_crime'] bravery = eval(input)['bravery'] love_for_cute_things = eval(input)['love_for_cute_things'] school_absenteeism = eval(input)['school_absenteeism'] love_of_soda = eval(input)['love_of_soda'] night_walk = eval(input)['night_walk'] hatred_of_guns = eval(input)['hatred_of_guns'] orientation = eval(input)['orientation'] onjunctura_highness_in_editor = eval(input)['appearance']['conjunctura_highness'] conjunctura_downness_in_editor = eval(input)['appearance']['conjunctura_downness'] conjunctura_highness_sa = renpy.random.randint(1, 100) * 0.001 if eval(input)['gender_npc'] == 2: if eval(input)['appearance']['tits'].find('big') <= -1: modification = 4 elif eval(input)['appearance']['tits'].find('medium') <= -1: modification = 3 elif eval(input)['appearance']['tits'].find('small') <= -1: modification = 2 else: modification = 1 eval(input)['appearance']['weight_personage'] = int(int(int(eval(input)['appearance']['conjunctura_highness'] * 190 - 130) + (modification * (int(eval(input)['appearance']['conjunctura_highness'] * 190 - 10) * 0.02))) + ((((stats_mc()[1] + stats_mc()[4]) * 0.5) - stats_mc()[2]) * 0.01 * (int(eval(input)['appearance']['conjunctura_highness'] * 190 - 10) * 0.06))) else: if eval(input)['appearance']['type_body_in_male'] == 5: modification = 30 elif eval(input)['appearance']['type_body_in_male'] == 4: modification = 20 elif eval(input)['appearance']['type_body_in_male'] == 2: modification = -10 else: modification = 0 eval(input)['appearance']['weight_personage'] = int(int(eval(input)['appearance']['conjunctura_highness'] * 190 - 100) + modification + ((((stats_mc()[1] + stats_mc()[4]) * 0.5) - stats_mc()[2]) * 0.01 * (int(eval(input)['appearance']['conjunctura_highness'] * 190) * 0.06))) eyebrows_type = eval(input)['appearance']['eyebrows_type'] if check_string_to_int_or_not(eval(input)['appearance']['eye']) == True: eval(input)['appearance']['eye'] = 'character/npc/new/face/eye/eye'+str(eval(input)['appearance']['eye'])+'.png' gender_npc = eval(input)['gender_npc'] glassess = eval(input)['appearance']['glassess'] wrinkles = eval(input)['wrinkles'] color_hair = eval(input)['appearance']['color_for_editor'] depravity = eval(input)['appearance']['depravity'] if not 'changed' in eval(npc_id): height_var = int(eval(npc_id)['appearance']['conjunctura_highness'] * 190) if eval(input)['gender_npc'] == 2: height_var -= 10 depravity += height_var - 100 - eval(npc_id)['appearance']['weight_personage'] MatrixColorStrands = eval(input)['appearance']['MatrixColorStrands'] strands_the_front = eval(input)['appearance']['strands_the_front'] strands_the_back = eval(input)['appearance']['strands_the_back'] penis = eval(input)['appearance']['penis'] penis_phimosis = eval(input)['appearance']['penis_phimosis'] love_npc = eval(input)['love_npc'] contact_npc = eval(input)['contact_npc'] fear_npc = eval(input)['fear_npc'] mc_npc = False clothes = 'no' clothes1 = 'no' preferences = eval(input)['appearance']['preferences'] if eval(input)['gender_npc'] == 2: if eval(input)['appearance']['chair'] >= 4: eval(input)['appearance']['chair'] = 0 if eval(input)['appearance']['hairpin'] >= 6: eval(input)['appearance']['hairpin'] = 0 if eval(input)['appearance']['bracelets_in_left_hand'] >= 5: eval(input)['appearance']['bracelets_in_left_hand'] = 0 if eval(input)['appearance']['bracelets_in_right_hand'] >= 5: eval(input)['appearance']['bracelets_in_right_hand'] = 0 form_of_waist = eval(input)['appearance']['form_of_waist'] if form_of_waist in [1, 2] and exp_function_disable == False: legs_hips = legs_hips_for_girl[1] chair = eval(input)['appearance']['chair'] form_of_hand = eval(input)['appearance']['form_of_hand'] hairpin = eval(input)['appearance']['hairpin'] bracelets_in_right_hand = eval(input)['appearance']['bracelets_in_right_hand'] bracelets_in_left_hand = eval(input)['appearance']['bracelets_in_left_hand'] accessories = eval(input)['appearance']['accessories'] accessories1 = eval(input)['appearance']['accessories1'] accessories2 = eval(input)['appearance']['accessories2'] accessories3 = eval(input)['appearance']['accessories3'] accessories4 = eval(input)['appearance']['accessories4'] golfs1 = eval(input)['appearance']['golfs1'] golfs = eval(input)['appearance']['golfs'] rgb_top = eval(input)['appearance']['rgb_top'] rgb_down = eval(input)['appearance']['rgb_down'] features_of_appearance_npc = eval(input)['appearance']['features_of_appearance_npc'] futa = eval(input)['appearance']['futa'] pubic_hair = eval(input)['appearance']['pubic_hair'] swimsuit_for_school_pool = eval(input)['appearance']['swimsuit_for_school_pool'] swimsuit = eval(input)['appearance']['swimsuit'] type_nose = eval(input)['appearance']['type_nose'] type_face = eval(input)['appearance']['type_face'] body_type = eval(input)['appearance']['body_type'] eye_type = eval(input)['appearance']['eye_type'] tits = eval(input)['appearance']['tits'] type_body = eval(input)['appearance']['type_body'] tits_type = eval(input)['appearance']['tits_type'] tits_path_for_generator = eval(input)['appearance']['tits_path_for_generator'] base_path_for_editor = eval(input)['appearance']['base_path_for_editor'] if 'shade_makeup_color' in eval(npc_id)['appearance']: shade_makeup_color = eval(npc_id)['appearance']['shade_makeup_color'] else: shade_makeup_color = 'None' if 'shade_makeup' in eval(npc_id)['appearance']: shade_makeup = eval(npc_id)['appearance']['shade_makeup'] else: shade_makeup = 'no' if 'blush_makeup' in eval(npc_id)['appearance']: blush_makeup = eval(npc_id)['appearance']['blush_makeup'] else: blush_makeup = 'no' if 'blush_makeup_color' in eval(npc_id)['appearance']: blush_makeup_color = eval(npc_id)['appearance']['blush_makeup_color'] else: blush_makeup_color = 'None' if 'lipstick_makeup' in eval(npc_id)['appearance']: lipstick_makeup = eval(npc_id)['appearance']['lipstick_makeup'] else: lipstick_makeup = 'no' if 'lipstick_color_makeup' in eval(npc_id)['appearance']: lipstick_color_makeup = eval(npc_id)['appearance']['lipstick_color_makeup'] else: lipstick_color_makeup = 'None' match_from_cycle = 0 for cycle in ['accessories', 'accessories1', 'accessories2', 'accessories3', 'accessories4']: if eval(cycle).find('glass') >= 1: match_from_cycle += 1 if match_from_cycle >= 2: eval(input)['appearance'][cycle] = 'no' setattr(store, cycle, 'no') break func_clothes = ['no', 'no'] if not ('changed' in eval(npc_id) and eval(npc_id)['changed']) and not input == npc_dialoge_main_character: try: if eval(input)['location_npc'] in location_school_for_events: preferences = eval(input)['appearance']['preferences_school'] elif hour <= 8: preferences = eval(input)['appearance']['preferences_morning'] elif hour <= 15: preferences = eval(input)['appearance']['preferences_day'] elif hour <= 20: preferences = eval(input)['appearance']['preferences_evening'] else: preferences = eval(input)['appearance']['preferences_night'] eval(input)['appearance']['preferences'] = preferences except: preferences = eval(input)['appearance']['preferences'] if immeditionaly_preferences: preferences = immeditionaly_preferences func_clothes = function_preferences_as(preferences, eval(input)['appearance']['tits_path_for_generator'], waist=eval(input)['appearance']['form_of_waist']) eval(input)['appearance']['clothes'] = func_clothes[0] eval(input)['appearance']['clothes1'] = func_clothes[1] clothes = eval(input)['appearance']['clothes'] clothes1 = eval(input)['appearance']['clothes1'] for cycle in [accessories, accessories1, accessories2, accessories3, accessories4]: if cycle.find('glass') >= 1: eval(input)['glasses_rule'] = True if eval(input)['gender_npc'] == 2: if eval(input)['appearance']['tits_path_for_generator'] == 2: eval(input)['appearance']['tits_path_for_generator'] = eval(input)['appearance']['tits_path_for_generator'].replace('_tits_tits', '_tits') if eval(input)['appearance']['clothes'].find('sweater') + eval(input)['appearance']['clothes1'].find('sweater') >= 1 or eval(input)['appearance']['preferences'] == 'everyday2' or eval(input)['appearance']['preferences'] == 'monk' and eval(input)['appearance']['preferences'] == 'everyday11': chair = 0 hairpin = 0 bracelets_in_right_hand = 0 bracelets_in_left_hand = 0 elif eval(input)['gender_npc'] == 1: global type_body_in_male, beard beard = eval(input)['beard'] eye_type = eval(input)['appearance']['eye_type'] type_body_in_male = eval(input)['appearance']['type_body_in_male'] pantsu = pantsu.replace('/type2/', '/type'+str(eval(input)['appearance']['type_body_in_male'])+'/') if glasses_equip == True and not input == 'mc_appearance': without_clothes = True without_clothes1 = True if gachhi_coustums_on_rnpcs == True and not input == 'mc_appearance' and eval(input)['gender_npc'] == 1: clothes = 'character/npc/npc_m/clothes/clothes4.png' if nudity_mc == True and input == 'mc_appearance': mc_appearance['appearance']['clothes'] = 'no' without_clothes = True appearance_for_ = eval(input)['appearance'] try: if clothes.find('sweater') >= 1: form_of_hand = 0 except: pass if eval(npc_id)['character_trait'] == 'Агрессивный' and (features_of_appearance_npc['neck'] == False or eval(input)['appearance']['features_of_appearance_npc']['neck'] == False): features_of_appearance_npc['neck'] = True eval(input)['appearance']['features_of_appearance_npc']['neck'] = True sexual_exp_npc = eval(input)['sexual_exp_npc'] return def give_eye_color(input): global eye, eye_npc, MatrixColorEyeOne, MatrixColorEyeTwo eye = eval(input)['appearance']['eye'] eye_npc = eval(input)['appearance']['eye'] MatrixColorEyeOne = eval(input)['appearance']['MatrixColorEyeOne'] MatrixColorEyeTwo = eval(input)['appearance']['MatrixColorEyeTwo'] return def check_string_to_int_or_not(input): try: int(input) return True except: return False def give_stats_npc(input): global abs_for_male_list, difficulty_game, npc_stats, stats_forces, stats_agility, stats_stamina, stats_lucky, stats_erudition, stats_authority, stats_science, stats_cunning, stats_intellect, npc_forces, npc_agility, npc_stamina, npc_lucky, npc_erudition, npc_authority, npc_science, npc_intellect, npc_cunning if eval(input)['npc_stats']['forces'] >= 120: eval(input)['npc_stats']['forces'] = 120 if eval(input)['npc_stats']['agility'] >= 120: eval(input)['npc_stats']['agility'] = 120 if eval(input)['npc_stats']['stamina'] >= 120: eval(input)['npc_stats']['stamina'] = 120 if eval(input)['npc_stats']['lucky'] >= 420: eval(input)['npc_stats']['lucky'] = 420 if eval(input)['npc_stats']['erudition'] >= 420: eval(input)['npc_stats']['erudition'] = 420 if eval(input)['npc_stats']['authority'] >= 120: eval(input)['npc_stats']['authority'] = 120 if eval(input)['npc_stats']['science'] >= 120: eval(input)['npc_stats']['science'] = 120 if eval(input)['npc_stats']['cunning'] >= 220: eval(input)['npc_stats']['cunning'] = 220 if eval(input)['npc_stats']['forces'] <= 20: eval(input)['npc_stats']['forces'] = 20 if eval(input)['npc_stats']['agility'] <= 20: eval(input)['npc_stats']['agility'] = 20 if eval(input)['npc_stats']['stamina'] <= 20: eval(input)['npc_stats']['stamina'] = 20 if eval(input)['npc_stats']['lucky'] <= 20: eval(input)['npc_stats']['lucky'] = 20 if eval(input)['npc_stats']['erudition'] <= 20: eval(input)['npc_stats']['erudition'] = 20 if eval(input)['npc_stats']['authority'] <= 20: eval(input)['npc_stats']['authority'] = 20 if eval(input)['npc_stats']['science'] <= 20: eval(input)['npc_stats']['science'] = 20 if eval(input)['npc_stats']['cunning'] <= 20: eval(input)['npc_stats']['cunning'] = 20 if not 'changed' in eval(npc_id): if difficulty_game == 'hard': stats_forces = int(eval(input)['npc_stats']['forces'] + (int(eval(input)['appearance']['conjunctura_highness'] * 190) * 0.1) + stats_mc()[3] * 0.3) stats_agility = int(eval(input)['npc_stats']['agility'] - (int(eval(input)['appearance']['conjunctura_highness'] * 190) * 0.1) + stats_mc()[3] * 0.3) stats_stamina = int(eval(input)['npc_stats']['stamina'] - (int(eval(input)['appearance']['conjunctura_highness'] * 190) * 0.05) + stats_mc()[3] * 0.3) stats_lucky = int(eval(input)['npc_stats']['lucky'] + stats_mc()[3] * 0.3) stats_erudition = int(eval(input)['npc_stats']['erudition'] + stats_mc()[3] * 0.3) stats_authority = int(eval(input)['npc_stats']['authority'] + stats_mc()[3] * 0.3) stats_science = int(eval(input)['npc_stats']['science'] + stats_mc()[3] * 0.3) stats_intellect = int(eval(input)['npc_stats']['science'] + stats_mc()[3] * 0.3) stats_cunning = int(eval(input)['npc_stats']['cunning'] + stats_mc()[3] * 0.3) else: stats_forces = int(eval(input)['npc_stats']['forces'] + (int(eval(input)['appearance']['conjunctura_highness'] * 190) * 0.1)) stats_agility = int(eval(input)['npc_stats']['agility'] - (int(eval(input)['appearance']['conjunctura_highness'] * 190) * 0.1)) stats_stamina = int(eval(input)['npc_stats']['stamina'] - (int(eval(input)['appearance']['conjunctura_highness'] * 190) * 0.05)) stats_lucky = int(eval(input)['npc_stats']['lucky']) stats_erudition = int(eval(input)['npc_stats']['erudition']) stats_authority = int(eval(input)['npc_stats']['authority']) stats_science = int(eval(input)['npc_stats']['science']) stats_intellect = int(eval(input)['npc_stats']['science']) stats_cunning = int(eval(input)['npc_stats']['cunning']) else: stats_forces = int(eval(input)['npc_stats']['forces']) stats_agility = int(eval(input)['npc_stats']['agility']) stats_stamina = int(eval(input)['npc_stats']['stamina']) stats_lucky = int(eval(input)['npc_stats']['lucky']) stats_erudition = int(eval(input)['npc_stats']['erudition']) stats_authority = int(eval(input)['npc_stats']['authority']) stats_science = int(eval(input)['npc_stats']['science']) stats_intellect = int(eval(input)['npc_stats']['science']) stats_cunning = int(eval(input)['npc_stats']['cunning']) npc_forces = stats_forces npc_agility = stats_agility npc_stamina = stats_stamina npc_lucky = stats_lucky npc_erudition = stats_erudition npc_authority = stats_authority npc_science = stats_science npc_intellect = stats_intellect npc_cunning = stats_cunning if (not 'changed' in eval(npc_id) or not eval(npc_id)['changed']) and eval(input)['gender_npc'] == 1: if npc_forces <= 40 and npc_agility <= 40: eval(input)['appearance']['type_body_in_male'] = 5 elif npc_forces + npc_agility + npc_stamina <= 121: eval(input)['appearance']['type_body_in_male'] = 2 elif npc_forces + npc_agility + npc_stamina <= 241: eval(input)['appearance']['type_body_in_male'] = 3 else: eval(input)['appearance']['type_body_in_male'] = 4 if int(npc_forces) <= 40: eval(input)['appearance']['type_abs'] = abs_for_male_list[0] elif int(npc_forces) <= 80: eval(input)['appearance']['type_abs'] = abs_for_male_list[1] else: eval(input)['appearance']['type_abs'] = abs_for_male_list[2] if eval(input)['gender_npc'] == 2: if eval(input)['appearance']['tits_path_for_generator'] == 2: eval(input)['appearance']['tits_path_for_generator'] = eval(input)['appearance']['tits_path_for_generator'].replace('_tits_tits', '_tits') return def up_phys_stats_for_RNPCs(input1): up_stats_forces(input1) up_stats_agility(input1) up_stats_stamina(input1) return def up_stats_forces(input1, count=1, chance=False): chance_count = (eval(input1)['npc_stats']['forces'] - 100) * (-1) if chance == True: return chance_count for cycle in range(0, count): if chance_count >= renpy.random.randint(0, 100): eval(input1)['npc_stats']['forces'] += 1 change_character_for_increase_phys_attributes(input1) if eval(input1)['gender_npc'] == 2 and config.version in ['0.954b', '0.955a', '0.955b', '0.956', '0.956a', '0.955b', '0.956', '0.956a', '0.955', '0.955a', '0.955b', '0.956', '0.956a', '0.955b', '0.956', '0.956a', '0.955', '0.955a', '0.955b', '0.956', '0.956a', '0.955b', '0.956', '0.956a']: eval(input1)['appearance']['abs_waist'] = int((150 - (eval(input1)['npc_stats']['forces'] + eval(input1)['npc_stats']['agility'] + eval(input1)['npc_stats']['stamina'])) / 35) return def up_stats_agility(input1, count=1, chance=False): chance_count = (eval(input1)['npc_stats']['agility'] - 100) * (-1) if chance == True: return chance_count for cycle in range(0, count): if chance_count >= renpy.random.randint(0, 100): eval(input1)['npc_stats']['agility'] += 1 change_character_for_increase_phys_attributes(input1) if eval(input1)['gender_npc'] == 2 and config.version in ['0.954b', '0.955a', '0.955b', '0.956', '0.956a', '0.955b', '0.956', '0.956a', '0.955', '0.955a', '0.955b', '0.956', '0.956a', '0.955b', '0.956', '0.956a', '0.955', '0.955a', '0.955b', '0.956', '0.956a', '0.955b', '0.956', '0.956a']: eval(input1)['appearance']['abs_waist'] = int((150 - (eval(input1)['npc_stats']['forces'] + eval(input1)['npc_stats']['agility'] + eval(input1)['npc_stats']['stamina'])) / 35) return def up_stats_stamina(input1, count=1, chance=False): chance_count = (eval(input1)['npc_stats']['stamina'] - 100) * (-1) if chance == True: return chance_count for cycle in range(0, count): if chance_count >= renpy.random.randint(0, 100): eval(input1)['npc_stats']['stamina'] += 1 change_character_for_increase_phys_attributes(input1) if eval(input1)['gender_npc'] == 2 and config.version in ['0.954b', '0.955a', '0.955b', '0.956', '0.956a', '0.955b', '0.956', '0.956a', '0.955', '0.955a', '0.955b', '0.956', '0.956a', '0.955b', '0.956', '0.956a', '0.955', '0.955a', '0.955b', '0.956', '0.956a', '0.955b', '0.956', '0.956a']: eval(input1)['appearance']['abs_waist'] = int((150 - (eval(input1)['npc_stats']['forces'] + eval(input1)['npc_stats']['agility'] + eval(input1)['npc_stats']['stamina'])) / 35) return def up_stats_lucky(input1, chance=False): chance_count = (eval(input1)['npc_stats']['lucky'] - 400) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 400): eval(input1)['npc_stats']['lucky'] += 1 up_bravery(input1) return def up_stats_erudition(input1, chance=False): chance_count = (eval(input1)['npc_stats']['erudition'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['npc_stats']['erudition'] += 1 up_skills_exposure_dialoge(input1) return def up_stats_authority(input1, chance=False): chance_count = (eval(input1)['npc_stats']['authority'] - 400) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 400): eval(input1)['npc_stats']['authority'] += 1 up_exposure_to_crime(input1) up_bravery(input1) return def up_stats_science(input1, count=1, chance=False): chance_count = (eval(input1)['npc_stats']['science'] - 100) * (-1) if chance == True: return chance_count for cycle in range(0, count): if chance_count >= renpy.random.randint(0, 100): eval(input1)['npc_stats']['science'] += 1 return def up_stats_cunning(input1, chance=False): chance_count = (eval(input1)['npc_stats']['cunning'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['npc_stats']['cunning'] += 1 up_skills_exposure_dialoge(input1) return def change_character_for_increase_phys_attributes(input1): global legs_calf_for_girl_for_generation, legs_hips_for_girl_for_generation up_exposure_to_crime(input1) up_bravery(input1) if eval(input1)['npc_stats']['forces'] + eval(input1)['npc_stats']['agility'] + eval(input1)['npc_stats']['stamina'] >= renpy.random.randint(200, 400) and eval(input1)['character_trait'] in ['Слабый', 'Затворничество'] and eval(input1)['bravery'] >= renpy.random.randint(60, 100): eval(input1)['character_trait'] = 'Надежный' if eval(input1)['npc_stats']['forces'] + eval(input1)['npc_stats']['agility'] + eval(input1)['npc_stats']['stamina'] >= renpy.random.randint(200, 250) and eval(input1)['gender_npc'] == 2: eval(input1)['appearance']['legs_calf'] = legs_calf_for_girl_for_generation[2] eval(input1)['appearance']['legs_hips'] = legs_hips_for_girl_for_generation[2] return def detailed_emotion_management(input1, input2, input3, input4, input5): global npc_id, blush, eyebrows_npc, mounth, changes_in_the_eyes, changes_in_the_hands, detailed_emotion_management_variable, detailed_emotion_eyebrows, detailed_emotion_mounth, detailed_emotion_eye, detailed_emotion_blush try: if eval(npc_id)['gender_npc'] == 2 and eval(eval(npc_id)['appearance']['preferences']+'_preferences')['sleeves'] == False: input4 = 1 except: pass detailed_emotion_management_variable = True eyebrows_npc = detailed_emotion_eyebrows[input1] mounth = detailed_emotion_mounth[input2] if not input3 == 'no': changes_in_the_eyes = detailed_emotion_eye[input3] else: changes_in_the_eyes = str(input3) changes_in_the_hands = str(input4) if not input5 == 'no': blush = detailed_emotion_blush[input5] else: blush = str(input5) return def change_hands_return(gender_npc, changes_in = '1'): global changes_in_the_hands if eval(npc_id)['gender_npc'] == 1 and not changes_in in ['1', '2', '2_1', '3', '4', '5', '6']: changes_in_the_hands = '1' return def hour_boost(input1): return renpy.game.FunctionLib.hour_boost(input1) def up_skills_exposure_dialoge(input1, chance=False): chance_count = (eval(input1)['exposure_dialoge'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['exposure_dialoge'] += 1 return def up_skills_exposure_romantic_influences(input1, chance=False): chance_count = (eval(input1)['exposure_romantic_influences'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['exposure_romantic_influences'] += 1 return def up_skills_depravity(input1, chance=False): chance_count = (eval(input1)['appearance']['depravity'] - 130) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 130): eval(input1)['appearance']['depravity'] += 1 return def up_exposure_to_crime(input1, chance=False): chance_count = (eval(input1)['exposure_to_crime'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['exposure_to_crime'] += 1 return def up_bravery(input1, chance=False): chance_count = (eval(input1)['bravery'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['bravery'] += 1 return def up_love_for_cute_things(input1, chance=False): chance_count = (eval(input1)['love_for_cute_things'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['love_for_cute_things'] += 1 return def up_love_of_soda(input1, chance=False): chance_count = (eval(input1)['love_of_soda'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['love_of_soda'] += 1 return def up_hatred_of_guns(input1, chance=False): chance_count = (eval(input1)['hatred_of_guns'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['hatred_of_guns'] += 1 return def up_responsibility(input1, chance=False): chance_count = eval(npc_id)['school_absenteeism'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['school_absenteeism'] -= 1 return def up_corruption(input1, chance=False): chance_count = (eval(npc_id)['corruption'] - 100) * (-1) if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(npc_id)['corruption'] += 1 return def up_computer_skill(input1): eval(input1)['skills_programm'] += 1 return def up_exp_for_fighting(input1): eval(input1)['exp_fight'] += 1 return def up_exp_for_cooking(input1): eval(input1)['cooking'] += 1 return def up_exp_for_card(input1): eval(input1)['card_experience_glgg'] += 1 return def down_skills_exposure_dialoge(input1, chance=False): chance_count = eval(input1)['exposure_dialoge'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['exposure_dialoge'] -= 1 return def down_skills_exposure_romantic_influences(input1, chance=False): chance_count = eval(input1)['exposure_romantic_influences'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['exposure_romantic_influences'] -= 1 return def down_skills_depravity(input1, chance=False): chance_count = eval(input1)['appearance']['depravity'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 120): eval(input1)['appearance']['depravity'] -= 1 return def down_exposure_to_crime(input1, chance=False): chance_count = eval(input1)['exposure_to_crime'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['exposure_to_crime'] -= 1 return def down_bravery(input1, chance=False): chance_count = eval(input1)['bravery'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['bravery'] -= 1 return def down_love_for_cute_things(input1, chance=False): chance_count = eval(input1)['love_for_cute_things'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['love_for_cute_things'] -= 1 return def down_love_of_soda(input1, chance=False): chance_count = eval(input1)['love_of_soda'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['love_of_soda'] -= 1 return def down_hatred_of_guns(input1, chance=False): chance_count = eval(input1)['hatred_of_guns'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['hatred_of_guns'] -= 1 return def down_corruption(input1, chance=False): chance_count = eval(npc_id)['corruption'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(npc_id)['corruption'] -= 1 return def down_responsibility(input1, chance=False): chance_count = 100-eval(npc_id)['school_absenteeism'] if chance == True: return chance_count if chance_count >= renpy.random.randint(0, 100): eval(input1)['school_absenteeism'] += 1 return def ladies_man_perk(): global money, mc_appearance, tattos_and_piercing, difficulty_game, editor_main_character_animation_page1, ladies_man, amulet5, weeks, days, location_gg, dialogues_per_time, character_trait, npc_id, reputationt_hooligans, gender_npc, evaluations, number_fights, exp_fight_sa, pretty_face input1 = renpy.game.FunctionLib.ladies_man_perk(ladies_man, amulet5, int(weeks), days, location_gg, dialogues_per_time, eval(npc_id)['character_trait'], npc_id, reputationt_hooligans, gender_npc) try: exp_fight = int(number_fights * 1.5) + exp_fight_sa if eval(npc_id)['exposure_to_crime'] >= 70 and eval(npc_id)['bravery'] >= 90 and eval(npc_id)['love_for_cute_things'] <= 50 and eval(npc_id)['fear_npc'] >= 100: input1 += 3 if eval(npc_id)['fear_npc'] >= 1: input1 -= float(renpy.game.FunctionLib.max_min_float_value(eval(npc_id)['fear_npc'], 600, 0) * 0.0025) if eval(npc_id)['character_trait'] in ['Агрессивный']: input1 += float(stats_mc()[0] * 0.01) if eval(npc_id)['contact_npc'] >= 25 and not eval(npc_id)['contact_npc'] >= 100: input1 += evaluations * (-1) * 0.000075 else: if eval(npc_id)['contact_npc'] >= 25 and not eval(npc_id)['contact_npc'] >= 100: input1 += evaluations * 0.000075 if editor_main_character_animation_page1 == 1: if eval(npc_id)['character_trait'] in ['Надменный', 'Глупость', 'Сплетничество']: input1 += 0.1 else: input1 -= 0.04 elif editor_main_character_animation_page1 == 2: input1 += 0.02 elif editor_main_character_animation_page1 == 3: if eval(npc_id)['character_trait'] in ['Надменный', 'Сплетничество', 'Агрессивный' 'Лживость', 'Извращенный']: input1 += 0.08 else: input1 -= 0.035 elif editor_main_character_animation_page1 == 4: if eval(npc_id)['character_trait'] in ['Агрессивный']: input1 += 0.15 else: input1 -= 0.05 input1 += eval(npc_id)['exposure_dialoge'] * 0.00075 if difficulty_game == 'hard': input1 -= 0.1 elif difficulty_game == 'easy': input1 += 0.1 if eval(npc_id)['character_trait'] in ['Агрессивный'] or eval(npc_id)['bravery'] + eval(npc_id)['exposure_to_crime'] >= 140: features_of_appearance_npc = mc_appearance['appearance']['features_of_appearance_npc'] for cycle in tattos_and_piercing: if features_of_appearance_npc[cycle] == True: input1 += 0.01 for cycle in scars_list: if features_of_appearance_npc[cycle] == True: input1 += 0.1 if pretty_face == True and eval(npc_id)['character_trait'] in ['Агрессивный']: input1 -= 1.0 if eval(npc_id)['exposure_romantic_influences'] <= 50 and eval(npc_id)['love_for_cute_things'] >= 80: input1 += (appearance_glgg() - 200) * 0.001 if eval(npc_id)['exposure_dialoge'] <= 50 and eval(npc_id)['exposure_to_crime'] <= 80: input1 += cooking * 0.0005 if eval(npc_id)['school_absenteeism'] <= 50 and eval(npc_id)['exposure_to_crime'] >= 50: input1 += card_experience_glgg * 0.001 if eval(npc_id)['exposure_to_crime'] >= 80 and eval(npc_id)['bravery'] >= 60: input1 += exp_fight * 0.01 if len(eval(npc_id)['actions_with_main_character']) >= 50: input1 -= 0.5 else: input1 -= len(eval(npc_id)['actions_with_main_character']) * 0.01 if input1 <= 0.25: input1 = 0.25 except: input1 = 1 if input1 <= 0.25: input1 = 0.25 if input1 >= 2: input1 = 1.4 * 0.01 * (100 + ((1 - 0.7 ** input1) * 100)) try: if eval(npc_id)['love_potion_timer'] >= 1: input1 += 10 except: pass return input1 def appearance_glgg(): global appearance_of_bad_guy, boost_fear, boost_relationships, perfume_use, take_shower, low_height, miniature, its_a_trap, trap, scars_face2, scars_face1, scars_face, pretty_face, pumped_up_body, mountain_of_muscles, remarkable_strength, fat, dry_body, amulet6, sexual_maniac, beginning_comedian, ladies_man, mc_appearance, tattos_and_piercing, scars_list, pretty_guy, pretty_face boost_relationships = stats_mc()[7] * 0.01 boost_fear = 0 if amulet6 == 1: boost_relationships += 0.15 if sexual_maniac == True: boost_relationships += 1 if beginning_comedian == True: boost_relationships -= 0.3 if ladies_man == True: boost_relationships += 1 if take_shower >= 1: boost_relationships += 0.4 if perfume_use >= 1: boost_relationships += 0.5 if sunbathing >= 1: boost_relationships += 0.5 features_of_appearance_npc = mc_appearance['appearance']['features_of_appearance_npc'] for cycle in scars_list: if features_of_appearance_npc[cycle] == True: if appearance_of_bad_guy == False: boost_relationships -= 0.05 else: boost_relationships += 0.01 for cycle in tattos_and_piercing: if cycle in features_of_appearance_npc and features_of_appearance_npc[cycle] == True: boost_relationships += 0.01 if pretty_face == True: boost_relationships += 0.5 boost_relationships += boost_relationships_as * 0.01 boost_relationships = int((boost_relationships * 100 + 100) * 0.01 * (100 + pretty_guy * 20)) if boost_relationships <= 100: boost_relationships = 100 return boost_relationships def blood_plus(npc_id, body_part): global head_blood_list, leg_blood_list, gender_npc, head_blood_list_male, leg_blood_list_male if persistent.blood == True: import random try: if eval(npc_id)['appearance']['blood_and_bruises']: blood_and_bruises = eval(npc_id)['appearance']['blood_and_bruises'] except KeyError: eval(npc_id)['appearance']['blood_and_bruises'] = [] if gender_npc == 2: head_blood_list_for_func = head_blood_list leg_blood_list_for_func = leg_blood_list else: head_blood_list_for_func = head_blood_list_male leg_blood_list_for_func = leg_blood_list_male if body_part == 'head': for blood_cycle in head_blood_list_for_func: if not blood_cycle in eval(npc_id)['appearance']['blood_and_bruises']: eval(npc_id)['appearance']['blood_and_bruises'].append(blood_cycle) break elif body_part == 'body' and gender_npc == 1: for blood_cycle in leg_blood_list_for_func: if not blood_cycle in eval(npc_id)['appearance']['blood_and_bruises']: eval(npc_id)['appearance']['blood_and_bruises'].append(blood_cycle) break elif body_part == 'leg': for blood_cycle in leg_blood_list_for_func: if not blood_cycle in eval(npc_id)['appearance']['blood_and_bruises']: eval(npc_id)['appearance']['blood_and_bruises'].append(blood_cycle) break if renpy.random.randint(1, 100) >= 100 * (npc_stamina * 0.01) and renpy.random.randint(1, 100) >= 95: scars_plus(npc_id) return def bruises_plus(npc_id, body_part): global head_bruises_list, body_bruises_list, leg_bruises_list, gender_npc, head_bruises_list_male, body_bruises_list_male, leg_bruises_list_male if persistent.blood == True: try: if appearance['blood_and_bruises']: blood_and_bruises = appearance['blood_and_bruises'] except KeyError: eval(npc_id)['appearance']['blood_and_bruises'] = [] if gender_npc == 2: head_blood_list_for_func = head_bruises_list body_blood_list_for_func = body_bruises_list leg_blood_list_for_func = leg_bruises_list else: head_blood_list_for_func = head_bruises_list_male body_blood_list_for_func = body_bruises_list_male leg_blood_list_for_func = leg_bruises_list_male if body_part == 'head': for bruises_cycle in head_blood_list_for_func: if not bruises_cycle in eval(npc_id)['appearance']['blood_and_bruises']: eval(npc_id)['appearance']['blood_and_bruises'].append(bruises_cycle) break elif body_part == 'body': for bruises_cycle in body_blood_list_for_func: if not bruises_cycle in eval(npc_id)['appearance']['blood_and_bruises']: eval(npc_id)['appearance']['blood_and_bruises'].append(bruises_cycle) break elif body_part == 'leg': for bruises_cycle in leg_blood_list_for_func: if not bruises_cycle in eval(npc_id)['appearance']['blood_and_bruises']: eval(npc_id)['appearance']['blood_and_bruises'].append(bruises_cycle) break if renpy.random.randint(1, 100) >= 100 * (npc_stamina * 0.01) and renpy.random.randint(1, 100) >= 90: scars_plus(npc_id) return def ivents_for_condition(procent, character_trait, depravity, location_npc, gender_npc): global number_npc_max, procent_npc_generate needed_npc = [] if renpy.random.randint(1, 100) >= procent: for number_npc in range(1, int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))): npc_id = 'npc'+str(number_npc) if character_trait == 'all': if location_npc == eval(npc_id)["location_npc"] and eval(npc_id)["gender_npc"] == gender_npc: needed_npc.append(npc_id) else: if eval(npc_id)["npc_nature"] in character_trait and location_npc == eval(npc_id)["location_npc"] and eval(npc_id)["gender_npc"] == gender_npc: needed_npc.append(npc_id) exit_on_ivent = True if needed_npc == []: for number_npc in range(1, int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))): npc_id = 'npc'+str(number_npc) if eval(npc_id)['appearance']["depravity"] >= depravity and location_npc == eval(npc_id)["location_npc"] and eval(npc_id)["gender_npc"] == gender_npc: needed_npc.append(npc_id) if needed_npc == []: exit_on_ivent = False else: exit_on_ivent = False return needed_npc, exit_on_ivent def club_activity_npcs_q(club, o_club, old_location, procent): global location_school_for_events location_npc = renpy.random.randint(1, 100) if o_club == 7: if location_npc >= procent: location_npc = 'occult_club' else: location_npc = renpy.random.choice(location_school_for_events) elif club == 'Клуб плавания': if location_npc >= procent: location_npc = 'pool' else: location_npc = renpy.random.choice(location_school_for_events) elif club in ['Литературный клуб', 'Клуб рисования', 'Детективный клуб']: if location_npc >= procent: location_npc = 'library' else: location_npc = renpy.random.choice(location_school_for_events) else: location_npc = old_location return location_npc def exp_point_plus(exp): global difficulty_game, exp_points, exp_points_max, lvl, amulet8, evaluations, genius_glggas, a_diligent_student, amulet_skill, ladies_man, untrained if exp in [30, 75]: evaluations += renpy.random.randint(1, 3) stability_body_head_minus(renpy.random.randint(3, 7)) if difficulty_game == 'hard': exp = exp * 0.01 * 90 elif difficulty_game == 'easy': exp = exp * 0.01 * 110 exp_points += (exp * 0.01) * (100 + stats_mc()[5] + (amulet8 * 10) + (genius_glggas * 10) + (a_diligent_student * 15) - (amulet_skill * 10) - (untrained * 50)) if exp_points >= exp_points_max: exp_points = 0 lvl += 1 exp_points_max_mod = 0.45 * (1 - a_diligent_student * 0.01 * 10 + (stats_mc()[6] - 20) * 0.0005) - amulet_skill * 0.01 * 10 - amulet_skill * 0.01 * 30 exp_points_max = int((125 * lvl) * (1 + exp_points_max_mod)) if renpy.random.randint(1, 10000) <= (stats_mc()[3] - 20) * 5: exp_points = int(exp_points * 2) else: exp_points = int(exp_points) return def exp_point_plus_for_lvl_up(): global exp_points_max, exp_points exp_point_plus(exp_points_max - exp_points) return def mods_active_check(mods_active): global mods if len(mods_active) >= 1: mods = True return def dialogue_fatigue(npc_id): global difficulty_game, marketolog, a_diligent_student, ladies_man res = round((3.6 - (((eval(npc_id)['contact_npc'] * 0.003)) + (stats_mc()[7] * 0.01))) * 0.01 * (100 - marketolog * 15 - a_diligent_student * 10 + ladies_man * 10), 3) if difficulty_game == 'hard': res = round(res * 0.01 * 110, 3) elif difficulty_game == 'easy': res = round(res * 0.01 * 90, 3) if res <= 1: res = 1 elif res >= 4: res = 4 eval(npc_id)['dialogue_fatigue'] += res + (res * ((eval(npc_id)['exposure_dialoge'] * (-1) + 100) * 0.01)) if eval(npc_id)['dialogue_fatigue'] >= 100: eval(npc_id)['dialogue_fatigue'] = 100 elif eval(npc_id)['dialogue_fatigue'] <= 0: eval(npc_id)['dialogue_fatigue'] = 0 return def scars_plus(npc_id): global scars_list, mc_appearance for cycle in range(0, len(scars_list)): cycle = renpy.random.choice(scars_list) if eval(npc_id)['appearance']['features_of_appearance_npc'][cycle] == False: eval(npc_id)['appearance']['features_of_appearance_npc'][cycle] = True break return def plus_attribute_stat(attribute): return def energy_minus(value): global energy, infinite_energy energy -= int(value * 0.01 * (110 - (stats_mc()[2] * 0.5 + infinite_energy * 15))) if value <= 5: stability_body_head_minus(1) stability_body_body_minus(renpy.random.randint(0, 1)) else: if renpy.random.randint(1, 100) >= 50: stability_body_body_minus(renpy.random.randint(int(value*0.5), value)) return def satiety_minus(value): global satiety, dead_stomach, accelerated_metabolism satiety -= int(value * 0.01 * ((110 + accelerated_metabolism * 20) - (stats_mc()[2] * 0.5 + dead_stomach * 15))) return def max_energy(): global energy, accelerated_metabolism, lvl_achievement max_energy = int(80 + stats_mc()[4] * 0.66 + accelerated_metabolism * 30) + lvl_achievement if energy >= max_energy: energy = int(max_energy) return max_energy def max_satiety_func(): global satiety, fat_layer, lvl_achievement, max_satiety max_satiety = int(80 + stats_mc()[4] + fat_layer * 100 + lvl_achievement) if satiety >= max_satiety: satiety = int(max_satiety) return max_satiety def stats_need(): global progress_erudition_need, perk_genius, ladies_man, progress_science_need, progress_agility_need, weighting, progress_stamina_need, progress_body_info, progress_body_info1 progress_erudition_need = round((stats_mc()[7] * 0.35) - (stats_mc()[7] * 0.35 * ((perk_genius * 0.5) + ladies_man * 0.2)), 2) progress_science_need = round((stats_mc()[5] / 5) - (stats_mc()[5] / 5 * (perk_genius * 0.5)), 2) progress_agility_need = round(renpy.game.FunctionLib.max_min_float_value(int(((stats_mc()[2] / 5) - (stats_mc()[2] / 5 * (perk_genius * 0.5))) * renpy.game.FunctionLib.max_min_float_value((0.7 ** weighting), 1, 0.1)), 100, 1), 2) progress_stamina_need = round(renpy.game.FunctionLib.max_min_float_value(int(((stats_mc()[4] / 5) - (stats_mc()[4] / 5 * (perk_genius * 0.5))) * renpy.game.FunctionLib.max_min_float_value((0.7 ** weighting), 1, 0.1)), 100, 1), 2) progress_body_info = round(progress_body / 10, 2) progress_body_info1 = round(int((renpy.game.FunctionLib.max_min_float_value(int(((100 - perk_genius * 50) * 0.7 + stats_mc()[1] * 2) ** renpy.game.FunctionLib.max_min_float_value(weighting, 0.01, 1)) / 10, 100, 1))) * renpy.game.FunctionLib.max_min_float_value((0.7 ** weighting), 1, 0.1), 2) return def minus1(): global stats_science_gg stats_science_gg -= 1 return def minus_relationships_with_rnpcs(npc_id): global number_npc_max, procent_npc_generate for number_npc in range(1, int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))): npc_id_cycle = 'npc'+str(number_npc) if eval(npc_id_cycle)['club_npc'] == eval(npc_id)['club_npc'] and not npc_id_cycle == npc_id: eval(npc_id_cycle)['contact_npc'] -= renpy.random.randint(8, 18) eval(npc_id_cycle)['love_npc'] -= renpy.random.randint(8, 18) return def top_sponsors(): global enternet_connection try: list = persistent.all_sponsors(2) list1 = [] for cycle in list: if not cycle[1] == 'Best Friend': list1.append(cycle) for cycle in list: if cycle[1] == 'Best Friend': list1.append(cycle) except: nickname = ['XENNA', 'Mr. Fox', 'Harshy', 'yuki', 'XlebuIIIek', 'MagnaVash', 'Romanocraft', 'SpeedyP', 'StHr.aNyan', 'Asian', 'Seddhledesse'] list1 = [] for cycle in nickname: list1.append([cycle, 'Best Friend']) for cycle in list1: if cycle[0].find('@') >= 1: list1.remove(cycle) if cycle[0].find('http') >= 1: list1.remove(cycle) return list1 def reaction_ayano(): try: year, month, day, hour, minute, second, dow, doy, dst = time.localtime() if len(renpy.list_saved_games(regexp='1-', fast=True)) <= 0: res = renpy.random.randint(5, 8) else: res = renpy.random.randint(8, 12) if res == 8: if hour <= 6: res = 1 elif hour <= 12: res = 2 elif hour <= 18: res = 3 elif hour <= 22: res = 4 else: res = 5 except: res = 10 return res def mc_editor_func1(): global height_mc, conjunctura_downness_in_editor, conjunctura_highness_in_editor if height_mc == 1: conjunctura_downness_in_editor = 1.0 conjunctura_highness_in_editor = 1.0 elif height_mc == 2: conjunctura_downness_in_editor = 0.95 conjunctura_highness_in_editor = 0.95 else: conjunctura_downness_in_editor = 0.9 conjunctura_highness_in_editor = 0.9 return def mc_editor_func2(): global glassess_mc, glassess if glassess_mc == True: glassess = 'character/npc/npc_m/accessories/glassess/glassess1.png' eval('npc999')['appearance']['glassess'] = 'character/npc/npc_m/accessories/glassess/glassess1.png' eval('npc999')['glassess'] = 'character/npc/npc_m/accessories/glassess/glassess1.png' else: glassess = 'no' eval('npc999')['glassess'] = 'no' eval('npc999')['appearance']['glassess'] = 'no' return def mc_editor_func3(): eval('npc999')['glassess'] = 'no' eval('npc999')['appearance']['glassess'] = 'no' eval('npc999')['features_of_appearance_npc'] = {} eval('npc999')['character_trait'] = 'Общительный' for cycle in features_of_appearance_for_generation: eval('npc999')['features_of_appearance_npc'][cycle] = False for cycle in tattos_and_piercing: eval('npc999')['features_of_appearance_npc'][cycle] = False for cycle in scars_list: eval('npc999')['features_of_appearance_npc'][cycle] = False return # up attributes def up_force(dir): time_Asds() stats_need() global stats_forces_gg, progress_body, perk_genius, weighting, progress_body_info, progress_body_info1, anabolic_for_speed_muscles_affect if anabolic_for_speed_muscles_affect >= 1: dir *= 5 progress_body += int(dir/stats_mc()[1]*30) stability_body_head_minus(renpy.random.randint(2, 5)) stability_body_body_minus(renpy.random.randint(7, 12)) stability_body_right_hand_minus(renpy.random.randint(10, 16)) stability_body_left_hand_minus(renpy.random.randint(10, 16)) if progress_body >= ((100 - perk_genius * 50) * 0.7 + stats_mc()[1] * 2) ** renpy.game.FunctionLib.max_min_float_value(weighting, 0.01, 1): renpy.show_screen('stats_strength_gg_info') for cycle in range(0, int(progress_body / (((100 - perk_genius * 50) * 0.7 + stats_mc()[1] * 2) ** renpy.game.FunctionLib.max_min_float_value(weighting, 0.01, 1)))): stats_forces_gg += 1 progress_body = progress_body % (((100 - perk_genius * 50) * 0.7 + stats_mc()[1] * 2) ** renpy.game.FunctionLib.max_min_float_value(weighting, 0.01, 1)) progress_body_info = progress_body / 10 progress_body_info1 = int(renpy.game.FunctionLib.max_min_float_value(int(((100 - perk_genius * 50) * 0.7 + stats_mc()[1] * 2) ** renpy.game.FunctionLib.max_min_float_value(weighting, 0.01, 1)) / 10, 100, 1)) return def up_stamina(dir): time_Asds() stats_need() global progress_stamina, perk_genius, weighting, stats_stamina_gg, progress_stamina_need, anabolic_for_speed_muscles_affect if anabolic_for_speed_muscles_affect >= 1: dir *= 5 progress_stamina += dir progress_stamina_need = renpy.game.FunctionLib.max_min_float_value(int(((stats_mc()[4] / 5) - (stats_mc()[4] / 5 * (perk_genius * 0.5))) * renpy.game.FunctionLib.max_min_float_value((0.7 ** weighting), 1, 0.1)), 100, 1) if progress_stamina >= progress_stamina_need: renpy.show_screen('stats_stamina_gg_info') for cycle in range(0, int(progress_stamina / (renpy.game.FunctionLib.max_min_float_value(int(((stats_mc()[4] / 5) - (stats_mc()[4] / 5 * (perk_genius * 0.5))) * renpy.game.FunctionLib.max_min_float_value((0.7 ** weighting), 1, 0.1)), 100, 1)))): stats_stamina_gg += 1 progress_stamina = int(progress_stamina % (renpy.game.FunctionLib.max_min_float_value(int(((stats_mc()[4] / 5) - (stats_mc()[4] / 5 * (perk_genius * 0.5))) * renpy.game.FunctionLib.max_min_float_value((0.7 ** weighting), 1, 0.1)), 100, 1))) return def up_agility(dir): time_Asds() stats_need() global progress_agility, perk_genius, weighting, stats_agility_gg, progress_agility_need, anabolic_for_speed_muscles_affect if anabolic_for_speed_muscles_affect >= 1: dir *= 5 progress_agility += dir progress_agility_need = renpy.game.FunctionLib.max_min_float_value(int(((stats_agility_gg_info / 5) - (stats_agility_gg_info / 5 * (perk_genius * 0.5))) * renpy.game.FunctionLib.max_min_float_value((0.7 ** weighting), 1, 0.1)), 100, 1) if progress_agility >= progress_agility_need: renpy.show_screen('stats_agility_gg_info') for cycle in range(0, int(progress_agility / (renpy.game.FunctionLib.max_min_float_value(int(((stats_agility_gg_info / 5) - (stats_agility_gg_info / 5 * (perk_genius * 0.5))) * renpy.game.FunctionLib.max_min_float_value((0.7 ** weighting), 1, 0.1)), 100, 1)))): stats_agility_gg += 1 progress_agility = int(progress_agility % (renpy.game.FunctionLib.max_min_float_value(int(((stats_agility_gg_info / 5) - (stats_agility_gg_info / 5 * (perk_genius * 0.5))) * renpy.game.FunctionLib.max_min_float_value((0.7 ** weighting), 1, 0.1)), 100, 1))) return def up_erudition_mc(): time_Asds() stats_need() global progress_up_erudition, stats_erudition_gg, perk_genius, ladies_man progress_up_erudition += 1 progress_erudition_need = int((stats_mc()[7] * 0.35) - (stats_mc()[7] * 0.35 * ((perk_genius * 0.5) + ladies_man * 0.2))) if progress_up_erudition >= progress_erudition_need: renpy.show_screen('stats_erudition_gg_info') stats_erudition_gg += 1 progress_up_erudition = 0 return def check_erudition_up(): global progress_up_erudition, stats_erudition_gg, perk_genius, ladies_man progress_erudition_need = int((stats_mc()[7] * 0.35) - (stats_mc()[7] * 0.35 * ((perk_genius * 0.5) + ladies_man * 0.2))) if progress_up_erudition >= progress_erudition_need: renpy.show_screen('stats_erudition_gg_info') stats_erudition_gg += 1 progress_up_erudition = 0 return def up_intellect(dir): global perk_genius, progress, progress_science_need, stats_science_gg progress += dir progress_science_need = int((stats_mc()[5] / 5) - (stats_mc()[5] / 5 * (perk_genius * 0.5))) if progress >= progress_science_need: renpy.show_screen('stats_intellect_gg_info') stats_science_gg += 1 progress -= progress_science_need return def HideThemAll(): currentScreensList = ['stats_club_occult_new', 'choice_activity_for_rnpcs', 'list_of_RNPCs_for_club', 'stats_club_occult_new_page1', 'stats_club_occult_new_page2', 'stats_club_occult_new_page3', 'stats_club_occult_new_page4', 'stats_club_occult_new_page5', 'tasks_in_occult_club', 'create_flag_', 'flag_png', 'manage_of_button', 'create_group_for_occult_club', 'msg_achievement', 'hitomi_st', 'call_yuki_for_hitomi', 'call_yuki_for_hitomi_e1', 'call_hitomi_in_nt', 'sbor_in_stud_soviet_b1', 'call_hitomi_in_telephone_re1saza', 'compulsion', 'meiko_menu', 'meiko_0', 'camera', 'stats_erudition_gg_info', 'stats_agility_gg_info', 'stats_stamina_gg_info', 'stats_intellect_gg_info', 'stats_strength_gg_info', 'yuki_call_student_soviet1', 'yuki_call_student_soviet2', 'yuki_meeting', 'expulsion_from_the_academy', 'expulsion_from_the_academy_e1', 'call_yuki_for_dualoge', 'sleep_after', 'dialoge_to_meiko_e1', 'yuki_after_ivent_successfull_meiko', 'sex_npc_in_room_scene', 'doggy_style_npc_scene', 'cowgirl_rnpcs', 'petting_your', 'masturbation_npc', 'gay_sex_scene', 'sex_insi_scene', 'CG_scene_69', 'kiss_npcs_scene', 'hug_npcs_scene', 'touch_npcs_scene', 'touch_ass_npcs_scene', 'npc_apperance', 'masturbate_scene_on_male', 'masturbate_scene_on_male', 'editor_new_page1', 'editor_new_page2', 'editor_new_page3', 'editor_new_page4', 'editor_new_page5', 'doggy_style_new', 'blowjob_new', 'page_change_editor_new', 'editor_main_character_new', 'input_name_in_editor_mc', 'page_change', 'editor_main_character_new_page1', 'editor_main_character_new_page2', 'editor_main_character_new_page3', 'editor_main_character_new_page4', 'editor_main_character_new_page5', 'editor_main_character_new_page6', 'editor_new', 'quit_editor_editor_new_e1', 'quit_editor_editor_new', 'choice_activity_for_rnpcs'] for item in currentScreensList: renpy.hide_screen(item) return def HideSceneSexs(): currentScreensList = ['sex_npc_in_room_scene', 'doggy_style_npc_scene', 'cowgirl_rnpcs', 'petting_your', 'masturbation_npc', 'gay_sex_scene', 'sex_insi_scene', 'CG_scene_69', 'backgrounds_ivent', 'npc_apperance', 'touch_npcs_scene', 'touch_ass_npcs_scene', 'kiss_npcs_scene', 'hug_npcs_scene', 'touch_npcs_scene', 'touch_ass_npcs_scene', 'npc_apperance', 'sex_system', 'button_in_interface', 'masturbate_scene_on_male', 'result_sex', 'JumpInInter', 'main_interface_screen', 'list_scenes', 'doggy_style_new', 'blowjob_new'] for item in currentScreensList: renpy.hide_screen(item) return # Modifications def ModificationInfo(): global info, button_info if _preferences.language == 'english': language = 'eng' else: language = 'rus' try:info = persistent.info_about_modification(button_info.replace('.rpyc', '').replace('.rpy', ''), language) except:pass return def ProgressDownload(): try: var = int(persistent.download_queue_progress[button_info]) except: var = 100 return var def ProgressDownload_once(button_info): try: var = int(persistent.download_queue_progress[button_info]) except: var = 100 return var def Delete_Modification_Once(button_info): global mods_active, restart_game_need import shutil path_to_delete = config.searchpath[0]+eval(button_info)['path_to_mode'].replace('game', '') path_to_delete = path_to_delete[path_to_delete.find(button_info):].replace(button_info+'/', '') shutil.rmtree(config.searchpath[0]+eval(button_info)['path_to_mode'].replace('game', '').replace(path_to_delete, '')) restart_game_need = True return def DownloadModification(): global path_for_downloading_mod, button_info, attention_text, attention_variable, restart_game_need try: var = persistent.avaera() >= 10 except: var = False path_for_downloading_mod = path_for_downloading_mod.replace("\\", "") if os.path.exists(path_for_downloading_mod) == False:os.makedirs(path_for_downloading_mod) if os.path.exists(path_for_downloading_mod) == True: if var == True: if _preferences.language == 'english': language = 'eng' else: language = 'rus' restart_game_need = True persistent.download_queue.append(button_info) persistent.download_queue_progress[button_info] = 0 renpy.invoke_in_thread(persistent.download_modifications, button_info, path_for_downloading_mod, language) else: attention_text = _('Возможность установки с помощью онлайн серверов недоступна для вашей роли.\nПожалуйста, введите свою почту, привязанную к вашему Patreon/Boosty аккаунту.') attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) else: attention_text = _('Директории с модификациями по заданному пути не найдено.\nПожалуйста, проверьте правильность введения путя.') attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return def ScreenshotsOfMod(): global path_for_downloading_mod, button_info, list_info_modifications renpy.invoke_in_thread(persistent.screenshots_of_modification, path_for_downloading_mod, button_info) return def Search_Modss(): global path_for_downloading_mod, name_modification, all_naming_mods path_for_downloading_mod = path_for_downloading_mod.replace("\\", "") all_naming_mods = [] for cycle in os.listdir(path_for_downloading_mod): if cycle.find('.rpyc') >= 1: all_naming_mods.append(cycle.replace(']', '').replace('[', '').replace("'", "")) try: all_naming_mods.remove('mod1.rpyc') except: pass return def RemoveModification(): global path_for_downloading_mod, value_variable, attention_variable, attention_text path_for_downloading_mod = path_for_downloading_mod.replace("\\", "") try: os.remove(path_for_downloading_mod+str(value_variable)) try: os.remove(path_for_downloading_mod+str(value_variable.replace('rpy', 'rpyc'))) except: pass try: os.remove(path_for_downloading_mod+str(value_variable.replace('rpyc', 'rpy'))) except: pass attention_variable = 4 attention_text = _('Модификация была успешно удалена. Перезагрузите игру,\nчтобы она перестала отображаться в списках.') renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return except: attention_variable = 4 attention_text = _('К сожалению, произошла ошибка. Попробуйте перепроверить название\nвведенного файла или удалите файл с модификацией вручную.') renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return # cross-save def CrossSave(list_saved_games_lenght): global path_for_cross_save, enternet_connection, attention_text, attention_variable path_for_cross_save = path_for_cross_save.replace("\\", "") if persistent.avaera() >= 25 and enternet_connection == True and persistent.crosssave_enable == True: attention_text = persistent.load_save_in_folder(persistent.Patreon_Code_M, path_for_cross_save+'1-'+str(list_saved_games_lenght)+'-LT1.save', '1-'+str(list_saved_games_lenght)+'-LT1.save') if attention_text: attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return def CrossSave_load_saves(): global path_for_cross_save, enternet_connection, attention_text, attention_variable path_for_cross_save = path_for_cross_save.replace("\\", "") if persistent.avaera() >= 25 and enternet_connection == True and persistent.crosssave_enable == True: attention_text = persistent.cross_save_load_in_folder_with_game(persistent.Patreon_Code_M, path_for_cross_save, renpy.list_saved_games(regexp='cross-save', fast=True)) if attention_text: attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return def CrossSave_create_folder(): global attention_text, attention_variable, path_for_cross_save path_for_cross_save = path_for_cross_save.replace("\\", "") if persistent.avaera() >= 25: attention_text = persistent.create_cross_save_folder() if attention_text == 'The folder with your saves has been successfully\ncreated in the cloud saves directory.': attention_variable = 1 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) else: attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) else: attention_text = _('Данная функция доступна только для патреон подписчиков\nуровня Super Best Friend (25$) и выше.') attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return def add_nickname_in_table_donators(): global value_variable persistent.add_subs_in_table(persistent.Patreon_Code_M, value_variable) persistent.top_sponsors_list = top_sponsors() return def time_Asds(): persistent.search_email() return def add_path_in_core(): global value_variable, attention_text, attention_variable if value_variable in config.searchpath + persistent.searchpath + [value_variable] : attention_text = _('Заданный вами корневой путь уже\nиспользуется игрой.') attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) elif os.path.exists(value_variable) == True: for cycle in sys.path: try: out = open(cycle+str('/renpy/common/path.txt'), 'w', encoding='utf-8') out.write('massive = ') for cycle in str(persistent.searchpath+[value_variable]): out.write(cycle) persistent.searchpath.append(value_variable) attention_text = _('Заданный вами новый корневой путь был добавлен.\nПожалуйста, перезагрузите игру, чтобы скрипты с этого\nпути начали работать.') attention_variable = 1 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return except: pass attention_text = _('Не удалось найти директорию для установки корневого пути.') attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return else: attention_text = _('Заданного вами пути не существует или он не может\nбыть найден из-за прав доступа.') attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return def number_npc_in_location(): global MapSelected, number_npc, number_npc_max, procent_npc_generate number_npc = 0 try: for cycle in MapSelected['location_npc']: for number_npc1 in range(1, int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))): if eval('npc'+str(number_npc1))['location_npc'] == cycle: number_npc += 1 except: pass return def sort_in_diary_func(): global diary_variable, sort_in_diary, list_npc_for_diary, npc_id10, diary_button_info, number_npc_max if renpy.get_screen('diary'): list_npc_for_diary = [] for number_npc in range(1, number_npc_max+1): list_npc_for_diary.append(eval('npc'+str(number_npc))) if sort_in_diary == 1: list_npc_for_diary.sort(key=operator.itemgetter('npc_name')) elif sort_in_diary == 2: list_npc_for_diary.sort(key=operator.itemgetter('npc_name'), reverse=True) elif sort_in_diary == 3: pass elif sort_in_diary == 4: list_npc_for_diary.sort(key=operator.itemgetter('id_npc'), reverse=True) elif sort_in_diary == 5: list_npc_for_diary.sort(key=operator.itemgetter('gender_npc')) elif sort_in_diary == 6: list_npc_for_diary.sort(key=operator.itemgetter('gender_npc'), reverse=True) elif sort_in_diary == 7: list_npc_for_diary.sort(key=operator.itemgetter('contact_npc')) elif sort_in_diary == 8: list_npc_for_diary.sort(key=operator.itemgetter('contact_npc'), reverse=True) if not diary_button_info == 'npc1': try: npc_id10 = 'npc'+str(diary_button_info['id_npc']) except: npc_id10 = diary_button_info else: try: diary_button_info = 'npc'+str(list_npc_for_diary[0]['id_npc']) npc_id10 = 'npc'+str(diary_button_info['id_npc']) except: diary_button_info = 'npc'+str(list_npc_for_diary[0]['id_npc']) npc_id10 = diary_button_info give_appearance_npc(npc_id10) detailed_emotion_management(5, 3, 'no', 'no', 'no') return npc_id10 def id_location(location_npc): global list_location_for_check_location try: input = [key for key, value in list_location_for_check_location.items() if value == location_npc][0] except: input = 5 return input def mods_for_download(): global count_screenshots_all, path_for_downloading_mod, list_info_modifications try: if renpy.store.mods_dont_active_but_available_for_download == []: list = persistent.list_modifications() renpy.store.mods_dont_active_but_available_for_download = list[0] if _preferences.language == 'english': renpy.store.mods_dont_active_but_available_for_download_name = list[1] else: renpy.store.mods_dont_active_but_available_for_download_name = list[2] renpy.store.enternet_connection = True if os.path.exists(path_for_downloading_mod) == False:os.makedirs(path_for_downloading_mod) if not len(persistent.count_screenshots) == len(mods_dont_active_but_available_for_download):persistent.screenshots_of_modifications(mods_dont_active_but_available_for_download) if not len(list_info_modifications) == len(mods_dont_active_but_available_for_download): list_info_modifications = [] for button_info in mods_dont_active_but_available_for_download: list_info_modifications.append(persistent.info_about_modification(button_info.replace('.rpyc', '').replace('.rpy', ''), 'eng' if _preferences.language == 'english' else 'rus')) except: renpy.store.mods_dont_active_but_available_for_download = [] renpy.store.mods_dont_active_but_available_for_download_name = [] renpy.store.enternet_connection = False count_screenshots_all = persistent.count_screenshots return def patreon_cab_func(): global lvl_p_c mods_for_download() try: lvl_p_c = persistent.avaera() except: lvl_p_c = 0 return def editor_func(): global rgb_tone_skin_editor, rgb_tone_skin_massive, action_tone_skin try: rgb_tone_skin_editor = rgb_tone_skin_massive[action_tone_skin] except: rgb_tone_skin_editor = '#000000' return def search_ing(): global list_standart_for_alchemy, list_standart_for_alchemy_name, list_rare_for_alchemy, list_rare_for_alchemy_name, list_very_rare_for_alchemy, list_very_rare_for_alchemy_name, list_unical_for_alchemy, list_unical_for_alchemy_name random = renpy.random.randint(1, 100) if random >= 95: res = renpy.random.choice(list_unical_for_alchemy) name_ = list_unical_for_alchemy_name[list_unical_for_alchemy.index(res)] elif random >= 85: res = renpy.random.choice(list_very_rare_for_alchemy) name_ = list_very_rare_for_alchemy_name[list_very_rare_for_alchemy.index(res)] elif random >= 70: res = renpy.random.choice(list_rare_for_alchemy) name_ = list_rare_for_alchemy_name[list_rare_for_alchemy.index(res)] else: res = renpy.random.choice(list_standart_for_alchemy) name_ = list_standart_for_alchemy_name[list_standart_for_alchemy.index(res)] return res, name_ def inventory_items(): global items_backpack_e1, sort_inventory, items_variable_e1, items_action_e1, items_backpack, items_backpack_mods, items_variable, items_variable_mods, items_action, items_action_mods, items_backpack_e1_sorted, items_variable_e1_backup, items_backpack_e1_backup info_about_items_from_backpack() items_backpack_e1 = items_backpack + items_backpack_mods items_variable_e1 = items_variable + items_variable_mods items_action_e1 = items_action + items_action_mods list3 = [] items_backpack_e1_backup = items_backpack_e1 items_variable_e1_backup = items_variable_e1 items_action_e1_backup = items_action_e1 items_backpack_e1 = [] items_variable_e1 = [] items_action_e1 = [] if sort_inventory in [1, 2]: items_backpack_e1_sorted = items_backpack + items_backpack_mods items_backpack_e1_sorted.sort(reverse=sort_inventory == 2) elif sort_inventory in [3, 4]: items_variable_e1_sorted = items_variable + items_variable_mods for cycle in items_variable_e1_sorted: list3.append([cycle, eval(cycle)]) list3.sort(reverse=sort_inventory == 4,key=lambda x: x[1]) items_backpack_e1_sorted = [] for cycle in list3: items_backpack_e1_sorted.append(items_backpack_e1_backup[items_variable_e1_backup.index(cycle[0])]) else: items_variable_e1_sorted = items_variable + items_variable_mods for cycle in items_variable_e1_sorted: list3.append([cycle, items_action_e1_backup[items_variable_e1_sorted.index(cycle)]['heft']*eval(cycle)]) list3.sort(reverse=sort_inventory == 6,key=lambda x: x[1]) items_backpack_e1_sorted = [] for cycle in list3: items_backpack_e1_sorted.append(items_backpack_e1_backup[items_variable_e1_backup.index(cycle[0])]) for cycle in items_backpack_e1_sorted: items_backpack_e1.append(cycle) items_variable_e1.append(items_variable_e1_backup[items_backpack_e1_backup.index(cycle)]) items_action_e1.append(items_action_e1_backup[items_backpack_e1_backup.index(cycle)]) return list3 def Connect_In_Game(): persistent.download_queue.append('connection') persistent.download_queue_progress['connection'] = 'loading' renpy.invoke_in_thread(persistent.connection_pymysql, persistent.Patreon_Code_M) renpy.show_screen(_screen_name='connect', _transient=dissolve) renpy.invoke_in_thread(control_connection) return def control_connection(): while 'connection' in persistent.download_queue: if not persistent.download_queue_progress['connection'] == 'loading': persistent.download_queue.remove('connection') if persistent.download_queue_progress['connection'] == 'successful': persistent.successfull_enter_in_game = True return end_connect() def end_connect(): global attention_text, attention_variable if persistent.download_queue_progress['connection'] == 'successful': name_role = persistent.avaera() persistent.name_user = persistent.search_name() if name_role <= 1: name_role = 'Comrade' elif name_role <= 5: name_role = 'Friend' elif name_role <= 10: name_role = 'Best Friend' elif name_role <= 25: name_role = 'Super Best Friend' else: name_role = 'School Game is my life!' attention_text = _('Connection is successful. Your patreon role is ')+str(name_role) attention_variable = 1 elif persistent.download_queue_progress['connection'] == 'no_server': attention_text = _('Не удалось подключиться к игровым серверам. Пожалуйста,\nповторите попытку позже.') attention_variable = 4 elif persistent.download_queue_progress['connection'] == 'play_email': attention_text = _('Кто-то уже играет с помощью этой электронной почты. Если\nвы уверены, что это ошибка на стороне сервера, подождите\n5 минут, пока наши базы данных не обновятся.') attention_variable = 4 elif persistent.download_queue_progress['connection'] == 'no_email': attention_text = _('Данная электронная почта не зарегистрирована.\nВы уверены, что ввели все данные корректно?') attention_variable = 4 else: attention_text = persistent.download_queue_progress['connection'] attention_variable = 4 renpy.show_screen(_screen_name='attention_as', _transient=dissolve) return def delete_connect(): del persistent.download_queue_progress['connection'] return def check_connect(): try: if persistent.download_queue_progress['connection'] == 'loading': var_menu = True else: var_menu = False except: var_menu = False return var_menu def change_beard(): global list_beard, list_active, npc_id, beard_editor beard_editor = list_beard[list_active] return def change_wrinkles(): global list_wrinkles, list_active_wrinkles, npc_id, wrinkles_editor, list_wrinkles_female if eval(npc_id)['gender_npc'] == 2: wrinkles_editor = list_wrinkles_female[list_active_wrinkles] else: wrinkles_editor = list_wrinkles[list_active_wrinkles] return def activity_func(): global pol_npc, npc_activity, npc_id, activity, npc_name1, npc_fam1, pol_npc1 pol_npc = eval(npc_id)["gender_npc"] npc_activity = eval(npc_id)["npc_activity"] activity = eval(npc_id)['activity'] try: npc_name1 = eval(npc_activity)["npc_name"] npc_fam1 = eval(npc_activity)["npc_fam"] pol_npc1 = eval(npc_activity)["gender_npc"] except: npc_name1 = 'no' npc_fam1 = 'no' pol_npc1 = 2 try: npc_name = eval(npc_id)["npc_name"] npc_fam = eval(npc_id)["npc_fam"] pol_npc = eval(npc_id)["gender_npc"] except: npc_name = 'no' npc_fam = 'no' pol_npc = 2 return def choice_menu_func(del_variable): del_variable = str(del_variable) cycle_repeat_a = 100 if _preferences.language == 'english': find_variable = 'energy' else: find_variable = 'энергии' if del_variable.find(find_variable) >= 0: for cycle_choice_menu in range(-1, 101): if del_variable.find(str(cycle_choice_menu)+' '+str(find_variable)) >= 0: cycle_repeat_a = cycle_choice_menu else: cycle_repeat_a = 0 del_variable1 = str(del_variable).replace('{color=#000000}', '{color=#ffffff}').replace('{color=000000}', '{color=#ffffff}').replace('{color=000}', '{color=#ffffff}').replace('{color=#000}', '{color=#ffffff}').replace('\n{size=21}{i}'+str(cycle_repeat_a)+' '+str(find_variable)+'{/i}{/size}', '').replace('\n'+str(cycle_repeat_a)+' '+str(find_variable), '') del_variable2 = str(del_variable).replace('{color=#000000}', '{color=#2c3a73}').replace('{color=000000}', '{color=#2c3a73}').replace('{color=000}', '{color=#2c3a73}').replace('{color=#000}', '{color=#2c3a73}').replace('\n{size=21}{i}'+str(cycle_repeat_a)+' '+str(find_variable)+'{/i}{/size}', '').replace('\n'+str(cycle_repeat_a)+' '+str(find_variable), '') return del_variable1, del_variable2, cycle_repeat_a def search_position_in_scenes(): global scene_mc, mc_appearance, male_npc, male_npc, female_npc, glasses_equip, mode_glasses try: npc_activity = eval(npc_id)['npc_activity'] eval(npc_activity)['gender_npc'] except: npc_activity = 'mc_appearance' if scene_mc == True: if mc_appearance['gender_npc'] == 1: male_npc = 'mc_appearance' female_npc = npc_id else: male_npc = npc_id female_npc = 'mc_appearance' else: if eval(npc_id)['gender_npc'] == 1: male_npc = npc_id female_npc = npc_activity else: male_npc = npc_activity female_npc = npc_id if eval(female_npc)['activity'] == 77: eval(female_npc)['appearance']['clothes'] = 'no' eval(female_npc)['appearance']['clothes1'] = 'no' if glasses_equip == True: eval(female_npc)['appearance']['clothes'] = 'no' eval(female_npc)['appearance']['clothes1'] = 'no' if glasses_equip == True and mode_glasses == 2: eval(female_npc)['appearance']['brassiere'] = 'no' if eval(female_npc)['no_clothes'] == True: eval(female_npc)['appearance']['clothes'] = 'no' eval(female_npc)['appearance']['clothes1'] = 'no' if eval(female_npc)['no_bra'] == True: eval(female_npc)['appearance']['brassiere'] = 'no' if eval(female_npc)['no_pantsu'] == True: eval(female_npc)['appearance']['no_pantsu'] = 'no' if eval(female_npc)['appearance']['preferences'] == 'monk': eval(female_npc)['appearance']['monk'] = True eval(female_npc)['appearance']['preferences'] = 'school_set' return def orientation_func(): global mc_appearance, npc_id if mc_appearance['gender_npc'] == eval(npc_id)['gender_npc']: if eval(npc_id)['orientation'] in ['Homo', 'Bisexual']: return True else: return False else: if eval(npc_id)['orientation'] in ['Homo']: return False else: return True def func_For_new_mc_ed(): global npc999, depravity_editor depravity_editor = npc999['depravity'] return def naming_location_in_russia(location): global list_location_translate_to_russia try: name = list_location_translate_to_russia[id_location(location)] except: name = location return name def Function_F9(): global npc_id, fear_npc eval(npc_id)['fear_npc'] += 10 fear_npc += 10 return def Function_F11(): global npc_id, contact_npc eval(npc_id)['contact_npc'] += 10 contact_npc += 10 return def Function_F12(): global npc_id, love_npc eval(npc_id)['love_npc'] += 10 love_npc += 10 return def Function_CheckUp_Heterochromia(): global bold_npc, exp_function_disable, accessories_list_for_mods, accesories_for_mods, MatrixColorEyeOne, MatrixColorEyeTwo, MatrixColorEyeOne_editor, MatrixColorEyeTwo_editor, form_of_waist_editor, legs_hips_editor, face_type_in_editor, base_hair_editor, base_len_hair_editor, face_type_for_girl_for_generation bold_npc = False try: for cycle in accesories_for_mods: if 'hide_hair' in cycle: bold_npc = True except: pass if MatrixColorEyeOne >= 1 and MatrixColorEyeTwo == 0: MatrixColorEyeOne = 1 MatrixColorEyeTwo = 1 if MatrixColorEyeOne == 0 and MatrixColorEyeTwo >= 1: MatrixColorEyeOne = 1 MatrixColorEyeTwo = 1 if MatrixColorEyeOne_editor >= 1 and MatrixColorEyeTwo_editor == 0: MatrixColorEyeOne_editor = 1 MatrixColorEyeTwo_editor = 1 if MatrixColorEyeOne_editor == 0 and MatrixColorEyeTwo_editor >= 1: MatrixColorEyeOne_editor = 1 MatrixColorEyeTwo_editor = 1 if exp_function_disable == True: if form_of_waist_editor in [1, 2] and legs_hips_editor == 'no': legs_hips_editor = legs_hips_for_girl[1] if base_hair_editor in [1, 4] or (base_hair_editor == 2 and base_len_hair_editor == 1): face_type_in_editor = face_type_for_girl_for_generation[0] return def biography_change(): global biography, gender_npc if int(biography) >= 55 and gender_npc == 2: biography = 1 if int(biography) <= 44 and gender_npc == 1: biography = 45 if int(biography) >= 67 and gender_npc == 1: biography = 45 return def appearance_rnpcs(): global value_variable if renpy.get_screen('editor_new'): value_variable = True else: value_variable = False return def depravity_in_school(): global number_npc_max, depravity_aura, procent_npc_generate, depravity_list depravity_list = 0 for number_npc in range(1, int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))): depravity_list += float(float(eval('npc'+str(number_npc))['appearance']["depravity"]) * ((float(number_npc_max+1)*(-1) + float(250)) * 0.01)) if depravity_aura == True: depravity_list = depravity_list * 0.01 * 120 depravity_list = int(depravity_list) return int(depravity_list) def reputation_from_hooligans(): global number_npc_max, popularity_for_hooligans_perk, reputationt_name, procent_npc_generate, reputationt_hooligansqs, reputationt_hooligans, reputationt_hooligans_plus, list_name list_name = [_('Забулдыга'), _('Бродяга'), _('Мелкий хулиган'), _('Хулиган'), _('Брат'), _('Старший брат'), _('Начальник'), _('Старший начальник'), _('Главарь')] reputationt_hooligans_plus = 0 + popularity_for_hooligans_perk * 1000 for number_npc in range(1, int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))): npc_id = 'npc'+str(number_npc) if eval(npc_id)['character_trait'] in ['Агрессивный']: reputationt_hooligans_plus += eval(npc_id)['contact_npc'] for cycle in range(0, 9): reputationt_rang = (15 * cycle) * 2 if reputationt_hooligans + reputationt_hooligans_plus / 125 <= reputationt_rang: reputationt_name = list_name[cycle] break elif reputationt_hooligans + reputationt_hooligans_plus / 125 >= 240: reputationt_name = list_name[8] break reputationt_hooligansqs = int(reputationt_hooligans + reputationt_hooligans_plus / 125) return reputationt_hooligansqs def reputation_from_students(): global popularity_for_students_perk, reputation_student, selectable_zada, number_npc_max, procent_npc_generate, reputation_student_name selectable_zada = 0 list_name = [_('Ненавистный'), _('Раздражающий'), _('Кто ты?'), _('Неизвестный'), _('Хороший парень'), _('Немного известный'), _('Знаменитость'), _('Местный идол')] reputation_student = int(35 * ((int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))) * 0.01)) for number_npc in range(1, int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))): npc_id = 'npc'+str(number_npc) if eval(npc_id)['npc_activity'] == npc_id: eval(npc_id)['npc_activity'] = 'no' eval(npc_id)['activity'] = 0 if eval(npc_id)['contact_npc'] >= 25 * ((int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))) * 0.01): reputation_student += 1 elif eval(npc_id)['contact_npc'] <= -25 * ((int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))) * 0.01): reputation_student -= 1 if popularity_for_students_perk == True: reputation_student = (reputation_student * 0.01 * 110) + 10 for cycle in range(0, 8): if reputation_student <= (10 * ((int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))) * 0.01)) * cycle: reputation_student_name = list_name[cycle] break return reputation_student def add_to_list_key(local, value): eval(local).append(value) return def delete_to_list_key(local, value): eval(local).remove(value) return def check_color_of_hair(color): global base_color_hair_editor, set_npc_editor, rgb_tone_skin_editor, bold_npc, form_of_hand_editor try: if 'color_skin' in eval(set_npc_editor+'_preferences'): rgb_tone_skin_editor = '000' for cycle in accesories_for_mods: if 'hide_hair' in cycle: bold_npc = True except: pass bold_npc = False if set_npc_editor == 'jacket_and_skirt': form_of_hand_editor = 0 return def check_count_tattoes_or_piercing(gender, type): global tattos_and_piercing, tattos_and_piercing_data count_ = 0 list_for_cycle = [] for cycle in tattos_and_piercing: if tattos_and_piercing_data[cycle]['gender'] in ['both', gender] and tattos_and_piercing_data[cycle]['type'] == type: count_ += 1 list_for_cycle.append(cycle) return count_, list_for_cycle def suzuki_def(): global suzuki_busy, hour, days, suzuki_mood, suzuki_rellvl, suzuki_location if suzuki_location in [1, 2]: random = renpy.random.randint(1, 100) if days <= 5: if hour >= 23 or hour < 6: suzuki_busy = 4 suzuki_mood = 7 elif hour >= 6 and hour <= 7: suzuki_busy = 5 if random <= 40:suzuki_mood = 1 elif random <= 50:suzuki_mood = 2 elif random <= 70:suzuki_mood = 4 elif random <= 95:suzuki_mood = 6 else:7 elif hour >= 7 and hour < 17: suzuki_busy = 10 if random <= 40:suzuki_mood = 1 elif random <= 55:suzuki_mood = 2 elif random <= 65:suzuki_mood = 5 elif random <= 70:suzuki_mood = 6 elif random <= 80:suzuki_mood = 7 else:8 elif hour >= 17 and hour <= 18: suzuki_busy = 8 if random <= 40:suzuki_mood = 1 elif random <= 45:suzuki_mood = 6 elif random <= 75:suzuki_mood = 4 elif random <= 7:suzuki_mood = 7 elif hour >= 18 and hour < 22: suzuki_busy = 3 if random <= 40:suzuki_mood = 1 elif random <= 50:suzuki_mood = 2 elif random <= 70:suzuki_mood = 4 elif random <= 95:suzuki_mood = 6 else:suzuki_mood = 7 else: suzuki_busy = 7 if random <= 40:suzuki_mood = 1 elif random <= 70:suzuki_mood = 4 elif random <= 75:suzuki_mood = 7 else: if hour >= 2 and hour <= 12: suzuki_busy = 4 suzuki_mood = 7 if hour >= 13 and hour <= 14: suzuki_busy = 5 if random <= 40:suzuki_mood = 1 elif random <= 50:suzuki_mood = 2 elif random <= 70:suzuki_mood = 4 elif random <= 95:suzuki_mood = 6 else:7 elif hour >= 14 and hour <= 19: suzuki_busy = renpy.random.choice([12, 1, 2, 11, 3]) elif hour >= 19 and hour <= 20: suzuki_busy = 8 if random <= 40:suzuki_mood = 1 elif random <= 45:suzuki_mood = 6 elif random <= 75:suzuki_mood = 4 elif random <= 7:suzuki_mood = 7 elif hour >= 20: suzuki_busy = 3 if random <= 40:suzuki_mood = 1 elif random <= 50:suzuki_mood = 2 elif random <= 70:suzuki_mood = 4 elif random <= 95:suzuki_mood = 6 else:suzuki_mood = 7 elif hour >= 1: suzuki_busy = 7 if random <= 40:suzuki_mood = 1 elif random <= 70:suzuki_mood = 4 elif random <= 75:suzuki_mood = 7 return def sleeves_system(isEditor = False, id_for_male = False): global changes_in_the_hands, npc_id, form_of_hand_list, position_hand_list, hand_position, clothes1, form_of_hand, form_of_hand_editor, changes_in_the_hands if isEditor: changes_in_the_hands = '1' form_of_hand = form_of_hand_editor if not changes_in_the_hands == 'no': hand_position = changes_in_the_hands else: if eval(npc_id)['character_trait'] in ['Слабый', 'Затворничество']: hand_position = '5' elif eval(npc_id)['character_trait'] == 'Надменный': hand_position = '6' else: hand_position = '1' if changes_in_the_hands == '4': if tits in ['tits_big', 'tits_big_type2'] or tits == 'tits_medium': hand_position = '4_2' else: hand_position = '4_1' if changes_in_the_hands == '3': if clothes1 == 'character/npc/new/clothes/skirts/skirts_big.png': hand_position = '3_1' elif clothes1 == 'character/npc/new/clothes/skirts/skirts_middle.png': hand_position = '3_1' else: hand_position = '3' if id_for_male: hand_position = hand_position.replace('_1', '').replace('_2', '') return hand_position changes_in_the_hands = hand_position hand_position = hand_position + form_of_hand_list[form_of_hand].replace('/', '').replace('clothes', '') hand_position_path = position_hand_list[hand_position] return hand_position_path def eye_type_in_editorsad(): global eye_type_in_editor return eye_type_in_editor.replace('/type3/', '/type2/').replace('/type4/', '/type2/').replace('/type5/', '/type2/') def open_links_func(): global open_links try:eval(button_info)['url'];return True except:return False return def stop_sfx(): renpy.sound.stop('sound') renpy.sound.stop('churn') return def path_of_golf(path_golfs, legs_hips): return path_golfs if legs_hips == 'no' else path_golfs.replace('/stockings/', '/stockings/for_big_leg/') def path_of_body(path_golfs, body_type, set_npc_editor): global body_for_pull, body_for_pull_without_stocking return body_type if (not body_type in body_for_pull) or (not 'it_pulls' in eval(set_npc_editor+'_preferences')) or ('it_pulls' in eval(set_npc_editor+'_preferences') and eval(set_npc_editor+'_preferences')['it_pulls'] == False) or (body_type in body_for_pull_without_stocking and not path_golfs == 'no') else 'character/npc/new/body/body_new.png' def suzuki_lvl_card(up_value = 0): global suzuki_cheatexp, suzuki_cheatlvl, card_experience_glgg suzuki_cheatexp += up_value card_experience_glgg += up_value if suzuki_cheatexp >= 150: suzuki_cheatlvl = 5 elif suzuki_cheatexp >= 120: suzuki_cheatlvl = 4 elif suzuki_cheatexp >= 90: suzuki_cheatlvl = 3 elif suzuki_cheatexp >= 60: suzuki_cheatlvl = 2 return def after_sleep(body_relax = 2): global work_in_day, limit_for_increase_it_skill, number_npc_max, procent_npc_generate, no_sleep, box_with__Sa, alcohol_intoxication_mc, caffeine_per_day, ivent_product_1, run, push_up_today, dreamer, progress, progress_up_erudition, fast_learning for cycle in range(1, body_relax): stability_body_relax() for number_npc in range(1, int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))): npc_id = 'npc'+str(number_npc) eval(npc_id)['dialogue_fatigue_ordinary'] -= 8 eval(npc_id)['dialogue_fatigue_romantic'] -= 8 eval(npc_id)['dialogue_fatigue_intim'] -= 8 eval(npc_id)['dialogue_fatigue_sex'] -= 8 eval(npc_id)['dialogue_fatigue_criminal'] -= 8 eval(npc_id)['dialogue_fatigue_cute'] -= 8 eval(npc_id)['dialogue_fatigue_politic'] -= 8 eval(npc_id)['dialogue_fatigue'] -= 80 no_sleep = 0 box_with__Sa = 0 alcohol_intoxication_mc = 0 caffeine_per_day = 0 ivent_product_1 = 0 run = 0 push_up_today = 0 limit_for_increase_it_skill = 0 work_in_day = 0 if dreamer == True: progress += 1 up_stamina(1) up_agility(1) progress_up_erudition += 1 up_force(50) if fast_learning == True: exp_point_plus(4) return def count_sms_accept(contact_npc, love_npc): try: return renpy.random.randint(0, contact_npc)+love_npc/2 >= renpy.random.randint(20, 100) except: return renpy.random.randint(0, 1)+love_npc/2 >= renpy.random.randint(20, 100) global someone_from_rnpcs, all_npc_list def someone_from_rnpcs(condition = 'True'): list2 = [] for npc_id in all_npc_list(): if eval(condition.replace('eval(npc_id)', npc_id)): list2.append(npc_id) if len(list2) == 0: list2.append('npc1') return renpy.random.choice(list2) def all_npc_list(): list2 = [] for number_npc in range(1, int(float((number_npc_max+1)) * float((procent_npc_generate) * 0.01))): list2.append("npc"+str(number_npc)) try: for cycle in quest_giver_list: list2.append(cycle) except: pass return list2 def all_npc_in_loc(): global location_gg list2 = [] for npc_id in all_npc_list(): if eval(npc_id)['location_npc'] == location_gg: list2.append(npc_id) return list2 def count_exactly_NPCs(condition = 'True'): list2 = [] for npc_id in all_npc_list(): if eval(condition.replace('eval(npc_id)', npc_id)): list2.append(npc_id) return list2 def indicator_of_time(): global days_name, name_days, days, weeks_indicator, weeks, hour, minute, time_game, location_for_text, location_gg days_name = name_days[str(days)] weeks_indicator = weeks+1 if hour <= 9 and minute <= 9: time_game = "0"+str(hour)+":0"+str(minute) elif hour <= 9: time_game = "0"+str(hour)+":"+str(minute) elif minute <= 9: time_game = str(hour)+":0"+str(minute) else: time_game = str(hour)+":"+str(minute) if _preferences.language == 'english': try: location_npc = str(location_gg.replace('_', ' ').replace('1', ' 1').replace('2', ' 2').replace('3', ' 3')) except: location_npc = 'Apartament' else: location_npc = naming_location_in_russia(location_gg) location_for_text = location_npc.title() return def initial_hairs(hair_cycle, random_color = None, length_cycle = None, random_length = None): base_path = hair_cycle['base'] base_length = hair_cycle['base_length'] base_color = hair_cycle['base_color'] base_path1 = hair_cycle['base_path'] if not random_color: random_color = renpy.random.randint(1, base_color) if random_color > base_color: random_color = renpy.random.randint(1, base_color) if not length_cycle: random_length = renpy.random.randint(1, len(base_length)) length_cycle = base_length['length'+str(random_length)] if not length_cycle[0] in [True, False]: strands_the_front = base_path1+str(base_path)+'/'+str(length_cycle[0])+'/front/'+str(random_color)+'.png' elif length_cycle[0] == True: strands_the_front = base_path1+str(base_path)+'/'+str('length'+str(random_length))+'/front/'+str(random_color)+'.png' else: strands_the_front = 'no' if not length_cycle[1] in [True, False]: strands_the_back = base_path1+str(base_path)+'/'+str(length_cycle[1])+'/back/'+str(random_color)+'.png' elif length_cycle[1] == True: strands_the_back = base_path1+str(base_path)+'/'+str('length'+str(random_length))+'/back/'+str(random_color)+'.png' else: strands_the_back = 'no' return strands_the_front, strands_the_back, base_path, base_length, base_color, base_path1, random_color, random_length, length_cycle def hooligans_up(): for npc_id in all_npc_list(): if eval(npc_id)['character_trait'] == 'Агрессивный': up_stats_forces(npc_id) up_stats_agility(npc_id) up_stats_stamina(npc_id) up_stats_lucky(npc_id) up_stats_erudition(npc_id) up_stats_authority(npc_id) up_stats_science(npc_id) up_stats_cunning(npc_id) return def calf_value(calf, golfs): if not renpy.loadable(golfs) and renpy.loadable(calf): return calf else: return 'no' def give_gift_from_RNPCs(): inventory_items() return renpy.random.randint(0, len(items_action_e1)-1) def sleeves_function_for_RNPCs(preferences): global npc_id if 'changed_clothes_top' in eval(npc_id)['appearance']: changed_clothes_top = eval(npc_id)['appearance']['changed_clothes_top'] else: changed_clothes_top = None if 'sleeves_list' in eval(preferences) and sleeves_system() in eval(preferences)['sleeves_list'] and not changed_clothes_top: return eval(preferences)['sleeves_list'][sleeves_system()] elif changed_clothes_top: for cycle in dict_preferences: if (eval(cycle+'_preferences')['path_clothes.png'][0].find(changed_clothes_top['png']) >= 0 or eval(cycle+'_preferences')['path_clothes1.png'][0].find(changed_clothes_top['png']) >= 0) and 'sleeves_list' in eval(cycle+'_preferences') and sleeves_system() in eval(cycle+'_preferences')['sleeves_list']: return eval(cycle+'_preferences')['sleeves_list'][sleeves_system()] return 'no' def fertility_of_character(): return int((stats_mc()[1] + stats_mc()[2] + stats_mc()[4]) * 0.33) def eye_initialize(eye): try: str(eye) except: eye = 1 return eye def energy_plus(count = 1): global energy energy += 1 return def relationships_with_RNPCs_in_event(booster = 0, modificator = 1, without_romantic = False, without_time = False, for_indicating = False, up_some_attributes = [], unsuccessful_action = False): global mask_for_face_item_poc, difficulty_game, npc_id, minute, initial_changed_for_words compliments_access_for_npc_dialoge = (eval(npc_id)['exposure_dialoge'] + eval(npc_id)['love_for_cute_things']) * 0.5 requests_access_for_npc_dialoge = (eval(npc_id)['exposure_dialoge'] + eval(npc_id)['bravery'] + eval(npc_id)['school_absenteeism']) * 0.33 dialoge_access_for_npc_dialoge = eval(npc_id)['exposure_dialoge'] agressive_access_for_npc_dialoge = (eval(npc_id)['exposure_to_crime'] + ((eval(npc_id)['bravery']-100)*1.3) + eval(npc_id)['hatred_of_guns'] * 0.33) * 0.33 depravity_access_for_npc_dialoge = (eval(npc_id)['exposure_romantic_influences'] + eval(npc_id)['bravery'] + eval(npc_id)['appearance']['depravity']) * 0.33 romantic_access_for_npc_dialoge = (eval(npc_id)['exposure_romantic_influences'] + eval(npc_id)['bravery'] + eval(npc_id)['love_for_cute_things']) * 0.33 if int(ladies_man_perk() * 100) >= 500: modificator_for_add = 5 elif int(ladies_man_perk() * 100) <= 0: modificator_for_add = 0 else: modificator_for_add = ladies_man_perk() if not modificator == 0: modificator += modificator_for_add elif modificator < 0: modificator = renpy.game.FunctionLib.max_min_float_value(modificator + ladies_man_perk(), -0.1, -500000000) if modificator <= 0: love_changing_mod = 1 fear_changing_mod = 0.44 else: love_changing_mod = 0.66 fear_changing_mod = 1 if difficulty_game == 'hard': modificator = modificator / 2.5 elif difficulty_game == 'middle': modificator = modificator / 2.25 elif difficulty_game == 'easy': modificator = modificator / 2 contact_changing = int((booster*1) * (modificator + dialoge_access_for_npc_dialoge * 0.01)) if without_romantic == False: love_changing = int(((booster*1) * love_changing_mod) * (modificator - 0.5 + romantic_access_for_npc_dialoge * 0.01)) else: love_changing = 0 fear_changing = (int(((booster*1) * fear_changing_mod) * modificator) * (-1)) if unsuccessful_action == True: fear_changing = 0 if for_indicating == False: eval(npc_id)['contact_npc'] += contact_changing if without_romantic == False: eval(npc_id)['love_npc'] += love_changing eval(npc_id)['fear_npc'] += fear_changing if love_changing >= 300: love_changing = 300 if contact_changing >= 300: contact_changing = 300 if fear_changing >= 300: fear_changing = 300 if without_time == False and for_indicating == False: minute += 10 * booster energy_minus(2 * booster) satiety_minus(2 * booster) if mask_for_face_item_poc == True: fear_changing = 0 contact_changing = 0 love_changing = 0 if for_indicating == False: for cycle in up_some_attributes: try: eval(cycle) except: pass dialogue_fatigue(npc_id) return else: results_list = [] list_with_chance = [] for cycle in up_some_attributes: try: list_with_chance.append(eval(cycle.replace('npc_id)', 'npc_id, chance=True)'))) except: list_with_chance.append('100') id_ = -1 for cycle in up_some_attributes: id_ += 1 text_ = renpy.translate_string(initial_changed_for_words[cycle]) search_results = list(search_overlap_in_list(up_some_attributes, cycle)) if len(search_results) >= 2: text_ += ' x'+str(len(search_results)) try: eval(cycle.replace('npc_id)', 'npc_id, chance=True)')) int(list_with_chance[id_]) text_ += ' [[' + str(renpy.game.FunctionLib.max_min_float_value(list_with_chance[id_], 100, 0)) + '%]' except: pass results_list.append(text_) results_list = list(dict.fromkeys(results_list)) if contact_changing >= 1: contact_changing = '+'+str(contact_changing) if love_changing >= 1: love_changing = '+'+str(love_changing) if fear_changing >= 1: fear_changing = '+'+str(fear_changing) return contact_changing, love_changing, fear_changing, results_list def after_dialogue_with_RNPCs(dialoge_information, conditions = 'successful', for_indicating = False): if dialoge_information and 'for_hint' in dialoge_information and conditions in dialoge_information['for_hint']: if for_indicating == False: eval(dialoge_information['for_hint'][conditions].replace('for_indicating = True, ', 'unsuccessful_action = '+str(conditions == 'unsuccessful')+', ')) else: return eval(dialoge_information['for_hint'][conditions].replace('for_indicating = True, ', "for_indicating = True, unsuccessful_action = "+str(conditions == 'unsuccessful')+", ")) return def search_overlap_in_list(lst, prefix): l = len(prefix) for item in lst: if type(item) is int and item == prefix: yield item elif not type(item) is int and item[:l] == prefix: yield item def auto_size_hint_in_npc_actions_menu(hint): general_button_ypos = 20 * ((len(after_dialogue_with_RNPCs(hint, for_indicating = True)[3]) + len(after_dialogue_with_RNPCs(hint, conditions = 'unsuccessful', for_indicating = True)[3]))-4) for cycle1 in ['successful', 'unsuccessful']: close_category = 0 for cycle in range(0, 3): if int(eval(hint['for_hint'][cycle1].replace('for_indicating = True, ', "for_indicating = True, unsuccessful_action = "+str(cycle1 == 'unsuccessful')+", "))[cycle]) == 0: general_button_ypos -= 20 if len(eval(hint['for_hint'][cycle1].replace('for_indicating = True, ', "for_indicating = True, unsuccessful_action = "+str(cycle1 == 'unsuccessful')+", "))[3]) <= 0: close_category += 1 if close_category >= 3: general_button_ypos -= 40 return general_button_ypos def delete_all_match_in_list(listVar): return list(dict.fromkeys(listVar)) def preferences_detect(cond = 'all', with_all = True): global preferences_list list2 = [] for cycle in preferences_list: try: if cond in eval(cycle+'_preferences')['preferences'] or (with_all and 'all' in eval(cycle+'_preferences')['preferences']): list2.append(cycle) except: pass if len(list2) == 0: list2.append(preferences_list[0]) return list2 def conjunctura_rounding(): global conjunctura_highness_in_editor, conjunctura_downness_in_editor conjunctura_highness_in_editor = round(conjunctura_highness_in_editor, 3) conjunctura_downness_in_editor = round(conjunctura_downness_in_editor, 3) return transform connect_to_server: 'gui/connect/connect1.png' pause 2 'gui/connect/connect2.png' pause 2 'gui/connect/connect3.png' pause 2 repeat screen connect: zorder 1015 if persistent.non_avaera() >= 1: add 'gui/connect/successfull.png' elif persistent.download_queue_progress['connection'] == 'loading': add 'gui/connect/connect1.png' at connect_to_server else: add 'gui/connect/unsuccessfull.png' if not persistent.download_queue_progress['connection'] == 'loading': timer 5 action Hide('connect', dissolve), Function(delete_connect)