Work in progress update, refactored Effect package...
This commit is contained in:
parent
50eced984c
commit
ea3496c1a5
@ -13,13 +13,36 @@ package body effect is
|
|||||||
procedure apply (data : in value) is
|
procedure apply (data : in value) is
|
||||||
begin
|
begin
|
||||||
case data.operation is
|
case data.operation is
|
||||||
when player_add =>
|
when offense => world.map.chads (1).attributes (attribute.offense) := world.map.chads (1).attributes (attribute.offense) + data.modifier;
|
||||||
case data.operator is
|
when defense => world.map.chads (1).attributes (attribute.defense) := world.map.chads (1).attributes (attribute.defense) + data.modifier;
|
||||||
when attribute_offense => world.map.chads (1).attributes (attribute.offense) := world.map.chads (1).attributes (attribute.offense) + data.modifier;
|
when wisdom => world.map.chads (1).attributes (attribute.wisdom) := world.map.chads (1).attributes (attribute.wisdom) + data.modifier;
|
||||||
when attribute_wisdom => world.map.chads (1).attributes (attribute.wisdom) := world.map.chads (1).attributes (attribute.wisdom) + data.modifier;
|
when stamina => world.map.chads (1).attributes (attribute.stamina) := world.map.chads (1).attributes (attribute.stamina) + data.modifier;
|
||||||
when attribute_speed => world.map.chads (1).attributes (attribute.speed) := world.map.chads (1).attributes (attribute.speed) + data.modifier;
|
when speed => world.map.chads (1).attributes (attribute.speed) := world.map.chads (1).attributes (attribute.speed) + data.modifier;
|
||||||
when others => null;
|
when reach => world.map.chads (1).attributes (attribute.reach) := world.map.chads (1).attributes (attribute.reach) + data.modifier;
|
||||||
end case;
|
when alchemy => world.map.chads (1).skills (skill.alchemy) := world.map.chads (1).skills (skill.alchemy) + data.modifier;
|
||||||
|
when archery => world.map.chads (1).skills (skill.archery) := world.map.chads (1).skills (skill.archery) + data.modifier;
|
||||||
|
when architecture => world.map.chads (1).skills (skill.architecture) := world.map.chads (1).skills (skill.architecture) + data.modifier;
|
||||||
|
when athletics => world.map.chads (1).skills (skill.athletics) := world.map.chads (1).skills (skill.athletics) + data.modifier;
|
||||||
|
when diplomacy => world.map.chads (1).skills (skill.diplomacy) := world.map.chads (1).skills (skill.diplomacy) + data.modifier;
|
||||||
|
when estates => world.map.chads (1).skills (skill.estates) := world.map.chads (1).skills (skill.estates) + data.modifier;
|
||||||
|
when exploration => world.map.chads (1).skills (skill.exploration) := world.map.chads (1).skills (skill.exploration) + data.modifier;
|
||||||
|
when leadership => world.map.chads (1).skills (skill.leadership) := world.map.chads (1).skills (skill.leadership) + data.modifier;
|
||||||
|
when logistics => world.map.chads (1).skills (skill.logistics) := world.map.chads (1).skills (skill.logistics) + data.modifier;
|
||||||
|
when medicine => world.map.chads (1).skills (skill.medicine) := world.map.chads (1).skills (skill.medicine) + data.modifier;
|
||||||
|
when mercantile => world.map.chads (1).skills (skill.mercantile) := world.map.chads (1).skills (skill.mercantile) + data.modifier;
|
||||||
|
when mysticism => world.map.chads (1).skills (skill.mysticism) := world.map.chads (1).skills (skill.mysticism) + data.modifier;
|
||||||
|
when necromancy => world.map.chads (1).skills (skill.necromancy) := world.map.chads (1).skills (skill.necromancy) + data.modifier;
|
||||||
|
when resistance => world.map.chads (1).skills (skill.resistance) := world.map.chads (1).skills (skill.resistance) + data.modifier;
|
||||||
|
when skirmish => world.map.chads (1).skills (skill.skirmish) := world.map.chads (1).skills (skill.skirmish) + data.modifier;
|
||||||
|
when sorcery => world.map.chads (1).skills (skill.sorcery) := world.map.chads (1).skills (skill.sorcery) + data.modifier;
|
||||||
|
when tactics => world.map.chads (1).skills (skill.tactics) := world.map.chads (1).skills (skill.tactics) + data.modifier;
|
||||||
|
when thaumaturgy => world.map.chads (1).skills (skill.thaumaturgy) := world.map.chads (1).skills (skill.thaumaturgy) + data.modifier;
|
||||||
|
when gold => world.map.chads (1).resources (resource.gold) := world.map.chads (1).resources (resource.gold) + data.modifier;
|
||||||
|
when wood => world.map.chads (1).resources (resource.wood) := world.map.chads (1).resources (resource.wood) + data.modifier;
|
||||||
|
when stone => world.map.chads (1).resources (resource.stone) := world.map.chads (1).resources (resource.stone) + data.modifier;
|
||||||
|
when metal => world.map.chads (1).resources (resource.metal) := world.map.chads (1).resources (resource.metal) + data.modifier;
|
||||||
|
when leather => world.map.chads (1).resources (resource.leather) := world.map.chads (1).resources (resource.leather) + data.modifier;
|
||||||
|
when gem => world.map.chads (1).resources (resource.gem) := world.map.chads (1).resources (resource.gem) + data.modifier;
|
||||||
when others => null;
|
when others => null;
|
||||||
end case;
|
end case;
|
||||||
end apply;
|
end apply;
|
||||||
|
@ -7,28 +7,17 @@ package effect is
|
|||||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
type operation_index is (
|
type operation_index is (
|
||||||
idle,
|
offense, defense, wisdom, stamina, speed, reach,
|
||||||
player_add,
|
alchemy, archery, architecture, athletics, diplomacy, estates,
|
||||||
player_subtract,
|
exploration, leadership, logistics, medicine, mercantile, mysticism,
|
||||||
player_multiply,
|
necromancy, resistance, skirmish, sorcery, tactics, thaumaturgy,
|
||||||
player_divide,
|
gold, wood, stone, metal, leather, gem
|
||||||
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
|
type value is record
|
||||||
operation : operation_index;
|
operation : operation_index;
|
||||||
operator : operator_index;
|
|
||||||
modifier : integer;
|
modifier : integer;
|
||||||
permanent : boolean;
|
permanent : boolean;
|
||||||
duration : natural;
|
duration : natural;
|
||||||
|
@ -29,24 +29,24 @@ package skill is
|
|||||||
count : constant natural := enumeration'pos (enumeration'last) + 1;
|
count : constant natural := enumeration'pos (enumeration'last) + 1;
|
||||||
|
|
||||||
trait : constant array (enumeration) of information := (
|
trait : constant array (enumeration) of information := (
|
||||||
("Alchemy ", 0, "Alchemy skill determines effectiveness of your vials and potions. "),
|
alchemy => ("Alchemy ", 0, "Alchemy skill determines effectiveness of your vials and potions. "),
|
||||||
("Archery ", 0, "Archery skill determines effectiveness and range or your archers. "),
|
archery => ("Archery ", 0, "Archery skill determines effectiveness and range or your archers. "),
|
||||||
("Architecture ", 0, "Architecture decreases time spent on building constructions. "),
|
architecture => ("Architecture ", 0, "Architecture decreases time spent on building constructions. "),
|
||||||
("Athletics ", 0, "Athletics increases movement speed of all your units, since they train. "),
|
athletics => ("Athletics ", 0, "Athletics increases movement speed of all your units, since they train. "),
|
||||||
("Diplomacy ", 0, "Diplomacy helps you to avoid starting a battle you can't win. "),
|
diplomacy => ("Diplomacy ", 0, "Diplomacy helps you to avoid starting a battle you can't win. "),
|
||||||
("Estates ", 0, "Estates makes you the ultimate crypto-bro, establishing a blockchain. "),
|
estates => ("Estates ", 0, "Estates makes you the ultimate crypto-bro, establishing a blockchain. "),
|
||||||
("Exploration ", 0, "Exploration is quite self-explanatory... "),
|
exploration => ("Exploration ", 0, "Exploration is quite self-explanatory... "),
|
||||||
("Leadership ", 0, "Leadership is the default skill for any true chad, like God intended. "),
|
leadership => ("Leadership ", 0, "Leadership is the default skill for any true chad, like God intended. "),
|
||||||
("Logistics ", 0, "Logistics is a nightmare in real life, but this is only a game. "),
|
logistics => ("Logistics ", 0, "Logistics is a nightmare in real life, but this is only a game. "),
|
||||||
("Medicine ", 0, "Medicine skill makes you swallow pills like a kid in a drugstore. "),
|
medicine => ("Medicine ", 0, "Medicine skill makes you swallow pills like a kid in a drugstore. "),
|
||||||
("Mercantile ", 0, "Mercantile is the skill of any true-born nosy person, otherwise useless."),
|
mercantile => ("Mercantile ", 0, "Mercantile is the skill of any true-born nosy person, otherwise useless."),
|
||||||
("Mysticism ", 0, "Mysticism allows you to have 60 cats, drink wine and talk weird. "),
|
mysticism => ("Mysticism ", 0, "Mysticism allows you to have 60 cats, drink wine and talk weird. "),
|
||||||
("Necromancy ", 0, "Necromancy lets you not to waste the bones after every battle. "),
|
necromancy => ("Necromancy ", 0, "Necromancy lets you not to waste the bones after every battle. "),
|
||||||
("Resistence ", 0, "Resistence skill increases defense points of all your units slightly. "),
|
resistance => ("Resistence ", 0, "Resistence skill increases defense points of all your units slightly. "),
|
||||||
("Skirmish ", 0, "Skirmish makes your units go berserk when they have little health left. "),
|
skirmish => ("Skirmish ", 0, "Skirmish makes your units go berserk when they have little health left. "),
|
||||||
("Sorcery ", 0, "Sorcery skill is appropriately named useless skill to have in real life."),
|
sorcery => ("Sorcery ", 0, "Sorcery skill is appropriately named useless skill to have in real life."),
|
||||||
("Tactics ", 0, "Tactics is the opposite of skirmish, master it and lose in every battle."),
|
tactics => ("Tactics ", 0, "Tactics is the opposite of skirmish, master it and lose in every battle."),
|
||||||
("Thaumaturgy ", 0, "Thaumaturgy lets you do nothing, and hope that the best will happen. ")
|
thaumaturgy => ("Thaumaturgy ", 0, "Thaumaturgy lets you do nothing, and hope that the best will happen. ")
|
||||||
);
|
);
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------
|
||||||
|
@ -105,9 +105,9 @@ package world is
|
|||||||
);
|
);
|
||||||
|
|
||||||
location_trait : constant array (location_index) of location_stats := (
|
location_trait : constant array (location_index) of location_stats := (
|
||||||
well_of_agility => ("Well of Agility ", true, 4, 3, (effect.player_add, effect.attribute_speed, 2, false, 0)),
|
well_of_agility => ("Well of Agility ", true, 4, 3, (effect.speed, 2, false, 0)),
|
||||||
well_of_knowledge => ("Well of Knowledge ", true, 4, 3, (effect.player_add, effect.attribute_wisdom, 2, false, 0)),
|
well_of_knowledge => ("Well of Knowledge ", true, 4, 3, (effect.wisdom, 2, false, 0)),
|
||||||
well_of_strength => ("Well of Strength ", true, 4, 3, (effect.player_add, effect.attribute_offense, 2, false, 0))
|
well_of_strength => ("Well of Strength ", true, 4, 3, (effect.offense, 2, false, 0))
|
||||||
);
|
);
|
||||||
|
|
||||||
map : information;
|
map : information;
|
||||||
|
Loading…
Reference in New Issue
Block a user