-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic -- -- GNU General Public Licence (version 3 or later) with core, attribute, skill, resource, material, faction, equipment; package chad is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type enumeration is ( ada, richard, ognjen, wouter, john, marina ); ------------------------------------------------------------------------------------------ type definition is record name : access string; kind : faction.enumeration; bonus_attribute : attribute.enumeration; bonus_skill : skill.enumeration; bonus_resource : resource.enumeration; end record; item_limit : constant natural := 24; type item_array is array (0 .. item_limit - 1) of equipment.enumeration; type information is record index : enumeration; state : core.animation; x : integer; y : integer; health : core.point; mana : core.point; movement : core.point; attributes : attribute.points; skills : skill.points; resources : resource.points; materials : material.points; equipments : equipment.equip_array; item_count : natural; items : item_array; end record; type informations is array (natural range <>) of information; ------------------------------------------------------------------------------------------ count : constant natural := enumeration'pos (enumeration'last) + 1; description : constant array (enumeration) of definition := ( ada => (new string'("Ada Augusta King"), faction.fairy, attribute.defense, skill.diplomacy, resource.metal), richard => (new string'("Richard Martin Stallman"), faction.dwarf, attribute.offense, skill.leadership, resource.wood), ognjen => (new string'("Ognjen Milan Robovic"), faction.kobold, attribute.stamina, skill.archery, resource.leather), wouter => (new string'("Wouter van Oortmerssen"), faction.gnoll, attribute.speed, skill.medicine, resource.stone), john => (new string'("John Warner Backus"), faction.goblin, attribute.wisdom, skill.sorcery, resource.gem), marina => (new string'("Marina Ann Hantzis"), faction.imp, attribute.reach, skill.necromancy, resource.gold) ); view_width : constant integer := 64; view_height : constant integer := 96; sprite : array (enumeration) of core.sprite; view : array (enumeration) of core.sprite; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end chad;