81 lines
3.4 KiB
Ada
81 lines
3.4 KiB
Ada
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
--
|
|
-- GNU General Public Licence (version 3 or later)
|
|
|
|
with core;
|
|
|
|
package material is
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
type enumeration is (
|
|
none,
|
|
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
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
type definition is record
|
|
name : access string := new string'("--");
|
|
cost : natural := 0;
|
|
end record;
|
|
|
|
type point is record
|
|
index : enumeration := enumeration'first;
|
|
value : natural := 0;
|
|
limit : natural := 0;
|
|
end record;
|
|
|
|
subtype limit is natural range 0 .. 31;
|
|
|
|
type points is array (limit) of point;
|
|
|
|
type drops is array (natural range <>) of point;
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
count : constant natural := enumeration'pos (enumeration'last) + 1;
|
|
|
|
description : constant array (enumeration) of definition := (
|
|
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)
|
|
);
|
|
|
|
icon : array (enumeration) of core.sprite;
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
end material;
|