From 5e20a66b0f74018a0e6cd61dd8d1486dbd38d673 Mon Sep 17 00:00:00 2001 From: xolatile Date: Thu, 12 Oct 2023 10:26:53 -0400 Subject: [PATCH] String reimplementation, no heap memory usage... --- xabina.adb | 394 ++++++++++++++++++++++++++++++------------------------------- 1 file changed, 197 insertions(+), 197 deletions(-) diff --git a/xabina.adb b/xabina.adb index ac1710e..331078d 100644 --- a/xabina.adb +++ b/xabina.adb @@ -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;