コード例 #1
0
def update_sim_underwear_data(sim_identifier):
    sim_info = TurboManagerUtil.Sim.get_sim_info(sim_identifier)
    current_outfit_category = TurboSimUtil.CAS.get_current_outfit(sim_info)[0]
    if current_outfit_category == TurboCASUtil.OutfitCategory.SPECIAL:
        return
    from wickedwhims.nudity.nudity_settings import get_nudity_setting, NuditySetting
    if get_nudity_setting(
            NuditySetting.UNDERWEAR_SWITCH_STATE,
            variable_type=bool) and not has_sim_trait(
                sim_info, SimTrait.WW_NO_UNDERWEAR) and is_underwear_outfit(
                    current_outfit_category):
        set_sim_top_underwear_state(
            sim_info,
            True if TurboSimUtil.Gender.is_female(sim_info) else False)
        set_sim_bottom_underwear_state(sim_info, True)
        top_state = get_sim_body_state(sim_info, 6)
        bottom_state = get_sim_body_state(sim_info, 7)
        if top_state == BodyState.UNDERWEAR:
            set_sim_top_underwear_state(sim_info, True)
        elif top_state == BodyState.NUDE:
            set_sim_top_underwear_state(sim_info, False)
        if bottom_state == BodyState.UNDERWEAR:
            set_sim_bottom_underwear_state(sim_info, True)
        else:
            set_sim_bottom_underwear_state(sim_info, False)
    else:
        set_sim_top_underwear_state(sim_info, False)
        set_sim_bottom_underwear_state(sim_info, False)
コード例 #2
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)
コード例 #3
0
 def on_interaction_test(cls, interaction_context, interaction_target):
     if not TurboTypesUtil.Sims.is_sim(interaction_target):
         return False
     sim = cls.get_interaction_sim(interaction_context)
     if is_sim_in_sex(sim) or (is_sim_going_to_sex(sim)
                               or is_sim_in_sex(interaction_target)
                               ) or is_sim_going_to_sex(interaction_target):
         return False
     if get_sim_body_state(interaction_target, 6) != BodyState.OUTFIT:
         return True
     if get_sim_body_state(interaction_target, 7) != BodyState.OUTFIT:
         return True
     return False
コード例 #4
0
 def on_interaction_test(cls, interaction_context, interaction_target):
     sim = cls.get_interaction_sim(interaction_context)
     if is_sim_in_sex(sim) or (is_sim_going_to_sex(sim)
                               or is_sim_in_sex(interaction_target)
                               ) or is_sim_going_to_sex(interaction_target):
         return False
     if not CNSimUtils.can_have_sex(sim):
         return False
     if get_sim_body_state(sim,
                           6) == BodyState.OUTFIT and get_sim_body_state(
                               sim, 7) == BodyState.OUTFIT:
         return True
     return False
コード例 #5
0
 def on_interaction_test(cls, interaction_context, interaction_target):
     sim = cls.get_interaction_sim(interaction_context)
     if not CNSimUtils.can_have_sex(sim):
         return False
     if is_sim_in_sex(sim) or is_sim_going_to_sex(sim):
         return False
     if is_sim_outfit_fullbody(sim):
         return True
     if get_sim_body_state(
             sim, TurboCASUtil.BodyType.UPPER_BODY
     ) == BodyState.OUTFIT and get_sim_body_state(
             sim, TurboCASUtil.BodyType.LOWER_BODY) == BodyState.OUTFIT:
         return True
     return False
