String reimplementation, no heap memory usage...

This commit is contained in:
Ognjen Milan Robovic 2023-10-12 10:26:53 -04:00
parent 074ea30bcf
commit 5e20a66b0f

View File

@ -10,8 +10,8 @@
-- write a new program in Ada, a tiny game. Work in progress, it's messy and ugly for now...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with ada.text_io, ada.strings.unbounded;
use ada.text_io, ada.strings.unbounded;
with ada.text_io;
use ada.text_io;
-- Do not use this command below, it's for real-time game...
-- $ gnatmake xabina.adb
@ -131,11 +131,11 @@ function xabina return integer is
type entity_constant_type is tagged
record
entity : entity_list := ENTITY_NULL; -- Entity identifier.
name : unbounded_string := null_unbounded_string; -- Entity general name.
symbol : character := ' '; -- Entity ASCII character representation.
colour : character := COLOUR_WHITE; -- Entity VT100 escape sequence colour.
effect : character := EFFECT_NORMAL; -- Entity VT100 escape sequence effect.
entity : entity_list := ENTITY_NULL; -- Entity identifier.
name : string (1 .. 20) := "- "; -- Entity general name.
symbol : character := ' '; -- Entity ASCII character representation.
colour : character := COLOUR_WHITE; -- Entity VT100 escape sequence colour.
effect : character := EFFECT_NORMAL; -- Entity VT100 escape sequence effect.
end record;
type entity_variable_type is tagged
@ -172,14 +172,14 @@ function xabina return integer is
------------------------------------------------------------------------------------------
map_constant_data : constant map_constant_list := (
(ENTITY_MAP, to_unbounded_string ("Stone Wall"), '#', COLOUR_GREY, EFFECT_BOLD, true),
(ENTITY_MAP, to_unbounded_string ("Wooden Wall"), '#', COLOUR_YELLOW, EFFECT_NORMAL, true),
(ENTITY_MAP, to_unbounded_string ("Stone Floor"), '.', COLOUR_GREY, EFFECT_BOLD, false),
(ENTITY_MAP, to_unbounded_string ("Wooden Floor"), '.', COLOUR_YELLOW, EFFECT_NORMAL, false),
(ENTITY_MAP, to_unbounded_string ("Water (shallow)"), '~', COLOUR_BLUE, EFFECT_NORMAL, false),
(ENTITY_MAP, to_unbounded_string ("Water (deep)"), '~', COLOUR_BLUE, EFFECT_BOLD, true),
(ENTITY_MAP, to_unbounded_string ("Swamp (shallow)"), '~', COLOUR_GREEN, EFFECT_NORMAL, false),
(ENTITY_MAP, to_unbounded_string ("Swamp (deep)"), '~', COLOUR_GREEN, EFFECT_BOLD, true)
(ENTITY_MAP, "Stone Wall ", '#', COLOUR_GREY, EFFECT_BOLD, true),
(ENTITY_MAP, "Wooden Wall ", '#', COLOUR_YELLOW, EFFECT_NORMAL, true),
(ENTITY_MAP, "Stone Floor ", '.', COLOUR_GREY, EFFECT_BOLD, false),
(ENTITY_MAP, "Wooden Floor ", '.', COLOUR_YELLOW, EFFECT_NORMAL, false),
(ENTITY_MAP, "Water (shallow) ", '~', COLOUR_BLUE, EFFECT_NORMAL, false),
(ENTITY_MAP, "Water (deep) ", '~', COLOUR_BLUE, EFFECT_BOLD, true),
(ENTITY_MAP, "Swamp (shallow) ", '~', COLOUR_GREEN, EFFECT_NORMAL, false),
(ENTITY_MAP, "Swamp (deep) ", '~', COLOUR_GREEN, EFFECT_BOLD, true)
);
map_variable_data : map_variable_list;
@ -249,56 +249,56 @@ function xabina return integer is
------------------------------------------------------------------------------------------
item_constant_data : constant item_constant_list := (
(ENTITY_ITEM, to_unbounded_string ("Wood"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 2),
(ENTITY_ITEM, to_unbounded_string ("Bark"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 2),
(ENTITY_ITEM, to_unbounded_string ("Flax"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 3, 1),
(ENTITY_ITEM, to_unbounded_string ("Plank"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 2),
(ENTITY_ITEM, to_unbounded_string ("Stick"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 2),
(ENTITY_ITEM, to_unbounded_string ("Braces"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 1),
(ENTITY_ITEM, to_unbounded_string ("Nails"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, to_unbounded_string ("Linen"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 23, 1),
(ENTITY_ITEM, to_unbounded_string ("Chamomile"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 3, 1),
(ENTITY_ITEM, to_unbounded_string ("Mint"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 5, 1),
(ENTITY_ITEM, to_unbounded_string ("Wax"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 7, 1),
(ENTITY_ITEM, to_unbounded_string ("Salt"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 1),
(ENTITY_ITEM, to_unbounded_string ("Sugar"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 17, 1),
(ENTITY_ITEM, to_unbounded_string ("Pepper"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 11, 1),
(ENTITY_ITEM, to_unbounded_string ("Cinnamon"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 23, 1),
(ENTITY_ITEM, to_unbounded_string ("Yeast"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 5, 1),
(ENTITY_ITEM, to_unbounded_string ("Skull"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 1),
(ENTITY_ITEM, to_unbounded_string ("Bone"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, to_unbounded_string ("Intestines"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, to_unbounded_string ("Fur"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 7, 2),
(ENTITY_ITEM, to_unbounded_string ("Leather"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 3, 1),
(ENTITY_ITEM, to_unbounded_string ("Fat"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, to_unbounded_string ("Horn"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 1),
(ENTITY_ITEM, to_unbounded_string ("Tusk"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 3, 5),
(ENTITY_ITEM, to_unbounded_string ("Copper Ore"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 5, 7),
(ENTITY_ITEM, to_unbounded_string ("Iron Ore"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 7, 11),
(ENTITY_ITEM, to_unbounded_string ("Silver Ore"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 17, 7),
(ENTITY_ITEM, to_unbounded_string ("Gold Ore"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 23, 7),
(ENTITY_ITEM, to_unbounded_string ("Coal Ore"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 7),
(ENTITY_ITEM, to_unbounded_string ("Tin Ore"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 7),
(ENTITY_ITEM, to_unbounded_string ("Zinc Ore"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 7),
(ENTITY_ITEM, to_unbounded_string ("Lead Ore"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 11, 13),
(ENTITY_ITEM, to_unbounded_string ("Copper"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 17, 5),
(ENTITY_ITEM, to_unbounded_string ("Iron"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 19, 7),
(ENTITY_ITEM, to_unbounded_string ("Silver"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 23, 5),
(ENTITY_ITEM, to_unbounded_string ("Gold"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 29, 5),
(ENTITY_ITEM, to_unbounded_string ("Coal"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 19, 5),
(ENTITY_ITEM, to_unbounded_string ("Tin"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 11, 5),
(ENTITY_ITEM, to_unbounded_string ("Zinc"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 5),
(ENTITY_ITEM, to_unbounded_string ("Lead"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 47, 7),
(ENTITY_ITEM, to_unbounded_string ("Bronze"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 61, 5),
(ENTITY_ITEM, to_unbounded_string ("Brass"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 67, 5),
(ENTITY_ITEM, to_unbounded_string ("Steel"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 71, 7),
(ENTITY_ITEM, to_unbounded_string ("Mercury"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 97, 11),
(ENTITY_ITEM, to_unbounded_string ("Oil"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 5, 1),
(ENTITY_ITEM, to_unbounded_string ("Ink"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 1),
(ENTITY_ITEM, to_unbounded_string ("Venom"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 11, 1),
(ENTITY_ITEM, to_unbounded_string ("Silk"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 1),
(ENTITY_ITEM, to_unbounded_string ("Papers"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, to_unbounded_string ("Paperweight"), '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 1)
(ENTITY_ITEM, "Wood ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 2),
(ENTITY_ITEM, "Bark ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 2),
(ENTITY_ITEM, "Flax ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 3, 1),
(ENTITY_ITEM, "Plank ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 2),
(ENTITY_ITEM, "Stick ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 2),
(ENTITY_ITEM, "Braces ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 1),
(ENTITY_ITEM, "Nails ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, "Linen ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 23, 1),
(ENTITY_ITEM, "Chamomile ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 3, 1),
(ENTITY_ITEM, "Mint ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 5, 1),
(ENTITY_ITEM, "Wax ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 7, 1),
(ENTITY_ITEM, "Salt ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 1),
(ENTITY_ITEM, "Sugar ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 17, 1),
(ENTITY_ITEM, "Pepper ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 11, 1),
(ENTITY_ITEM, "Cinnamon ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 23, 1),
(ENTITY_ITEM, "Yeast ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 5, 1),
(ENTITY_ITEM, "Skull ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 1),
(ENTITY_ITEM, "Bone ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, "Intestines ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, "Fur ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 7, 2),
(ENTITY_ITEM, "Leather ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 3, 1),
(ENTITY_ITEM, "Fat ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, "Horn ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 1),
(ENTITY_ITEM, "Tusk ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 3, 5),
(ENTITY_ITEM, "Copper Ore ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 5, 7),
(ENTITY_ITEM, "Iron Ore ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 7, 11),
(ENTITY_ITEM, "Silver Ore ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 17, 7),
(ENTITY_ITEM, "Gold Ore ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 23, 7),
(ENTITY_ITEM, "Coal Ore ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 7),
(ENTITY_ITEM, "Tin Ore ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 7),
(ENTITY_ITEM, "Zinc Ore ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 7),
(ENTITY_ITEM, "Lead Ore ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 11, 13),
(ENTITY_ITEM, "Copper ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 17, 5),
(ENTITY_ITEM, "Iron ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 19, 7),
(ENTITY_ITEM, "Silver ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 23, 5),
(ENTITY_ITEM, "Gold ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 29, 5),
(ENTITY_ITEM, "Coal ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 19, 5),
(ENTITY_ITEM, "Tin ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 11, 5),
(ENTITY_ITEM, "Zinc ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 5),
(ENTITY_ITEM, "Lead ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 47, 7),
(ENTITY_ITEM, "Bronze ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 61, 5),
(ENTITY_ITEM, "Brass ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 67, 5),
(ENTITY_ITEM, "Steel ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 71, 7),
(ENTITY_ITEM, "Mercury ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 97, 11),
(ENTITY_ITEM, "Oil ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 5, 1),
(ENTITY_ITEM, "Ink ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 1),
(ENTITY_ITEM, "Venom ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 11, 1),
(ENTITY_ITEM, "Silk ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 13, 1),
(ENTITY_ITEM, "Papers ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 1, 1),
(ENTITY_ITEM, "Paperweight ", '+', COLOUR_YELLOW, EFFECT_NORMAL, 2, 1)
);
item_variable_data : item_variable_list;
@ -338,10 +338,10 @@ function xabina return integer is
------------------------------------------------------------------------------------------
magic_constant_data : constant magic_constant_list := (
(ENTITY_MAGIC, to_unbounded_string ("Ignite"), '*', COLOUR_YELLOW, EFFECT_ITALIC, false, -3, 0, 0, -1, 7, 1),
(ENTITY_MAGIC, to_unbounded_string ("Illuminate"), '*', COLOUR_YELLOW, EFFECT_ITALIC, false, 0, 0, 0, -1, 13, 1),
(ENTITY_MAGIC, to_unbounded_string ("Bladecharm"), '*', COLOUR_RED, EFFECT_ITALIC, true, 0, -3, 0, -1, 7, 3),
(ENTITY_MAGIC, to_unbounded_string ("Battlecry"), '*', COLOUR_RED, EFFECT_ITALIC, true, -1, -1, 0, -1, 7, 2)
(ENTITY_MAGIC, "Ignite ", '*', COLOUR_YELLOW, EFFECT_ITALIC, false, -3, 0, 0, -1, 7, 1),
(ENTITY_MAGIC, "Illuminate ", '*', COLOUR_YELLOW, EFFECT_ITALIC, false, 0, 0, 0, -1, 13, 1),
(ENTITY_MAGIC, "Bladecharm ", '*', COLOUR_RED, EFFECT_ITALIC, true, 0, -3, 0, -1, 7, 3),
(ENTITY_MAGIC, "Battlecry ", '*', COLOUR_RED, EFFECT_ITALIC, true, -1, -1, 0, -1, 7, 2)
);
magic_variable_data : magic_variable_list;
@ -380,10 +380,10 @@ function xabina return integer is
------------------------------------------------------------------------------------------
ammunition_constant_data : constant ammunition_constant_list := (
(ENTITY_AMMUNITION, to_unbounded_string ("Arrows"), '^', COLOUR_RED, EFFECT_NORMAL, 11, 13, false, 23, 7, 67),
(ENTITY_AMMUNITION, to_unbounded_string ("Bolts"), '^', COLOUR_RED, EFFECT_NORMAL, 13, 23, false, 29, 5, 67),
(ENTITY_AMMUNITION, to_unbounded_string ("Slingshots"), '^', COLOUR_RED, EFFECT_NORMAL, 5, 7, true, 43, 7, 67),
(ENTITY_AMMUNITION, to_unbounded_string ("Jarids"), '^', COLOUR_RED, EFFECT_NORMAL, 29, 37, true, 7, 7, 67)
(ENTITY_AMMUNITION, "Arrows ", '^', COLOUR_RED, EFFECT_NORMAL, 11, 13, false, 23, 7, 67),
(ENTITY_AMMUNITION, "Bolts ", '^', COLOUR_RED, EFFECT_NORMAL, 13, 23, false, 29, 5, 67),
(ENTITY_AMMUNITION, "Slingshots ", '^', COLOUR_RED, EFFECT_NORMAL, 5, 7, true, 43, 7, 67),
(ENTITY_AMMUNITION, "Jarids ", '^', COLOUR_RED, EFFECT_NORMAL, 29, 37, true, 7, 7, 67)
);
ammunition_variable_data : ammunition_variable_list;
@ -424,30 +424,30 @@ function xabina return integer is
------------------------------------------------------------------------------------------
weapon_constant_data : constant weapon_constant_list := (
(ENTITY_WEAPON, to_unbounded_string ("Iron Sword"), 'l', COLOUR_RED, EFFECT_NORMAL, true, 11, 31, 7, 2, 1),
(ENTITY_WEAPON, to_unbounded_string ("Iron Greatsword"), 'L', COLOUR_RED, EFFECT_BOLD, false, 23, 67, 11, 3, 2),
(ENTITY_WEAPON, to_unbounded_string ("Iron Axe"), 'r', COLOUR_RED, EFFECT_NORMAL, true, 13, 43, 7, 2, 1),
(ENTITY_WEAPON, to_unbounded_string ("Iron Battleaxe"), 'T', COLOUR_RED, EFFECT_BOLD, false, 19, 73, 13, 2, 2),
(ENTITY_WEAPON, to_unbounded_string ("Iron Spear"), 'I', COLOUR_RED, EFFECT_BOLD, false, 17, 53, 10, 4, 2),
(ENTITY_WEAPON, to_unbounded_string ("Iron Shield"), 'o', COLOUR_RED, EFFECT_NORMAL, true, 13, 37, 3, 9, 1),
(ENTITY_WEAPON, to_unbounded_string ("Iron Mace"), 'i', COLOUR_RED, EFFECT_NORMAL, true, 11, 41, 8, 2, 1),
(ENTITY_WEAPON, to_unbounded_string ("Iron Hammer"), 't', COLOUR_RED, EFFECT_NORMAL, true, 13, 47, 7, 3, 1),
(ENTITY_WEAPON, to_unbounded_string ("Bronze Sword"), 'l', COLOUR_RED, EFFECT_NORMAL, true, 11, 31, 7, 2, 1),
(ENTITY_WEAPON, to_unbounded_string ("Bronze Greatsword"), 'L', COLOUR_RED, EFFECT_BOLD, false, 23, 67, 11, 3, 2),
(ENTITY_WEAPON, to_unbounded_string ("Bronze Axe"), 'r', COLOUR_RED, EFFECT_NORMAL, true, 13, 43, 7, 2, 1),
(ENTITY_WEAPON, to_unbounded_string ("Bronze Battleaxe"), 'T', COLOUR_RED, EFFECT_BOLD, false, 19, 73, 13, 2, 2),
(ENTITY_WEAPON, to_unbounded_string ("Bronze Spear"), 'I', COLOUR_RED, EFFECT_BOLD, false, 17, 53, 10, 4, 2),
(ENTITY_WEAPON, to_unbounded_string ("Bronze Shield"), 'o', COLOUR_RED, EFFECT_NORMAL, true, 13, 37, 3, 9, 1),
(ENTITY_WEAPON, to_unbounded_string ("Bronze Mace"), 'i', COLOUR_RED, EFFECT_NORMAL, true, 11, 41, 8, 2, 1),
(ENTITY_WEAPON, to_unbounded_string ("Bronze Hammer"), 't', COLOUR_RED, EFFECT_NORMAL, true, 13, 47, 7, 3, 1),
(ENTITY_WEAPON, to_unbounded_string ("Brass Sword"), 'l', COLOUR_RED, EFFECT_NORMAL, true, 11, 31, 7, 2, 1),
(ENTITY_WEAPON, to_unbounded_string ("Brass Greatsword"), 'L', COLOUR_RED, EFFECT_BOLD, false, 23, 67, 11, 3, 2),
(ENTITY_WEAPON, to_unbounded_string ("Brass Axe"), 'r', COLOUR_RED, EFFECT_NORMAL, true, 13, 43, 7, 2, 1),
(ENTITY_WEAPON, to_unbounded_string ("Brass Battleaxe"), 'T', COLOUR_RED, EFFECT_BOLD, false, 19, 73, 13, 2, 2),
(ENTITY_WEAPON, to_unbounded_string ("Brass Spear"), 'I', COLOUR_RED, EFFECT_BOLD, false, 17, 53, 10, 4, 2),
(ENTITY_WEAPON, to_unbounded_string ("Brass Shield"), 'o', COLOUR_RED, EFFECT_NORMAL, true, 13, 37, 3, 9, 1),
(ENTITY_WEAPON, to_unbounded_string ("Brass Mace"), 'i', COLOUR_RED, EFFECT_NORMAL, true, 11, 41, 8, 2, 1),
(ENTITY_WEAPON, to_unbounded_string ("Brass Hammer"), 't', COLOUR_RED, EFFECT_NORMAL, true, 13, 47, 7, 3, 1)
(ENTITY_WEAPON, "Iron Sword ", 'l', COLOUR_RED, EFFECT_NORMAL, true, 11, 31, 7, 2, 1),
(ENTITY_WEAPON, "Iron Greatsword ", 'L', COLOUR_RED, EFFECT_BOLD, false, 23, 67, 11, 3, 2),
(ENTITY_WEAPON, "Iron Axe ", 'r', COLOUR_RED, EFFECT_NORMAL, true, 13, 43, 7, 2, 1),
(ENTITY_WEAPON, "Iron Battleaxe ", 'T', COLOUR_RED, EFFECT_BOLD, false, 19, 73, 13, 2, 2),
(ENTITY_WEAPON, "Iron Spear ", 'I', COLOUR_RED, EFFECT_BOLD, false, 17, 53, 10, 4, 2),
(ENTITY_WEAPON, "Iron Shield ", 'o', COLOUR_RED, EFFECT_NORMAL, true, 13, 37, 3, 9, 1),
(ENTITY_WEAPON, "Iron Mace ", 'i', COLOUR_RED, EFFECT_NORMAL, true, 11, 41, 8, 2, 1),
(ENTITY_WEAPON, "Iron Hammer ", 't', COLOUR_RED, EFFECT_NORMAL, true, 13, 47, 7, 3, 1),
(ENTITY_WEAPON, "Bronze Sword ", 'l', COLOUR_RED, EFFECT_NORMAL, true, 11, 31, 7, 2, 1),
(ENTITY_WEAPON, "Bronze Greatsword ", 'L', COLOUR_RED, EFFECT_BOLD, false, 23, 67, 11, 3, 2),
(ENTITY_WEAPON, "Bronze Axe ", 'r', COLOUR_RED, EFFECT_NORMAL, true, 13, 43, 7, 2, 1),
(ENTITY_WEAPON, "Bronze Battleaxe ", 'T', COLOUR_RED, EFFECT_BOLD, false, 19, 73, 13, 2, 2),
(ENTITY_WEAPON, "Bronze Spear ", 'I', COLOUR_RED, EFFECT_BOLD, false, 17, 53, 10, 4, 2),
(ENTITY_WEAPON, "Bronze Shield ", 'o', COLOUR_RED, EFFECT_NORMAL, true, 13, 37, 3, 9, 1),
(ENTITY_WEAPON, "Bronze Mace ", 'i', COLOUR_RED, EFFECT_NORMAL, true, 11, 41, 8, 2, 1),
(ENTITY_WEAPON, "Bronze Hammer ", 't', COLOUR_RED, EFFECT_NORMAL, true, 13, 47, 7, 3, 1),
(ENTITY_WEAPON, "Brass Sword ", 'l', COLOUR_RED, EFFECT_NORMAL, true, 11, 31, 7, 2, 1),
(ENTITY_WEAPON, "Brass Greatsword ", 'L', COLOUR_RED, EFFECT_BOLD, false, 23, 67, 11, 3, 2),
(ENTITY_WEAPON, "Brass Axe ", 'r', COLOUR_RED, EFFECT_NORMAL, true, 13, 43, 7, 2, 1),
(ENTITY_WEAPON, "Brass Battleaxe ", 'T', COLOUR_RED, EFFECT_BOLD, false, 19, 73, 13, 2, 2),
(ENTITY_WEAPON, "Brass Spear ", 'I', COLOUR_RED, EFFECT_BOLD, false, 17, 53, 10, 4, 2),
(ENTITY_WEAPON, "Brass Shield ", 'o', COLOUR_RED, EFFECT_NORMAL, true, 13, 37, 3, 9, 1),
(ENTITY_WEAPON, "Brass Mace ", 'i', COLOUR_RED, EFFECT_NORMAL, true, 11, 41, 8, 2, 1),
(ENTITY_WEAPON, "Brass Hammer ", 't', COLOUR_RED, EFFECT_NORMAL, true, 13, 47, 7, 3, 1)
);
weapon_variable_data : weapon_variable_list;
@ -483,14 +483,14 @@ function xabina return integer is
------------------------------------------------------------------------------------------
armour_constant_data : constant armour_constant_list := (
(ENTITY_ARMOUR, to_unbounded_string ("Iron Helmet"), 'm', COLOUR_YELLOW, EFFECT_NORMAL, 11, 31, 7),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Chestplate"), 'M', COLOUR_YELLOW, EFFECT_BOLD, 23, 67, 11),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Gauntlets"), 'i', COLOUR_YELLOW, EFFECT_NORMAL, 13, 43, 7),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Greaves"), 'I', COLOUR_YELLOW, EFFECT_NORMAL, 19, 73, 13),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Cuisse"), 'Y', COLOUR_YELLOW, EFFECT_BOLD, 17, 53, 10),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Fauld"), '-', COLOUR_YELLOW, EFFECT_NORMAL, 13, 37, 3),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Gardbrace"), 'v', COLOUR_YELLOW, EFFECT_NORMAL, 11, 41, 8),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Rerebrace"), 'V', COLOUR_YELLOW, EFFECT_NORMAL, 13, 47, 7)
(ENTITY_ARMOUR, "Iron Helmet ", 'm', COLOUR_YELLOW, EFFECT_NORMAL, 11, 31, 7),
(ENTITY_ARMOUR, "Iron Chestplate ", 'M', COLOUR_YELLOW, EFFECT_BOLD, 23, 67, 11),
(ENTITY_ARMOUR, "Iron Gauntlets ", 'i', COLOUR_YELLOW, EFFECT_NORMAL, 13, 43, 7),
(ENTITY_ARMOUR, "Iron Greaves ", 'I', COLOUR_YELLOW, EFFECT_NORMAL, 19, 73, 13),
(ENTITY_ARMOUR, "Iron Cuisse ", 'Y', COLOUR_YELLOW, EFFECT_BOLD, 17, 53, 10),
(ENTITY_ARMOUR, "Iron Fauld ", '-', COLOUR_YELLOW, EFFECT_NORMAL, 13, 37, 3),
(ENTITY_ARMOUR, "Iron Gardbrace ", 'v', COLOUR_YELLOW, EFFECT_NORMAL, 11, 41, 8),
(ENTITY_ARMOUR, "Iron Rerebrace ", 'V', COLOUR_YELLOW, EFFECT_NORMAL, 13, 47, 7)
);
armour_variable_data : armour_variable_list;
@ -540,18 +540,18 @@ function xabina return integer is
------------------------------------------------------------------------------------------
plant_constant_data : constant plant_constant_list := (
(ENTITY_PLANT, to_unbounded_string ("Oak Tree"), 'T', COLOUR_GREEN, EFFECT_BOLD, 11),
(ENTITY_PLANT, to_unbounded_string ("Pine Tree"), 'T', COLOUR_GREEN, EFFECT_BOLD, 23),
(ENTITY_PLANT, to_unbounded_string ("Birch Tree"), 'T', COLOUR_GREEN, EFFECT_BOLD, 13),
(ENTITY_PLANT, to_unbounded_string ("Acacia Tree"), 'T', COLOUR_GREEN, EFFECT_BOLD, 19),
(ENTITY_PLANT, to_unbounded_string ("Apple Tree"), 'T', COLOUR_GREEN, EFFECT_BOLD, 17),
(ENTITY_PLANT, to_unbounded_string ("Peach Tree"), 'T', COLOUR_GREEN, EFFECT_BOLD, 13),
(ENTITY_PLANT, to_unbounded_string ("Orange Tree"), 'T', COLOUR_GREEN, EFFECT_BOLD, 11),
(ENTITY_PLANT, to_unbounded_string ("Pear Tree"), 'T', COLOUR_GREEN, EFFECT_BOLD, 13),
(ENTITY_PLANT, to_unbounded_string ("Bush"), '&', COLOUR_GREEN, EFFECT_NORMAL, 5),
(ENTITY_PLANT, to_unbounded_string ("Thorny Bush"), '&', COLOUR_GREEN, EFFECT_NORMAL, 7),
(ENTITY_PLANT, to_unbounded_string ("Tall Grass"), '%', COLOUR_GREEN, EFFECT_NORMAL, 3),
(ENTITY_PLANT, to_unbounded_string ("Reed"), '%', COLOUR_GREEN, EFFECT_NORMAL, 3)
(ENTITY_PLANT, "Oak Tree ", 'T', COLOUR_GREEN, EFFECT_BOLD, 11),
(ENTITY_PLANT, "Pine Tree ", 'T', COLOUR_GREEN, EFFECT_BOLD, 23),
(ENTITY_PLANT, "Birch Tree ", 'T', COLOUR_GREEN, EFFECT_BOLD, 13),
(ENTITY_PLANT, "Acacia Tree ", 'T', COLOUR_GREEN, EFFECT_BOLD, 19),
(ENTITY_PLANT, "Apple Tree ", 'T', COLOUR_GREEN, EFFECT_BOLD, 17),
(ENTITY_PLANT, "Peach Tree ", 'T', COLOUR_GREEN, EFFECT_BOLD, 13),
(ENTITY_PLANT, "Orange Tree ", 'T', COLOUR_GREEN, EFFECT_BOLD, 11),
(ENTITY_PLANT, "Pear Tree ", 'T', COLOUR_GREEN, EFFECT_BOLD, 13),
(ENTITY_PLANT, "Bush ", '&', COLOUR_GREEN, EFFECT_NORMAL, 5),
(ENTITY_PLANT, "Thorny Bush ", '&', COLOUR_GREEN, EFFECT_NORMAL, 7),
(ENTITY_PLANT, "Tall Grass ", '%', COLOUR_GREEN, EFFECT_NORMAL, 3),
(ENTITY_PLANT, "Reed ", '%', COLOUR_GREEN, EFFECT_NORMAL, 3)
);
plant_variable_data : plant_variable_list;
@ -596,86 +596,86 @@ function xabina return integer is
------------------------------------------------------------------------------------------
animal_constant_data : constant animal_constant_list := (
(ENTITY_ANIMAL, to_unbounded_string ("Pig"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Cow"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Chicken"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Sheep"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Boar"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Goat"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Auroch"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Duck"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Dog"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Cat"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Rabbit"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Hamster"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Horse"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Donkey"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Camel"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Elephant"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Owl"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Hawk"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Pigeon"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Vulture"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Crow"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Pheasant"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Sparrow"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Albatross"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Sardine"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Herring"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Catfish"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Carp"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Whale"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Shark"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Squid"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Sawfish"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Worm"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Bee"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Centipede"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Spider"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Frog"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Rat"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Bat"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Mole"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Wolf"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Fox"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Bear"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Mammoth"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Elk"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Moose"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Deer"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Peebles"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Lion"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Hyena"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Bison"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Zebra"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Giraffe"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Crocodile"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Monkey"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Gnu"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Caribou"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Seal"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Morse"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Penguin"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Turtle"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Cayman"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Otter"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Snake"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Lizard"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Daeodon"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Slime"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Axolotl"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Hedgehog"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Caterpillar"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Crab"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Scorpion"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Giant Lizard"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Giant Centipede"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Giant Spider"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Giant Sloth"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Giant Owl"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Giant Scorpion"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Giant Axolotl"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, to_unbounded_string ("Giant Worm"), 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11)
(ENTITY_ANIMAL, "Pig ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Cow ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Chicken ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Sheep ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Boar ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Goat ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Auroch ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Duck ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Dog ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Cat ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Rabbit ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Hamster ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Horse ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Donkey ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Camel ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Elephant ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Owl ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Hawk ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Pigeon ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Vulture ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Crow ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Pheasant ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Sparrow ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Albatross ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Sardine ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Herring ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Catfish ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Carp ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Whale ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Shark ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Squid ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Sawfish ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Worm ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Bee ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Centipede ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Spider ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Frog ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Rat ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Bat ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Mole ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Wolf ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Fox ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Bear ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Mammoth ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Elk ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Moose ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Deer ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Peebles ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Lion ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Hyena ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Bison ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Zebra ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Giraffe ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Crocodile ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Monkey ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Gnu ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Caribou ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Seal ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Morse ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Penguin ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Turtle ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Cayman ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Otter ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Snake ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Lizard ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Daeodon ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Slime ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Axolotl ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Hedgehog ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Caterpillar ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Crab ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Scorpion ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Giant Lizard ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Giant Centipede ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Giant Spider ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Giant Sloth ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Giant Owl ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Giant Scorpion ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Giant Axolotl ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11),
(ENTITY_ANIMAL, "Giant Worm ", 'a', COLOUR_GREEN, EFFECT_NORMAL, 11, 11, 11)
);
animal_variable_data : animal_variable_list;