2024-04-25 00:27:13 -04:00
|
|
|
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
|
|
--
|
|
|
|
-- GNU General Public Licence (version 3 or later)
|
|
|
|
|
2024-05-29 09:26:10 -04:00
|
|
|
with notification;
|
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
package effect is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
2024-05-19 10:33:58 -04:00
|
|
|
type operation_index is (
|
2024-05-28 06:08:45 -04:00
|
|
|
idle,
|
2024-05-23 03:57:06 -04:00
|
|
|
offense, defense, wisdom, stamina, speed, reach,
|
|
|
|
alchemy, archery, architecture, athletics, diplomacy, estates,
|
|
|
|
exploration, leadership, logistics, medicine, mercantile, mysticism,
|
|
|
|
necromancy, resistance, skirmish, sorcery, tactics, thaumaturgy,
|
2024-05-28 06:08:45 -04:00
|
|
|
gold, wood, stone, metal, leather, gem,
|
|
|
|
take_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
|
|
|
|
operation : operation_index;
|
|
|
|
modifier : integer;
|
2024-05-28 06:08:45 -04:00
|
|
|
amount : natural;
|
2024-05-19 10:33:58 -04:00
|
|
|
permanent : boolean;
|
|
|
|
duration : natural;
|
2024-05-29 09:26:10 -04:00
|
|
|
notify : notification.enumeration;
|
2024-05-19 10:33:58 -04:00
|
|
|
end record;
|
2024-02-19 16:20:38 -05:00
|
|
|
|
2024-05-29 09:26:10 -04:00
|
|
|
none : constant value := (idle, 0, 0, false, 0, notification.none);
|
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;
|