2024-04-25 00:27:13 -04:00
|
|
|
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
|
|
--
|
|
|
|
-- GNU General Public Licence (version 3 or later)
|
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
with core;
|
|
|
|
|
|
|
|
package effect is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
2024-05-19 10:33:58 -04:00
|
|
|
type operation_index is (
|
|
|
|
idle,
|
|
|
|
add,
|
|
|
|
subtract,
|
|
|
|
multiply,
|
|
|
|
divide,
|
|
|
|
increment,
|
|
|
|
decrement
|
2024-02-15 21:03:09 -05:00
|
|
|
);
|
|
|
|
|
2024-05-19 10:33:58 -04:00
|
|
|
type operator_index is (
|
|
|
|
attribute,
|
|
|
|
skill,
|
|
|
|
resource
|
|
|
|
);
|
2024-02-15 21:03:09 -05:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-05-19 10:33:58 -04:00
|
|
|
type value is record
|
|
|
|
operation : operation_index;
|
|
|
|
operator : operator_index;
|
|
|
|
modifier : integer;
|
|
|
|
permanent : boolean;
|
|
|
|
duration : natural;
|
|
|
|
end record;
|
2024-02-19 16:20:38 -05:00
|
|
|
|
2024-05-19 10:33:58 -04:00
|
|
|
none : value;
|
2024-02-15 21:03:09 -05:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-05-19 10:33:58 -04:00
|
|
|
--~count : constant natural := enumeration'pos (enumeration'last) + 1;
|
|
|
|
|
|
|
|
--~trait : constant array (enumeration) of information := (
|
|
|
|
--~((others => null), (others => (others => 0))),
|
|
|
|
--~((others => null), (others => (others => 0))),
|
|
|
|
--~((others => null), (others => (others => 0))),
|
|
|
|
--~((others => null), (others => (others => 0)))
|
|
|
|
--~);
|
2024-02-15 21:03:09 -05:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
end effect;
|