|
- -- 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;
|