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
|
|
|
package effect is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
2024-05-31 07:14:00 -04:00
|
|
|
type enumeration is (
|
2024-05-28 06:08:45 -04:00
|
|
|
idle,
|
2024-05-31 07:14:00 -04:00
|
|
|
modify_attribute,
|
|
|
|
modify_skill,
|
|
|
|
modify_resource,
|
|
|
|
modify_material
|
2024-05-19 10:33:58 -04:00
|
|
|
);
|
2024-02-15 21:03:09 -05:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-05-19 10:33:58 -04:00
|
|
|
type value is record
|
2024-05-31 07:14:00 -04:00
|
|
|
kind : enumeration;
|
2024-05-19 10:33:58 -04:00
|
|
|
modifier : integer;
|
2024-05-31 07:14:00 -04:00
|
|
|
amount : integer;
|
2024-05-19 10:33:58 -04:00
|
|
|
permanent : boolean;
|
|
|
|
duration : natural;
|
|
|
|
end record;
|
2024-02-19 16:20:38 -05:00
|
|
|
|
2024-05-31 07:14:00 -04:00
|
|
|
none : constant value := (idle, 0, 0, false, 0);
|
2024-02-15 21:03:09 -05:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-05-19 11:32:19 -04:00
|
|
|
procedure apply (data : in value);
|
2024-02-15 21:03:09 -05:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
end effect;
|