xhads/source/item.ads

56 lines
2.7 KiB
Ada

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core, effect, attribute, skill, faction;
package item is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type slot is (
with_body, full_body, head, chest, hands, feet,
neck, main_hand, off_hand, bag, cloak, additional
);
type enumeration is (
iron_chestplate, iron_greaves, grey_tunic, iron_gauntlets, iron_helmet, iron_sword,
golden_necklace, iron_round_shield
);
------------------------------------------------------------------------------------------
type information is record
name : core.short_string;
kind : slot;
attributes : attribute.points;
bonus_skill : skill.enumeration;
favor : faction.enumeration;
evoke : effect.enumeration;
end record;
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
trait : constant array (enumeration) of information := (
("Iron Chestplate ", chest, (0, 3, 0, 0, 0, 0), skill.leadership, faction.gnoll, effect.none),
("Iron Greaves ", feet, (0, 1, 0, 0, 0, 0), skill.logistics, faction.gnoll, effect.none),
("Grey Tunic ", full_body, (0, 1, 0, 1, 0, 0), skill.exploration, faction.neutral, effect.none),
("Iron Gauntlets ", hands, (0, 1, 0, 0, 0, 0), skill.logistics, faction.gnoll, effect.none),
("Iron Helmet ", head, (0, 1, 0, 0, 0, 0), skill.leadership, faction.gnoll, effect.none),
("Iron Sword ", main_hand, (1, 0, 0, 0, 1, 2), skill.tactics, faction.gnoll, effect.none),
("Golden Necklace ", neck, (0, 0, 0, 0, 0, 0), skill.estates, faction.fairy, effect.none),
("Iron Round Shield ", off_hand, (0, 2, 0, 0, 0, 1), skill.tactics, faction.gnoll, effect.none)
);
------------------------------------------------------------------------------------------
procedure configure;
procedure draw (index : in enumeration; x, y : in integer);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end item;