-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic -- -- GNU General Public Licence (version 3 or later) with core, attribute, skill, resource, faction, equipment; package chad is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type enumeration is ( ada, richard, ognjen, wouter, john, marina ); ------------------------------------------------------------------------------------------ type information is record name : core.short_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 data is record index : enumeration; state : core.animation; health : core.point; mana : core.point; stamina : core.point; attributes : attribute.points; skills : skill.points; resources : resource.points; equipments : equipment.equip_array; item_count : natural; items : item_array; end record; type data_list is array (natural range <>) of data; ------------------------------------------------------------------------------------------ count : constant natural := enumeration'pos (enumeration'last) + 1; trait : constant array (enumeration) of information := ( ("Ada Augusta King ", faction.fairy, attribute.defense, skill.diplomacy, resource.metal), ("Richard Martin Stallman ", faction.dwarf, attribute.offense, skill.leadership, resource.wood), ("Ognjen Milan Robovic ", faction.kobold, attribute.stamina, skill.archery, resource.leather), ("Wouter van Oortmerssen ", faction.gnoll, attribute.speed, skill.medicine, resource.stone), ("John Warner Backus ", faction.goblin, attribute.wisdom, skill.sorcery, resource.gem), ("Marina Ann Hantzis ", faction.imp, attribute.reach, skill.necromancy, resource.gold) ); ------------------------------------------------------------------------------------------ procedure configure; procedure draw (player : in data; x, y : in integer); procedure view (player : in data; x, y : in integer); procedure draw_data (player : in data; x, y : in integer); procedure draw_menu (player : in data; x, y : in integer); function take_equipment_item (player : in out data; item : in equipment.enumeration) return boolean; procedure draw_pepe; procedure draw_alice; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end chad;