summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2019-04-26 15:05:44 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2019-04-26 15:05:44 +0200 |
commit | ec6eec260d6383ae948505c3d42b3055ae3dd94c (patch) | |
tree | 1d9ab2b09ab0a534fc6c09b62b940d9f1c7e139f /src/shared/struct/inventory | |
parent | 7d428bac2f9d62c5a0e704eb32be869c10fec72e (diff) |
Makes Dialyzer validate shared & battle.
Diffstat (limited to 'src/shared/struct/inventory')
-rw-r--r-- | src/shared/struct/inventory/shr_equipment.erl | 26 | ||||
-rw-r--r-- | src/shared/struct/inventory/shr_glyph.erl.m4 | 2 | ||||
-rw-r--r-- | src/shared/struct/inventory/shr_glyph_board.erl.m4 | 9 | ||||
-rw-r--r-- | src/shared/struct/inventory/shr_inventory.erl | 48 | ||||
-rw-r--r-- | src/shared/struct/inventory/shr_weapon.erl.m4 | 2 |
5 files changed, 44 insertions, 43 deletions
diff --git a/src/shared/struct/inventory/shr_equipment.erl b/src/shared/struct/inventory/shr_equipment.erl index cbd4381..a931444 100644 --- a/src/shared/struct/inventory/shr_equipment.erl +++ b/src/shared/struct/inventory/shr_equipment.erl @@ -40,7 +40,7 @@ -opaque unresolved() :: #shr_eq_ref{}. -type either() :: (type() | unresolved()). --export_type([type/0, unresolved/0]). +-export_type([type/0, unresolved/0, either/0]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -84,7 +84,6 @@ set_portrait_id/2, set_glyph_board_id/2, set_glyph_ids/2, - set_glyph_ids/2, ataxia_set_primary_weapon_id/2, ataxia_set_secondary_weapon_id/2, @@ -299,14 +298,12 @@ set_glyphs (V, Eq) when is_record(Eq, shr_eq_ref) -> (list(shr_glyph:type()), type()) -> {type(), ataxic:basic()}; (list(shr_glyph:type()), unresolved()) -> {unresolved(), ataxic:basic()}. ataxia_set_glyphs (V, Eq) -> - { - set_glyphs(V, Eq), - ataxic:update_field - ( - get_glyphs_field(), - ataxic:constant(shr_glyph:get_id(V)) - ) - }. + ataxia_set_glyphs + ( + V, + ataxic:constant(lists:map(fun shr_glyph:get_id/1, V)), + Eq + ). -spec ataxia_set_glyphs ( @@ -448,14 +445,7 @@ set_glyph_ids (V, Eq) when is_record(Eq, shr_eq) -> (list(shr_glyph:id()), type()) -> {type(), ataxic:basic()}; (list(shr_glyph:id()), unresolved()) -> {unresolved(), ataxic:basic()}. ataxia_set_glyph_ids (V, Eq) -> - { - set_glyph_ids(V, Eq), - ataxic:update_field - ( - get_glyphs_field(), - ataxic:constant(V) - ) - }. + ataxia_set_glyph_ids(V, ataxic:constant(V), Eq). -spec ataxia_set_glyph_ids ( diff --git a/src/shared/struct/inventory/shr_glyph.erl.m4 b/src/shared/struct/inventory/shr_glyph.erl.m4 index 0ce4c47..a451cc0 100644 --- a/src/shared/struct/inventory/shr_glyph.erl.m4 +++ b/src/shared/struct/inventory/shr_glyph.erl.m4 @@ -35,7 +35,7 @@ [ get_id/1, get_name/1, - get_omnimods/1, + get_omnimods/1 ] ). diff --git a/src/shared/struct/inventory/shr_glyph_board.erl.m4 b/src/shared/struct/inventory/shr_glyph_board.erl.m4 index c2128a9..3324997 100644 --- a/src/shared/struct/inventory/shr_glyph_board.erl.m4 +++ b/src/shared/struct/inventory/shr_glyph_board.erl.m4 @@ -58,7 +58,7 @@ list(shr_glyph:type()), list(integer()) ) - -> ({'ok', shr_omnimods:type()} | 'error'). + -> ('error' | {'ok', shr_omnimods:type()}). get_omnimods_with_glyphs_internals (Omnimods, [], []) -> {ok, Omnimods}; get_omnimods_with_glyphs_internals (_Omnimods, [], _) -> @@ -102,12 +102,15 @@ default () -> from_id(<<"0">>). list(shr_glyph:type()), type() ) - -> ({'ok', shr_omnimods:type()} | 'error'). + -> shr_omnimods:type(). get_omnimods_with_glyphs (Glyphs, GlyphBoard) -> BoardOmnimods = GlyphBoard#glyph_board.omnimods, BoardSlots = GlyphBoard#glyph_board.slots, - get_omnimods_with_glyphs_internals(BoardOmnimods, Glyphs, BoardSlots). + {ok, Omnimods} = + get_omnimods_with_glyphs_internals(BoardOmnimods, Glyphs, BoardSlots), + + Omnimods. -spec default_id () -> id(). default_id () -> <<"0">>. diff --git a/src/shared/struct/inventory/shr_inventory.erl b/src/shared/struct/inventory/shr_inventory.erl index 4ea3e7b..884c213 100644 --- a/src/shared/struct/inventory/shr_inventory.erl +++ b/src/shared/struct/inventory/shr_inventory.erl @@ -22,8 +22,9 @@ ). -opaque type() :: #inventory{}. +-type id() :: ataxia_id:type(). --export_type([type/0]). +-export_type([type/0, id/0]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -95,19 +96,27 @@ get_glyphs (Inv) -> Inv#inventory.glyphs. -spec add_weapon (shr_weapon:id(), type()) -> type(). -add_weapon (V, Inv) -> Inv#inventory{ weapons = V }. +add_weapon (V, Inv) -> + Inv#inventory{ weapons = ordsets:add_element(V, Inv#inventory.weapons) }. -spec add_armor (shr_armor:id(), type()) -> type(). -add_armor (V, Inv) -> Inv#inventory{ armors = V }. +add_armor (V, Inv) -> + Inv#inventory{ armors = ordsets:add_element(V, Inv#inventory.armors) }. -spec add_portrait (shr_portrait:id(), type()) -> type(). -add_portrait (V, Inv) -> Inv#inventory{ portraits = V }. +add_portrait (V, Inv) -> + Inv#inventory{ portraits = ordsets:add_element(V, Inv#inventory.portraits) }. -spec add_glyph_board (shr_glyph_board:id(), type()) -> type(). -add_glyph_board (V, Inv) -> Inv#inventory{ glyph_boards = V }. +add_glyph_board (V, Inv) -> + Inv#inventory + { + glyph_boards = ordsets:add_element(V, Inv#inventory.glyph_boards) + }. -spec add_glyph (shr_glyph:id(), type()) -> type(). -add_glyph (V, Inv) -> Inv#inventory{ glyphs = V }. +add_glyph (V, Inv) -> + Inv#inventory{ glyphs = ordsets:add_element(V, Inv#inventory.glyphs) }. -spec ataxia_add_weapon @@ -115,12 +124,12 @@ add_glyph (V, Inv) -> Inv#inventory{ glyphs = V }. shr_weapon:id(), type() ) - -> {type(), list(ataxic:basic())}. + -> {type(), ataxic:basic()}. ataxia_add_weapon (V, Inv) -> CurrentWeapons = Inv#inventory.weapons, case ordsets:is_element(V, CurrentWeapons) of - true -> Inv; + true -> {Inv, ataxic:current_value()}; false -> { Inv#inventory{ weapons = ordsets:add_element(V, CurrentWeapons) }, @@ -142,12 +151,12 @@ ataxia_add_weapon (V, Inv) -> shr_armor:id(), type() ) - -> {type(), list(ataxic:basic())}. + -> {type(), ataxic:basic()}. ataxia_add_armor (V, Inv) -> CurrentArmors = Inv#inventory.armors, case ordsets:is_element(V, CurrentArmors) of - true -> Inv; + true -> {Inv, ataxic:current_value()}; false -> { Inv#inventory{ armors = ordsets:add_element(V, CurrentArmors) }, @@ -169,12 +178,12 @@ ataxia_add_armor (V, Inv) -> shr_portrait:id(), type() ) - -> {type(), list(ataxic:basic())}. + -> {type(), ataxic:basic()}. ataxia_add_portrait (V, Inv) -> CurrentPortraits = Inv#inventory.portraits, case ordsets:is_element(V, CurrentPortraits) of - true -> Inv; + true -> {Inv, ataxic:current_value()}; false -> { Inv#inventory @@ -199,12 +208,12 @@ ataxia_add_portrait (V, Inv) -> shr_glyph_board:id(), type() ) - -> {type(), list(ataxic:basic())}. + -> {type(), ataxic:basic()}. ataxia_add_glyph_board (V, Inv) -> CurrentGlyphBoards = Inv#inventory.glyph_boards, case ordsets:is_element(V, CurrentGlyphBoards) of - true -> Inv; + true -> {Inv, ataxic:current_value()}; false -> { Inv#inventory @@ -229,12 +238,12 @@ ataxia_add_glyph_board (V, Inv) -> shr_glyph:id(), type() ) - -> {type(), list(ataxic:basic())}. + -> {type(), ataxic:basic()}. ataxia_add_glyph (V, Inv) -> CurrentGlyphs = Inv#inventory.glyphs, case ordsets:is_element(V, CurrentGlyphs) of - true -> Inv; + true -> {Inv, ataxic:current_value()}; false -> { Inv#inventory{ glyphs = ordsets:add_element(V, CurrentGlyphs) }, @@ -354,7 +363,7 @@ add_equipment (Eq, Inv) -> (shr_equipment:type()|shr_equipment:unresolved()), type() ) - -> {type(), list(ataxic:basic())}. + -> {type(), ataxic:basic()}. ataxia_add_equipment (Eq, Inv) -> {S0Inv, Ataxic0} = ataxia_add_weapon(shr_equipment:get_primary_weapon_id(Eq), Inv), @@ -380,10 +389,9 @@ ataxia_add_equipment (Eq, Inv) -> { S4Inv, - lists:flatten + ataxic:optimize ( - [Ataxic0, Ataxic1, Ataxic2, Ataxic3], - lists:flatten(Ataxic4s) + ataxic:sequence([Ataxic0, Ataxic1, Ataxic2, Ataxic3|Ataxic4s]) ) }. diff --git a/src/shared/struct/inventory/shr_weapon.erl.m4 b/src/shared/struct/inventory/shr_weapon.erl.m4 index 189afa7..a18c48e 100644 --- a/src/shared/struct/inventory/shr_weapon.erl.m4 +++ b/src/shared/struct/inventory/shr_weapon.erl.m4 @@ -41,7 +41,7 @@ ( [ default/0, - default/0, + default_id/0, from_id/1 ] ). |