-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic -- -- GNU General Public Licence (version 3 or later) with core, effect, attribute, faction; package equipment is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type slot is ( full_body, head, chest, hands, feet, neck, main_hand, off_hand ); type enumeration is ( none, 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, wooden_armour, fur_armour, fur_greaves, fur_gauntlets, red_hood, white_hood, wooden_helmet, human_helmet, human_armour, elven_helmet, elven_armour, orcish_helmet, orcish_armour, black_robe, cyan_robe, lime_dress, magenta_dress, orange_robe, pink_dress, red_robe, sexy_dress, white_robe, lime_robe, orange_hood, fur_helmet, black_hood, cyan_hood, lime_hood ); ------------------------------------------------------------------------------------------ type definition is record name : core.unstring; kind : slot; attributes : attribute.bonus; favor : faction.enumeration; evoke : effect.information; end record; type equip_array is array (slot) of enumeration; type description_array is array (enumeration range <>) of definition; type sprite_array is array (enumeration range <>) of core.sprite; type icon_array is array (enumeration range <>) of core.sprite; ------------------------------------------------------------------------------------------ count : constant natural := enumeration'pos (enumeration'last) + 1; description : access description_array; sprite : access sprite_array; icon : access icon_array; ------------------------------------------------------------------------------------------ function "=" (a, b : in enumeration) return boolean; function "/" (a, b : in enumeration) return boolean; procedure configure; procedure draw (index : in enumeration; state : in core.animation; x, y : in integer); procedure draw_plus (index : in enumeration; state : in core.animation; x, y : in integer); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end equipment;