Esempio n. 1
0
            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()))
Esempio n. 3
0
            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()
Esempio n. 4
0
 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()
Esempio n. 5
0
 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)
Esempio n. 6
0
 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)
Esempio n. 8
0
    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