Esempio n. 1
0
 def on_building_basic_elements(cls, interaction_instance, sequence):
     sim = cls.get_interaction_sim(interaction_instance)
     is_autonomy = cls.get_interaction_source(
         interaction_instance
     ) == TurboInteractionUtil.InteractionSource.AUTONOMY
     if TurboSimUtil.Sim.is_player(sim) and is_autonomy:
         text_tokens = [sim]
         if is_autonomy is True and sim_ev(
                 sim).last_nudity_denied_permissions is not None:
             for denied_permission in sim_ev(
                     sim).last_nudity_denied_permissions:
                 if denied_permission == NudityPermissionDenied.NOT_AT_HOME:
                     text_tokens.append(2434379342)
                 elif denied_permission == NudityPermissionDenied.OUTSIDE:
                     text_tokens.append(14125364)
                 else:
                     if denied_permission == NudityPermissionDenied.TOO_MANY_SIMS_AROUND:
                         text_tokens.append(902300171)
         for _ in range(11 - len(text_tokens)):
             text_tokens.append(0)
         nudity_notification(text=2998371344,
                             text_tokens=text_tokens,
                             icon=sim,
                             sims=(sim, ),
                             is_autonomy=is_autonomy)
     sim_ev(sim).last_nudity_denied_permissions = None
     outfit_category_and_index = dress_up_outfit(sim,
                                                 skip_outfit_change=True)
     return TurboSimUtil.CAS.get_change_outfit_element(
         sim,
         outfit_category_and_index,
         do_spin=True,
         interaction=interaction_instance,
         dirty_outfit=True)
Esempio n. 2
0
def trigger_story_progression():
    story_progression_debug_sims_count = 0
    story_progression_debug_data = list()
    for sim_info in TurboManagerUtil.Sim.get_all_sim_info_gen(humans=True,
                                                              pets=False):
        if TurboSimUtil.Age.is_younger_than(sim_info, TurboSimUtil.Age.CHILD):
            pass
        if not TurboSimUtil.Component.has_component(
                sim_info, TurboComponentUtil.ComponentType.STATISTIC):
            pass
        if has_sim_reached_max_nudity_skill_level(sim_info):
            pass
        nudity_skill_value = get_sim_nudity_skill_level(
            sim_info) + get_sim_nudity_skill_progress(sim_info)
        influence_amount = _update_and_get_influence_score(sim_info)
        if influence_amount > 0:
            increase_sim_nudity_skill(sim_info, influence_amount)
            story_progression_debug_data.append(
                (TurboSimUtil.Name.get_name(sim_info), nudity_skill_value,
                 influence_amount))
        story_progression_debug_sims_count += 1
    from wickedwhims.debug.debug_controller import is_main_debug_flag_enabled
    if is_main_debug_flag_enabled():
        debug_text = ''
        for ((sim_first_name, sim_last_name), current_skill_value,
             influence_amount) in story_progression_debug_data:
            debug_text += '\n' + str(sim_first_name) + ' ' + str(
                sim_last_name) + ': ' + str(
                    '%.2f' % current_skill_value) + ' -> ' + str(
                        '%.2f' %
                        (current_skill_value + influence_amount / 100))
        nudity_notification(text='Checked Sims: ' +
                            str(story_progression_debug_sims_count) +
                            '\nLeveled Sims:' + debug_text,
                            title='Nudity Story Progression')
Esempio n. 3
0
def _has_permission_to_undress(interaction_sim, interaction_context):
    (has_permission, denied_permissions) = has_sim_permission_for_nudity(
        interaction_sim, nudity_setting_test=True)
    if has_permission is True:
        return True
    is_autonomy = interaction_context == TurboInteractionUtil.InteractionSource.AUTONOMY
    if is_autonomy is True:
        return False
    text_tokens = [interaction_sim]
    for denied_permission in denied_permissions:
        if denied_permission == NudityPermissionDenied.NOT_AT_HOME:
            text_tokens.append(2434379342)
        elif denied_permission == NudityPermissionDenied.OUTSIDE:
            text_tokens.append(14125364)
        else:
            if denied_permission == NudityPermissionDenied.TOO_MANY_SIMS_AROUND:
                text_tokens.append(902300171)
    for _ in range(11 - len(text_tokens)):
        text_tokens.append(0)
    nudity_notification(text=2447814946,
                        text_tokens=text_tokens,
                        icon=interaction_sim,
                        sims=(interaction_sim, ),
                        is_autonomy=is_autonomy)
    return False
