164 lines
4.8 KiB
Ada
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;
|