xhads/source/material.ads

79 lines
3.4 KiB
Ada
Raw Normal View History

2024-05-12 20:15:36 -04:00
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core;
package material is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type enumeration is (
2024-06-14 11:02:53 -04:00
none,
2024-05-28 04:25:34 -04:00
sulphur, mercury, mint, cinnamon, apple, peach,
pear, banana, orange, plum, cherry, lemon,
potato, wheat, carrot, cucumber, onion, garlic,
eggplant, tomato, meat, fish_meat, skull, animal_skull,
bone, rib_cage, animal_skin, animal_fur
2024-05-12 20:15:36 -04:00
);
------------------------------------------------------------------------------------------
type definition is record
2024-06-14 11:02:53 -04:00
name : access string := new string'("--");
cost : natural := 0;
2024-05-12 20:15:36 -04:00
end record;
2024-06-14 11:02:53 -04:00
type point is record
index : enumeration := enumeration'first;
2024-06-14 11:02:53 -04:00
value : natural := 0;
limit : natural := 0;
end record;
subtype limit is natural range 0 .. 31;
type points is array (limit) of point;
2024-05-12 20:15:36 -04:00
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
2024-06-02 07:02:36 -04:00
description : constant array (enumeration) of definition := (
2024-06-14 11:02:53 -04:00
none => (others => <>),
--
sulphur => (new string'("Sulphur"), 11),
mercury => (new string'("Mercury"), 13),
mint => (new string'("Mint"), 3),
cinnamon => (new string'("Cinnamon"), 5),
apple => (new string'("Apple"), 2),
peach => (new string'("Peach"), 2),
pear => (new string'("Pear"), 2),
banana => (new string'("Banana"), 3),
orange => (new string'("Orange"), 3),
plum => (new string'("Plum"), 3),
cherry => (new string'("Cherry"), 3),
lemon => (new string'("Lemon"), 2),
potato => (new string'("Potato"), 1),
wheat => (new string'("Wheat"), 1),
carrot => (new string'("Carrot"), 2),
cucumber => (new string'("Cucumber"), 3),
onion => (new string'("Onion"), 2),
garlic => (new string'("Garlic"), 2),
eggplant => (new string'("Eggplant"), 3),
tomato => (new string'("Tomato"), 2),
meat => (new string'("Meat"), 3),
fish_meat => (new string'("Fish Meat"), 2),
skull => (new string'("Skull"), 1),
animal_skull => (new string'("Animal Skull"), 1),
bone => (new string'("Bone"), 1),
rib_cage => (new string'("Rib Cage"), 1),
animal_skin => (new string'("Animal Skin"), 5),
animal_fur => (new string'("Animal Fur"), 7)
2024-06-02 07:02:36 -04:00
);
icon : array (enumeration) of core.sprite;
2024-05-12 20:15:36 -04:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end material;