2024-02-15 21:03:09 -05:00
|
|
|
with core, menu, effect, resource, faction;
|
|
|
|
|
|
|
|
package construction is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
type codex is (
|
|
|
|
boar_glen, enchanters_hollow, hovel, nomad_tent, rogue_cavern, thatched_hut,
|
|
|
|
trolls_bridge, crystalized_cave, frozen_cliffs, magic_forest, pyramid, sulfurous_lair,
|
|
|
|
treetop_tower,
|
|
|
|
--
|
|
|
|
guardhouse, watchtower, griffin_tower, barracks, monastery, training_grounds,
|
|
|
|
holy_portal,
|
|
|
|
--
|
|
|
|
goblin_shed, wolf_pen, orc_tower, ogre_fort, cliff_nest, cyclops_cave,
|
|
|
|
behemoth_lair,
|
|
|
|
--
|
|
|
|
imp_crucible, hall_of_sins, kennels, demon_gate, hell_hole, fire_lake,
|
|
|
|
forsaken_palace,
|
|
|
|
--
|
|
|
|
workshop, parapet, golem_factory, mage_tower, altar_of_wishes, golden_pavilion,
|
|
|
|
cloud_temple,
|
|
|
|
--
|
|
|
|
little_lantern, air_shrine, water_shrine, fire_shrine, earth_shrine, magic_shrine,
|
|
|
|
flamewhirl,
|
|
|
|
--
|
|
|
|
cursed_shrine, graveyard, tomb_of_souls, estate, mausoleum, hall_of_darkness,
|
|
|
|
bone_vault,
|
|
|
|
--
|
|
|
|
centaur_stables, dwarf_cottage, homestead, enchanted_spring, dendroid_arches, unicorn_glades,
|
|
|
|
dragon_cliffs,
|
|
|
|
--
|
|
|
|
gnoll_hut, lizard_den, dragonfly_hive, basilisk_pit, gorgon_lair, wyvern_nest,
|
|
|
|
hydra_pond,
|
|
|
|
--
|
|
|
|
warren, harpy_loft, pillar_of_eyes, chappel_of_voice, labyrinth, manticore_lair,
|
|
|
|
dragon_cave
|
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
subtype grade_limit is natural range 0 .. 3;
|
|
|
|
subtype level_limit is natural range 0 .. 6;
|
|
|
|
|
|
|
|
type information is
|
|
|
|
record
|
|
|
|
name : core.short_string;
|
|
|
|
kind : faction.codex;
|
|
|
|
level : level_limit;
|
|
|
|
grade : grade_limit;
|
|
|
|
price : resource.value;
|
|
|
|
frames : integer;
|
|
|
|
evoke : effect.codex;
|
|
|
|
show : menu.codex;
|
|
|
|
end record;
|
|
|
|
|
|
|
|
type trait_array is array (codex) of information;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-19 16:20:38 -05:00
|
|
|
count : constant natural := codex'pos (codex'last) + 1;
|
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
trait : constant trait_array := (
|
|
|
|
-- Remove me later... Lv Gr Gold Wd Mr Or Sl Cr Gm
|
|
|
|
("Boar Glen ", faction.neutral, 1, 1, ( 90, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Enchanter's Hollow ", faction.neutral, 1, 1, (120, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Hovel ", faction.neutral, 2, 1, (180, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Nomad Tent ", faction.neutral, 3, 1, (240, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Rogue Cavern ", faction.neutral, 3, 1, (180, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Thatched Hut ", faction.neutral, 4, 1, (300, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Troll's Bridge ", faction.neutral, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Crystalized Cave ", faction.neutral, 1, 1, ( 90, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Frozen Cliffs ", faction.neutral, 1, 1, (120, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Magic Forest ", faction.neutral, 2, 1, (180, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Pyramid ", faction.neutral, 3, 1, (240, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Sulfurous Lair ", faction.neutral, 3, 1, (180, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Treetop Tower ", faction.neutral, 4, 1, (300, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
--
|
|
|
|
("Guardhouse ", faction.castle, 1, 1, ( 90, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Watchtower ", faction.castle, 1, 1, (120, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Griffin Tower ", faction.castle, 2, 1, (180, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Barracks ", faction.castle, 3, 1, (240, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Monastery ", faction.castle, 3, 1, (180, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Training Grounds ", faction.castle, 4, 1, (300, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Holy Portal ", faction.castle, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
--
|
|
|
|
("Goblin Shed ", faction.stronghold, 1, 1, ( 90, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Wolf Pen ", faction.stronghold, 1, 1, (120, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Orc Tower ", faction.stronghold, 2, 1, (180, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Ogre Fort ", faction.stronghold, 3, 1, (240, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Cliff Nest ", faction.stronghold, 3, 1, (180, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Cyclops Cave ", faction.stronghold, 4, 1, (300, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Behemoth Lair ", faction.stronghold, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
--
|
|
|
|
("Imp Crucible ", faction.inferno, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Hall of Sins ", faction.inferno, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Kennels ", faction.inferno, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Demon Gate ", faction.inferno, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Hell Hole ", faction.inferno, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Fire Lake ", faction.inferno, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Forsaken Palace ", faction.inferno, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
--
|
|
|
|
("Workshop ", faction.tower, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Parapet ", faction.tower, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Golem Factory ", faction.tower, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Mage Tower ", faction.tower, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Altar of Wishes ", faction.tower, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Golden Pavilion ", faction.tower, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Cloud Temple ", faction.tower, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
--
|
|
|
|
("Little Lantern ", faction.conflux, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Air Shrine ", faction.conflux, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Water Shrine ", faction.conflux, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Fire Shrine ", faction.conflux, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Earth Shrine ", faction.conflux, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Magic Shrine ", faction.conflux, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Flamewhirl ", faction.conflux, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
--
|
|
|
|
("Cursed Shrine ", faction.necropolis, 1, 1, ( 90, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Graveyard ", faction.necropolis, 1, 1, (120, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Tomb of Souls ", faction.necropolis, 2, 1, (180, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Estate ", faction.necropolis, 3, 1, (240, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Mausoleum ", faction.necropolis, 3, 1, (180, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Hall of Darkness ", faction.necropolis, 4, 1, (300, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Bone Vault ", faction.necropolis, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
--
|
|
|
|
("Centaur Stables ", faction.rampart, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Dwarf Cottage ", faction.rampart, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Homestead ", faction.rampart, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Enchanted Spring ", faction.rampart, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Dendroid Arches ", faction.rampart, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Unicorn Glades ", faction.rampart, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Dragon Cliffs ", faction.rampart, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
--
|
|
|
|
("Gnoll Hut ", faction.fortress, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Lizard Den ", faction.fortress, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Dragonfly Hive ", faction.fortress, 5, 1, (360, 0, 0, 0, 0, 0, 0), 3, effect.none, menu.none),
|
|
|
|
("Basilisk Pit ", faction.fortress, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Gorgon Lair ", faction.fortress, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Wyvern Next ", faction.fortress, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Hydra Pond ", faction.fortress, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
--
|
|
|
|
("Warren ", faction.dungeon, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Harpy Loft ", faction.dungeon, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Pillar of Eyes ", faction.dungeon, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Chappel of Voice ", faction.dungeon, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Labyrinth ", faction.dungeon, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Manticore Lair ", faction.dungeon, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none),
|
|
|
|
("Dragon Cave ", faction.dungeon, 5, 1, (360, 0, 0, 0, 0, 0, 0), 1, effect.none, menu.none)
|
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
procedure configure;
|
|
|
|
|
|
|
|
procedure draw (index : in codex; x, y : in integer);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
end construction;
|