コード例 #6
0
def _wickedwhims_undress_bottom_on_toilet_use(interaction_instance):
    global HAS_SIMS_USING_TOILET
    if not get_nudity_setting(NuditySetting.TOILET_USE_UNDRESS_STATE, variable_type=bool):
        return
    interaction_guid = TurboResourceUtil.Resource.get_guid64(interaction_instance)
    if interaction_guid not in TOILET_USE_INTERACTIONS:
        return
    HAS_SIMS_USING_TOILET = True
    sim = TurboInteractionUtil.get_interaction_sim(interaction_instance)
    if sim_ev(sim).on_toilet_outfit_state != OutfitStateBeforeToiletUse.NONE:
        return
    if TurboSimUtil.Age.is_younger_than(sim, TurboSimUtil.Age.CHILD):
        return
    if has_sim_outfit_bottom(sim):
        bottom_body_state = get_sim_body_state(sim, 7)
        if bottom_body_state != BodyState.NUDE:
            strip_result = strip_outfit(sim, strip_type_bottom=StripType.NUDE, allow_stripping_feet=False)
            if strip_result is True:
                sim_ev(sim).on_toilet_outfit_state = int(OutfitStateBeforeToiletUse.UNDERWEAR if bottom_body_state == BodyState.UNDERWEAR else OutfitStateBeforeToiletUse.OUTFIT)
                set_sim_bottom_naked_state(sim, True)
                set_sim_bottom_underwear_state(sim, False)
            else:
                sim_ev(sim).on_toilet_outfit_state = int(OutfitStateBeforeToiletUse.NONE)
    else:
        top_state = StripType.NUDE if TurboSimUtil.Gender.is_male(sim) else StripType.UNDERWEAR if is_sim_top_underwear(sim) else StripType.NUDE
        strip_result = strip_outfit(sim, strip_type_top=top_state, strip_type_bottom=StripType.NUDE)
        if is_sim_outfit_fullbody(sim) and strip_result is True:
            sim_ev(sim).on_toilet_outfit_state = int(OutfitStateBeforeToiletUse.OUTFIT)
            set_sim_top_naked_state(sim, True)
            set_sim_bottom_naked_state(sim, True)
            set_sim_bottom_underwear_state(sim, False)
コード例 #7
0
def set_sim_penis_state(sim_identifier,
                        is_hard,
                        length,
                        set_if_nude=False,
                        force=False):
    sim_info = TurboManagerUtil.Sim.get_sim_info(sim_identifier)
    if not has_sim_trait(sim_info, SimTrait.GENDEROPTIONS_TOILET_STANDING):
        return
    has_to_update_state = sim_ev(
        sim_info).is_penis_hard != is_hard or force is True
    sim_ev(sim_info).is_penis_hard = is_hard
    sim_ev(sim_info).penis_hard_cooldown = length
    if has_to_update_state is True:
        update_nude_body_data(sim_info, force_update=True)
        current_outfit = TurboSimUtil.CAS.get_current_outfit(sim_info)
        if set_if_nude is True and (
                current_outfit[0] == TurboCASUtil.OutfitCategory.SPECIAL
                and current_outfit[1] == 0
                or current_outfit[0] == TurboCASUtil.OutfitCategory.BATHING):
            bottom_body_state = get_sim_body_state(
                sim_info, TurboCASUtil.BodyType.LOWER_BODY)
            if bottom_body_state == BodyState.NUDE:
                set_bodytype_caspart(sim_info,
                                     (TurboCASUtil.OutfitCategory.SPECIAL, 0),
                                     TurboCASUtil.BodyType.LOWER_BODY,
                                     sim_ev(sim_info).nude_outfit_parts[7])
                update_sim_penis_texture(sim_info)
                try:
                    TurboSimUtil.CAS.refresh_outfit(sim_info)
                except:
                    pass