Esempio n. 4
0
 def on_building_basic_elements(cls, interaction_instance, sequence):
     sim = cls.get_interaction_sim(interaction_instance)
     top_body_state = get_sim_body_state(sim,
                                         TurboCASUtil.BodyType.UPPER_BODY)
     bottom_body_state = get_sim_body_state(
         sim, TurboCASUtil.BodyType.LOWER_BODY)
     strip_type_top = StripType.NUDE if top_body_state == BodyState.UNDERWEAR else StripType.NONE
     strip_type_bottom = StripType.NUDE if bottom_body_state == BodyState.UNDERWEAR else StripType.NONE
     strip_result = strip_outfit(sim,
                                 strip_type_top=strip_type_top,
                                 strip_type_bottom=strip_type_bottom,
                                 skip_outfit_change=True,
                                 save_original=False)
     if strip_result is True:
         set_sim_top_naked_state(sim, True)
         set_sim_bottom_naked_state(sim, True)
         set_sim_top_underwear_state(sim, False)
         set_sim_bottom_underwear_state(sim, False)
         nudity_notification(
             text=3110156917,
             text_tokens=(sim, ),
             icon=sim,
             sims=(sim, ),
             is_autonomy=cls.get_interaction_source(interaction_instance) ==
             TurboInteractionUtil.InteractionSource.AUTONOMY)
         return TurboSimUtil.CAS.get_change_outfit_element(
             sim, (TurboCASUtil.OutfitCategory.SPECIAL, 0),
             do_spin=True,
             interaction=interaction_instance)
Esempio n. 5
0
 def on_building_basic_elements(cls, interaction_instance, sequence):
     sim = cls.get_interaction_sim(interaction_instance)
     has_top_underwear_on = TurboSimUtil.Gender.is_female(sim) and (
         is_underwear_outfit(get_modified_outfit(sim)[0])
         and is_sim_top_underwear(sim))
     has_bottom_underwear_on = is_underwear_outfit(
         get_modified_outfit(sim)[0]) and is_sim_bottom_underwear(sim)
     strip_type_top = StripType.UNDERWEAR if has_top_underwear_on else StripType.NUDE
     strip_type_bottom = StripType.UNDERWEAR if has_bottom_underwear_on else StripType.NUDE
     strip_result = strip_outfit(sim,
                                 strip_type_top=strip_type_top,
                                 strip_type_bottom=strip_type_bottom,
                                 skip_outfit_change=True)
     if strip_result is True:
         set_sim_top_naked_state(sim, strip_type_top == StripType.NUDE)
         set_sim_bottom_naked_state(sim,
                                    strip_type_bottom == StripType.NUDE)
         set_sim_top_underwear_state(sim,
                                     strip_type_top == StripType.UNDERWEAR)
         set_sim_bottom_underwear_state(
             sim, strip_type_bottom == StripType.UNDERWEAR)
         nudity_notification(
             text=2191667249,
             text_tokens=(sim, ),
             icon=sim,
             sims=(sim, ),
             is_autonomy=cls.get_interaction_source(interaction_instance) ==
             TurboInteractionUtil.InteractionSource.AUTONOMY)
         return TurboSimUtil.CAS.get_change_outfit_element(
             sim, (TurboCASUtil.OutfitCategory.SPECIAL, 0),
             do_spin=True,
             interaction=interaction_instance)
Esempio n. 6
0
 def on_interaction_start(cls, interaction_instance):
     sim = cls.get_interaction_sim(interaction_instance)
     target = cls.get_interaction_target(interaction_instance)
     _flash_sim_result(sim, target)
     increase_sim_ww_statistic(sim, 'times_flashed_top')
     nudity_notification(
         text=2396534391,
         text_tokens=(sim, target),
         icon=sim,
         sims=(sim, target),
         is_autonomy=cls.get_interaction_source(interaction_instance) ==
         TurboInteractionUtil.InteractionSource.AUTONOMY)
     return True
Esempio n. 7
0
 def on_building_basic_elements(cls, interaction_instance, sequence):
     sim = cls.get_interaction_sim(interaction_instance)
     put_sim_underwear_on(sim, skip_outfit_change=True)
     nudity_notification(
         text=1950586772,
         text_tokens=(sim, ),
         icon=sim,
         sims=(sim, ),
         is_autonomy=cls.get_interaction_source(interaction_instance) ==
         TurboInteractionUtil.InteractionSource.AUTONOMY)
     return TurboSimUtil.CAS.get_change_outfit_element(
         sim, (TurboCASUtil.OutfitCategory.SPECIAL, 0),
         do_spin=True,
         interaction=interaction_instance)
Esempio n. 8
0
 def on_interaction_start(cls, interaction_instance):
     sim = cls.get_interaction_sim(interaction_instance)
     target = cls.get_interaction_target(interaction_instance)
     _flash_sim_result(sim, target)
     increase_sim_ww_statistic(sim, 'times_flashed_bottom')
     set_sim_penis_state(sim, True, 5)
     nudity_notification(
         text=1399400780,
         text_tokens=(sim, target),
         icon=sim,
         sims=(sim, target),
         is_autonomy=cls.get_interaction_source(interaction_instance) ==
         TurboInteractionUtil.InteractionSource.AUTONOMY)
     return True
