xhads/source/construction.ads

51 lines
2.2 KiB
Ada

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core, effect, resource, faction;
package construction is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type enumeration is (
house, cottage, shack, homestead, hut, den
);
------------------------------------------------------------------------------------------
type definition is record
name : access string := new string'("--");
kind : faction.enumeration := faction.neutral;
price : resource.price := (others => 0);
frames : natural := 0;
evoke : effect.information := effect.none;
end record;
type information is record
index : enumeration := enumeration'first;
x : integer := 0;
y : integer := 0;
end record;
type informations is array (natural range <>) of information;
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
description : constant array (enumeration) of definition := (
house => (new string'("Dwarf House"), faction.dwarf, (others => 0), 1, effect.none),
cottage => (new string'("Fairy Cottage"), faction.fairy, (others => 0), 1, effect.none),
shack => (new string'("Gnoll Shack"), faction.gnoll, (others => 0), 1, effect.none),
homestead => (new string'("Kobold Homestead"), faction.kobold, (others => 0), 1, effect.none),
hut => (new string'("Goblin Hut"), faction.goblin, (others => 0), 1, effect.none),
den => (new string'("Imp Den"), faction.imp, (others => 0), 1, effect.none)
);
game : array (enumeration) of core.sprite;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end construction;