summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/shared/battle/Battle/Struct/Omnimods.elm')
-rw-r--r-- | src/shared/battle/Battle/Struct/Omnimods.elm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/shared/battle/Battle/Struct/Omnimods.elm b/src/shared/battle/Battle/Struct/Omnimods.elm index e9c3089..80d97a5 100644 --- a/src/shared/battle/Battle/Struct/Omnimods.elm +++ b/src/shared/battle/Battle/Struct/Omnimods.elm @@ -3,6 +3,7 @@ module Battle.Struct.Omnimods exposing Type, new, merge, + merge_attributes, none, apply_to_attributes, get_attack_damage, @@ -120,6 +121,25 @@ merge omni_a omni_b = defense = (merge_mods omni_a.defense omni_b.defense) } +merge_attributes : Battle.Struct.Attributes.Type -> Type -> Type +merge_attributes attributes omnimods = + (merge + omnimods + (new + (List.map + (\att -> + ( + (Battle.Struct.Attributes.encode_category att), + (Battle.Struct.Attributes.get_true att attributes) + ) + ) + (Battle.Struct.Attributes.get_categories) + ) + [] + [] + ) + ) + apply_to_attributes : ( Type -> Battle.Struct.Attributes.Type -> |