xhads/source/item.ads

164 lines
4.8 KiB
Ada

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core, effect, attribute, 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 (
--~bone_chestplate,
--~bronze_chestplate,
--~chainmail_chestplate,
--~crystal_chestplate,
--~golden_chestplate,
--~iron_chestplate,
--~leather_chestplate,
--~mithril_chestplate,
--~steel_chestplate,
--~bone_greaves,
--~bronze_greaves,
--~chainmail_greaves,
--~crystal_greaves,
--~golden_greaves,
--~iron_greaves,
--~leather_greaves,
--~mithril_greaves,
--~steel_greaves,
black_tunic,
blue_tunic,
cyan_tunic,
green_tunic,
grey_tunic,
lime_tunic,
orange_tunic,
pink_tunic,
purple_tunic,
red_tunic,
white_tunic,
yellow_tunic
--~bone_gauntlets,
--~bronze_gauntlets,
--~chainmail_gauntlets,
--~crystal_gauntlets,
--~golden_gauntlets,
--~iron_gauntlets,
--~leather_gauntlets,
--~mithril_gauntlets,
--~steel_gauntlets,
--~bone_helmet,
--~bronze_helmet,
--~chainmail_helmet,
--~crystal_helmet,
--~golden_helmet,
--~iron_helmet,
--~leather_helmet,
--~mithril_helmet,
--~steel_helmet,
--~bone_axe,
--~bone_battleaxe,
--~bone_bow,
--~bone_mace,
--~bone_spear,
--~bone_sword,
--~bronze_axe,
--~bronze_greatsword,
--~bronze_mace,
--~bronze_spear,
--~bronze_sword,
--~club,
--~crystal_bow,
--~crystal_greatsword,
--~crystal_mace,
--~crystal_spear,
--~crystal_sword,
--~golden_axe,
--~golden_battleaxe,
--~golden_bow,
--~golden_greatsword,
--~golden_sword,
--~iron_axe,
--~iron_bow,
--~iron_mace,
--~iron_spear,
--~iron_sword,
--~jade_axe,
--~jade_battleaxe,
--~jade_greatsword,
--~jade_mace,
--~jade_spear,
--~jade_sword,
--~maul,
--~mithril_axe,
--~mithril_battleaxe,
--~mithril_bow,
--~mithril_mace,
--~mithril_spear,
--~sledge_hammer,
--~spiked_club,
--~spiked_staff,
--~staff,
--~steel_battleaxe,
--~steel_bow,
--~steel_greatsword,
--~steel_mace,
--~steel_sword,
--~wooden_bow,
--~wooden_greatsword,
--~wooden_sword,
--~golden_necklace,
--~bronze_shield,
--~crystal_shield,
--~golden_shield,
--~iron_shield,
--~mithril_shield,
--~steel_shield,
--~wooden_shield
);
------------------------------------------------------------------------------------------
type information is record
name : core.short_string;
kind : slot;
attributes : attribute.points;
favor : faction.enumeration;
evoke : effect.enumeration;
end record;
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
trait : constant array (enumeration) of information := (
("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)
);
------------------------------------------------------------------------------------------
procedure configure;
procedure draw (index : in enumeration; x, y : in integer);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end item;