From deb15f0de390215d4f06fe61f55cd95482db5c6b Mon Sep 17 00:00:00 2001 From: xolatile Date: Fri, 13 Oct 2023 15:28:49 -0400 Subject: [PATCH] Core trait, skill and title reimplementation... --- xabina.adb | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 121 insertions(+), 5 deletions(-) diff --git a/xabina.adb b/xabina.adb index f673dea..f73625d 100644 --- a/xabina.adb +++ b/xabina.adb @@ -57,6 +57,8 @@ function xabina return integer is type screen_type is array (screen_height, screen_width) of character; + type description is new string (1 .. 144); + ------------------------------------------------------------------------------------------ active : boolean := true; @@ -732,12 +734,25 @@ function xabina return integer is ); type skill_list is ( + -- Combat skills. + SKILL_BLADES, SKILL_AXES, SKILL_MACES, SKILL_POLEARMS, SKILL_SHIELDS, SKILL_BOWS, SKILL_CROSSBOWS, SKILL_HANDS, SKILL_ONEHANDED, SKILL_TWOHANDED, SKILL_PRECISION, SKILL_THRUST, SKILL_ATHLETICS, SKILL_EQUITATION, SKILL_TACTICS, SKILL_SKIRMISH, - SKILL_WISDOM, SKILL_FAITH, SKILL_PATIENCE, SKILL_SPEECHCRAFT, SKILL_REFLECTION, SKILL_REFRACTION, SKILL_DECEPTION, SKILL_AUTHORITY, - SKILL_MEDICINE, SKILL_HERBALISM, SKILL_SMITHING, SKILL_CRAFTING, SKILL_MERCANTILE, SKILL_EDUCATION, SKILL_SIEGEWORK, SKILL_ALCHEMY, - SKILL_SURVIVAL, SKILL_NAVIGATION, SKILL_SPELLCRAFT, SKILL_KNOWLEDGE, SKILL_LIFE_FORCE, SKILL_PROTECTION, SKILL_REGENERATION, SKILL_RESTORATION, - SKILL_ASTRONOMY, SKILL_OCCULTISM, SKILL_MYSTICISM, SKILL_MANA_FORCE, SKILL_DETECTION, SKILL_STEALTH, SKILL_CHARM, SKILL_CURSE, - SKILL_FIRE_MAGIC, SKILL_EARTH_MAGIC, SKILL_WIND_MAGIC, SKILL_NATURE_MAGIC, SKILL_ROT_MAGIC, SKILL_VENOM_MAGIC, SKILL_TABBOO_MAGIC, SKILL_ABYSS_MAGIC + -- Magic skills. + SKILL_FIRE_MAGIC, SKILL_WATER_MAGIC, SKILL_EARTH_MAGIC, SKILL_WIND_MAGIC, SKILL_NATURE_MAGIC, SKILL_VENOM_MAGIC, SKILL_SHADOW_MAGIC, SKILL_BONE_MAGIC, + SKILL_RUNE_MAGIC, SKILL_PUPPET_MAGIC, SKILL_SUMMON_MAGIC, SKILL_INSECT_MAGIC, SKILL_RITUAL_MAGIC, SKILL_ROT_MAGIC, SKILL_TABBOO_MAGIC, SKILL_ABYSS_MAGIC, + -- Trait skills. + SKILL_WISDOM, SKILL_PATIENCE, SKILL_RELIGION, SKILL_SPEECH, SKILL_REFLECTION, SKILL_REFRACTION, SKILL_AUTHORITY, SKILL_DECEPTION, + SKILL_LIFE_FORCE, SKILL_MANA_FORCE, SKILL_REGENERATION, SKILL_RESTORATION, SKILL_SPELLCRAFT, SKILL_PROTECTION, SKILL_SYNTHESIS, SKILL_EVOCATION, + -- Knowledge skills. + SKILL_MEDICINE, SKILL_MERCANTILE, SKILL_EDUCATION, SKILL_NAVIGATION, SKILL_CONJURATION, SKILL_ALTERATION, SKILL_ENCHANEMENT, SKILL_TELEPORTATION, + SKILL_ASTRONOMY, SKILL_OCCULTISM, SKILL_MYSTICISM, SKILL_SURVIVAL, SKILL_EVASION, SKILL_STEALTH, SKILL_DETECTION, SKILL_IDENTIFICATION, + -- Work skills. + SKILL_BLACKSMITH, SKILL_WHITESMITH, SKILL_LIGHT_CRAFT, SKILL_HEAVY_CRAFT, SKILL_LIGHT_WORKS, SKILL_HEAVY_WORKS, SKILL_LEATHER, SKILL_CONSTRUCTION, + SKILL_WEAPONS, SKILL_ARMOURS, SKILL_ENGINEER, SKILL_ALCHEMY, SKILL_RITUAL, SKILL_EXPERIENCE, SKILL_NECROMANCY, SKILL_REINCARNATION + ); + + type title_list is ( + TITLE_HERO, TITLE_DEMON_LORD, TITLE_DRAGON_SLAYER,TITLE_GOBLIN_SLAYER ); type player_data is @@ -752,6 +767,107 @@ function xabina return integer is ------------------------------------------------------------------------------------------ + trait_info : constant array (trait_list) of description := ( + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ); + + skill_info : constant array (skill_list) of description := ( + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ); + + title_info : constant array (title_list) of description := ( + " ", + " ", + " ", + " " + ); + player : player_data; ------------------------------------------------------------------------------------------