68 lines
3.6 KiB
Ada
68 lines
3.6 KiB
Ada
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
--
|
|
-- GNU General Public Licence (version 3 or later)
|
|
|
|
with core, attribute, skill, resource, material, faction, equipment, unit;
|
|
|
|
package chad is
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
type enumeration is (
|
|
ada, richard, ognjen, wouter, john, marina
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
type definition is record
|
|
name : access string := new string'("--");
|
|
title : access string := new string'("--");
|
|
kind : faction.enumeration := faction.neutral;
|
|
bonus_attribute : attribute.enumeration := attribute.enumeration'first;
|
|
bonus_skill : skill.enumeration := skill.enumeration'first;
|
|
bonus_resource : resource.enumeration := resource.enumeration'first;
|
|
end record;
|
|
|
|
type information is record
|
|
index : enumeration := enumeration'first;
|
|
state : core.animation := core.animation'first;
|
|
level : natural := 1;
|
|
x : integer := 0;
|
|
y : integer := 0;
|
|
health : core.point := (12, 12);
|
|
mana : core.point := (12, 12);
|
|
stamina : core.point := (12, 12);
|
|
attributes : attribute.points := attribute.default;
|
|
skills : skill.points := (others => (others => <>));
|
|
resources : resource.points := resource.default;
|
|
materials : material.points := (others => (others => <>));
|
|
equipments : equipment.equip_array := equipment.default;
|
|
end record;
|
|
|
|
type informations is array (natural range <>) of information;
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
-- Knight Cleric Ranger Druid Alchemist Wizard Heretic Demoniac Necromancer Death-Knight Overlord Warlock Barbarian Battlemage Beast-Tamer Witch
|
|
|
|
count : constant natural := enumeration'pos (enumeration'last) + 1;
|
|
|
|
description : constant array (enumeration) of definition := (
|
|
ada => (new string'("Ada Augusta King"), new string'("Guardian"), faction.fairy, attribute.defense, skill.diplomacy, resource.metal),
|
|
richard => (new string'("Richard Martin Stallman"), new string'("Prophet"), faction.dwarf, attribute.offense, skill.leadership, resource.wood),
|
|
ognjen => (new string'("Ognjen Milan Robovic"), new string'("Wanderer"), faction.kobold, attribute.stamina, skill.archery, resource.leather),
|
|
wouter => (new string'("Wouter van Oortmerssen"), new string'("Battlemage"), faction.gnoll, attribute.speed, skill.medicine, resource.stone),
|
|
john => (new string'("John Warner Backus"), new string'("Sorcerer"), faction.goblin, attribute.wisdom, skill.sorcery, resource.gem),
|
|
marina => (new string'("Marina Ann Hantzis"), new string'("Necromancer"), faction.imp, attribute.reach, skill.necromancy, resource.gold)
|
|
);
|
|
|
|
view_width : constant integer := 64;
|
|
view_height : constant integer := 96;
|
|
|
|
game : array (enumeration) of core.sprite;
|
|
view : array (enumeration) of core.sprite;
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
end chad;
|