xhads/source/unit.ads

237 lines
26 KiB
Ada
Raw Normal View History

2024-03-11 15:35:56 -04:00
with core, effect, attribute, faction;
2024-02-15 21:03:09 -05:00
package unit is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type animation is (
idle, wounded, dead, moving, toggle_moving, attack
);
type codex is (
azure_dragon, boar, crystal_dragon, enchanter, faerie_dragon, gold_golem,
halfing, mummy, nomad, peasant, rogue, rust_dragon,
sharpshooter, troll,
2024-02-15 21:03:09 -05:00
--
pikeman, halberdier, archer, marksman, griffin, royal_griffin,
swordsman, crusader, monk, zealot, cavalier, champion,
angel, arch_angel,
--
goblin, hobgoblin, wolf_rider, wolf_raider, orc, orc_chieftain,
ogre, ogre_magi, roc, thunderbird, cyclops, cyclops_king,
behemoth, ancient_behemoth,
--
imp, familiar, gog, magog, hell_hound, cerberus,
demon, horned_demon, pit_fiend, pit_lord, efreet, efreet_sultan,
2024-02-15 21:03:09 -05:00
devil, arch_devil,
--
gremlin, master_gremlin, stone_gargoyle, obsidian_gargoyle, stone_golem, iron_golem,
2024-02-15 21:03:09 -05:00
mage, arch_mage, geany, master_geany, naga, naga_queen,
giant, titan,
--
pixie, spirit, air_elemental, storm_elemental, water_elemental, ice_elemental,
fire_elemental, energy_elemental, earth_elemental, magma_elemental, psychic_elemental, magic_elemental,
fire_bird, phoenix,
--
skeleton, skeleton_warrior, walking_dead, zombie, wight, wraith,
vampire, vampire_lord, lich, power_lich, black_knight, dread_knight,
bone_dragon, ghost_dragon,
--
centaur, centaur_captain, dwarf, battle_dwarf, wood_elf, grand_elf,
pegasus, silver_pegasus, dendroid_guard, dendroid_soldier, unicorn, war_unicorn,
green_dragon, gold_dragon,
--
gnoll, gnoll_marauder, lizardman, lizard_warrior, serpentfly, dragonfly,
basilisk, greater_basilisk, gorgon, mighty_gorgon, wyvern, wyvern_monarch,
hydra, chaos_hydra,
--
troglodyte, infernal_troglodyte, harpy, harpy_hag, evil_eye, beholder,
medusa, medusa_queen, minotaur, minotaur_king, manticore, scorpicore,
red_dragon, black_dragon
);
------------------------------------------------------------------------------------------
type information is
record
2024-03-11 15:35:56 -04:00
name : core.short_string;
kind : faction.codex;
attributes : attribute.value_array;
evoke : effect.codex;
text : core.long_string;
2024-02-15 21:03:09 -05:00
end record;
type trait_array is array (codex) of information;
------------------------------------------------------------------------------------------
count : constant natural := codex'pos (codex'last) + 1;
2024-02-15 21:03:09 -05:00
trait : constant trait_array := (
2024-03-13 16:56:59 -04:00
("Azure Dragon ", faction.neutral, (1, 1, 1, 1), effect.none, "Powerful and majestic dragon known for its devastating attacks. "),
("Boar ", faction.neutral, (1, 1, 1, 1), effect.none, "Wild animal with tusks, often used as frontline warriors. "),
("Crystal Dragon ", faction.neutral, (1, 1, 1, 1), effect.none, "Crystal-encrusted dragon with powerful magical abilities. "),
("Enchanter ", faction.neutral, (1, 1, 1, 1), effect.none, "Spellcaster specializing in enchantments and buffs. "),
("Faerie Dragon ", faction.neutral, (1, 1, 1, 1), effect.none, "Mischievous creature with potent magical abilities. "),
("Gold Golem ", faction.neutral, (1, 1, 1, 1), effect.none, "Construct made of pure gold, resistant to magic. "),
("Halfing ", faction.neutral, (1, 1, 1, 1), effect.none, "Small, nimble creature with stealth and ranged abilities. "),
("Mummy ", faction.neutral, (1, 1, 1, 1), effect.none, "Undead creature wrapped in bandages, capable of curses. "),
("Nomad ", faction.neutral, (1, 1, 1, 1), effect.none, "Skilled ranged fighter from the desert with high mobility. "),
("Peasant ", faction.neutral, (1, 1, 1, 1), effect.none, "Basic unit, typically low-cost and expendable. "),
("Rogue ", faction.neutral, (1, 1, 1, 1), effect.none, "Sneaky unit specialized in stealth and surprise attacks. "),
("Rust Dragon ", faction.neutral, (1, 1, 1, 1), effect.none, "Dragon with corrosive breath, capable of weakening enemies. "),
("Sharpshooter ", faction.neutral, (1, 1, 1, 1), effect.none, "Highly skilled ranged unit with exceptional accuracy. "),
("Troll ", faction.neutral, (1, 1, 1, 1), effect.none, "Regenerating and powerful brute, often used as a tank. "),
2024-03-13 19:34:55 -04:00
--
2024-03-13 16:56:59 -04:00
("Pikeman ", faction.castle, (1, 1, 1, 1), effect.none, "Basic spear-wielding infantry unit with a defensive stance. "),
("Halberdier ", faction.castle, (1, 1, 1, 1), effect.none, "Advanced infantry unit armed with a versatile halberd. "),
("Archer ", faction.castle, (1, 1, 1, 1), effect.none, "Ranged unit proficient in shooting arrows at enemies. "),
("Crossbowman ", faction.castle, (1, 1, 1, 1), effect.none, "Highly skilled archer with superior accuracy and damage. "),
("Griffin ", faction.castle, (1, 1, 1, 1), effect.none, "Majestic creature with flying capabilities and swift attacks. "),
("Royal Griffin ", faction.castle, (1, 1, 1, 1), effect.none, "Upgraded version of the Griffin with enhanced stats and abilities. "),
("Swordsman ", faction.castle, (1, 1, 1, 1), effect.none, "Skillful melee fighter equipped with a sharp blade. "),
("Crusader ", faction.castle, (1, 1, 1, 1), effect.none, "Holy warrior with strong offensive and defensive capabilities. "),
("Monk ", faction.castle, (1, 1, 1, 1), effect.none, "Mystic unit with healing and support spells. "),
("Zealot ", faction.castle, (1, 1, 1, 1), effect.none, "Fanatic warrior dedicated to their cause, often infused with magic. "),
("Cavalier ", faction.castle, (1, 1, 1, 1), effect.none, "Mounted knight unit with speed and impact in battle. "),
("Champion ", faction.castle, (1, 1, 1, 1), effect.none, "Elite warrior with exceptional combat skills and resilience. "),
("Angel ", faction.castle, (1, 1, 1, 1), effect.none, "Divine being with powerful healing and offensive abilities. "),
("Arch-Angel ", faction.castle, (1, 1, 1, 1), effect.none, "Superior celestial being with extraordinary powers and influence. "),
2024-03-13 19:34:55 -04:00
--
2024-03-13 16:56:59 -04:00
("Goblin ", faction.stronghold, (1, 1, 1, 1), effect.none, "Small and mischievous creature known for its cunning and traps. "),
("Hobgoblin ", faction.stronghold, (1, 1, 1, 1), effect.none, "Stronger and more vicious version of the goblin, often brave warriors. "),
("Wolf Rider ", faction.stronghold, (1, 1, 1, 1), effect.none, "Fast-moving unit mounted on wolves for quick strikes. "),
("Wolf Raider ", faction.stronghold, (1, 1, 1, 1), effect.none, "Upgraded version of the Wolf Rider with enhanced strength and ferocity. "),
("Orc ", faction.stronghold, (1, 1, 1, 1), effect.none, "Brutal and fierce humanoid warrior with a penchant for melee combat. "),
("Orc Chieftain ", faction.stronghold, (1, 1, 1, 1), effect.none, "Leader of orcish tribes, commanding respect and fear among his folk. "),
("Orge ", faction.stronghold, (1, 1, 1, 1), effect.none, "Huge and powerful creature capable of crushing foes with its strength. "),
("Ogre Magi ", faction.stronghold, (1, 1, 1, 1), effect.none, "Magical variant of the ogre, using berserk spell in addition to mace. "),
("Roc ", faction.stronghold, (1, 1, 1, 1), effect.none, "Gigantic bird of prey with the ability to carry friendly units. "),
("Thunderbird ", faction.stronghold, (1, 1, 1, 1), effect.none, "Mythical bird with control over lightning and thunder. "),
("Cyclops ", faction.stronghold, (1, 1, 1, 1), effect.none, "One-eyed giant wielding massive clubs for devastating blows. "),
("Cyclops King ", faction.stronghold, (1, 1, 1, 1), effect.none, "Sovereign ruler among the cyclops race, commanding great respect. "),
("Behemoth ", faction.stronghold, (1, 1, 1, 1), effect.none, "Enormous and unstoppable monster wreaking havoc on the battlefield. "),
("Ancient Behemoth ", faction.stronghold, (1, 1, 1, 1), effect.none, "Legendary and exceptionally powerful behemoth with devastating attacks. "),
2024-03-13 19:34:55 -04:00
--
2024-03-13 16:56:59 -04:00
("Imp ", faction.inferno, (1, 1, 1, 1), effect.none, "Small, agile demon known for its cunning and mischief. "),
("Familiar ", faction.inferno, (1, 1, 1, 1), effect.none, "Devilish creature bound to a sorcerer, aiding in magic and combat. "),
("Gog ", faction.inferno, (1, 1, 1, 1), effect.none, "Mighty and brutish humanoid warrior wielding a massive club. "),
("Magog ", faction.inferno, (1, 1, 1, 1), effect.none, "Elite version of the Gog, boasting enhanced strength and aggression. "),
("Hell Hound ", faction.inferno, (1, 1, 1, 1), effect.none, "Fiery canine creature with a fierce bite and burning breath. "),
("Cerberus ", faction.inferno, (1, 1, 1, 1), effect.none, "Three-headed dog guarding the gates of the underworld with ferocity. "),
("Demon ", faction.inferno, (1, 1, 1, 1), effect.none, "Malevolent creature from the abyss, wielding dark powers and strength. "),
("Horned Demon ", faction.inferno, (1, 1, 1, 1), effect.none, "Upgraded demon with greater power and enhanced abilities. "),
("Pit Fiend ", faction.inferno, (1, 1, 1, 1), effect.none, "Terrifying demon lord commanding legions of infernal forces. "),
("Pit Lord ", faction.inferno, (1, 1, 1, 1), effect.none, "Ruthless ruler of demonic realms, instilling fear in all who oppose. "),
("Efreeti ", faction.inferno, (1, 1, 1, 1), effect.none, "Fiery elemental being capable of unleashing inferno upon enemies. "),
("Efreet Sultan ", faction.inferno, (1, 1, 1, 1), effect.none, "Powerful and regal efreet lord commanding fire and magic. "),
("Devil ", faction.inferno, (1, 1, 1, 1), effect.none, "Cunning and manipulative fiend striking deals for souls and power. "),
("Arch Devil ", faction.inferno, (1, 1, 1, 1), effect.none, "Ultimate demon lord embodying darkness and corruption. "),
2024-03-13 19:34:55 -04:00
--
2024-03-13 16:56:59 -04:00
("Gremlin ", faction.tower, (1, 1, 1, 1), effect.none, "Small, mischievous creature known for its trickery and cunning. "),
("Master Gremlin ", faction.tower, (1, 1, 1, 1), effect.none, "A more powerful version of the Gremlin with enhanced abilities. "),
("Stone Gargoyle ", faction.tower, (1, 1, 1, 1), effect.none, "Stone creature resembling a grotesque statue, often found in ruins. "),
("Obisidian Gargoyle ", faction.tower, (1, 1, 1, 1), effect.none, "Stronger variant of the Stone Gargoyle, with increased durability. "),
("Stone Golem ", faction.tower, (1, 1, 1, 1), effect.none, "Humanoid construct made entirely of stone, animated through magic. "),
("Iron Golem ", faction.tower, (1, 1, 1, 1), effect.none, "Stronger and more resilient golem crafted from iron and alloys. "),
("Mage ", faction.tower, (1, 1, 1, 1), effect.none, "Spellcaster wielding elemental magic and arcane powers in battles. "),
("Arch Mage ", faction.tower, (1, 1, 1, 1), effect.none, "Masterful mage with unparalleled mastery over various schools of magic. "),
("Geany ", faction.tower, (1, 1, 1, 1), effect.none, "Mystical creature capable of granting wishes, blessing his friends. "),
("Master Geany ", faction.tower, (1, 1, 1, 1), effect.none, "Higher-ranking Geany possessing greater magical prowess and wisdom. "),
("Naga ", faction.tower, (1, 1, 1, 1), effect.none, "Serpentine creature with a humanoid upper body, wielding deadly poison. "),
("Naga Queen ", faction.tower, (1, 1, 1, 1), effect.none, "Powerful matriarch among the Naga, ruling with pride and confidence. "),
("Giant ", faction.tower, (1, 1, 1, 1), effect.none, "Enormous humanoid known for its immense strength and sheer size. "),
("Titan ", faction.tower, (1, 1, 1, 1), effect.none, "Colossal and ancient being of immense power throwing lightning. "),
2024-03-13 19:34:55 -04:00
--
2024-03-13 16:56:59 -04:00
("Pixie ", faction.conflux, (1, 1, 1, 1), effect.none, "Tiny, sprite-like creature known for its magical abilities. "),
("Spirit ", faction.conflux, (1, 1, 1, 1), effect.none, "An actual sprite, but I used that name for image data sadly. "),
("Air Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "Elemental creature using the power of air, controling winds and storms. "),
("Storm Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "Powerful entity of turbulent weather, commanding lightning and thunder. "),
("Water Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "Entity formed of pure water, capable of manipulating rivers and rain. "),
("Ice Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "Elemental creature embodying the chilling power of ice and frost. "),
("Fire Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "Being of living flames and intense heat, wreaking havoc with its fire. "),
("Energy Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "Elemental entity representing raw energy in its most potent form. "),
("Earth Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "Elemental creature tied to the earth itself, possessing great strength. "),
("Magma Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "Fusion of fire and earth elements, embodying molten rock. "),
("Psychic Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "Entity harnessing the power of the mind, capable of psionic attacks. "),
("Magic Elemental ", faction.conflux, (1, 1, 1, 1), effect.none, "An elemental creature infused with pure arcane energy. "),
("Fire Bird ", faction.conflux, (1, 1, 1, 1), effect.none, "A mythical avian creature with feathers of flame, embodying the flames. "),
("Phoenix ", faction.conflux, (1, 1, 1, 1), effect.none, "Legendary bird of rebirth and renewal, reborn from its ashes. "),
2024-03-13 19:34:55 -04:00
--
2024-03-13 16:56:59 -04:00
("Skeleton ", faction.necropolis, (1, 1, 1, 1), effect.none, "Animated pile of bones, devoid of flesh or soul, controlled by magic. "),
("Skeleton Warrior ", faction.necropolis, (1, 1, 1, 1), effect.none, "Reanimated skeletal being armed for battle, serving as undead soldiers. "),
("Walking Dead ", faction.necropolis, (1, 1, 1, 1), effect.none, "Reanimated corpses stumbling aimlessly, driven by dark magic or curses. "),
("Zombie ", faction.necropolis, (1, 1, 1, 1), effect.none, "Flesh-eating undead creatures, reanimated through necromantic rituals. "),
("Wight ", faction.necropolis, (1, 1, 1, 1), effect.none, "Undead creature with malevolent powers, often draining life energy. "),
("Wraith ", faction.necropolis, (1, 1, 1, 1), effect.none, "Spectral entity dwelling in darkness, feeding on fear and despair. "),
("Vampire ", faction.necropolis, (1, 1, 1, 1), effect.none, "Immortal creature of the night, sustained by blood and flesh. "),
("Vampire Lord ", faction.necropolis, (1, 1, 1, 1), effect.none, "Powerful vampire noble with enhanced abilities and commanding undead. "),
("Lich ", faction.necropolis, (1, 1, 1, 1), effect.none, "Undead sorcerer achieving immortality through dark magic. "),
("Power Lich ", faction.necropolis, (1, 1, 1, 1), effect.none, "Elite lich with heightened magical prowess and devastating spells. "),
("Black Knight ", faction.necropolis, (1, 1, 1, 1), effect.none, "Undead warrior clad in dark armor, serving dark lords to spread terror. "),
("Dread Knight ", faction.necropolis, (1, 1, 1, 1), effect.none, "Elite black knight of immense power and skill, feared on the front. "),
("Bone Dragon ", faction.necropolis, (1, 1, 1, 1), effect.none, "Undead dragon reanimated from ancient bones, breathing death and decay. "),
("Ghost Dragon ", faction.necropolis, (1, 1, 1, 1), effect.none, "Spectral dragon of ethereal essence, haunting the living beings. "),
2024-03-13 19:34:55 -04:00
--
2024-03-13 16:56:59 -04:00
("Centaur ", faction.rampart, (1, 1, 1, 1), effect.none, "Half-human, half-horse creature known for archery and speed in combat. "),
("Centaur Captain ", faction.rampart, (1, 1, 1, 1), effect.none, "Distinguished centaur leader commanding troops with precision. "),
("Dwarf ", faction.rampart, (1, 1, 1, 1), effect.none, "Stout and sturdy underground-dwelling beings skilled in craftsmanship. "),
("Battle Dwarf ", faction.rampart, (1, 1, 1, 1), effect.none, "Ferocious dwarf warrior renowned for their combat prowess. "),
("Wood Elf ", faction.rampart, (1, 1, 1, 1), effect.none, "Graceful forest-dwelling elves attuned to nature and archery. "),
("Grand Elf ", faction.rampart, (1, 1, 1, 1), effect.none, "Elite wood elf warrior with exceptional skills in marksmanship. "),
("Pegasus ", faction.rampart, (1, 1, 1, 1), effect.none, "Majestic winged horse revered for its speed and grace in battle. "),
("Silver Pegasus ", faction.rampart, (1, 1, 1, 1), effect.none, "Rare and ethereal pegasus with shimmering silver wings and light aura. "),
("Dendroid Guard ", faction.rampart, (1, 1, 1, 1), effect.none, "Towering tree-like creature standing as a guardian of the forest. "),
("Dendroid Soldier ", faction.rampart, (1, 1, 1, 1), effect.none, "Animated tree warrior fiercely protecting nature with its wooden might. "),
("Unicorn ", faction.rampart, (1, 1, 1, 1), effect.none, "Magical horse-like creature with a spiraling horn, symbolizing grace. "),
("War Unicorn ", faction.rampart, (1, 1, 1, 1), effect.none, "Armored unicorn charging into battle with unmatched strength and valor. "),
("Green Dragon ", faction.rampart, (1, 1, 1, 1), effect.none, "Powerful dragon associated with nature and known for fire breath. "),
("Gold Dragon ", faction.rampart, (1, 1, 1, 1), effect.none, "Noble and majestic dragon of great wisdom and power. "),
2024-03-13 19:34:55 -04:00
--
2024-03-13 16:56:59 -04:00
("Gnoll ", faction.fortress, (1, 1, 1, 1), effect.none, "Agile and aggressive hyena-like humanoid known for their savagery. "),
("Gnoll Marauder ", faction.fortress, (1, 1, 1, 1), effect.none, "Ruthless and cunning gnoll leader skilled in hit-and-run tactics. "),
("Lizardman ", faction.fortress, (1, 1, 1, 1), effect.none, "Reptilian humanoid proficient in swamp and jungle environments. "),
("Lizard Warrior ", faction.fortress, (1, 1, 1, 1), effect.none, "Strong and resilient lizardman warrior with great archery skills. "),
("Serpentfly ", faction.fortress, (1, 1, 1, 1), effect.none, "Agile flying creature with a venomous sting, hunting prey from the air. "),
("Dragonfly ", faction.fortress, (1, 1, 1, 1), effect.none, "Swift flying insect-like creature known for its large wings. "),
("Basilisk ", faction.fortress, (1, 1, 1, 1), effect.none, "Terrifying creature capable of petrifying its victims. "),
("Greater Basilisk ", faction.fortress, (1, 1, 1, 1), effect.none, "Larger and more deadly variant of the basilisk, feared for its gaze. "),
("Gorgon ", faction.fortress, (1, 1, 1, 1), effect.none, "Mythical creature with the ability to turn foes to stone with a glance. "),
("Mighty Gorgon ", faction.fortress, (1, 1, 1, 1), effect.none, "Enhanced and formidable Gorgon, striking fear into enemies. "),
("Wyvern ", faction.fortress, (1, 1, 1, 1), effect.none, "Winged dragon-like creature with a barbed tail and a fierce nature. "),
("Wyvern Monarch ", faction.fortress, (1, 1, 1, 1), effect.none, "Sovereign wyvern of colossal size and power with its venomous breath. "),
("Hydra ", faction.fortress, (1, 1, 1, 1), effect.none, "Mythical multi-headed serpent known for its regenerative abilities. "),
("Chaos Hydra ", faction.fortress, (1, 1, 1, 1), effect.none, "Chaotic variant of the hydra with devastating attacks. "),
2024-03-13 19:34:55 -04:00
--
2024-03-13 16:56:59 -04:00
("Troglodyte ", faction.dungeon, (1, 1, 1, 1), effect.none, "Primitive subterranean humanoid with a keen sense of smell. "),
("Infernal Troglodyte ", faction.dungeon, (1, 1, 1, 1), effect.none, "Corrupted troglodyte infused with infernal power and dark magic. "),
("Harpy ", faction.dungeon, (1, 1, 1, 1), effect.none, "Half-bird, half-human creature known for its aerial attacks. "),
("Harpy Hag ", faction.dungeon, (1, 1, 1, 1), effect.none, "Malevolent and powerful harpy matriarch capable of casting curses. "),
("Evil Eye ", faction.dungeon, (1, 1, 1, 1), effect.none, "Floating creature with a deadly gaze that can weaken its victims. "),
("Beholder ", faction.dungeon, (1, 1, 1, 1), effect.none, "Floating abomination with multiple eye stalks that shoot venom. "),
("Medusa ", faction.dungeon, (1, 1, 1, 1), effect.none, "Mythical creature with a gaze that turns beings to stone. "),
("Medusa Queen ", faction.dungeon, (1, 1, 1, 1), effect.none, "Powerful and regal medusa with a deadly gaze, ruling over medusas. "),
("Minotaur ", faction.dungeon, (1, 1, 1, 1), effect.none, "Bull-headed humanoid known for its brute strength. "),
("Minotaur King ", faction.dungeon, (1, 1, 1, 1), effect.none, "Majestic and formidable minotaur leader with combat prowess. "),
("Manticore ", faction.dungeon, (1, 1, 1, 1), effect.none, "Mythical creature with a lion's body, bat-like wings, and a spiky tail. "),
("Scorpicore ", faction.dungeon, (1, 1, 1, 1), effect.none, "Hybrid creature combining traits of a manticore and a scorpion. "),
("Red Dragon ", faction.dungeon, (1, 1, 1, 1), effect.none, "Massive fire-breathing dragon with a fearsome reputation. "),
("Black Dragon ", faction.dungeon, (1, 1, 1, 1), effect.none, "Scheming and malevolent beast boasting fire breath and a cruel demeanor.")
2024-02-15 21:03:09 -05:00
);
------------------------------------------------------------------------------------------
procedure configure;
procedure draw (index : in codex; state : in animation; x, y : in integer);
procedure icon (index : in codex; x, y : in integer);
procedure view (index : in codex; x, y : in integer);
procedure menu (x, y : in integer; center : in boolean);
2024-02-15 21:03:09 -05:00
2024-03-11 15:35:56 -04:00
procedure stat (index : in codex; x, y : in integer; center : in boolean);
2024-02-15 21:03:09 -05:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end unit;