コード例 #8
0
 def on_interaction_start(cls, interaction_instance):
     target = cls.get_interaction_target(interaction_instance)
     (has_permission,
      _) = has_sim_permission_for_nudity(target, nudity_setting_test=True)
     if has_permission is False:
         return False
     if is_sim_outfit_fullbody(target):
         set_sim_top_underwear_state(target, False)
         set_sim_bottom_underwear_state(target, False)
         TurboSimUtil.Interaction.push_affordance(
             target,
             SimInteraction.WW_EXHIBITIONISM_UNDRESS_OUTFIT
             if is_sim_exhibitionist(target) else
             SimInteraction.WW_NATURISM_UNDRESS_OUTFIT,
             interaction_context=TurboInteractionUtil.InteractionContext.
             SOURCE_SCRIPT,
             insert_strategy=TurboInteractionUtil.QueueInsertStrategy.NEXT,
             must_run_next=True,
             priority=TurboInteractionUtil.Priority.High)
         return True
     if get_sim_body_state(target, 6) != BodyState.NUDE:
         set_sim_top_underwear_state(target, False)
         TurboSimUtil.Interaction.push_affordance(
             target,
             SimInteraction.WW_EXHIBITIONISM_UNDRESS_OUTFIT_TOP
             if is_sim_exhibitionist(target) else
             SimInteraction.WW_NATURISM_UNDRESS_OUTFIT_TOP,
             interaction_context=TurboInteractionUtil.InteractionContext.
             SOURCE_SCRIPT,
             insert_strategy=TurboInteractionUtil.QueueInsertStrategy.NEXT,
             must_run_next=True,
             priority=TurboInteractionUtil.Priority.High)
         return True
     if get_sim_body_state(target, 7) != BodyState.NUDE:
         set_sim_bottom_underwear_state(target, False)
         TurboSimUtil.Interaction.push_affordance(
             target,
             SimInteraction.WW_EXHIBITIONISM_UNDRESS_OUTFIT_BOTTOM
             if is_sim_exhibitionist(target) else
             SimInteraction.WW_NATURISM_UNDRESS_OUTFIT_BOTTOM,
             interaction_context=TurboInteractionUtil.InteractionContext.
             SOURCE_SCRIPT,
             insert_strategy=TurboInteractionUtil.QueueInsertStrategy.NEXT,
             must_run_next=True,
             priority=TurboInteractionUtil.Priority.High)
         return True
     return False
コード例 #9
0
 def on_interaction_test(cls, interaction_context, interaction_target):
     sim = cls.get_interaction_sim(interaction_context)
     if is_sim_in_sex(sim) or is_sim_going_to_sex(sim):
         return False
     if get_sim_body_state(sim,
                           TurboCASUtil.BodyType.SHOES) == BodyState.OUTFIT:
         return True
     return False
コード例 #10
0
 def on_interaction_test(cls, interaction_context, interaction_target):
     sim = cls.get_interaction_sim(interaction_context)
     if not get_nudity_setting(NuditySetting.UNDERWEAR_SWITCH_STATE,
                               variable_type=bool) or has_sim_trait(
                                   sim, SimTrait.WW_NO_UNDERWEAR):
         return False
     if CNSimUtils.can_have_sex(sim):
         return False
     if is_sim_in_sex(sim) or is_sim_going_to_sex(sim):
         return False
     if TurboSimUtil.Gender.is_male(sim):
         return get_sim_body_state(
             sim, TurboCASUtil.BodyType.LOWER_BODY) == BodyState.UNDERWEAR
     return get_sim_body_state(
         sim, TurboCASUtil.BodyType.UPPER_BODY
     ) == BodyState.UNDERWEAR and get_sim_body_state(
         sim, TurboCASUtil.BodyType.LOWER_BODY) == BodyState.UNDERWEAR
コード例 #11
0
 def on_interaction_start(cls, interaction_instance):
     target = cls.get_interaction_target(interaction_instance)
     strip_type_top = StripType.NUDE if get_sim_body_state(
         target, TurboCASUtil.BodyType.UPPER_BODY
     ) == BodyState.UNDERWEAR else StripType.UNDERWEAR if TurboSimUtil.Gender.is_female(
         target) and is_underwear_outfit(
             get_modified_outfit(target)[0]) else StripType.NUDE
     strip_type_bottom = StripType.NUDE if get_sim_body_state(
         target, TurboCASUtil.BodyType.LOWER_BODY
     ) == BodyState.UNDERWEAR else StripType.UNDERWEAR if is_underwear_outfit(
         get_modified_outfit(target)[0]) else StripType.NUDE
     strip_outfit(target,
                  strip_type_top=strip_type_top,
                  strip_type_bottom=strip_type_bottom)
     set_sim_top_naked_state(target, strip_type_top == StripType.NUDE)
     set_sim_top_underwear_state(target, strip_type_top != StripType.NUDE)
     set_sim_bottom_naked_state(target, strip_type_bottom == StripType.NUDE)
     set_sim_bottom_underwear_state(target,
                                    strip_type_bottom != StripType.NUDE)
     return True