Esempio n. 9
0
 def on_building_basic_elements(cls, interaction_instance, sequence):
     sim = cls.get_interaction_sim(interaction_instance)
     strip_result = strip_outfit(sim,
                                 strip_bodytype=8,
                                 skip_outfit_change=True)
     if strip_result is True:
         nudity_notification(
             text=4281967896,
             text_tokens=(sim, ),
             icon=sim,
             sims=(sim, ),
             is_autonomy=cls.get_interaction_source(interaction_instance) ==
             TurboInteractionUtil.InteractionSource.AUTONOMY)
         return TurboSimUtil.CAS.get_change_outfit_element(
             sim, (TurboCASUtil.OutfitCategory.SPECIAL, 0),
             do_spin=True,
             interaction=interaction_instance)
Esempio n. 10
0
 def on_building_basic_elements(cls, interaction_instance, sequence):
     sim = cls.get_interaction_sim(interaction_instance)
     strip_result = strip_outfit(sim,
                                 strip_type_top=StripType.NUDE,
                                 skip_outfit_change=True,
                                 save_original=False)
     if strip_result is True:
         set_sim_top_naked_state(sim, True)
         set_sim_top_underwear_state(sim, False)
         nudity_notification(
             text=1357018163,
             text_tokens=(sim, ),
             icon=sim,
             sims=(sim, ),
             is_autonomy=cls.get_interaction_source(interaction_instance) ==
             TurboInteractionUtil.InteractionSource.AUTONOMY)
         return TurboSimUtil.CAS.get_change_outfit_element(
             sim, (TurboCASUtil.OutfitCategory.SPECIAL, 0),
             do_spin=True,
             interaction=interaction_instance)
Esempio n. 11
0
 def on_building_basic_elements(cls, interaction_instance, sequence):
     sim = cls.get_interaction_sim(interaction_instance)
     if get_nudity_setting(
             NuditySetting.COMPLETE_UNDRESSING_TYPE,
             variable_type=int) == CompleteUndressingTypeSetting.DEFAULT:
         reset_sim_bathing_outfits(sim)
         strip_result = copy_outfit_to_special(
             sim,
             set_special_outfit=False,
             outfit_category_and_index=(TurboCASUtil.OutfitCategory.BATHING,
                                        0),
             override_outfit_parts={
                 115: sim_ev(sim).nude_outfit_parts[115]
             })
     else:
         strip_result = copy_outfit_to_special(
             sim,
             set_special_outfit=False,
             outfit_category_and_index=get_modified_outfit(sim),
             override_outfit_parts={
                 TurboCASUtil.BodyType.UPPER_BODY:
                 sim_ev(sim).nude_outfit_parts[
                     TurboCASUtil.BodyType.UPPER_BODY],
                 TurboCASUtil.BodyType.LOWER_BODY:
                 sim_ev(sim).nude_outfit_parts[
                     TurboCASUtil.BodyType.LOWER_BODY],
                 TurboCASUtil.BodyType.SHOES:
                 sim_ev(sim).nude_outfit_parts[TurboCASUtil.BodyType.SHOES],
                 TurboCASUtil.BodyType.FULL_BODY:
                 0,
                 TurboCASUtil.BodyType.HAT:
                 0,
                 TurboCASUtil.BodyType.CUMMERBUND:
                 0,
                 TurboCASUtil.BodyType.EARRINGS:
                 0,
                 TurboCASUtil.BodyType.GLASSES:
                 0,
                 TurboCASUtil.BodyType.NECKLACE:
                 0,
                 TurboCASUtil.BodyType.GLOVES:
                 0,
                 TurboCASUtil.BodyType.WRIST_LEFT:
                 0,
                 TurboCASUtil.BodyType.WRIST_RIGHT:
                 0,
                 TurboCASUtil.BodyType.SOCKS:
                 0,
                 TurboCASUtil.BodyType.TIGHTS:
                 0,
                 115:
                 sim_ev(sim).nude_outfit_parts[115]
             })
     if strip_result is True:
         set_sim_top_naked_state(sim, True)
         set_sim_bottom_naked_state(sim, True)
         set_sim_top_underwear_state(sim, False)
         set_sim_bottom_underwear_state(sim, False)
         nudity_notification(
             text=2191667249,
             text_tokens=(sim, ),
             icon=sim,
             sims=(sim, ),
             is_autonomy=cls.get_interaction_source(interaction_instance) ==
             TurboInteractionUtil.InteractionSource.AUTONOMY)
         return TurboSimUtil.CAS.get_change_outfit_element(
             sim, (TurboCASUtil.OutfitCategory.SPECIAL, 0),
             do_spin=True,
             interaction=interaction_instance,
             dirty_outfit=True)