def _wickedwhims_command_clear_cum(*args, output=None):
    args_len = len(args)
    sim = None
    if args_len == 0:
        output(
            'Missing cum type and/or sim name! (ww.apply_cum <face/chest/back/v****a/butt/feet> [<first_name> <last_name>])'
        )
        return
    if args_len == 1:
        sim = TurboManagerUtil.Sim.get_active_sim()
    elif args_len >= 3:
        sim_info = TurboManagerUtil.Sim.get_sim_info_with_name(
            str(args[1]), str(args[2]))
        if sim_info is None:
            output("Sim with name '" + str(args[1]) + ' ' + str(args[2]) +
                   "' was not found!")
            return
        sim = TurboManagerUtil.Sim.get_sim_instance(sim_info)
    if sim is None:
        output('No Sim found!')
        return
    cum_layer = get_cum_layer_type_by_name(str(args[0]))
    if cum_layer == CumLayerType.NONE:
        output("Cum layer with name '" + str(args[0]) + "' does not exist!")
        return
    apply_sim_cum_layer(sim, (cum_layer, ))
    output('Cum applied!')
예제 #2
0
def _after_sex_cum(sex_handler, actor_id, sim_info):
    if sex_handler.get_animation_instance() is None or not get_sex_setting(
            SexSetting.CUM_VISIBILITY_STATE, variable_type=bool):
        return
    cum_layers = sex_handler.get_animation_instance(
    ).get_actor_received_cum_layers(actor_id)
    if not cum_layers:
        actions = sex_handler.get_animation_instance(
        ).get_actor_received_actions(actor_id)
        for (action_actor_id, action_type, is_cum_inside) in actions:
            if is_cum_inside is True:
                pass
            cum_layer_type = get_cum_layer_from_sex_category(action_type)
            while cum_layer_type is not CumLayerType.NONE:
                cum_layers.append((action_actor_id, (cum_layer_type, )))
    for (action_actor_id, cum_layer_types) in cum_layers:
        action_actor_sim_id = sex_handler.get_sim_id_by_actor_id(
            action_actor_id)
        if action_actor_sim_id is None:
            pass
        action_actor_sim_info = TurboManagerUtil.Sim.get_sim_info(
            action_actor_sim_id)
        if not has_sim_trait(action_actor_sim_info,
                             SimTrait.GENDEROPTIONS_TOILET_STANDING):
            pass
        if not get_sex_setting(
                SexSetting.CUM_VISIBILITY_WITH_CONDOM_STATE, variable_type=bool
        ) and sim_ev(action_actor_sim_info).has_condom_on is True:
            pass
        apply_sim_cum_layer(sim_info, cum_layer_types)
예제 #3
0
 def on_interaction_start(cls, interaction_instance):
     return apply_sim_cum_layer(cls.get_interaction_target(interaction_instance), (CumLayerType.BUTT,), force=True)