コード例 #1
0
    def _init_elemental_buffs(self, action_condition_asset: ActionConditionAsset):
        self.buffs_elemental: list[dict[Element, set[HitActionConditionEffectUnit]]] = []

        for hit_data_lv in self.skill_hit_data.hit_data:
            buff_lv: dict[Element, set[HitActionConditionEffectUnit]] = {
                elem: set() for elem in Element.get_all_valid_elements()
            }

            for hit_data in hit_data_lv:
                if not hit_data.hit_attr.has_action_condition:
                    continue  # No action condition assigned

                action_condition = action_condition_asset.get_data_by_id(hit_data.action_condition_id)

                if not action_condition.target_limited_by_element:
                    continue  # Action condition not limited by element

                for elem in action_condition.elemental_target.elements:
                    buff_lv[elem].update(hit_data.to_buffing_units(action_condition_asset))

            self.buffs_elemental.append(buff_lv)
コード例 #2
0
def test_export_element_enums(asset_manager: AssetManager):
    export_enum(asset_manager, "element", Element.get_all_valid_elements())
    export_enum(asset_manager, "element",
                Element.get_all_translatable_members())