2023-10-15 09:08:31 -04:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Copyright (c) 2023 - Ognjen 'xolatile' Milan Robovic
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Xabina is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either
-- version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
-- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2023-10-15 15:08:24 -04:00
with core , map ;
2023-10-15 09:08:31 -04:00
package item is
------------------------------------------------------------------------------------------
2023-10-15 13:52:26 -04:00
type list is (
2023-10-15 12:56:21 -04:00
wood , bark , flax , plank , stick , braces , nails , linen ,
chamomile , mint , wax , salt , sugar , pepper , cinnamon , yeast ,
skull , bone , intestines , fur , leather , fat , horn , tusk ,
copper_ore , iron_ore , silver_ore , gold_ore , coal_ore , tin_ore , zinc_ore , lead_ore ,
copper , iron , silver , gold , coal , tin , zinc , lead ,
bronze , brass , steel , mercury , oil , ink , venom , silk ,
papers , paperweight
2023-10-15 09:08:31 -04:00
) ;
2023-10-15 13:52:26 -04:00
type mark is mod 72 ;
2023-10-15 09:08:31 -04:00
------------------------------------------------------------------------------------------
2023-10-15 13:52:26 -04:00
type constant_type is new core . constant_type with
2023-10-15 09:08:31 -04:00
record
value : natural := 0 ;
weight : natural := 0 ;
end record ;
2023-10-15 13:52:26 -04:00
type variable_type is new core . variable_type with
2023-10-15 09:08:31 -04:00
record
owner : natural := 0 ;
end record ;
2023-10-15 13:52:26 -04:00
type constant_list is array ( list ) of constant_type ;
type variable_list is array ( mark ) of variable_type ;
2023-10-15 09:08:31 -04:00
------------------------------------------------------------------------------------------
2023-10-15 13:52:26 -04:00
constant_data : constant constant_list := (
2023-10-15 16:17:17 -04:00
( core . item , "Wood " , '=' , core . colour . pink , core . effect . normal , 2 , 2 ) ,
( core . item , "Bark " , '+' , core . colour . pink , core . effect . normal , 1 , 2 ) ,
( core . item , "Flax " , '+' , core . colour . pink , core . effect . normal , 3 , 1 ) ,
( core . item , "Plank " , '+' , core . colour . pink , core . effect . normal , 2 , 2 ) ,
( core . item , "Stick " , '+' , core . colour . pink , core . effect . normal , 2 , 2 ) ,
( core . item , "Braces " , '+' , core . colour . pink , core . effect . normal , 2 , 1 ) ,
( core . item , "Nails " , '+' , core . colour . pink , core . effect . normal , 1 , 1 ) ,
( core . item , "Linen " , '+' , core . colour . pink , core . effect . normal , 23 , 1 ) ,
( core . item , "Chamomile " , '+' , core . colour . pink , core . effect . normal , 3 , 1 ) ,
( core . item , "Mint " , '+' , core . colour . pink , core . effect . normal , 5 , 1 ) ,
( core . item , "Wax " , '+' , core . colour . pink , core . effect . normal , 7 , 1 ) ,
( core . item , "Salt " , '+' , core . colour . pink , core . effect . normal , 13 , 1 ) ,
( core . item , "Sugar " , '+' , core . colour . pink , core . effect . normal , 17 , 1 ) ,
( core . item , "Pepper " , '+' , core . colour . pink , core . effect . normal , 11 , 1 ) ,
( core . item , "Cinnamon " , '+' , core . colour . pink , core . effect . normal , 23 , 1 ) ,
( core . item , "Yeast " , '+' , core . colour . pink , core . effect . normal , 5 , 1 ) ,
( core . item , "Skull " , '+' , core . colour . pink , core . effect . normal , 2 , 1 ) ,
( core . item , "Bone " , '+' , core . colour . pink , core . effect . normal , 1 , 1 ) ,
( core . item , "Intestines " , '+' , core . colour . pink , core . effect . normal , 1 , 1 ) ,
( core . item , "Fur " , '+' , core . colour . pink , core . effect . normal , 7 , 2 ) ,
( core . item , "Leather " , '+' , core . colour . pink , core . effect . normal , 3 , 1 ) ,
( core . item , "Fat " , '+' , core . colour . pink , core . effect . normal , 1 , 1 ) ,
( core . item , "Horn " , '+' , core . colour . pink , core . effect . normal , 2 , 1 ) ,
( core . item , "Tusk " , '+' , core . colour . pink , core . effect . normal , 3 , 5 ) ,
( core . item , "Copper Ore " , '+' , core . colour . pink , core . effect . normal , 5 , 7 ) ,
( core . item , "Iron Ore " , '+' , core . colour . pink , core . effect . normal , 7 , 11 ) ,
( core . item , "Silver Ore " , '+' , core . colour . pink , core . effect . normal , 17 , 7 ) ,
( core . item , "Gold Ore " , '+' , core . colour . pink , core . effect . normal , 23 , 7 ) ,
( core . item , "Coal Ore " , '+' , core . colour . pink , core . effect . normal , 2 , 7 ) ,
( core . item , "Tin Ore " , '+' , core . colour . pink , core . effect . normal , 13 , 7 ) ,
( core . item , "Zinc Ore " , '+' , core . colour . pink , core . effect . normal , 13 , 7 ) ,
( core . item , "Lead Ore " , '+' , core . colour . pink , core . effect . normal , 11 , 13 ) ,
( core . item , "Copper " , '+' , core . colour . pink , core . effect . normal , 17 , 5 ) ,
( core . item , "Iron " , '+' , core . colour . pink , core . effect . normal , 19 , 7 ) ,
( core . item , "Silver " , '+' , core . colour . pink , core . effect . normal , 23 , 5 ) ,
( core . item , "Gold " , '+' , core . colour . pink , core . effect . normal , 29 , 5 ) ,
( core . item , "Coal " , '+' , core . colour . pink , core . effect . normal , 19 , 5 ) ,
( core . item , "Tin " , '+' , core . colour . pink , core . effect . normal , 11 , 5 ) ,
( core . item , "Zinc " , '+' , core . colour . pink , core . effect . normal , 13 , 5 ) ,
( core . item , "Lead " , '+' , core . colour . pink , core . effect . normal , 47 , 7 ) ,
( core . item , "Bronze " , '+' , core . colour . pink , core . effect . normal , 61 , 5 ) ,
( core . item , "Brass " , '+' , core . colour . pink , core . effect . normal , 67 , 5 ) ,
( core . item , "Steel " , '+' , core . colour . pink , core . effect . normal , 71 , 7 ) ,
( core . item , "Mercury " , '+' , core . colour . pink , core . effect . normal , 97 , 11 ) ,
( core . item , "Oil " , '+' , core . colour . pink , core . effect . normal , 5 , 1 ) ,
( core . item , "Ink " , '+' , core . colour . pink , core . effect . normal , 13 , 1 ) ,
( core . item , "Venom " , '+' , core . colour . pink , core . effect . normal , 11 , 1 ) ,
( core . item , "Silk " , '+' , core . colour . pink , core . effect . normal , 13 , 1 ) ,
( core . item , "Papers " , '+' , core . colour . pink , core . effect . normal , 1 , 1 ) ,
( core . item , "Paperweight " , '+' , core . colour . pink , core . effect . normal , 2 , 1 )
2023-10-15 09:08:31 -04:00
) ;
2023-10-15 13:52:26 -04:00
variable_data : variable_list ;
2023-10-15 09:08:31 -04:00
------------------------------------------------------------------------------------------
2023-10-15 16:17:17 -04:00
procedure generate ;
2023-10-15 15:08:24 -04:00
procedure render ;
------------------------------------------------------------------------------------------
2023-10-15 09:08:31 -04:00
end item ;