def _map_motive_id(sim_info: SimInfo, motive_id: int) -> int:
        motive_mappings = CommonSimMotiveUtils._get_motive_mappings()
        if motive_id not in motive_mappings:
            return motive_id
        motive_species_mapping: Dict[Species, CommonMotiveId] = motive_mappings[motive_id]

        species = CommonSpeciesUtils.get_species(sim_info)
        if species not in motive_species_mapping:
            return motive_id
        return motive_species_mapping[species]
Exemplo n.º 2
0
 def get_pregnancy_progress(sim_info: SimInfo) -> float:
     """ Retrieve the pregnancy progress of a Sim. """
     pregnancy_tracker = CommonSimPregnancyUtils._get_pregnancy_tracker(
         sim_info)
     if pregnancy_tracker is None or not CommonSimPregnancyUtils.is_pregnant(
             sim_info):
         return 0.0
     pregnancy_commodity_type = pregnancy_tracker.PREGNANCY_COMMODITY_MAP.get(
         CommonSpeciesUtils.get_species(sim_info))
     statistic_tracker = sim_info.get_tracker(pregnancy_commodity_type)
     pregnancy_commodity = statistic_tracker.get_statistic(
         pregnancy_commodity_type, add=False)
     if not pregnancy_commodity:
         return 0.0
     return pregnancy_commodity.get_value()