46 lines
1.8 KiB
Ada
46 lines
1.8 KiB
Ada
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
--
|
|
-- GNU General Public Licence (version 3 or later)
|
|
|
|
package effect is
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
type operation_index is (
|
|
idle,
|
|
player_add,
|
|
player_subtract,
|
|
player_multiply,
|
|
player_divide,
|
|
player_increment,
|
|
player_decrement
|
|
);
|
|
|
|
type operator_index is (
|
|
attribute_offense, attribute_defense, attribute_wisdom, attribute_stamina, attribute_speed, attribute_reach,
|
|
skill_alchemy, skill_archery, skill_architecture, skill_athletics, skill_diplomacy, skill_estates,
|
|
skill_exploration, skill_leadership, skill_logistics, skill_medicine, skill_mercantile, skill_mysticism,
|
|
skill_necromancy, skill_resistance, skill_skirmish, skill_sorcery, skill_tactics, skill_thaumaturgy,
|
|
resource_gold, resource_wood, resource_stone, resource_metal, resource_leather, resource_gem
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
type value is record
|
|
operation : operation_index;
|
|
operator : operator_index;
|
|
modifier : integer;
|
|
permanent : boolean;
|
|
duration : natural;
|
|
end record;
|
|
|
|
none : value;
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
procedure apply (data : in value);
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
end effect;
|