コード例 #12
0
 def on_interaction_test(cls, interaction_context, interaction_target):
     if not TurboTypesUtil.Sims.is_sim(interaction_target):
         return False
     sim = cls.get_interaction_sim(interaction_context)
     if not CNSimUtils.teen_sex_is_enabled() and (
             CNSimUtils.is_child_or_teen(sim)
             or CNSimUtils.is_child_or_teen(interaction_target)):
         return False
     skill_level = get_sim_nudity_skill_level(sim)
     if skill_level <= 1:
         return False
     if is_sim_in_sex(sim) or (is_sim_going_to_sex(sim)
                               or is_sim_in_sex(interaction_target)
                               ) or is_sim_going_to_sex(interaction_target):
         return False
     if not has_sim_permission_for_nudity(sim)[0]:
         return False
     if is_sim_outfit_fullbody(interaction_target):
         return True
     if get_sim_body_state(interaction_target, 6) == BodyState.OUTFIT:
         return True
     if get_sim_body_state(interaction_target, 7) == BodyState.OUTFIT:
         return True
     return False
コード例 #13
0
def put_sim_underwear_on(sim_identifier, skip_outfit_change=False):
    sim_info = TurboManagerUtil.Sim.get_sim_info(sim_identifier)
    set_sim_top_naked_state(sim_info, False)
    set_sim_bottom_naked_state(sim_info, False)
    set_sim_top_underwear_state(sim_info, True)
    set_sim_bottom_underwear_state(sim_info, True)
    top_outfit_type = StripType.UNDERWEAR if TurboSimUtil.Gender.is_female(
        sim_info) and get_sim_body_state(
            sim_info, 6) == BodyState.NUDE else StripType.NONE
    bottom_outfit_type = StripType.UNDERWEAR if get_sim_actual_body_state(
        sim_info, 7) == BodyState.NUDE else StripType.NONE
    strip_outfit(sim_info,
                 strip_type_top=top_outfit_type,
                 strip_type_bottom=bottom_outfit_type,
                 skip_outfit_change=skip_outfit_change,
                 save_original=False)
コード例 #14
0
def _wickedwhims_undress_top_on_breast_feeding(interaction_instance):
    if not get_nudity_setting(NuditySetting.BREAST_FEEDING_UNDRESS_STATE,
                              variable_type=bool):
        return
    interaction_guid = TurboResourceUtil.Resource.get_guid64(
        interaction_instance)
    if interaction_guid != BREAST_FEEDING_INTERACTIONS:
        return
    sim = TurboInteractionUtil.get_interaction_sim(interaction_instance)
    if sim_ev(
            sim
    ).on_breast_feeding_outfit_state != OutfitStateBeforeBreastFeeding.NONE:
        return
    if TurboSimUtil.Age.is_younger_than(sim, TurboSimUtil.Age.CHILD):
        return
    if has_sim_outfit_top(sim):
        top_body_state = get_sim_body_state(sim, 6)
        if top_body_state != BodyState.NUDE:
            strip_result = strip_outfit(sim,
                                        strip_type_top=StripType.NUDE,
                                        allow_stripping_gloves=False)
            if strip_result is True:
                sim_ev(sim).on_breast_feeding_outfit_state = int(
                    OutfitStateBeforeBreastFeeding.
                    UNDERWEAR if top_body_state == BodyState.
                    UNDERWEAR else OutfitStateBeforeBreastFeeding.OUTFIT)
                set_sim_top_naked_state(sim, True)
                set_sim_top_underwear_state(sim, False)
            else:
                sim_ev(sim).on_breast_feeding_outfit_state = int(
                    OutfitStateBeforeBreastFeeding.NONE)
    else:
        bottom_state = StripType.UNDERWEAR if is_sim_bottom_underwear(
            sim) else StripType.NUDE
        strip_result = strip_outfit(sim,
                                    strip_type_top=StripType.NUDE,
                                    strip_type_bottom=bottom_state)
        if is_sim_outfit_fullbody(sim) and strip_result is True:
            sim_ev(sim).on_breast_feeding_outfit_state = int(
                OutfitStateBeforeBreastFeeding.OUTFIT)
            set_sim_top_naked_state(sim, True)
            set_sim_top_underwear_state(sim, False)
            set_sim_bottom_naked_state(sim, True)
