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