Added skill points...

This commit is contained in:
Ognjen Milan Robovic 2024-05-23 04:44:43 -04:00
parent ea3496c1a5
commit 912fcaa047
3 changed files with 31 additions and 24 deletions

View File

@ -30,7 +30,7 @@ procedure main is
mana => (20, 30), mana => (20, 30),
stamina => (10, 20), stamina => (10, 20),
attributes => attribute.default, attributes => attribute.default,
skills => (1, 2, 3, 4, 5, 6, 7, 8, 9, others => 0), skills => skill.default,
resources => ((101, 240), (103, 240), (107, 240), (109, 240), (113, 240), (127, 240)), resources => ((101, 240), (103, 240), (107, 240), (109, 240), (113, 240), (127, 240)),
equipments => (equipment.chest => equipment.elven_armour, equipments => (equipment.chest => equipment.elven_armour,
equipment.head => equipment.elven_helmet, equipment.head => equipment.elven_helmet,

View File

@ -41,7 +41,9 @@ package body skill is
------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------
procedure draw_points (data : in points; x, y : in integer) is procedure draw_points (data : in points := (others => (0, 0));
x : in integer := 0;
y : in integer := 0) is
move_x : integer := x; move_x : integer := x;
move_y : integer := y; move_y : integer := y;
begin begin
@ -53,7 +55,7 @@ package body skill is
-- --
ui.draw_icon (icon (index), trait (index).text, move_x, move_y); ui.draw_icon (icon (index), trait (index).text, move_x, move_y);
ui.draw_text_box (move_x + core.icon, move_y, core.icon, core.icon); ui.draw_text_box (move_x + core.icon, move_y, core.icon, core.icon);
ui.write (data (index)'image, move_x + core.icon + 4, move_y + 8, (255, 255, 255, 255), 15, true); ui.write (data (index).value'image, move_x + core.icon + 4, move_y + 8, (255, 255, 255, 255), 15, true);
-- --
ui.write (trait (index).name, move_x + 2 * core.icon + 4, move_y + 8, (255, 255, 255, 255), 15, true); ui.write (trait (index).name, move_x + 2 * core.icon + 4, move_y + 8, (255, 255, 255, 255), 15, true);
-- --

View File

@ -18,42 +18,47 @@ package skill is
type information is record type information is record
name : core.short_string; name : core.short_string;
base : natural; base : core.point;
text : core.long_string; text : core.long_string;
end record; end record;
type points is array (enumeration) of natural; type points is array (enumeration) of core.point;
type bonus is array (enumeration) of natural;
default : points := (others => (0, 24));
------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------
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 => ("Alchemy ", 0, "Alchemy skill determines effectiveness of your vials and potions. "), alchemy => ("Alchemy ", (0, 24), "Alchemy skill determines effectiveness of your vials and potions. "),
archery => ("Archery ", 0, "Archery skill determines effectiveness and range or your archers. "), archery => ("Archery ", (0, 24), "Archery skill determines effectiveness and range or your archers. "),
architecture => ("Architecture ", 0, "Architecture decreases time spent on building constructions. "), architecture => ("Architecture ", (0, 24), "Architecture decreases time spent on building constructions. "),
athletics => ("Athletics ", 0, "Athletics increases movement speed of all your units, since they train. "), athletics => ("Athletics ", (0, 24), "Athletics increases movement speed of all your units, since they train. "),
diplomacy => ("Diplomacy ", 0, "Diplomacy helps you to avoid starting a battle you can't win. "), diplomacy => ("Diplomacy ", (0, 24), "Diplomacy helps you to avoid starting a battle you can't win. "),
estates => ("Estates ", 0, "Estates makes you the ultimate crypto-bro, establishing a blockchain. "), estates => ("Estates ", (0, 24), "Estates makes you the ultimate crypto-bro, establishing a blockchain. "),
exploration => ("Exploration ", 0, "Exploration is quite self-explanatory... "), exploration => ("Exploration ", (0, 24), "Exploration is quite self-explanatory... "),
leadership => ("Leadership ", 0, "Leadership is the default skill for any true chad, like God intended. "), leadership => ("Leadership ", (0, 24), "Leadership is the default skill for any true chad, like God intended. "),
logistics => ("Logistics ", 0, "Logistics is a nightmare in real life, but this is only a game. "), logistics => ("Logistics ", (0, 24), "Logistics is a nightmare in real life, but this is only a game. "),
medicine => ("Medicine ", 0, "Medicine skill makes you swallow pills like a kid in a drugstore. "), medicine => ("Medicine ", (0, 24), "Medicine skill makes you swallow pills like a kid in a drugstore. "),
mercantile => ("Mercantile ", 0, "Mercantile is the skill of any true-born nosy person, otherwise useless."), mercantile => ("Mercantile ", (0, 24), "Mercantile is the skill of any true-born nosy person, otherwise useless."),
mysticism => ("Mysticism ", 0, "Mysticism allows you to have 60 cats, drink wine and talk weird. "), mysticism => ("Mysticism ", (0, 24), "Mysticism allows you to have 60 cats, drink wine and talk weird. "),
necromancy => ("Necromancy ", 0, "Necromancy lets you not to waste the bones after every battle. "), necromancy => ("Necromancy ", (0, 24), "Necromancy lets you not to waste the bones after every battle. "),
resistance => ("Resistence ", 0, "Resistence skill increases defense points of all your units slightly. "), resistance => ("Resistence ", (0, 24), "Resistence skill increases defense points of all your units slightly. "),
skirmish => ("Skirmish ", 0, "Skirmish makes your units go berserk when they have little health left. "), skirmish => ("Skirmish ", (0, 24), "Skirmish makes your units go berserk when they have little health left. "),
sorcery => ("Sorcery ", 0, "Sorcery skill is appropriately named useless skill to have in real life."), sorcery => ("Sorcery ", (0, 24), "Sorcery skill is appropriately named useless skill to have in real life."),
tactics => ("Tactics ", 0, "Tactics is the opposite of skirmish, master it and lose in every battle."), tactics => ("Tactics ", (0, 24), "Tactics is the opposite of skirmish, master it and lose in every battle."),
thaumaturgy => ("Thaumaturgy ", 0, "Thaumaturgy lets you do nothing, and hope that the best will happen. ") thaumaturgy => ("Thaumaturgy ", (0, 24), "Thaumaturgy lets you do nothing, and hope that the best will happen. ")
); );
------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------
procedure configure; procedure configure;
procedure draw_points (data : in points; x, y : in integer); procedure draw_points (data : in points := (others => (0, 0));
x : in integer := 0;
y : in integer := 0);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------