-- 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 value is record index : enumeration; state : core.animation; x : integer; y : integer; 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 value_array is array (natural range <>) of value; ------------------------------------------------------------------------------------------ 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 value; x, y : in integer); procedure draw_data (player : in value; x, y : in integer); procedure draw_menu (player : in value; x, y : in integer); function take_equipment_item (player : in out value; item : in equipment.enumeration) return boolean; procedure draw_pepe; procedure draw_alice; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end chad;