Default values for chads attributes, skills, resources...

This commit is contained in:
Ognjen Milan Robovic 2024-02-22 06:16:09 -05:00
parent f7976b922d
commit 999d4d1865
7 changed files with 62 additions and 61 deletions

View File

@ -20,6 +20,7 @@ package attribute is
type trait_array is array (codex) of information;
type sprite_array is array (codex) of core.sprite;
type value_array is array (codex) of base_limit;
------------------------------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
with core, faction;
with core, faction, attribute, skill, resource;
package chad is
@ -13,8 +13,11 @@ package chad is
type information is
record
name : core.short_string;
kind : faction.codex;
name : core.short_string;
kind : faction.codex;
attributes : attribute.value_array;
skills : skill.value_array;
resources : resource.value_array;
end record;
type trait_array is array (codex) of information;
@ -27,15 +30,15 @@ package chad is
count : constant natural := codex'pos (codex'last) + 1;
trait : constant trait_array := (
("Ognjen Milan Robovic ", faction.castle),
("Richard Martin Stallman ", faction.stronghold),
("Eric Steven Raymond ", faction.inferno),
("Linus Benedict Torvalds ", faction.tower),
("Ada Augusta King ", faction.conflux),
("Marina Ann Hantzis ", faction.necropolis),
("Angela <> Collier ", faction.rampart),
("Wouter van Oortmerssen ", faction.fortress),
("John Warner Backus ", faction.dungeon)
("Ognjen Milan Robovic ", faction.castle, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Richard Martin Stallman ", faction.stronghold, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Eric Steven Raymond ", faction.inferno, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Linus Benedict Torvalds ", faction.tower, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Ada Augusta King ", faction.conflux, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Marina Ann Hantzis ", faction.necropolis, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Angela <> Collier ", faction.rampart, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Wouter van Oortmerssen ", faction.fortress, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("John Warner Backus ", faction.dungeon, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3))
);
------------------------------------------------------------------------------------------

View File

@ -48,7 +48,7 @@ package construction is
kind : faction.codex;
level : level_limit;
grade : grade_limit;
price : resource.value;
price : resource.value_array;
frames : integer;
evoke : effect.codex;
end record;

View File

@ -19,6 +19,8 @@ procedure main is
begin
for i in skill.codex loop put_line (skill.trait (i).name & integer'image (chad.trait (chad.ognjen).skills (i))); end loop;
core.configure;
ui.configure;
attribute.configure;

View File

@ -11,7 +11,7 @@ package resource is
------------------------------------------------------------------------------------------
subtype base_limit is natural range 0 .. 144;
subtype base_limit is natural range 0 .. 144000;
type information is
record
@ -19,10 +19,9 @@ package resource is
base : base_limit;
end record;
type trait_array is array (codex) of information;
type value is array (codex) of natural;
type trait_array is array (codex) of information;
type sprite_array is array (codex) of core.sprite;
type value_array is array (codex) of base_limit;
------------------------------------------------------------------------------------------
@ -31,13 +30,13 @@ package resource is
count : constant natural := codex'pos (codex'last) + 1;
trait : constant trait_array := (
("Gold ", 1),
("Wood ", 3),
("Mercury ", 11),
("Ore ", 7),
("Sulfur ", 13),
("Crystal ", 17),
("Gem ", 19)
("Gold ", 0),
("Wood ", 0),
("Mercury ", 0),
("Ore ", 0),
("Sulfur ", 0),
("Crystal ", 0),
("Gem ", 0)
);
------------------------------------------------------------------------------------------

View File

@ -23,10 +23,9 @@ package body skill is
------------------------------------------------------------------------------------------
function name (index : in integer) return core.short_string is begin return trait (codex'val (index)).name; end name;
function base (index : in integer) return base_limit is begin return trait (codex'val (index)).base; end base;
function level (index : in integer) return level_limit is begin return trait (codex'val (index)).level; end level;
function icon (index : in integer) return core.sprite is begin return sprite (codex'val (index)); end icon;
function name (index : in integer) return core.short_string is begin return trait (codex'val (index)).name; end name;
function base (index : in integer) return base_limit is begin return trait (codex'val (index)).base; end base;
function icon (index : in integer) return core.sprite is begin return sprite (codex'val (index)); end icon;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

View File

@ -13,19 +13,17 @@ package skill is
------------------------------------------------------------------------------------------
subtype base_limit is natural range 0 .. 3;
subtype level_limit is natural range 0 .. 3;
subtype base_limit is natural range 0 .. 36;
type information is
record
name : core.short_string;
base : base_limit;
level : level_limit;
end record;
type trait_array is array (codex) of information;
type trait_array is array (codex) of information;
type sprite_array is array (codex) of core.sprite;
type value_array is array (codex) of base_limit;
------------------------------------------------------------------------------------------
@ -34,30 +32,30 @@ package skill is
count : constant natural := codex'pos (codex'last) + 1;
trait : constant trait_array := (
("Archery ", 0, 0),
("Offense ", 0, 0),
("Armourer ", 0, 0),
("Resistance ", 0, 0),
("Tactics ", 0, 0),
("First Aid ", 0, 0),
("Logistics ", 0, 0),
("Path Finding ", 0, 0),
("Navigation ", 0, 0),
("Scouting ", 0, 0),
("Leadership ", 0, 0),
("Scholar ", 0, 0),
("Fire Magic ", 0, 0),
("Water Magic ", 0, 0),
("Air Magic ", 0, 0),
("Earth Magic ", 0, 0),
("Mysticism ", 0, 0),
("Necromancy ", 0, 0),
("Sorcery ", 0, 0),
("Wisdom ", 0, 0),
("Intelligence ", 0, 0),
("Learning ", 0, 0),
("Diplomacy ", 0, 0),
("Estates ", 0, 0)
("Archery ", 0),
("Offense ", 0),
("Armourer ", 0),
("Resistance ", 0),
("Tactics ", 0),
("First Aid ", 0),
("Logistics ", 0),
("Path Finding ", 0),
("Navigation ", 0),
("Scouting ", 0),
("Leadership ", 0),
("Scholar ", 0),
("Fire Magic ", 0),
("Water Magic ", 0),
("Air Magic ", 0),
("Earth Magic ", 0),
("Mysticism ", 0),
("Necromancy ", 0),
("Sorcery ", 0),
("Wisdom ", 0),
("Intelligence ", 0),
("Learning ", 0),
("Diplomacy ", 0),
("Estates ", 0)
);
------------------------------------------------------------------------------------------
@ -66,10 +64,9 @@ package skill is
procedure draw (index : in codex; x, y : in integer);
function name (index : in integer) return core.short_string;
function base (index : in integer) return base_limit;
function level (index : in integer) return level_limit;
function icon (index : in integer) return core.sprite;
function name (index : in integer) return core.short_string;
function base (index : in integer) return base_limit;
function icon (index : in integer) return core.sprite;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------