コード例 #15
0
def _wickedwhims_undress_swimwear_on_jumping_to_water(interaction_instance):
    if not get_nudity_setting(NuditySetting.NUDITY_SWITCH_STATE,
                              variable_type=bool):
        return
    interaction_guid = TurboResourceUtil.Resource.get_guid64(
        interaction_instance)
    if interaction_guid not in JUMPING_INTERACTIONS:
        return
    sim_info = TurboManagerUtil.Sim.get_sim_info(
        TurboInteractionUtil.get_interaction_sim(interaction_instance))
    if TurboSimUtil.Age.is_younger_than(sim_info, TurboSimUtil.Age.CHILD):
        return
    if get_modified_outfit(
            sim_info)[0] != TurboCASUtil.OutfitCategory.SWIMWEAR:
        return
    if is_sim_outfit_fullbody(sim_info):
        return
    if random.uniform(0, 1) > 0.1:
        return
    has_stripped = False
    if TurboSimUtil.Gender.is_male(sim_info):
        if get_sim_body_state(sim_info, 7) != BodyState.OUTFIT:
            return
        strip_result = strip_outfit(sim_info, strip_type_bottom=StripType.NUDE)
        if strip_result is True:
            set_sim_bottom_naked_state(sim_info, True)
            has_stripped = True
    else:
        can_undress_top = get_sim_body_state(sim_info, 6) == BodyState.OUTFIT
        can_undress_bottom = get_sim_body_state(sim_info,
                                                7) == BodyState.OUTFIT
        undress_top = False
        undress_bottom = False
        if can_undress_top is True and can_undress_bottom is True:
            if bool(random.getrandbits(1)):
                undress_top = True
            else:
                undress_bottom = True
        elif can_undress_top is True:
            undress_top = True
        elif can_undress_bottom is True:
            undress_bottom = True
        if undress_top is False and undress_bottom is False:
            return
        if undress_top is True:
            strip_result = strip_outfit(sim_info,
                                        strip_type_top=StripType.NUDE)
            if strip_result is True:
                set_sim_top_naked_state(sim_info, True)
                has_stripped = True
        elif undress_bottom is True:
            strip_result = strip_outfit(sim_info,
                                        strip_type_bottom=StripType.NUDE)
            if strip_result is True:
                set_sim_bottom_naked_state(sim_info, True)
                has_stripped = True
    if has_stripped is True:
        display_notification(text=267480274,
                             text_tokens=(sim_info, ),
                             secondary_icon=sim_info)
        if not has_sim_permission_for_nudity(sim_info)[0]:
            add_sim_buff(sim_info,
                         SimBuff.OBJECT_JUMPSTAND_SWIMSUITMALFUNCTION)
        if random.uniform(0, 1) <= 0.45:
            add_sim_buff(sim_info, SimBuff.WW_NUDITY_TEMPORARY_BRAVE)
