xhads/source/chad.ads

65 lines
2.7 KiB
Ada

-- 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;
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 := (others => equipment.empty);
end record;
------------------------------------------------------------------------------------------
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);
procedure draw_pepe;
procedure draw_alice;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end chad;