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!')
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)
def on_interaction_start(cls, interaction_instance): return apply_sim_cum_layer(cls.get_interaction_target(interaction_instance), (CumLayerType.BUTT,), force=True)