コード例 #16
0
 def on_interaction_start(cls, interaction_instance):
     sim = cls.get_interaction_target(interaction_instance)
     nudity_debug_info = ''
     nudity_debug_info += 'Body States:\n'
     nudity_debug_info += '  Top: ' + str(get_sim_body_state(sim, 6)) + '\n'
     nudity_debug_info += '  Bottom: ' + str(get_sim_body_state(sim,
                                                                7)) + '\n'
     nudity_debug_info += '\nBody Additional States:\n'
     nudity_debug_info += '  Top: ' + str(
         get_sim_additional_body_state(sim, 6, get_sim_body_state(
             sim, 6))) + '\n'
     nudity_debug_info += '  Bottom: ' + str(
         get_sim_additional_body_state(sim, 7, get_sim_body_state(
             sim, 7))) + '\n'
     nudity_debug_info += '\nBody Actual States:\n'
     nudity_debug_info += '  Top: ' + str(get_sim_actual_body_state(
         sim, 6)) + '\n'
     nudity_debug_info += '  Bottom: ' + str(
         get_sim_actual_body_state(sim, 7)) + '\n'
     nudity_debug_info += '\nOutfit Body Types:\n'
     nudity_debug_info += '  Has Top: ' + str(
         has_sim_outfit_top(sim)) + '\n'
     nudity_debug_info += '  Has Bottom: ' + str(
         has_sim_outfit_bottom(sim)) + '\n'
     nudity_debug_info += '  Has Full Body: ' + str(
         is_sim_outfit_fullbody(sim)) + '\n'
     nudity_debug_info += '\nNudity Outfit Parts:\n'
     nudity_debug_info += '  Top: ' + str(
         sim_ev(sim).nude_outfit_parts[6]) + '\n'
     nudity_debug_info += '  Bottom: ' + str(
         sim_ev(sim).nude_outfit_parts[7]) + '\n'
     nudity_debug_info += '  Feet: ' + str(
         sim_ev(sim).nude_outfit_parts[8]) + '\n'
     nudity_debug_info += '  Penis Texture: ' + str(
         sim_ev(sim).nude_outfit_parts[115]) + '\n'
     nudity_debug_info += '\nPenis Outfit Parts:\n'
     nudity_debug_info += '  Soft: ' + str(
         sim_ev(sim).penis_outfit_parts['soft']) + '\n'
     nudity_debug_info += '  Hard: ' + str(
         sim_ev(sim).penis_outfit_parts['hard']) + '\n'
     nudity_debug_info += '\nPenis Parts Authors:\n'
     nudity_debug_info += '  Soft: ' + str(
         sim_ev(sim).outfit_soft_penis_author) + '\n'
     nudity_debug_info += '  Hard: ' + str(
         sim_ev(sim).outfit_hard_penis_author) + '\n'
     nudity_debug_info += '\nPenis State:\n'
     nudity_debug_info += '  Is Hard: ' + str(
         sim_ev(sim).is_penis_hard) + '\n'
     nudity_debug_info += '  Penis Cooldown: ' + str(
         sim_ev(sim).penis_hard_cooldown) + '\n'
     nudity_debug_info += '\nOriginal Outfit Data:\n'
     nudity_debug_info += '  Has Modifications: ' + str(
         sim_ev(sim).has_original_outfit_modifications) + '\n'
     nudity_debug_info += '  Category: ' + str(
         sim_ev(sim).original_outfit_category) + '\n'
     nudity_debug_info += '  Index: ' + str(
         sim_ev(sim).original_outfit_index) + '\n'
     nudity_debug_info += '  Update Locked: ' + str(
         sim_ev(sim).is_outfit_update_locked) + '\n'
     nudity_debug_info += '\nNudity Skill:\n'
     nudity_debug_info += '  Is Naturist/Is Exhibitionist: ' + str(
         is_sim_naturist(sim)) + '/' + str(is_sim_exhibitionist(sim)) + '\n'
     nudity_debug_info += '  Level: ' + str(
         get_sim_nudity_skill_level(sim) +
         get_sim_nudity_skill_progress(sim)) + '\n'
     nudity_debug_info += '  Influence Score: ' + str(
         sim_ev(sim).nudity_skill_influence_score) + '\n'
     nudity_debug_info += '  Fatigue: ' + str(
         get_sim_statistic_value(
             sim, SimCommodity.WW_NUDITY_SKILL_FATIGUE)) + '\n'
     nudity_debug_info += '\nNudity Reaction:\n'
     nudity_debug_info += '  Full Reaction Cooldown: ' + str(
         sim_ev(sim).full_nudity_reaction_cooldown) + '\n'
     nudity_debug_info += '  Inner Reaction Cooldown: ' + str(
         sim_ev(sim).inner_nudity_reaction_cooldown) + '\n'
     nudity_debug_info += '\nSpecial:\n'
     nudity_debug_info += '  Is Flashing: ' + str(
         sim_ev(sim).is_flashing) + '\n'
     nudity_debug_info += '  Toilet Use Outfit State: ' + str(
         sim_ev(sim).on_toilet_outfit_state) + '\n'
     nudity_debug_info += '  Breast Feeding Outfit State: ' + str(
         sim_ev(sim).on_breast_feeding_outfit_state) + '\n'
     display_notification(text=nudity_debug_info,
                          title=str(TurboSimUtil.Name.get_name(sim)[0]) +
                          ' ' + str(TurboSimUtil.Name.get_name(sim)[1]) +
                          ' Nudity Debug',
                          secondary_icon=sim)
コード例 #17
0
def is_strapon_on_sim(sim_identifier):
    sim_info = TurboManagerUtil.Sim.get_sim_info(sim_identifier)
    return get_sim_additional_body_state(
        sim_info, 7, get_sim_body_state(sim_info,
                                        7)) == AdditionalBodyState.STRAPON