label public_masterbation_loop(char): if not char.present: return 0 if char.phase_flags['flawcheck']: return 0 if char.inhibition > 70: if char.recalibrate == "SdressWild+" or char.recalibrate == "SdressSlutty+": call change_attr (char, 'inhibition', -(1), text='-1 Inhibition\n{size=-20}due to their outfit{/size}') from _call_change_attr_735 elif char.inhibition > 40: if char.recalibrate == "SdressSlutty+": call change_attr (char, 'inhibition', -(1), text='-1 Inhibition\n{size=-20}due to their outfit{/size}') from _call_change_attr_736 elif char.recalibrate == "SdressNormal+": call change_attr (char, 'inhibition', +(1), text='+1 Inhibition\n{size=-20}due to their outfit{/size}') from _call_change_attr_737 elif char.inhibition > 20: if char.recalibrate == "SdressNormal+" or char.recalibrate == "SdressWild+": call change_attr (char, 'inhibition', +(1), text='+1 Inhibition\n{size=-20}due to their outfit{/size}') from _call_change_attr_738 elif True: if char.recalibrate == "SdressNormal+" or char.recalibrate == "SdressWild+" or char.recalibrate == "SdressSlutty+": call change_attr (char, 'inhibition', +(1), text='+1 Inhibition\n{size=-20}due to their outfit{/size}') from _call_change_attr_739 if char.daily_flags['MCoutfit']=="Revealing": call change_attr (char, 'inhibition', -(1), text='-1 Inhibition\n{size=-20}due to their outfit{/size}') from _call_change_attr_154 elif char.daily_flags['MCoutfit']=="Conservative": call change_attr (char, 'inhibition', +(1), text='+1 Inhibition\n{size=-20}due to their outfit{/size}') from _call_change_attr_333 $ renpy.dynamic("curatt") $ char.phase_flags['flawcheck']=True $ curatt=char.attraction $ gross=False $ outfit=1 if char.outfit=="wild" or char.outfit=="work2": $ outfit=2 elif char.outfit=="slut" or char.outfit=="undies": $ outfit=3 elif char.outfit=="nude" or char.outfit=="special": $ outfit=4 $ curatt*=outfit if player.flaw_agateophilia and char.unstable: $ curatt+=(player.power_CHA * 1 + 1) $ flag_agateophilia = True if char.related and player.flaw_incest: $ curatt+=(player.power_WIT * 1 + 1) $ flag_incest=True if char.age==Age.old and player.flaw_anililagnia: $ curatt+=(player.power_FLY * 1 + 1) $ flag_anililagnia = True if char.age==Age.young and player.flaw_ephebophilia: $ curatt+=(player.power_MAN * 1 + 1) $ flag_ephebophilia = True if char.related and not player.flaw_incest: $ gross=True if char.age==Age.old and not player.flaw_anililagnia: $ gross=True if char.age==Age.young and not player.flaw_ephebophilia: $ gross=True $ char.curattraction=curatt if gross: $ curatt*=-1 return curatt label public_masterbation: $ renpy.dynamic("loop_char_list", "loop_char_iterator", "loop_char") $ renpy.dynamic("total_attraction") $ loop_char_list = get_all_present_chars() $ loop_char_iterator = 0 $ total_attraction = 0 while loop_char_iterator < len(loop_char_list): $ loop_char = loop_char_list[loop_char_iterator] call public_masterbation_loop (loop_char) from _call_public_masterbation_loop $ delta = _return if delta >= 0: $ delta -= player.resistance if delta < 0: $ delta = 0 elif True: $ delta += loop_char.attraction $ delta += player.resistance if delta > 0: $ delta = 0 $ total_attraction += delta $ loop_char_iterator += 1 $ loop_char = None $ loop_char_iterator = None return total_attraction label flawcheck: $ var1=0 $ flag_incest = False $ flag_sadism = False $ flag_uniform_fetishism = False $ flag_group_participation = False $ flag_gender_bender = False $ flag_ephebophilia = False $ flag_agateophilia = False $ flag_anililagnia = False $ flag_masochism = False $ flag_exhibitionism = False $ flag_rapist = False $ renpy.dynamic("total_attraction") call public_masterbation from _call_public_masterbation $ total_attraction = _return if total_attraction > 0: $ show_bar(player, 'willpower') pause 0.5 $ player.willpower-=total_attraction show expression Text("{color=c7c900}-[total_attraction] Willpower{/color}\n{size=-20}due to public masturbation flaw{/size}", size=50, yalign=0.1, xalign=0.5, drop_shadow=(2, 2)) as text with dissolve if flag_incest: show expression Text("Modified by:{color=c7c900}Incest{/color}", size=20, yalign=0.22, xalign=0.5, drop_shadow=(2, 2)) as text1 if flag_agateophilia: show expression Text("Modified by:{color=c7c900}Agateophilia{/color}", size=20, yalign=0.25, xalign=0.5, drop_shadow=(2, 2)) as text2 if flag_ephebophilia: show expression Text("Modified by:{color=c7c900}Ephebophilia{/color}", size=20, yalign=0.28, xalign=0.5, drop_shadow=(2, 2)) as text3 if flag_anililagnia: show expression Text("Modified by:{color=c7c900}Anililagnia{/color}", size=20, yalign=0.31, xalign=0.5, drop_shadow=(2, 2)) as text4 pause hide text with dissolve hide text1 hide text2 hide text3 hide text4 $ hide_stat_change_bar() if player.willpower<=0: "You can't take it any more!" $ char_event="Public1" show PublicMasturbation_image window hide None pause window show "You quickly pull your cock out and start stroking it furiously!" call person_PM_reaction from _call_person_PM_reaction "MUST RELEASE!" if my.fetish and my.present: call hide_char_sprite (my) from _call_hide_char_sprite_233 "Mary suddenly kneels in front of you!" $ var7 = "mary" $ var8 = my.outfit hide PublicMasturbation_image show exhibitionists_overlay show PublicMasturbation_image $ char_event="Public2" window hide None pause window show "OH THANK GOD!" if player.flaw_exhibitionism: $ var1 = masturbation $ var1 /= 2 call change_wp (+(var1)) from _call_change_wp_69 elif True: call change_wp (+(masturbation)) from _call_change_wp_18 hide PublicMasturbation_image $ char_event="none" if my.fetish and my.present: hide exhibitionists_overlay call show_char_sprite (my) from _call_show_char_sprite_162 if location=="Kitchen" and m.present and m.fail and not sis.present: "My rent just went up $20 for the month." $ rent+=20 if location=="Kitchen" and sis.fail and sis.present and not m.present: "My rent just went up $20 for the month." $ rent+=20 elif location=="Kitchen" and m.present and m.fail and sis.fail and sis.present: "My rent just went up $20 for the month." $ rent+=20 elif location=="Your Room" or (location=="Kitchen" and not m.present and not sis.present): return elif my.fetish and my.present: "You receive a message from an initiative automated system stating you're received a demerit on your record for public sex." "public sex... Dammit Mary!" $ add_demerit('sex', location="current") elif True: "You receive a message from an initiative automated system stating you're received a demerit on your record." $ add_demerit('masturbation', location="current") return label person_PM_reaction: python hide: for char in get_all_present_chars(): if not char.taboo and (char.corruption>=60 or char.nymphomaniac or (char.love > 80 and char.lust >70)): char.fail=False char.pose="horny" else: char.fail=True char.pose="hate" $ renpy.dynamic("loop_char_list", "loop_char_iterator", "loop_char") $ loop_char_list = get_all_present_chars() $ loop_char_iterator = 0 while loop_char_iterator < len(loop_char_list): $ loop_char = loop_char_list[loop_char_iterator] call person_PM_remarks_loop (loop_char) from _call_person_PM_remarks_loop $ loop_char_iterator += 1 $ loop_char = None $ loop_char_iterator = None $ renpy.dynamic("loop_char_list", "loop_char_iterator", "loop_char") $ loop_char_list = get_all_present_chars() $ loop_char_iterator = 0 while loop_char_iterator < len(loop_char_list): $ loop_char = loop_char_list[loop_char_iterator] call person_posecheck (loop_char) from _call_person_posecheck_66 $ loop_char_iterator += 1 $ loop_char = None $ loop_char_iterator = None return label person_PM_remarks_loop(char): call expression char.ikey + "_PM_reaction" from _call_expression_9 if char.fail: call change_attr (char, 'anger', +10) from _call_change_attr_815 call change_attr (char, 'suspicion', +5) from _call_change_attr_816 elif True: if player.big_dick: call change_attr (char, 'lust', +10) from _call_change_attr_817 elif True: call change_attr (char, 'lust', +5) from _call_change_attr_818 return screen intimate(): imagemap: ground "images/none.png" showif button_selfish: imagebutton: idle "GUI/Selfish.png" focus_mask True xalign 0.1 yalign 0.5 action Return("Selfish") mouse "imagemap" showif button_generous: imagebutton: idle "GUI/Generous.png" focus_mask True xalign 0.9 yalign 0.5 action Return("Generous") mouse "imagemap" showif button_end: imagebutton: idle "GUI/End.png" focus_mask True xalign 0.5 yalign 0.9 action Return("End") mouse "imagemap" label person_chat(char, topic_name): $ char.phase_flags[topic_name]=True if topic_name in chat_topics_by_personality[char.personality_type]: $ player.interactions-=1 call change_attr (char, 'favor', +player.SB) from _call_change_attr_110 if char.is_prof() and char.favor<80: "[char.name] seems to enjoy the conversation, and afterwards makes their goodbyes." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False $ interact_who=None call hide_char_sprite (char) from _call_hide_char_sprite_15 elif char.favor<40 and not char.related: "[char.name] seems to enjoy the conversation, and afterwards makes their goodbyes." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False $ interact_who=None call hide_char_sprite (char) from _call_hide_char_sprite_16 elif True: "[char.name] seems to enjoy the conversation." call person_SPLfavorcheck (char) from _call_person_SPLfavorcheck call update_chat_menu from _call_update_chat_menu_1 elif True: $ player.interactions-=1 call change_attr (char, 'favor', -3, "[char.name] seemed to be bored [diff] Favor") from _call_change_attr_111 if char.is_prof() and char.favor<80: "[char.name] seems bored by the conversation, and afterwards makes their goodbyes." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False $ interact_who=None call hide_char_sprite (char) from _call_hide_char_sprite_23 elif char.favor<40 and not char.related: "[char.name] seems bored by the conversation, and afterwards makes their goodbyes." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False $ interact_who=None call hide_char_sprite (char) from _call_hide_char_sprite_42 elif True: "[char.name] seems bored by the conversation." call update_chat_menu from _call_update_chat_menu_2 return label person_discuss(char, topic_name): $ char.daily_flags[topic_name] = True if topic_name in discuss_topics_by_personality[char.personality_type] and char.favor>=char.get_prof_cost(40, 60): $ player.interactions-=2 call change_attr (char, 'favor', +player.leadership) from _call_change_attr_112 call person_SPLfavorcheck (char) from _call_person_SPLfavorcheck_1 pause 0.5 call change_attr (char, 'love', +(player.SB), hide_bar=False) from _call_change_attr_426 if (char.is_prof() and char.favor<80) or (char.favor<40 and not char.related): "[char.name] seems to enjoy the conversation, and afterwards makes their goodbyes." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False $ interact_who=None elif True: "[char.name] seems to enjoy the conversation." $ hide_stat_change_bar() call person_SPLlovecheck (char) from _call_person_SPLlovecheck call hide_char_discuss (char) from _call_hide_char_discuss if char.present: call show_char_sprite (char) from _call_show_char_sprite_1 call update_chat_menu from _call_update_chat_menu_3 elif True: $ char.pose = "refuse" $ player.interactions-=2 call change_attr (char, 'favor', -6) from _call_change_attr_113 if char.is_prof() and char.favor<80: "[char.name] seems bored by the conversation, and afterwards makes their goodbyes." "You need 60 Favor to do that due to professionalism." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False $ interact_who=None call hide_char_sprite (char) from _call_hide_char_sprite_43 elif char.favor<40 and not char.related: "[char.name] seems bored by the conversation, and afterwards makes their goodbyes." "You need 40 Favor to do that." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False $ interact_who=None call hide_char_sprite (char) from _call_hide_char_sprite_44 elif True: if char.favor<40: "You need 40 Favor to do that." elif topic_name in discuss_topics_by_personality[char.personality_type]: "[char.name] gets bored with that topic easily." call update_chat_menu from _call_update_chat_menu_4 return label pre_person_engage(char, topic_name): $ char.daily_flags[topic_name] = True if char.ikey == 'sister' and char.fetishstep>=6 and char.fetishstep<=8 and topic_name=="online": call show_char_online (char) from _call_show_char_online_1 return True if char.ikey == 'nikki' and char.fetishstep>=6 and char.fetishstep<=8 and topic_name=="jog": call show_char_jog (char) from _call_show_char_jog_1 return True if char.ikey == 'danni' and topic_name in ['jog', 'coffee']: call show_char_jog (char) from _call_show_char_jog_2 return True if topic_name in engage_topics_by_personality[char.personality_type] and char.favor>=char.get_prof_cost(60, 80): call hide_char_sprite (char) from _call_hide_char_sprite_2 if topic_name=="jog": call show_char_jog (char) from _call_show_char_jog if topic_name=="online": call show_char_online (char) from _call_show_char_online if topic_name=="coffee": call show_char_coffee (char) from _call_show_char_coffee return True elif True: $ char.pose = "refuse" $ player.interactions-=3 call change_attr (char, 'favor', -max(0, 10-player.persuasion)) from _call_change_attr_114 pause 0.5 call change_attr (char, 'love', -max(0, 9-player.SB)) from _call_change_attr_115 if char.favor<60: "You need 60 Favor to do that." elif topic_name in discuss_topics_by_personality[char.personality_type]: "[char.name] has no interest in doing this." if char.is_prof() and char.favor<80: "[char.name] makes up an excuse and leaves." $ char.present=False $ interactscreen=False call hide_char_sprite (char) from _call_hide_char_sprite_45 call update_chat_menu from _call_update_chat_menu_5 return False label person_engage(char, topic_name): $ player.interactions-=3 if char.ikey in ['danni'] and topic_name != "online": call hide_char_jog (char) from _call_hide_char_jog_1 call hide_char_online (char) from _call_hide_char_online_1 call hide_char_coffee (char) from _call_hide_char_coffee_1 if char.present: call show_char_sprite (char) from _call_show_char_sprite_224 $ hide_stat_change_bar() call update_chat_menu from _call_update_chat_menu_70 return call change_attr (char, 'favor', -max(0, 10-player.persuasion)) from _call_change_attr_116 pause 0.5 call change_attr (char, 'love', +(player.SB + player.leadership)) from _call_change_attr_427 call person_SPLlovecheck (char) from _call_person_SPLlovecheck_1 if char.is_prof() and char.favor<80: "[char.name] seems to enjoy that, and afterwards makes their goodbyes." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False $ interact_who=None elif True: if not action_override: $ action_override=False "[char.name] seems to enjoy that." hide mom_coffeefetish call hide_char_jog (char) from _call_hide_char_jog call hide_char_online (char) from _call_hide_char_online call hide_char_coffee (char) from _call_hide_char_coffee if char.present: call show_char_sprite (char) from _call_show_char_sprite_2 $ hide_stat_change_bar() call update_chat_menu from _call_update_chat_menu_6 return label pre_person_date(char, topic_name): $ char.daily_flags[topic_name] = True if char.ikey == 'danni' and topic_name in date_topics_by_personality[char.personality_type] and char.favor>=60: $ advance_time_flag = True return True elif char.ikey == 'sandra' and char.fetishstep>=6 and char.fetishstep<=8 and topic_name=="shopping": call show_char_shopping (char) from _call_show_char_shopping_29 call sandra_fetishtext from _call_sandra_fetishtext $ advance_time_flag = True call hide_char_shopping (char) from _call_hide_char_shopping_19 hide sandra_shoppingfetish2 $ char_event="none" call update_chat_menu from _call_update_chat_menu_69 return False elif char.ikey == 'sulynn' and char.fetishstep>=6 and char.fetishstep<=8 and topic_name=="shopping": call show_char_shopping (char) from _call_show_char_shopping_26 call sulynn_fetishtext from _call_sulynn_fetishtext $ advance_time_flag = True call hide_char_shopping (char) from _call_hide_char_shopping_16 hide sulynn_sexshopfetish $ char_event="none" call update_chat_menu from _call_update_chat_menu_67 return False elif char.ikey == 'kelly' and char.fetishstep>=6 and char.fetishstep<=8 and topic_name=="workout": call show_char_workout (char) from _call_show_char_workout_28 call kelly_fetishtext from _call_kelly_fetishtext_2 $ advance_time_flag = True call hide_char_shopping (char) from _call_hide_char_shopping_18 hide kelly_yogafetish $ char_event="none" call update_chat_menu from _call_update_chat_menu_68 return False elif topic_name in date_topics_by_personality[char.personality_type] and char.favor>=60 and not char.taboo and not char.professional: call hide_char_sprite (char) from _call_hide_char_sprite_3 if topic_name=='workout': call show_char_workout (char) from _call_show_char_workout if topic_name=='shopping': call show_char_shopping (char) from _call_show_char_shopping if topic_name=='library': call show_char_library (char) from _call_show_char_library return True elif True: $ char.pose = "refuse" $ player.interactions-=3 call change_attr (char, 'favor', -(20 - player.persuasion)) from _call_change_attr_117 pause 0.5 call change_attr (char, 'love', -(12 - player.SB)) from _call_change_attr_118 if char.favor<60: "You need 60 Favor to do that." elif topic_name in discuss_topics_by_personality[char.personality_type]: "[char.name] has no interest in doing this." elif char.taboo: "[char.name] is mortified of the idea. You're related!" elif char.professional: "[char.name] sternly declines." call update_chat_menu from _call_update_chat_menu_7 return False label person_date(char, topic_name): $ advance_time_flag = True $ player.interactions-=3 call change_attr (char, 'favor', -(20 - player.persuasion)) from _call_change_attr_119 pause 0.5 call change_attr (char, 'love', +(player.SB+player.social)) from _call_change_attr_428 call person_SPLlovecheck (char) from _call_person_SPLlovecheck_2 if char.personality_type==PersonalityTypes.health_nut: $ player.fitnessXP+=1 "{color=8a8c03}+ Fitness 1XP {/color}" elif char.personality_type==PersonalityTypes.social_climber: $ player.reflexXP+=1 "{color=8a8c03}+ Reflex 1XP {/color}" elif char.personality_type==PersonalityTypes.nerd: $ player.reasoningXP+=1 "{color=8a8c03}+ Reasoning 1XP {/color}" elif char.personality_type==PersonalityTypes.activist: $ player.concentrationXP+=1 "{color=8a8c03}+ Concentration 1XP {/color}" elif char.personality_type==PersonalityTypes.gold_digger: $ player.persuasionXP+=1 "{color=8a8c03}+ Persuasion 1XP {/color}" elif char.personality_type==PersonalityTypes.alpha_personality: $ player.leadershipXP+=1 "{color=8a8c03}+ Leadership 1XP {/color}" elif char.personality_type==PersonalityTypes.perfectionist: $ player.stoicismXP+=1 "{color=8a8c03}+ Stoicism 1XP {/color}" elif char.personality_type==PersonalityTypes.celebrant: $ player.personalityXP+=1 "{color=8a8c03}+ Personality 1XP {/color}" elif char.personality_type==PersonalityTypes.paranoid: $ player.awarenessXP+=1 "{color=8a8c03}+ Awareness 1XP {/color}" call hide_char_workout (char) from _call_hide_char_workout call hide_char_shopping (char) from _call_hide_char_shopping call hide_char_library (char) from _call_hide_char_library if is_truant(char): call school_cleanup from _call_school_cleanup_12 call update_chat_menu from _call_update_chat_menu_8 return label person_cash(char): $ char.daily_flags['cash'] = True if char.favor<60 or char.CASH==0 or (char.favor<80 and char.professional): $ char.pose = "refuse" $ player.interactions-=2 call change_attr (char, 'favor', -(20 - player.persuasion - player.SB)) from _call_change_attr_120 call update_chat_menu from _call_update_chat_menu_9 if char.CASH == 0: "You already emptied their wallet this week." elif char.professional: "You need 80 favor to do that, due to professionalism." elif True: "You need 60 favor to do that." call update_chat_menu from _call_update_chat_menu_10 elif True: call hide_char_sprite (char) from _call_hide_char_sprite_4 call show_char_discuss (char) from _call_show_char_discuss $ player.interactions-=2 call change_attr (char, 'favor', -(20 - player.persuasion - player.SB)) from _call_change_attr_122 $ char.CASH-=20 call change_money (+20) from _call_change_money_16 "You ask to borrow some money and they reluctantly agree." if char.is_prof() and char.favor<80: "[char.name] makes up an excuse and leaves." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False call hide_char_discuss (char) from _call_hide_char_discuss_1 elif True: call hide_char_discuss (char) from _call_hide_char_discuss_2 call show_char_sprite (char) from _call_show_char_sprite_3 call update_chat_menu from _call_update_chat_menu_11 return label person_gossip(char): $ char.daily_flags['gossip'] = True if char.favor >= char.get_prof_cost(60, 80): call person_hidesprite from _call_person_hidesprite call show_char_gossip (char) from _call_show_char_gossip $ player.interactions-=2 $ var1=player.Style $ var1+=player.Style $ player.reputation+=var1 "You ask [char.name] to spread word of your deeds, and they agree.\n{color=24ff00}+[var1] Global Influence{/color}" if player.schoolrep_cheerleader > 0 and "cheerleader" in char.groups and player.alignment >= 60: $ var1=(2 * player.schoolrep_cheerleader) $ player.reputation+=var1 "{color=24ff00}+[var1] Global Influence{/color}\n From Cheerleader Reputation." if player.schoolrep_rebel > 0 and "rebel" in char.groups and player.alignment >= 60: $ var1=(2 * player.schoolrep_rebel) $ player.reputation+=var1 "{color=24ff00}+[var1] Global Influence{/color}\n From Rebel Reputation." if player.schoolrep_nerd > 0 and "nerd" in char.groups and player.alignment >= 60: $ var1=(2 * player.schoolrep_nerd) $ player.reputation+=var1 "{color=24ff00}+[var1] Global Influence{/color}\n From Nerd Reputation." if player.schoolrep_jock > 0 and "jock" in char.groups and player.alignment >= 60: $ var1=(2 * player.schoolrep_jock) $ player.reputation+=var1 "{color=24ff00}+[var1] Global Influence{/color}\n From Jock Reputation." if char.is_prof() and char.favor<80: "[char.name] makes up an excuse and leaves." $ char.pose_subroutine = True $ char.present=False $ interactscreen=False call hide_char_gossip (char) from _call_hide_char_gossip_1 elif True: call hide_char_gossip (char) from _call_hide_char_gossip call person_presentcheck from _call_person_presentcheck_31 call update_chat_menu from _call_update_chat_menu_12 elif True: $ char.pose = "refuse" $ player.interactions-=2 call change_attr (char, 'favor', -(20 - player.persuasion - player.SB)) from _call_change_attr_125 if char.professional: "You need 80 favor to do that due to professionalism." elif True: "You need 60 favor to do that." call update_chat_menu from _call_update_chat_menu_13 return label person_favor(char): if char.favor >= char.get_prof_cost(60, 80): menu: "Change your outfit." if char.ikey == "sandra" and sd.fetish: $ char.daily_flags['favor'] = True $ favortype="fetishOutfit" $ player.interactions-=2 call expression char.ikey + "_favortype" from _call_expression_29 "Let's go somewhere private {color=00dcfd}10 favor{/color}" if char.phase_flags['privacy']: $ char.daily_flags['favor'] = True $ favortype="empty classroom" if char.job=="Student": "[char.name] agrees, and follows you to an empty classroom" elif char.job=="Nurse": "[char.name] agrees, and leads you to an empty examination room" $ facility = "private_consultation" elif True: "[char.name] agrees, and leads you to her office." call school_cleanup from _call_school_cleanup_20 scene classroom $ char.present=True if char.ikey=="allie": $ classroom="empty_chemistry" if char.ikey=="kelly": $ classroom="empty_debate" if char.ikey=="samantha": $ classroom="empty_biology" if char.ikey=="larson": $ classroom="principal3" if char.ikey=="sandra": $ classroom="empty_swimming" if char.ikey=="sister": $ classroom="empty_geography" if char.ikey=="denise": $ classroom="empty_art" if char.ikey=="nikki": $ classroom="empty_track" if char.ikey=="mary": $ classroom="empty_yearbook" if char.ikey=="terri": $ classroom="empty_computer" if char.ikey=="chelsea": $ classroom="empty_gymnasium" call person_presentcheck from _call_person_presentcheck_4 $ Public=False $ player.interactions-=2 call change_attr (char, 'favor', -10) from _call_change_attr_126 "Ask for phone number" if not char.phonecontact: $ char.daily_flags['favor'] = True $ favortype="phone" show expression Text("{color=24ff00}[char.name] gives you their phone number.{/color}", size=50, yalign=0.1, xalign=0.5, drop_shadow=(2, 2)) as text with dissolve pause 1.0 hide text with dissolve $ player.interactions-=2 $ add_to_contacts(char) "Ask some personal questions. ({color=00dcfd}Persuasion{/color} skill check)" if char in active_fetish() and char.fetishstep<=2: $ char.daily_flags['favor'] = True $ favortype="fetish" $ player.interactions-=2 $ skillcheck_roll = renpy.random.randint(1, 20) if char.inhibition<20: $ skillcheck_roll-=4 elif char.inhibition<40: $ skillcheck_roll-=3 elif char.inhibition<60: $ skillcheck_roll-=2 elif char.inhibition<80: $ skillcheck_roll-=1 show expression char.ikey + "_discuss" call expression char.ikey + "_favortype" from _call_expression_10 call change_attr (char, 'favor', -20) from _call_change_attr_819 hide expression char.ikey + "_discuss" "Nevermind" if True: $ favortype = "none" "You change your mind." return elif True: $ char.pose = "refuse" $ player.interactions-=2 if char.favor<80 and char.professional: "You need 80 favor to do that due to professionalism." elif char.favor<60 and not char.professional: "You need 60 favor to do that." call change_attr (char, 'favor', -(20 - player.persuasion - player.SB)) from _call_change_attr_127 call update_chat_menu from _call_update_chat_menu_15 return label pre_person_training(char): $ excludes_training = ['danni'] $ already_trained = True if char.favor>=char.get_prof_cost(80, 90): $ char.fail=False if is_truant(char): call school_cleanup from _call_school_cleanup_13 $ var1 = char.personality_type $ advance_time_flag = True if var1 in [PersonalityTypes.health_nut, PersonalityTypes.alpha_personality, PersonalityTypes.perfectionist]: if char.ikey not in excludes_training: call show_char_workout (char) from _call_show_char_workout_1 $ topic_name="tworkout" elif var1 in [PersonalityTypes.social_climber, PersonalityTypes.gold_digger, PersonalityTypes.celebrant]: if char.ikey not in excludes_training: call show_char_shopping (char) from _call_show_char_shopping_1 $ topic_name="tshopping" elif var1 in [PersonalityTypes.nerd, PersonalityTypes.activist, PersonalityTypes.paranoid]: if char.ikey not in excludes_training: call show_char_library (char) from _call_show_char_library_1 $ topic_name="tlibrary" return True elif True: $ char.fail=True $ char.pose = "refuse" $ player.interactions-=3 call change_attr (char, 'favor', -(30 - (player.persuasion+player.social))) from _call_change_attr_129 if not char.professional: "You need 80 Favor to do that." elif True: "You need 100 Favor to do that due to [char.name]'s professionalism." call update_chat_menu from _call_update_chat_menu_16 return False label person_training(char): if not char.fail: $ player.interactions-=3 call change_attr (char, 'favor', -(30 - player.persuasion)) from _call_change_attr_130 $ var2=player.concentration $ var2+=player.MB if char.personality_type==PersonalityTypes.health_nut: $ player.fitnessXP+=var2 $ player.stoicismXP+=player.persuasion "{color=8a8c03}+ Fitness [var2]XP {/color}" "You were able to convince them to give you some additional tips." "{color=8a8c03}+ Stoicism [player.persuasion]XP {/color}" elif char.personality_type==PersonalityTypes.social_climber: $ player.reflexXP+=var2 $ player.persuasionXP+=player.persuasion "{color=8a8c03}+ Reflex [var2]XP {/color}" "You were able to convince them to give you some additional tips." "{color=8a8c03}+ Persuasion [player.persuasion]XP {/color}" elif char.personality_type==PersonalityTypes.nerd: $ player.reasoningXP+=var2 $ player.leadershipXP+=player.persuasion "{color=8a8c03}+ Reasoning [var2]XP {/color}" "You were able to convince them to give you some additional tips." "{color=8a8c03}+ Leadership [player.persuasion]XP {/color}" elif char.personality_type==PersonalityTypes.activist: $ player.concentrationXP+=var2 $ player.awarenessXP+=player.persuasion "{color=8a8c03}+ Concentration [var2]XP {/color}" "You were able to convince them to give you some additional tips." "{color=8a8c03}+ Awareness [player.persuasion]XP {/color}" elif char.personality_type==PersonalityTypes.gold_digger: $ player.persuasionXP+=var2 $ player.personalityXP+=player.persuasion "{color=8a8c03}+ Persuasion [var2]XP {/color}" "You were able to convince them to give you some additional tips." "{color=8a8c03}+ Personality [player.persuasion]XP {/color}" elif char.personality_type==PersonalityTypes.alpha_personality: $ player.leadershipXP+=var2 $ player.fitnessXP+=player.persuasion "{color=8a8c03}+ Leadership [var2]XP {/color}" "You were able to convince them to give you some additional tips." "{color=8a8c03}+ Fitness [player.persuasion]XP {/color}" elif char.personality_type==PersonalityTypes.perfectionist: $ player.stoicismXP+=var2 $ player.concentrationXP+=player.persuasion "{color=8a8c03}+ Stoicism [var2]XP {/color}" "You were able to convince them to give you some additional tips." "{color=8a8c03}+ Concentration [player.persuasion]XP {/color}" elif char.personality_type==PersonalityTypes.celebrant: $ player.personalityXP+=var2 $ player.reflexXP+=player.persuasion "{color=8a8c03}+ Personality [var2]XP {/color}" "You were able to convince them to give you some additional tips." "{color=8a8c03}+ Reflex [player.persuasion]XP {/color}" elif char.personality_type==PersonalityTypes.paranoid: $ player.awarenessXP+=var2 $ player.reasoningXP+=player.persuasion "{color=8a8c03}+ Awareness [var2]XP {/color}" "You were able to convince them to give you some additional tips." "{color=8a8c03}+ Reasoning [player.persuasion]XP {/color}" call hide_char_workout (char) from _call_hide_char_workout_1 call hide_char_shopping (char) from _call_hide_char_shopping_1 call hide_char_library (char) from _call_hide_char_library_1 if is_truant(char): call school_cleanup from _call_school_cleanup_14 call update_chat_menu from _call_update_chat_menu_17 return label person_money(char): $ char.daily_flags['money'] = True if char.favor<80 or char.CASH==0 or char.professional: $ char.pose = "refuse" $ player.interactions-=2 call change_attr (char, 'favor', -(30 - player.persuasion - player.SB)) from _call_change_attr_131 call update_chat_menu from _call_update_chat_menu_18 if char.CASH == 0: "You already emptied their wallet this week." elif char.professional: "You are not able to do this due to professionalism." elif True: "You need 80 favor to do that." call update_chat_menu from _call_update_chat_menu_19 elif True: $ advance_time_flag = True $ show_bar(char, 'favor') pause 0.5 $ player.interactions-=2 $ var1=30 $ var1-=player.persuasion $ var1-=player.SB call change_attr (char, 'favor', -(var1)) from _call_change_attr_334 call change_money (+char.CASH) from _call_change_money_17 $ char.CASH=0 "You ask for a large sum of money and they reluctantly agree." if is_truant(char): call school_cleanup from _call_school_cleanup_15 call update_chat_menu from _call_update_chat_menu_20 return label person_FAVOR(char): $ char.daily_flags['FAVOR'] = True if char.favor>=char.get_prof_cost(80, 100) or (char.favor>=40 and char.reprogram=="Professional Ally+"): menu: "Talk about Danni." if char.ikey == "sister" and dan.fetishstep > 2 and dan.present: $ char.daily_flags['favor'] = True $ favortype="Discuss_Danni" $ player.interactions-=3 call expression char.ikey + "_FAVORtype" from _call_expression_33 call change_attr (char, 'favor', -(40 - player.persuasion - player.SB)) from _call_change_attr_2782 "Professional Favors {color=00dcfd}40 favor{/color}" if char in get_professional_chars() and char.professional_favors==False and char.professional: $ char.professional_favors=True call expression char.ikey + "_professionalFAVORS" from _call_expression_5 call change_attr (char, 'favor', -40) from _call_change_attr_121 call show_char_sprite (char) from _call_show_char_sprite_5 return "Let's Skip Class. {color=00dcfd}10 favor{/color}" if is_busy_student(char) and not school_is_out(char): $ favortype="skip" $ char.daily_flags['skip'] = True $ char.daily_flags['favor'] = True call school_cleanup from _call_school_cleanup_22 scene classroom $ char.present=True if char.ikey=="allie": $ classroom="empty_chemistry" if char.ikey=="kelly": $ classroom="empty_debate" if char.ikey=="samantha": $ classroom="empty_biology" if char.ikey=="larson": $ classroom="principal3" if char.ikey=="sandra": $ classroom="empty_swimming" if char.ikey=="sister": $ classroom="empty_geography" if char.ikey=="denise": $ classroom="empty_art" if char.ikey=="nikki": $ classroom="empty_track" if char.ikey=="mary": $ classroom="empty_yearbook" if char.ikey=="terri": $ classroom="empty_computer" if char.ikey=="chelsea": $ classroom="empty_gymnasium" call person_presentcheck from _call_person_presentcheck_28 $ Public=False $ player.interactions-=3 call expression char.ikey + "_FAVORtype" from _call_expression_71 call change_attr (char, 'favor', -10) from _call_change_attr_132 call show_char_sprite (char) from _call_show_char_sprite_44 return "Hang out after class with me. {color=00dcfd}10 favor{/color}" if school_is_out(char): $ favortype="skip" $ char.daily_flags['skip'] = True $ char.daily_flags['favor'] = True call school_cleanup from _call_school_cleanup_23 scene classroom $ char.present=True if char.ikey=="sandra": $ classroom="empty_swimming" if char.ikey=="kelly": $ classroom="empty_debate" if char.ikey=="samantha": $ classroom="empty_biology" if char.ikey=="larson": $ classroom="principal3" if char.ikey=="allie": $ classroom="empty_chemistry" if char.ikey=="sister": $ classroom="empty_geography" if char.ikey=="denise": $ classroom="empty_art" if char.ikey=="nikki": $ classroom="empty_track" if char.ikey=="mary": $ classroom="empty_yearbook" if char.ikey=="terri": $ classroom="empty_computer" if char.ikey=="chelsea": $ classroom="empty_gymnasium" call person_presentcheck from _call_person_presentcheck_29 $ Public=False $ player.interactions-=3 call expression char.ikey + "_FAVORtype" from _call_expression_2 call change_attr (char, 'favor', -10) from _call_change_attr_133 call hide_char_discuss (char) from _call_hide_char_discuss_4 call show_char_sprite (char) from _call_show_char_sprite_21 return "Ask some personal questions. ({color=00dcfd}Leadership{/color} skill check)" if char in active_fetish() and char.fetishstep<=5 and char.fetishstep>2: if char.ikey == "danni" and dan.fetishstep==5 and not Steph_accepted_Danni_N_Billy: "I need to talk to Steph about Danni first." return $ char.daily_flags['favor'] = True $ favortype="fetish" $ player.interactions-=3 $ skillcheck_roll = renpy.random.randint(1, 20) if char.inhibition<20: $ skillcheck_roll-=4 elif char.inhibition<40: $ skillcheck_roll-=3 elif char.inhibition<60: $ skillcheck_roll-=2 elif char.inhibition<80: $ skillcheck_roll-=1 show expression char.ikey + "_discuss" call expression char.ikey + "_FAVORtype" from _call_expression_11 call change_attr (char, 'favor', -(40 - player.persuasion - player.SB)) from _call_change_attr_820 hide expression char.ikey + "_discuss" return "Nevermind" if True: "You change your mind." $ FAVORtype == "none" call hide_char_discuss (char) from _call_hide_char_discuss_5 return elif True: $ char.pose = "refuse" $ player.interactions-=2 call change_attr (char, 'favor', -(20 - player.persuasion - player.SB)) from _call_change_attr_134 if not char.professional: "You need 80 favor to do that." elif True: "You need 100 favor to do that due [char.name]'s professionalism." call update_chat_menu from _call_update_chat_menu_22 return label person_hug(char): $ player.interactions-=1 $ char.phase_flags['hug'] = True if char.love < 20: $ char.pose = "refuse" call change_attr (char, 'love', -(10 - player.personality)) from _call_change_attr_135 "You need 20 Love to do that." call update_chat_menu from _call_update_chat_menu_23 elif True: if poly_gender: $ poly_gender=False "You focus for a moment, and shift your body back into it's natural form." $ player.persona = "B" call hide_char_sprite (char) from _call_hide_char_sprite_9 window hide None call show_char_hug (char) from _call_show_char_hug call hide_char_sprite (char) from _call_hide_char_sprite_10 call change_attr (char, 'love', +(player.personality)) from _call_change_attr_429 if not char.taboo: call change_attr (char, 'lust', +(player.SB)) from _call_change_attr_136 call person_SPLlustcheck (char) from _call_person_SPLlustcheck call person_SPLlovecheck (char) from _call_person_SPLlovecheck_3 call show_char_sprite (char) from _call_show_char_sprite_7 call hide_char_hug (char) from _call_hide_char_hug "You both hug warmly." call update_chat_menu from _call_update_chat_menu_24 return label person_polyhug(char): $ player.interactions-=1 $ char.phase_flags['hug'] = True if char.love < 20: $ char.pose = "refuse" call change_attr (char, 'love', -(10 - player.personality)) from _call_change_attr_1414 "You need 20 Love to do that." call update_chat_menu from _call_update_chat_menu_14 elif True: if not poly_gender: call change_energy (-10) from _call_change_energy_129 "You focus for a moment, and shift your body into that of a female." $ player.persona = "BJ" $ poly_gender=True call hide_char_sprite (char) from _call_hide_char_sprite_170 window hide None call show_char_hug (char) from _call_show_char_hug_1 call hide_char_sprite (char) from _call_hide_char_sprite_171 call change_attr (char, 'love', +(player.personality)) from _call_change_attr_1415 if not char.taboo: call change_attr (char, 'lust', +(player.SB)) from _call_change_attr_1416 call person_SPLlustcheck (char) from _call_person_SPLlustcheck_6 call person_SPLlovecheck (char) from _call_person_SPLlovecheck_8 call show_char_sprite (char) from _call_show_char_sprite_131 call hide_char_hug (char) from _call_hide_char_hug_1 "You both hug warmly." call update_chat_menu from _call_update_chat_menu_55 return label person_kiss(char): $ char.phase_flags['kiss'] = True $ player.interactions-=1 if char.love < 30 or char.taboo or char.lesbian_refusal: $ char.pose = "refuse" call change_attr (char, 'love', -(20 - player.personality)) from _call_change_attr_137 $ show_bar(char, 'anger') pause 0.5 $ var1=10 - player.SB call crosswire_anger (char, var1) from _call_crosswire_anger if char.taboo: "They are disgusted with you trying to French them." elif char.lesbian_refusal: "You're not really their type." elif True: "You need 30 Love to do that." call update_chat_menu from _call_update_chat_menu_25 elif True: if poly_gender: $ poly_gender=False "You focus for a moment, and shift your body back into it's natural form." $ player.persona = "B" window hide None call hide_char_sprite (char) from _call_hide_char_sprite_11 call show_char_kiss (char) from _call_show_char_kiss call change_attr (char, 'love', +(player.personality)) from _call_change_attr_138 call person_SPLlovecheck (char) from _call_person_SPLlovecheck_4 call change_attr (char, 'lust', +(player.SB)) from _call_change_attr_139 call person_SPLlustcheck (char) from _call_person_SPLlustcheck_1 $ hide_stat_change_bar() call show_char_sprite (char) from _call_show_char_sprite_8 call hide_char_kiss (char) from _call_hide_char_kiss "You both kiss romantically." call update_chat_menu from _call_update_chat_menu_26 return label person_polykiss(char): $ char.phase_flags['kiss'] = True $ player.interactions-=1 if char.love < 30 or char.taboo: $ char.pose = "refuse" call change_attr (char, 'love', -(20 - player.personality)) from _call_change_attr_1417 $ show_bar(char, 'anger') pause 0.5 $ var1=10 - player.SB call crosswire_anger (char, var1) from _call_crosswire_anger_101 if char.taboo: "They are disgusted with you trying to French them." elif True: "You need 30 Love to do that." call update_chat_menu from _call_update_chat_menu_56 elif True: if not poly_gender: call change_energy (-10) from _call_change_energy_130 "You focus for a moment, and shift your body into that of a female." $ player.persona = "BJ" $ poly_gender=True window hide None call hide_char_sprite (char) from _call_hide_char_sprite_172 call show_char_kiss (char) from _call_show_char_kiss_1 call change_attr (char, 'love', +(player.personality)) from _call_change_attr_1418 call person_SPLlovecheck (char) from _call_person_SPLlovecheck_9 call change_attr (char, 'lust', +(player.SB)) from _call_change_attr_1419 call person_SPLlustcheck (char) from _call_person_SPLlustcheck_7 $ hide_stat_change_bar() call show_char_sprite (char) from _call_show_char_sprite_132 call hide_char_kiss (char) from _call_hide_char_kiss_1 "You both kiss romantically." call update_chat_menu from _call_update_chat_menu_57 return label person_petting(char): $ char.phase_flags['petting'] = True $ player.interactions-=2 if char.lust<20 or char.love<40 or char.taboo or char.lesbian_refusal: $ char.pose = "refuse" call change_attr (char, 'love', -(20 - player.personality)) from _call_change_attr_140 $ show_bar(char, 'anger') pause 0.5 $ var1=20 $ var1-=player.SB call crosswire_anger (char, var1) from _call_crosswire_anger_1 call change_attr (char, 'lust', -(10 - player.SB)) from _call_change_attr_141 if char.taboo: "They are disgusted with you trying to cop a feel." elif char.lesbian_refusal: "You're not really their type." elif True: "You need 40 Love and 20 Lust to do that." call update_chat_menu from _call_update_chat_menu_27 elif True: if poly_gender: $ poly_gender=False "You focus for a moment, and shift your body back into it's natural form." $ player.persona = "B" window hide None call hide_char_sprite (char) from _call_hide_char_sprite_12 call show_char_petting (char) from _call_show_char_petting call change_attr (char, 'lust', +(player.SB + player.personality)) from _call_change_attr_142 call person_SPLlustcheck (char) from _call_person_SPLlustcheck_2 call show_char_sprite (char) from _call_show_char_sprite_9 call hide_char_petting (char) from _call_hide_char_petting "They start moaning softly as you start rubbing all over." call update_chat_menu from _call_update_chat_menu_28 return label person_polypetting(char): $ char.phase_flags['petting'] = True $ player.interactions-=2 if char.lust<20 or char.love<40 or char.taboo: $ char.pose = "refuse" call change_attr (char, 'love', -(20 - player.personality)) from _call_change_attr_1420 $ show_bar(char, 'anger') pause 0.5 $ var1=20 $ var1-=player.SB call crosswire_anger (char, var1) from _call_crosswire_anger_102 call change_attr (char, 'lust', -(10 - player.SB)) from _call_change_attr_1421 if char.taboo: "They are disgusted with you trying to cop a feel." elif True: "You need 40 Love and 40 Lust to do that." call update_chat_menu from _call_update_chat_menu_58 elif True: if not poly_gender: call change_energy (-10) from _call_change_energy_131 "You focus for a moment, and shift your body into that of a female." $ player.persona = "BJ" $ poly_gender=True window hide None call hide_char_sprite (char) from _call_hide_char_sprite_191 call show_char_petting (char) from _call_show_char_petting_1 call change_attr (char, 'lust', +(player.SB + player.personality)) from _call_change_attr_1422 call person_SPLlustcheck (char) from _call_person_SPLlustcheck_8 call show_char_sprite (char) from _call_show_char_sprite_133 call hide_char_petting (char) from _call_hide_char_petting_1 "They start moaning softly as you start rubbing all over." call update_chat_menu from _call_update_chat_menu_59 return init python: register_scene(char_key="AUTO", tag='hj', scene_label='HJ', replay_label='[char_ikey]_hj_script') label person_hj(char): $ player.interactions-=3 $ char.daily_flags['hj'] = True if char.lust<50 or char.love<40 or char.taboo or char.lesbian_refusal: $ char.fail=True $ char.pose = "refuse" call change_attr (char, 'love', -(20 - player.personality)) from _call_change_attr_143 $ var1=25 $ var1-=player.SB call crosswire_anger (char, var1) from _call_crosswire_anger_2 call change_attr (char, 'lust', -(20 - player.SB)) from _call_change_attr_144 if char.taboo: "They are disgusted with you even mentioning it." elif char.lesbian_refusal: "You're not really their type." elif True: "You need 40 Love and 50 Lust to do that." call update_chat_menu from _call_update_chat_menu_29 return False elif True: if poly_gender: $ poly_gender=False "You focus for a moment, and shift your body back into it's natural form." $ player.persona = "B" $ char.fail=False $ show_bar(char, 'lust') pause 0.5 $ var1=player.personality if player.big_dick: $ var1+=player.personality call change_attr (char, 'lust', +(var1)) from _call_change_attr_335 call person_SPLlustcheck (char) from _call_person_SPLlustcheck_3 call change_attr (player, 'willpower', +(5 + char.curattraction)) from _call_change_attr_256 call update_chat_menu from _call_update_chat_menu_30 $ unlock_scene(char=char, tag='hj') return True init python: register_scene(char_key="AUTO", tag='bj', scene_label='BJ', replay_label='[char_ikey]_bj_script') label person_bj(char): $ char.daily_flags['bj'] = True $ player.interactions-=3 if char.lust<50 or char.love<40 or char.taboo or char.lesbian_refusal: $ char.fail=True $ char.pose = "refuse" $ var1=20 $ var1-=player.personality call change_attr (char, 'love', -(var1)) from _call_change_attr_336 $ var2=25 $ var2-=player.SB call crosswire_anger (char, var2) from _call_crosswire_anger_3 $ var1=20 $ var1-=player.SB call change_attr (char, 'lust', -(var1)) from _call_change_attr_337 $ hide_stat_change_bar() if char.taboo: "They are disgusted with you even mentioning it." elif char.lesbian_refusal: "You're not really their type." elif True: "You need 40 Love and 50 Lust to do that." call update_chat_menu from _call_update_chat_menu_32 return False elif True: if poly_gender: $ poly_gender=False "You focus for a moment, and shift your body back into it's natural form." $ player.persona = "B" window hide None $ char.fail=False $ var1=player.personality if player.big_dick: $ var1+=player.personality call change_attr (char, 'lust', +(var1)) from _call_change_attr_338 call person_SPLlustcheck (char) from _call_person_SPLlustcheck_4 $ var1=10 $ var1+=char.curattraction call change_wp (+var1) from _call_change_wp_8 $ var1=5 call change_energy (+var1) from _call_change_energy_12 call update_chat_menu from _call_update_chat_menu_31 $ unlock_scene(char=char, tag='bj') return True init python: register_scene(char_key="AUTO", tag='quickie', scene_label='Quickie', replay_label='[char_ikey]_quickie_script') label person_quickie(char): $ player.interactions-=3 $ char.daily_flags['quickie'] = True if char.lust<60 or char.love<50 or char.taboo or char.lesbian_refusal: $ char.fail=True $ char.pose = "refuse" $ var1=20 $ var1-=player.personality call change_attr (char, 'love', -(var1)) from _call_change_attr_339 $ var2=25 $ var2-=player.SB call crosswire_anger (char, var2) from _call_crosswire_anger_4 $ var1=20 $ var1-=player.SB call change_attr (char, 'lust', -(var1)) from _call_change_attr_340 if char.taboo: "They are disgusted with you even mentioning it." elif char.lesbian_refusal: "You're not really their type." elif True: "You need 50 Love and 60 Lust to do that." call update_chat_menu from _call_update_chat_menu_34 return False elif True: if poly_gender: $ poly_gender=False "You focus for a moment, and shift your body back into it's natural form." $ player.persona = "B" window hide None $ char.fail=False if player.big_dick: $ var1=20 elif True: $ var1=40 $ var1-=char.corrate call change_attr (char, 'lust', -(var1)) from _call_change_attr_341 $ var1=15 $ var1+=char.curattraction call change_wp (+var1) from _call_change_wp_9 $ var1=10 call change_energy (+var1) from _call_change_energy_13 call update_chat_menu from _call_update_chat_menu_33 $ unlock_scene(char=char, tag='quickie') return True init python: register_scene(char_key="AUTO", tag='hj', scene_label='HJ', replay_label='[char_ikey]_hj_script') label person_polyhj(char): $ player.interactions-=3 $ char.daily_flags['hj'] = True if char.lust<50 or char.love<40 or char.taboo: $ char.fail=True $ char.pose = "refuse" call change_attr (char, 'love', -(20 - player.personality)) from _call_change_attr_1423 $ var1=25 $ var1-=player.SB call crosswire_anger (char, var1) from _call_crosswire_anger_103 call change_attr (char, 'lust', -(20 - player.SB)) from _call_change_attr_1424 if char.taboo: "They are disgusted with you even mentioning it." elif True: "You need 40 Love and 50 Lust to do that." call update_chat_menu from _call_update_chat_menu_60 return False elif True: if not poly_gender: call change_energy (-10) from _call_change_energy_132 "You focus for a moment, and shift your body into that of a female." $ player.persona = "BJ" $ poly_gender=True $ char.fail=False $ show_bar(char, 'lust') pause 0.5 $ var1=player.personality if player.big_dick: $ var1+=player.personality call change_attr (char, 'lust', +(var1)) from _call_change_attr_1425 call person_SPLlustcheck (char) from _call_person_SPLlustcheck_9 call change_attr (player, 'willpower', +(5 + char.curattraction)) from _call_change_attr_1426 call update_chat_menu from _call_update_chat_menu_61 $ unlock_scene(char=char, tag='hj') return True init python: register_scene(char_key="AUTO", tag='bj', scene_label='BJ', replay_label='[char_ikey]_bj_script') label person_polybj(char): $ char.daily_flags['bj'] = True $ player.interactions-=3 if char.lust<50 or char.love<40 or char.taboo: $ char.fail=True $ char.pose = "refuse" $ var1=20 $ var1-=player.personality call change_attr (char, 'love', -(var1)) from _call_change_attr_1427 $ var2=25 $ var2-=player.SB call crosswire_anger (char, var2) from _call_crosswire_anger_104 $ var1=20 $ var1-=player.SB call change_attr (char, 'lust', -(var1)) from _call_change_attr_1428 $ hide_stat_change_bar() if char.taboo: "They are disgusted with you even mentioning it." elif True: "You need 40 Love and 50 Lust to do that." call update_chat_menu from _call_update_chat_menu_62 return False elif True: if not poly_gender: call change_energy (-10) from _call_change_energy_133 "You focus for a moment, and shift your body into that of a female." $ player.persona = "BJ" $ poly_gender=True window hide None $ char.fail=False $ var1=player.personality if player.big_dick: $ var1+=player.personality call change_attr (char, 'lust', +(var1)) from _call_change_attr_1429 call person_SPLlustcheck (char) from _call_person_SPLlustcheck_10 $ var1=10 $ var1+=char.curattraction call change_wp (+var1) from _call_change_wp_39 $ var1=5 call change_energy (+var1) from _call_change_energy_134 call update_chat_menu from _call_update_chat_menu_63 $ unlock_scene(char=char, tag='bj') return True init python: register_scene(char_key="AUTO", tag='quickie', scene_label='Quickie', replay_label='[char_ikey]_quickie_script') label person_polyquickie(char): $ player.interactions-=3 $ char.daily_flags['quickie'] = True if char.lust<60 or char.love<50 or char.taboo: $ char.fail=True $ char.pose = "refuse" $ var1=20 $ var1-=player.personality call change_attr (char, 'love', -(var1)) from _call_change_attr_1430 $ var2=25 $ var2-=player.SB call crosswire_anger (char, var2) from _call_crosswire_anger_105 $ var1=20 $ var1-=player.SB call change_attr (char, 'lust', -(var1)) from _call_change_attr_1431 if char.taboo: "They are disgusted with you even mentioning it." elif True: "You need 50 Love and 60 Lust to do that." call update_chat_menu from _call_update_chat_menu_64 return False elif True: if not poly_gender: call change_energy (-10) from _call_change_energy_135 "You focus for a moment, and shift your body into that of a female." $ player.persona = "BJ" $ poly_gender=True window hide None $ char.fail=False if player.big_dick: $ var1=20 elif True: $ var1=40 $ var1-=char.corrate call change_attr (char, 'lust', -(var1)) from _call_change_attr_1432 $ var1=15 $ var1+=char.curattraction call change_wp (+var1) from _call_change_wp_40 $ var1=10 call change_energy (+var1) from _call_change_energy_136 call update_chat_menu from _call_update_chat_menu_65 $ unlock_scene(char=char, tag='quickie') return True init python: all_characters_except_sis = _get_char_keys_by_replay_label('[char_ikey]_sex1_script') all_characters_except_sis.remove('sis') register_scene(char_key=all_characters_except_sis, tag='sex', scene_label='Sex', replay_label='[char_ikey]_sex1_script', setup_label='sex_scene_replay_setup') register_scene(char_key='sis', tag='sex', scene_label='Sex', replay_label='[char_ikey]_sex1_script', setup_label='sex_scene_replay_setup', params=[ SceneParam(key='locale', name='Location', values=[ SceneParamValue('home', 'Home', expr='location="Your Room"'), SceneParamValue('school', 'School', expr='location="School"'), ])]) label sex_scene_replay_setup: $ char.love = 100 $ char.lust = 100 return label person_sex1(char): $ player.interactions-=3 $ char.daily_flags['sex'] = True if char.lust<40 or char.love<60 or char.taboo or char.lesbian_refusal: $ char.fail=True $ char.pose = "refuse" $ var1=20 $ var1-=player.personality call change_attr (char, 'love', -(var1)) from _call_change_attr_342 $ var2=25 $ var2-=player.SB call crosswire_anger (char, var2) from _call_crosswire_anger_5 $ var1=20 $ var1-=player.SB call change_attr (char, 'lust', -(var1)) from _call_change_attr_343 if char.taboo: "They look at you disgusted." elif char.lesbian_refusal: "You're not really their type." elif True: "You need 40 Lust and 60 Love to do that." call update_chat_menu from _call_update_chat_menu_36 return False elif True: if poly_gender: $ poly_gender=False "You focus for a moment, and shift your body back into it's natural form." $ player.persona = "B" $ char.fail=False call expression char.ikey + "_sex1_script" from _call_expression_75 return True label person_sex2s(char): if player.big_dick: $ var1=10 elif True: $ var1=20 $ var2=10 $ var3-=10 $ var1-=char.corrate return label person_sex3s(char): if player.big_dick: $ var1+=10 elif True: $ var1+=20 $ var2+=10 $ var3-=10 if char.inhibition>50: $ var4=1 $ var1-=char.corrate return label person_sex4s(char): if player.big_dick: $ var3-=20 $ var1+=20 if char.inhibition>=51: $ var4+=2 elif True: $ var1+=10 $ var3-=10 if char.inhibition>=51: $ var4+=1 $ var2+=20 $ var1-=char.corrate return label person_sex2g(char): $ var1=10 $ var2=5 $ var3+=10 $ var1-=char.corrate return label person_sex3g(char): if player.big_dick: $ var1+=5 elif True: $ var1+=10 $ var2+=10 $ var3+=10 if char.corruption<=49: $ var5=1 $ var1-=char.corrate return label person_sex4g(char): if player.big_dick: $ var3+=15 $ var1+=5 if char.corruption<=49: $ var5+=2 elif True: $ var1+=10 $ var3+=10 if char.corruption<=49: $ var5+=1 $ var2+=10 $ var1-=char.corrate return label person_sex5(char): call change_attr (char, 'lust', -var1) from _call_change_attr_145 call change_attr (player, 'willpower', +var2) from _call_change_attr_146 call change_attr (char, 'love', var3) from _call_change_attr_147 call person_SPLlovecheck (char) from _call_person_SPLlovecheck_5 $ hide_stat_change_bar() call change_attr (char, 'inhibition', -var4, show_bar_for_zero_change=False) from _call_change_attr_148 call change_attr (char, 'corruption', +var5, show_bar_for_zero_change=False) from _call_change_attr_149 call change_attr (player, 'energy', +20) from _call_change_attr_150 if char.ikey == 'sister': $ unlock_scene(char=char, tag='sex', params=dict(locale=char.current_locale)) elif True: $ unlock_scene(char=char, tag='sex') if is_truant(char): call school_cleanup from _call_school_cleanup_16 return label person_polysex1(char): $ player.interactions-=3 $ char.daily_flags['sex'] = True if char.lust<40 or char.love<60 or char.taboo: $ char.fail=True $ char.pose = "refuse" $ var1=20 $ var1-=player.personality call change_attr (char, 'love', -(var1)) from _call_change_attr_1433 $ var2=25 $ var2-=player.SB call crosswire_anger (char, var2) from _call_crosswire_anger_106 $ var1=20 $ var1-=player.SB call change_attr (char, 'lust', -(var1)) from _call_change_attr_1434 if char.taboo: "They look at you disgusted." elif True: "You need 40 Lust and 60 Love to do that." call update_chat_menu from _call_update_chat_menu_66 return False elif True: if not poly_gender: call change_energy (-10) from _call_change_energy_137 "You focus for a moment, and shift your body into that of a female." $ player.persona = "BJ" $ poly_gender=True $ char.fail=False call expression char.ikey + "_polysex1_script" from _call_expression_37 return True label person_polysex2s(char): if player.big_dick: $ var1=10 elif True: $ var1=20 $ var2=10 $ var3-=10 $ var1-=char.corrate return label person_polysex3s(char): if player.big_dick: $ var1+=10 elif True: $ var1+=20 $ var2+=10 $ var3-=10 if char.inhibition>50: $ var4=1 $ var1-=char.corrate return label person_polysex4s(char): if player.big_dick: $ var3-=20 $ var1+=20 if char.inhibition>=51: $ var4+=2 elif True: $ var1+=10 $ var3-=10 if char.inhibition>=51: $ var4+=1 $ var2+=20 $ var1-=char.corrate return label person_polysex2g(char): $ var1=10 $ var2=5 $ var3+=10 $ var1-=char.corrate return label person_polysex3g(char): if player.big_dick: $ var1+=5 elif True: $ var1+=10 $ var2+=10 $ var3+=10 if char.corruption<=49: $ var5=1 $ var1-=char.corrate return label person_polysex4g(char): if player.big_dick: $ var3+=15 $ var1+=5 if char.corruption<=49: $ var5+=2 elif True: $ var1+=10 $ var3+=10 if char.corruption<=49: $ var5+=1 $ var2+=10 $ var1-=char.corrate return label person_polysex5(char): call change_attr (char, 'lust', -var1) from _call_change_attr_1435 call change_attr (player, 'willpower', +var2) from _call_change_attr_1436 call change_attr (char, 'love', var3) from _call_change_attr_1437 call person_SPLlovecheck (char) from _call_person_SPLlovecheck_10 $ hide_stat_change_bar() call change_attr (char, 'inhibition', -var4, show_bar_for_zero_change=False) from _call_change_attr_1438 call change_attr (char, 'corruption', +var5, show_bar_for_zero_change=False) from _call_change_attr_1439 call change_attr (player, 'energy', +20) from _call_change_attr_1440 if char.ikey == 'sister': $ unlock_scene(char=char, tag='sex', params=dict(locale=char.current_locale)) elif True: $ unlock_scene(char=char, tag='sex') if is_truant(char): call school_cleanup from _call_school_cleanup_36 return label person_apologize(char): $ player.interactions-=1 $ char.daily_flags['apologize'] = True $ var1=player.persuasion+player.SB $ var2=player.personality call change_attr (char, 'anger', -(var1)) from _call_change_attr_257 call change_attr (char, 'suspicion', -(var2)) from _call_change_attr_584 $ hide_stat_change_bar() call update_chat_menu from _call_update_chat_menu_41 return label person_soothe(char): $ player.interactions-=2 $ char.daily_flags['soothe'] = True $ var1=player.persuasion+player.SB $ var2=player.leadership call change_attr (char, 'suspicion', -(var2)) from _call_change_attr_585 call change_attr (char, 'fear', -(var1)) from _call_change_attr_258 call update_chat_menu from _call_update_chat_menu_42 return label person_beg(char): $ player.interactions-=3 $ char.daily_flags['beg'] = True $ var1=player.persuasion+player.personality $ var2=player.leadership call change_attr (char, 'suspicion', -(var2)) from _call_change_attr_586 call change_attr (char, 'fear', -(var1)) from _call_change_attr_259 call change_attr (char, 'anger', -(var1)) from _call_change_attr_260 call update_chat_menu from _call_update_chat_menu_43 return label person_taunt(char): $ player.interactions-=1 $ char.phase_flags['taunt'] = True $ var1=20 $ var1-=player.social if char.favor>=var1: call change_attr (char, 'favor', -(var1)) from _call_change_attr_261 $ var1=player.persuasion call change_attr (char, 'willpower', -(var1)) from _call_change_attr_262 $ var1=player.personality call crosswire_anger (char, var1) from _call_crosswire_anger_6 elif True: $ var1=40 $ var1-=player.social call change_attr (char, 'favor', -(var1)) from _call_change_attr_263 call change_attr (char, 'willpower', +(10)) from _call_change_attr_264 call crosswire_anger (char, 20) from _call_crosswire_anger_7 "They seem really pissed. You might have pushed your luck a bit." call update_chat_menu from _call_update_chat_menu_44 return label person_brag(char): $ player.interactions-=1 $ char.phase_flags['brag'] = True $ var1=15 $ var1-=player.social if char.favor>=var1: call change_attr (char, 'favor', -(var1)) from _call_change_attr_265 $ var1=player.persuasion call change_attr (char, 'willpower', -(var1)) from _call_change_attr_266 $ var1=player.leadership $ var1/=2 call crosswire_fear (char, var1) from _call_crosswire_fear elif True: $ var1=40 $ var1-=player.social call change_attr (char, 'favor', -(var1)) from _call_change_attr_267 call change_attr (char, 'willpower', +(10)) from _call_change_attr_268 call crosswire_anger (char, 20) from _call_crosswire_anger_8 "You didn't get the result you were hoping for. They just appear annoyed." call update_chat_menu from _call_update_chat_menu_45 return label person_insult(char): $ player.interactions-=2 $ char.daily_flags['insult'] = True $ var1=20 $ var1-=player.social if char.favor>=var1 and char.love>=var1: call change_attr (char, 'favor', -(var1)) from _call_change_attr_269 call change_attr (char, 'love', -(var1)) from _call_change_attr_270 $ var1=player.persuasion $ var1+=player.SB call change_attr (char, 'willpower', -(var1)) from _call_change_attr_271 $ var1=player.SB $ var1+=player.personality call crosswire_anger (char, var1) from _call_crosswire_anger_9 elif True: $ var1=40 $ var1-=player.social call change_attr (char, 'favor', -(var1)) from _call_change_attr_272 call change_attr (char, 'love', -(var1)) from _call_change_attr_273 call change_attr (char, 'willpower', +(20)) from _call_change_attr_274 call crosswire_anger (char, 40) from _call_crosswire_anger_10 "They seem really pissed. You might have pushed your luck a bit." call update_chat_menu from _call_update_chat_menu_46 return label person_threaten(char): $ player.interactions-=2 $ char.daily_flags['threaten'] = True $ var1=20 $ var1-=player.social if char.favor>=var1 and char.love>=var1: call change_attr (char, 'favor', -(var1)) from _call_change_attr_275 call change_attr (char, 'love', -(var1)) from _call_change_attr_276 $ var1=player.persuasion $ var1+=player.SB call change_attr (char, 'willpower', -(var1)) from _call_change_attr_277 $ var1=player.leadership call crosswire_fear (char, var1) from _call_crosswire_fear_1 elif True: $ var1=40 $ var1-=player.social call change_attr (char, 'favor', -(var1)) from _call_change_attr_278 call change_attr (char, 'love', -(var1)) from _call_change_attr_279 call change_attr (char, 'willpower', +(20)) from _call_change_attr_280 call crosswire_anger (char, 40) from _call_crosswire_anger_11 "You pushed a little to far... now they're just angry at you." call update_chat_menu from _call_update_chat_menu_47 return label person_slap(char): $ player.interactions-=2 $ char.daily_flags['slap'] = True $ var1=30 $ var1-=player.social if char.favor>=var1 and char.love>=var1: call change_attr (char, 'favor', -(var1)) from _call_change_attr_281 call change_attr (char, 'love', -(var1)) from _call_change_attr_282 $ var2=player.SB+player.PB call crosswire_anger (char, var2) from _call_crosswire_anger_12 $ var2=player.physical+player.fitness call crosswire_fear (char, var2) from _call_crosswire_fear_2 elif True: $ var1=60 $ var1-=player.social call change_attr (char, 'favor', -(var1)) from _call_change_attr_283 call change_attr (char, 'love', -(var1)) from _call_change_attr_284 call change_attr (char, 'willpower', +(20)) from _call_change_attr_285 call crosswire_anger (char, 50) from _call_crosswire_anger_13 "They seem really pissed. You might have pushed your luck a bit." call update_chat_menu from _call_update_chat_menu_48 return label person_terrorize(char): $ player.interactions-=2 $ char.daily_flags['terrorize'] = True $ var1=30 $ var1-=player.social if char.favor>=var1 and char.love>=var1: call change_attr (char, 'favor', -(var1)) from _call_change_attr_286 call change_attr (char, 'love', -(var1)) from _call_change_attr_287 call crosswire_fear (char, player.leadership + player.SB) from _call_crosswire_fear_3 $ var1=player.persuasion+player.social call change_attr (char, 'willpower', -(var1)) from _call_change_attr_288 elif True: $ var1=60 $ var1-=player.social call change_attr (char, 'favor', -(var1)) from _call_change_attr_289 call change_attr (char, 'love', -(var1)) from _call_change_attr_290 call change_attr (char, 'willpower', +(20)) from _call_change_attr_291 call crosswire_anger (char, 50) from _call_crosswire_anger_14 "You pushed a little to far... now they're just angry at you." call update_chat_menu from _call_update_chat_menu_49 return label person_coercedhj(char): $ player.interactions-=3 $ char.daily_flags['coercionhj'] = True if char.professional: $ var1=40 $ var2=40 $ var2-=player.persuasion elif True: $ var1=20 $ var2=20 $ var2-=player.persuasion $ var3=char.curattraction $ var3+=5 if char.fear>=var1 and char.love>=var2 and not char.taboo: $ var1 -= player.social $ var1 //= 2 call change_attr (char, 'love', -(var1)) from _call_change_attr_292 call crosswire_anger (char, (var1)) from _call_crosswire_anger_157 call change_wp (+15) from _call_change_wp_3 $ var1=10 call change_energy (+var3) from _call_change_energy_7 if player.alignment>45: call change_attr (player, 'alignment', -1) from _call_change_attr_293 elif True: $ var1=20 $ var1-=player.persuasion call change_attr (char, 'favor', -(var1)) from _call_change_attr_294 call change_attr (char, 'love', -(var1)) from _call_change_attr_295 call change_attr (char, 'willpower', +(20)) from _call_change_attr_296 call crosswire_anger (char, var1) from _call_crosswire_anger_15 if char.professional: $ var1=40 $ var2=40 $ var2-=player.persuasion elif True: $ var1=20 $ var2=20 $ var2-=player.persuasion if char.taboo: "They still see you as a relative." elif True: "You need [var1] Fear and [var2] Love to do that." call update_chat_menu from _call_update_chat_menu_50 return label person_coercedbj(char): $ player.interactions-=3 $ char.daily_flags['coercionbj'] = True if char.professional: $ var1=60 $ var2=60 $ var2-=player.persuasion elif True: $ var1=30 $ var2=30 $ var2-=player.persuasion $ var3=char.curattraction $ var3+=10 if char.fear>=var1 and char.love>=var2 and not char.taboo: $ var1 -= player.social $ var1 //= 2 call change_attr (char, 'love', -(var1)) from _call_change_attr_297 call crosswire_anger (char, (var1)) from _call_crosswire_anger_158 $ hide_stat_change_bar() call change_wp (+20) from _call_change_wp_4 $ var1=15 call change_energy (+var3) from _call_change_energy_8 if player.alignment>40: call change_attr (player, 'alignment', -1) from _call_change_attr_298 elif True: $ var1=30 $ var1-=player.persuasion call change_attr (char, 'favor', -(var1)) from _call_change_attr_299 call change_attr (char, 'love', -(var1)) from _call_change_attr_300 call change_attr (char, 'willpower', +(20)) from _call_change_attr_301 call crosswire_anger (char, var1) from _call_crosswire_anger_16 if char.professional: $ var1=60 $ var2=60 $ var2-=player.persuasion elif True: $ var1=30 $ var2=30 $ var2-=player.persuasion if char.taboo: "They still see you as a relative." elif True: "You need [var1] Fear and [var2] Love to do that." call update_chat_menu from _call_update_chat_menu_51 return label person_coerceddt(char): $ player.interactions-=3 $ char.daily_flags['coercionbj'] = True if char.professional: $ var1=70 $ var2=70 $ var2-=player.persuasion elif True: $ var1=35 $ var2=35 $ var2-=player.persuasion $ var3=char.curattraction $ var3+=15 if char.fear>=var1 and char.love>=var2 and not char.taboo: $ var1 -= player.social $ var1 //= 2 call change_attr (char, 'love', -(var1)) from _call_change_attr_302 call crosswire_anger (char, (var1)) from _call_crosswire_anger_159 call change_wp (+25) from _call_change_wp_5 $ var1=20 call change_energy (+var3) from _call_change_energy_9 if player.alignment>35: call change_attr (player, 'alignment', -2) from _call_change_attr_303 elif True: $ var1=35 $ var1-=player.persuasion call change_attr (char, 'favor', -(var1)) from _call_change_attr_304 call change_attr (char, 'love', -(var1)) from _call_change_attr_305 call change_attr (char, 'willpower', +(20)) from _call_change_attr_306 call crosswire_anger (char, var1) from _call_crosswire_anger_17 if char.professional: $ var1=70 $ var2=70 $ var2-=player.persuasion elif True: $ var1=35 $ var2=35 $ var2-=player.persuasion "You need [var1] Fear and [var2] Love to do that." call update_chat_menu from _call_update_chat_menu_52 return label person_coercedsex(char): $ player.interactions-=3 $ char.daily_flags['coercionsex'] = True if char.professional: $ var1=80 $ var2=80 $ var2-=player.persuasion elif True: $ var1=40 $ var2=40 $ var2-=player.persuasion $ var3=char.curattraction $ var3+=15 if char.fear>=var1 and char.love>=var2 and not char.taboo: $ var1 -= player.social $ var1 //= 2 call change_attr (char, 'love', -(var1)) from _call_change_attr_307 call crosswire_anger (char, (var1)) from _call_crosswire_anger_160 call change_wp (+20) from _call_change_wp_6 $ var1=20 call change_energy (+var3) from _call_change_energy_10 if player.alignment>35: call change_attr (player, 'alignment', -1) from _call_change_attr_308 $ char.present=False $ interactscreen=False elif True: $ var1=40 $ var1-=player.persuasion call change_attr (char, 'favor', -(var1)) from _call_change_attr_309 call change_attr (char, 'love', -(var1)) from _call_change_attr_310 call change_attr (char, 'willpower', +(20)) from _call_change_attr_311 call crosswire_anger (char, var1) from _call_crosswire_anger_18 if char.professional: $ var1=80 $ var2=80 $ var2-=player.persuasion elif True: $ var1=40 $ var2=40 $ var2-=player.persuasion if char.taboo: "They still see you as a relative." elif True: "You need [var1] Fear and [var2] Love to do that." call update_chat_menu from _call_update_chat_menu_53 return label person_coercedanal(char): $ player.interactions-=3 $ char.daily_flags['coercionsex'] = True if char.professional: $ var1=90 $ var2=90 $ var2-=player.persuasion elif True: $ var1=45 $ var2=45 $ var2-=player.persuasion $ var3=char.curattraction $ var3+=20 if char.fear>=var1 and char.love>=var2 and not char.taboo: $ var1 -= player.social $ var1 //= 2 call change_attr (char, 'love', -(var1)) from _call_change_attr_312 call crosswire_anger (char, (var1)) from _call_crosswire_anger_161 $ var1=30 call change_wp (+var1) from _call_change_wp_7 $ var1=25 call change_energy (+var3) from _call_change_energy_11 if player.alignment>35: call change_attr (player, 'alignment', -(2)) from _call_change_attr_313 $ char.present=False $ interactscreen=False elif True: $ var1=45 $ var1-=player.persuasion call change_attr (char, 'favor', -(var1)) from _call_change_attr_314 call change_attr (char, 'love', -(var1)) from _call_change_attr_315 call change_attr (char, 'willpower', +(20)) from _call_change_attr_316 call crosswire_anger (char, var1) from _call_crosswire_anger_19 if char.professional: $ var1=90 $ var2=90 $ var2-=player.persuasion elif True: $ var1=45 $ var2=45 $ var2-=player.persuasion "You need [var1] Fear and [var2] Love to do that." call update_chat_menu from _call_update_chat_menu_54 return label aura_screen: window hide None call screen auras() window show None return screen auras(): default tt = Tooltip("") text tt.value: xalign 0.5 yalign 0.5 size 50 drop_shadow (2, 2) showif player.power_CHA>=1: imagebutton: focus_mask True xalign 0.63 yalign 0.24 mouse "imagemap" hovered tt.Action ("Aura Dread") if dread_active: idle "GUI/Aura/PSYdread_active.png" hover "GUI/Aura/PSYdread_hover.png" action SetVariable("dread_active", value = False), Return() else: idle "GUI/Aura/PSYdread_idle.png" hover "GUI/Aura/PSYdread_hover.png" action SetVariable("dread_active", value = True), SetVariable("apathy_active", value = False), SetVariable("insanity_active", value = False), Return() showif player.power_CHA>=2: imagebutton: focus_mask True xalign 0.76 yalign 0.37 mouse "imagemap" hovered tt.Action ("Aura Apathy") if apathy_active: idle "GUI/Aura/PSYapathy_active.png" hover "GUI/Aura/PSYapathy_hover.png" action SetVariable("apathy_active", value = False), Return() else: idle "GUI/Aura/PSYapathy_idle.png" hover "GUI/Aura/PSYapathy_hover.png" action SetVariable("apathy_active", value = True), SetVariable("dread_active", value = False), SetVariable("insanity_active", value = False), Return() showif player.power_CHA==3: imagebutton: focus_mask True xalign 0.89 yalign 0.5 mouse "imagemap" hovered tt.Action ("Aura Insanity") if insanity_active: idle "GUI/Aura/PSYinsanity_active.png" hover "GUI/Aura/PSYinsanity_hover.png" action SetVariable("insanity_active", value = False), Return() else: idle "GUI/Aura/PSYinsanity_idle.png" hover "GUI/Aura/PSYinsanity_hover.png" action SetVariable("insanity_active", value = True), SetVariable("apathy_active", value = False), SetVariable("dread_active", value = False), Return() label aura_check(char): if dread_active and not char.daily_flags['dread']: $ char.daily_flags['dread']=True call change_attr (char, 'fear', +(player.SB), text='+[player.SB] Fear\n{size=-20}due to Dread Aura.{/size}') from _call_change_attr_317 if char.willpower<50: call change_attr (char, 'willpower', -(player.SB), text='-[player.SB] Willpower\n{size=-20}due to Dread Aura.{/size}') from _call_change_attr_318 elif apathy_active and not char.daily_flags['apathy']: $ char.daily_flags['apathy']=True call change_attr (char, 'anger', -(player.SB), text='-[player.SB] Anger\n{size=-20}due to Apathy Aura.{/size}') from _call_change_attr_319 if char.willpower<50: call change_attr (char, 'suspicion', -(player.SB), text='-[player.SB] Suspicion\n{size=-20}due to Apathy Aura.{/size}') from _call_change_attr_320 elif insanity_active and not char.daily_flags['insanity']: $ char.daily_flags['insanity']=True if char.willpower>50: $ var2=renpy.random.randint(1, 15) if var2==1: $ char.unstable=True $ char.nymphomaniac=False $ char.obsessive=False $ char.volatile=True if char.related and char.supress != "Familial Ties+": $ char.taboo=True if var2==2: $ char.unstable=True $ char.nymphomaniac=False $ char.obsessive=True $ char.volatile=False if char.related: $ char.taboo=False if var2==3: $ char.unstable=True $ char.nymphomaniac=True $ char.obsessive=False $ char.volatile=False if char.related: $ char.taboo=False if var2==4 or var2==5: call change_attr (char, 'lust', +(5), text='+5 Lust\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_321 if var2==6 or var2==7: call change_attr (char, 'inhibition', -(1), text='-1 Inhibition\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_322 if var2==8 or var2==9: call change_attr (char, 'corruption', +(1), text='+1 Corruption\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_323 if var2==10 or var2==11: call change_attr (char, 'anger', +(5), text='+5 Anger\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_324 if var2==12 or var2==13: call change_attr (char, 'fear', +(2), text='+2 Fear\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_325 if var2==14 or var2==15: call change_attr (char, 'favor', +(5), text='+5 Favor\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_326 elif True: $ var2=renpy.random.randint(1, 16) if var2==16: if char.unstable and char.psylocked: $ char.psylocked=False elif char.unstable: $ char.psylocked=True if var2==1: $ char.unstable=True $ char.nymphomaniac=False $ char.obsessive=False $ char.volatile=True if char.related and char.supress != "Familial Ties+": $ char.taboo=True if var2==2: $ char.unstable=True $ char.nymphomaniac=False $ char.obsessive=True $ char.volatile=False if char.related: $ char.taboo=False if var2==3: $ char.unstable=True $ char.nymphomaniac=True $ char.obsessive=False $ char.volatile=False if char.related: $ char.taboo=False if var2==4 or var2==5: call change_attr (char, 'lust', +(10), text='+10 Lust\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_327 if var2==6 or var2==7: call change_attr (char, 'inhibition', -(3), text='-3 Inhibition\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_328 if var2==8 or var2==9: call change_attr (char, 'corruption', +(3), text='+3 Corruption\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_329 if var2==10 or var2==11: call change_attr (char, 'anger', +(10), text='+10 Anger\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_330 if var2==12 or var2==13: call change_attr (char, 'fear', +(4), text='+4 Fear\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_331 if var2==14 or var2==15: call change_attr (char, 'favor', +(10), text='+10 Favor\n{size=-20}due to Insanity Aura.{/size}') from _call_change_attr_332 call person_posecheck (char) from _call_person_posecheck_38 return # Decompiled by unrpyc: https://github.com/CensoredUsername/unrpyc