def _on_ok(_d): self._data_store.set_value_by_key(_, picked_option) for sim_info in CommonSimUtils.get_instanced_sim_info_for_all_sims_generator( ): _CGSUpdateGenderOptions()._update_gender_options(sim_info) _reopen()
def __init__(self, title_identifier: Union[int, str, LocalizedString, CommonStringId], description_identifier: Union[int, str, LocalizedString, CommonStringId], title_tokens: Iterator[Any] = (), description_tokens: Iterator[Any] = (), on_close: Callable[..., Any] = CommonFunctionUtils.noop, mod_identity: CommonModIdentity = None, include_sim_callback: Callable[[SimInfo], bool] = None, instanced_sims_only: bool = True): super().__init__(title_identifier, description_identifier, title_tokens=title_tokens, description_tokens=description_tokens, on_close=on_close, mod_identity=mod_identity) if instanced_sims_only: sim_info_list = CommonSimUtils.get_instanced_sim_info_for_all_sims_generator( include_sim_callback=include_sim_callback) else: sim_info_list = CommonSimUtils.get_sim_info_for_all_sims_generator( include_sim_callback=include_sim_callback) for sim_info in sim_info_list: self.add_option( CommonDialogSimOption(sim_info, CommonDialogSimOptionContext()))
def _on_ok(_d): self.log.debug('Ok chosen {}, \'{}\''.format(picked_option, _)) self._data_store.set_value_by_key(_, picked_option) self.log.format_with_message( 'set value with', val=self._data_store.get_value_by_key(_)) for sim_info in CommonSimUtils.get_instanced_sim_info_for_all_sims_generator( ): _CGSUpdateGenderOptions()._update_gender_options(sim_info) _reopen()
def _set_all_to_vanilla_gender_options_chosen(): for sim_info in CommonSimUtils.get_instanced_sim_info_for_all_sims_generator( ): if CommonGenderUtils.is_male(sim_info): CommonSimGenderOptionUtils.update_gender_options_to_vanilla_male( sim_info) else: CommonSimGenderOptionUtils.update_gender_options_to_vanilla_female( sim_info) _reopen()
def remove_trait_from_all_sims( trait_id: int, include_sim_callback: Callable[[SimInfo], bool] = None): """ Remove a trait from all Sims that match the specified include filter. :param trait_id: The Trait to remove from all Sims. :param include_sim_callback: Only sims that match this filter will have the Trait removed. """ for sim_info in CommonSimUtils.get_instanced_sim_info_for_all_sims_generator( include_sim_callback=include_sim_callback): if not CommonTraitUtils.has_trait(sim_info, trait_id): continue CommonTraitUtils.remove_trait(sim_info, trait_id)
def add_trait_to_all_sims(trait_id: int, include_sim_callback: Callable[[SimInfo], bool] = None): """ Add a trait to all sims that match the specified include filter. :param trait_id: The Trait to add to all Sims. :param include_sim_callback: Only sims that match this filter will have the Trait added. """ for sim_info in CommonSimUtils.get_instanced_sim_info_for_all_sims_generator( include_sim_callback=include_sim_callback): if CommonTraitUtils.has_trait(sim_info, trait_id): continue CommonTraitUtils.add_trait(sim_info, trait_id)
def remove_trait_from_all_sims(trait_id: Union[int, CommonTraitId], include_sim_callback: Callable[[SimInfo], bool]=None): """remove_trait_from_all_sims(trait_id, include_sim_callback=None) Remove a trait from all Sims that match the specified include filter. :param trait_id: The identifier of the Trait to remove from all Sims. :type trait_id: Union[int, CommonTraitId] :param include_sim_callback: Only Sims that match this filter will have the Trait removed. :type include_sim_callback: Callback[[SimInfo], bool], optional """ for sim_info in CommonSimUtils.get_instanced_sim_info_for_all_sims_generator(include_sim_callback=include_sim_callback): if not CommonTraitUtils.has_trait(sim_info, trait_id): continue CommonTraitUtils.remove_trait(sim_info, trait_id)
def apply_no_quick_meals_buff(self) -> bool: """ Apply a buff that disables Quick Meals. """ self.log.debug('Attempting to apply NQM buff.') def _is_valid_sim(_sim_info: SimInfo) -> bool: return CommonSpeciesUtils.is_human( _sim_info) and not CommonAgeUtils.is_baby(_sim_info) for sim_info in CommonSimUtils.get_instanced_sim_info_for_all_sims_generator( include_sim_callback=_is_valid_sim): sim_name = CommonSimNameUtils.get_full_name(sim_info) if CommonBuffUtils.has_buff(sim_info, NQMBuffId.QUICK_MEALS_INAPPROPRIATE): self.log.debug( 'Ignoring, \'{}\' already has NQM buff.'.format(sim_name)) continue self.log.debug('Adding NQM buff to \'{}\'.'.format(sim_name)) CommonBuffUtils.add_buff(sim_info, NQMBuffId.QUICK_MEALS_INAPPROPRIATE) self.log.debug('Done adding NQM buff.') return True