xhads/source/item.ads

68 lines
3.8 KiB
Ada
Raw Normal View History

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core, effect, attribute, faction;
2024-02-15 21:03:09 -05:00
package item is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type slot is (
with_body, full_body, head, chest, hands, feet,
neck, main_hand, off_hand, bag, cloak, additional
2024-02-15 21:03:09 -05:00
);
type enumeration is (
iron_chestplate, iron_greaves, iron_gauntlets, iron_helmet, iron_sword,
golden_necklace, iron_shield,
grey_tunic, white_tunic, black_tunic, red_tunic, green_tunic, blue_tunic,
yellow_tunic, orange_tunic, cyan_tunic, lime_tunic, pink_tunic, purple_tunic
2024-02-15 21:03:09 -05:00
);
------------------------------------------------------------------------------------------
type information is record
name : core.short_string;
kind : slot;
attributes : attribute.points;
favor : faction.enumeration;
evoke : effect.enumeration;
2024-02-15 21:03:09 -05:00
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), faction.gnoll, effect.none),
("Iron Greaves ", feet, (0, 1, 0, 0, 0, 0), faction.gnoll, effect.none),
("Iron Gauntlets ", hands, (0, 1, 0, 0, 0, 0), faction.gnoll, effect.none),
("Iron Helmet ", head, (0, 1, 0, 0, 0, 0), faction.gnoll, effect.none),
("Iron Sword ", main_hand, (1, 0, 0, 0, 1, 2), faction.gnoll, effect.none),
("Golden Necklace ", neck, (0, 0, 0, 0, 0, 0), faction.fairy, effect.none),
("Iron Shield ", off_hand, (0, 2, 0, 0, 0, 1), faction.gnoll, effect.none),
("Grey Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("White Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Black Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Red Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Green Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Blue Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Yellow Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Orange Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Cyan Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Lime Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Pink Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none),
("Purple Tunic ", full_body, (0, 1, 0, 1, 0, 0), faction.neutral, effect.none)
2024-02-15 21:03:09 -05:00
);
------------------------------------------------------------------------------------------
procedure configure;
procedure draw (index : in enumeration; x, y : in integer);
2024-02-15 21:03:09 -05:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end item;