From 678c901ef7d980aa5cb389d0d90bcbb990095a97 Mon Sep 17 00:00:00 2001 From: xolatile Date: Sun, 15 Oct 2023 12:40:35 -0400 Subject: [PATCH] This looks somewhat nice... --- action.ads | 4 +- ammunition.ads | 8 +-- animal.ads | 160 ++++++++++++++++++++++++++++----------------------------- armour.ads | 16 +++--- core.ads | 51 ++++++++++++++---- item.ads | 100 ++++++++++++++++++------------------ magic.ads | 8 +-- plant.ads | 24 ++++----- player.ads | 6 +-- weapon.ads | 48 ++++++++--------- 10 files changed, 227 insertions(+), 198 deletions(-) diff --git a/action.ads b/action.ads index d83988e..809fb09 100644 --- a/action.ads +++ b/action.ads @@ -31,10 +31,10 @@ package action is ------------------------------------------------------------------------------------------ - procedure bind (symbol : character := core.CANCEL; + procedure bind (symbol : character := core.cancel; mimimi : procedure_pointer := game_idle'access); - procedure unbind (symbol : character := core.CANCEL); + procedure unbind (symbol : character := core.cancel); procedure game_exit; diff --git a/ammunition.ads b/ammunition.ads index 423272c..c96a13e 100644 --- a/ammunition.ads +++ b/ammunition.ads @@ -46,10 +46,10 @@ package ammunition is ------------------------------------------------------------------------------------------ ammunition_constant_data : constant ammunition_constant_list := ( - (core.ENTITY_AMMUNITION, "Arrows ", '^', core.colour.red, core.effect.normal, 11, 13, false, 23, 7, 67), - (core.ENTITY_AMMUNITION, "Bolts ", '^', core.colour.red, core.effect.normal, 13, 23, false, 29, 5, 67), - (core.ENTITY_AMMUNITION, "Slingshots ", '^', core.colour.red, core.effect.normal, 5, 7, true, 43, 7, 67), - (core.ENTITY_AMMUNITION, "Jarids ", '^', core.colour.red, core.effect.normal, 29, 37, true, 7, 7, 67) + (core.entity_ammunition, "Arrows ", '^', core.colour.red, core.effect.normal, 11, 13, false, 23, 7, 67), + (core.entity_ammunition, "Bolts ", '^', core.colour.red, core.effect.normal, 13, 23, false, 29, 5, 67), + (core.entity_ammunition, "Slingshots ", '^', core.colour.red, core.effect.normal, 5, 7, true, 43, 7, 67), + (core.entity_ammunition, "Jarids ", '^', core.colour.red, core.effect.normal, 29, 37, true, 7, 7, 67) ); ammunition_variable_data : ammunition_variable_list; diff --git a/animal.ads b/animal.ads index e6c4d11..48434bc 100644 --- a/animal.ads +++ b/animal.ads @@ -52,86 +52,86 @@ package animal is ------------------------------------------------------------------------------------------ animal_constant_data : constant animal_constant_list := ( - (core.ENTITY_ANIMAL, "Pig ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Cow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Chicken ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Sheep ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Boar ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Goat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Auroch ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Duck ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Dog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Cat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Rabbit ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Hamster ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Horse ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Donkey ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Camel ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Elephant ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Owl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Hawk ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Pigeon ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Vulture ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Crow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Pheasant ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Sparrow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Albatross ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Sardine ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Herring ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Catfish ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Carp ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Whale ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Shark ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Squid ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Sawfish ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Worm ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Bee ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Centipede ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Spider ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Frog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Rat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Bat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Mole ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Wolf ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Fox ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Bear ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Mammoth ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Elk ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Moose ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Deer ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Peebles ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Lion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Hyena ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Bison ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Zebra ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Giraffe ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Crocodile ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Monkey ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Gnu ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Caribou ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Seal ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Morse ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Penguin ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Turtle ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Cayman ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Otter ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Snake ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Lizard ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Daeodon ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Slime ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Axolotl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Hedgehog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Caterpillar ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Crab ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Scorpion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Giant Lizard ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Giant Centipede ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Giant Spider ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Giant Sloth ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Giant Owl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Giant Scorpion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Giant Axolotl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), - (core.ENTITY_ANIMAL, "Giant Worm ", 'a', core.colour.green, core.effect.normal, 11, 11, 11) + (core.entity_animal, "Pig ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Cow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Chicken ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Sheep ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Boar ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Goat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Auroch ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Duck ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Dog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Cat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Rabbit ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Hamster ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Horse ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Donkey ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Camel ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Elephant ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Owl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Hawk ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Pigeon ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Vulture ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Crow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Pheasant ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Sparrow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Albatross ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Sardine ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Herring ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Catfish ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Carp ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Whale ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Shark ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Squid ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Sawfish ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Worm ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Bee ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Centipede ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Spider ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Frog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Rat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Bat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Mole ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Wolf ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Fox ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Bear ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Mammoth ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Elk ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Moose ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Deer ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Peebles ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Lion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Hyena ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Bison ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Zebra ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Giraffe ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Crocodile ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Monkey ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Gnu ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Caribou ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Seal ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Morse ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Penguin ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Turtle ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Cayman ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Otter ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Snake ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Lizard ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Daeodon ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Slime ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Axolotl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Hedgehog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Caterpillar ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Crab ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Scorpion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Giant Lizard ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Giant Centipede ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Giant Spider ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Giant Sloth ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Giant Owl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Giant Scorpion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Giant Axolotl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11), + (core.entity_animal, "Giant Worm ", 'a', core.colour.green, core.effect.normal, 11, 11, 11) ); animal_variable_data : animal_variable_list; diff --git a/armour.ads b/armour.ads index fa5bbe4..104d468 100644 --- a/armour.ads +++ b/armour.ads @@ -43,14 +43,14 @@ package armour is ------------------------------------------------------------------------------------------ armour_constant_data : constant armour_constant_list := ( - (core.ENTITY_ARMOUR, "Iron Helmet ", 'm', core.colour.yellow, core.effect.normal, 11, 31, 7), - (core.ENTITY_ARMOUR, "Iron Chestplate ", 'M', core.colour.yellow, core.effect.bold, 23, 67, 11), - (core.ENTITY_ARMOUR, "Iron Gauntlets ", 'i', core.colour.yellow, core.effect.normal, 13, 43, 7), - (core.ENTITY_ARMOUR, "Iron Greaves ", 'I', core.colour.yellow, core.effect.normal, 19, 73, 13), - (core.ENTITY_ARMOUR, "Iron Cuisse ", 'Y', core.colour.yellow, core.effect.bold, 17, 53, 10), - (core.ENTITY_ARMOUR, "Iron Fauld ", '-', core.colour.yellow, core.effect.normal, 13, 37, 3), - (core.ENTITY_ARMOUR, "Iron Gardbrace ", 'v', core.colour.yellow, core.effect.normal, 11, 41, 8), - (core.ENTITY_ARMOUR, "Iron Rerebrace ", 'V', core.colour.yellow, core.effect.normal, 13, 47, 7) + (core.entity_armour, "Iron Helmet ", 'm', core.colour.yellow, core.effect.normal, 11, 31, 7), + (core.entity_armour, "Iron Chestplate ", 'M', core.colour.yellow, core.effect.bold, 23, 67, 11), + (core.entity_armour, "Iron Gauntlets ", 'i', core.colour.yellow, core.effect.normal, 13, 43, 7), + (core.entity_armour, "Iron Greaves ", 'I', core.colour.yellow, core.effect.normal, 19, 73, 13), + (core.entity_armour, "Iron Cuisse ", 'Y', core.colour.yellow, core.effect.bold, 17, 53, 10), + (core.entity_armour, "Iron Fauld ", '-', core.colour.yellow, core.effect.normal, 13, 37, 3), + (core.entity_armour, "Iron Gardbrace ", 'v', core.colour.yellow, core.effect.normal, 11, 41, 8), + (core.entity_armour, "Iron Rerebrace ", 'V', core.colour.yellow, core.effect.normal, 13, 47, 7) ); armour_variable_data : armour_variable_list; diff --git a/core.ads b/core.ads index 46326e2..0cb2565 100644 --- a/core.ads +++ b/core.ads @@ -14,6 +14,15 @@ with ada.text_io; package core is + ------------------------------------------------------------------------------------------ + + type screen_width is mod 120; + type screen_height is mod 40; + + type screen_matrix is array (screen_height, screen_width) of character; + + ------------------------------------------------------------------------------------------ + type colour_type is record grey : character := '0'; @@ -36,29 +45,25 @@ package core is contra : character := '7'; end record; - CANCEL : constant character := character'val (24); - CARRIAGE_RETURN : constant character := character'val (10); - LINE_FEED : constant character := character'val (13); - ESCAPE : constant character := character'val (27); + cancel : constant character := character'val (24); + carriage_return : constant character := character'val (10); + line_feed : constant character := character'val (13); + escape : constant character := character'val (27); ------------------------------------------------------------------------------------------ type description is new string (1 .. 144); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --- Entity ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - type entity_list is ( - ENTITY_NULL, ENTITY_MENU, ENTITY_MAP, ENTITY_ITEM, ENTITY_MAGIC, ENTITY_AMMUNITION, ENTITY_WEAPON, ENTITY_ARMOUR, - ENTITY_SCROLL, ENTITY_POTION, ENTITY_CONSUMABLE, ENTITY_NOTE, ENTITY_PLANT, ENTITY_ANIMAL, ENTITY_MONSTER, ENTITY_PLAYER + entity_null, entity_menu, entity_map, entity_item, entity_magic, entity_ammunition, entity_weapon, entity_armour, + entity_scroll, entity_potion, entity_consumable, entity_note, entity_plant, entity_animal, entity_monster, entity_player ); ------------------------------------------------------------------------------------------ type entity_constant_type is tagged record - entity : entity_list := ENTITY_NULL; -- Entity identifier. + entity : entity_list := entity_null; -- Entity identifier. name : string (1 .. 20) := "- "; -- Entity general name. symbol : character := ' '; -- Entity ASCII character representation. colour : character := '7'; -- Entity VT100 escape sequence colour. @@ -71,6 +76,8 @@ package core is y : integer := 0; -- Global Y coordinate. end record; + ------------------------------------------------------------------------------------------ + type soul_type is record envy : natural := 0; @@ -109,4 +116,26 @@ package core is colour : colour_type; effect : effect_type; + screen_symbol : screen_matrix := (others => (others => cancel)); + screen_colour : screen_matrix := (others => (others => colour.white)); + screen_effect : screen_matrix := (others => (others => effect.normal)); + + ------------------------------------------------------------------------------------------ + + procedure screen_delete; + procedure screen_offset; + procedure screen_hide_cursor; + procedure screen_show_cursor; + procedure screen_new_line; + + procedure render_character (symbol : character := ' '; + colour : character := '7'; + effect : character := '0'; + y : screen_height := 0; + x : screen_width := 0); + + procedure render_buffer; + + ------------------------------------------------------------------------------------------ + end core; diff --git a/item.ads b/item.ads index fc45df8..87d3eca 100644 --- a/item.ads +++ b/item.ads @@ -47,56 +47,56 @@ package item is ------------------------------------------------------------------------------------------ item_constant_data : constant item_constant_list := ( - (core.ENTITY_ITEM, "Wood ", '+', core.colour.yellow, core.effect.normal, 2, 2), - (core.ENTITY_ITEM, "Bark ", '+', core.colour.yellow, core.effect.normal, 1, 2), - (core.ENTITY_ITEM, "Flax ", '+', core.colour.yellow, core.effect.normal, 3, 1), - (core.ENTITY_ITEM, "Plank ", '+', core.colour.yellow, core.effect.normal, 2, 2), - (core.ENTITY_ITEM, "Stick ", '+', core.colour.yellow, core.effect.normal, 2, 2), - (core.ENTITY_ITEM, "Braces ", '+', core.colour.yellow, core.effect.normal, 2, 1), - (core.ENTITY_ITEM, "Nails ", '+', core.colour.yellow, core.effect.normal, 1, 1), - (core.ENTITY_ITEM, "Linen ", '+', core.colour.yellow, core.effect.normal, 23, 1), - (core.ENTITY_ITEM, "Chamomile ", '+', core.colour.yellow, core.effect.normal, 3, 1), - (core.ENTITY_ITEM, "Mint ", '+', core.colour.yellow, core.effect.normal, 5, 1), - (core.ENTITY_ITEM, "Wax ", '+', core.colour.yellow, core.effect.normal, 7, 1), - (core.ENTITY_ITEM, "Salt ", '+', core.colour.yellow, core.effect.normal, 13, 1), - (core.ENTITY_ITEM, "Sugar ", '+', core.colour.yellow, core.effect.normal, 17, 1), - (core.ENTITY_ITEM, "Pepper ", '+', core.colour.yellow, core.effect.normal, 11, 1), - (core.ENTITY_ITEM, "Cinnamon ", '+', core.colour.yellow, core.effect.normal, 23, 1), - (core.ENTITY_ITEM, "Yeast ", '+', core.colour.yellow, core.effect.normal, 5, 1), - (core.ENTITY_ITEM, "Skull ", '+', core.colour.yellow, core.effect.normal, 2, 1), - (core.ENTITY_ITEM, "Bone ", '+', core.colour.yellow, core.effect.normal, 1, 1), - (core.ENTITY_ITEM, "Intestines ", '+', core.colour.yellow, core.effect.normal, 1, 1), - (core.ENTITY_ITEM, "Fur ", '+', core.colour.yellow, core.effect.normal, 7, 2), - (core.ENTITY_ITEM, "Leather ", '+', core.colour.yellow, core.effect.normal, 3, 1), - (core.ENTITY_ITEM, "Fat ", '+', core.colour.yellow, core.effect.normal, 1, 1), - (core.ENTITY_ITEM, "Horn ", '+', core.colour.yellow, core.effect.normal, 2, 1), - (core.ENTITY_ITEM, "Tusk ", '+', core.colour.yellow, core.effect.normal, 3, 5), - (core.ENTITY_ITEM, "Copper Ore ", '+', core.colour.yellow, core.effect.normal, 5, 7), - (core.ENTITY_ITEM, "Iron Ore ", '+', core.colour.yellow, core.effect.normal, 7, 11), - (core.ENTITY_ITEM, "Silver Ore ", '+', core.colour.yellow, core.effect.normal, 17, 7), - (core.ENTITY_ITEM, "Gold Ore ", '+', core.colour.yellow, core.effect.normal, 23, 7), - (core.ENTITY_ITEM, "Coal Ore ", '+', core.colour.yellow, core.effect.normal, 2, 7), - (core.ENTITY_ITEM, "Tin Ore ", '+', core.colour.yellow, core.effect.normal, 13, 7), - (core.ENTITY_ITEM, "Zinc Ore ", '+', core.colour.yellow, core.effect.normal, 13, 7), - (core.ENTITY_ITEM, "Lead Ore ", '+', core.colour.yellow, core.effect.normal, 11, 13), - (core.ENTITY_ITEM, "Copper ", '+', core.colour.yellow, core.effect.normal, 17, 5), - (core.ENTITY_ITEM, "Iron ", '+', core.colour.yellow, core.effect.normal, 19, 7), - (core.ENTITY_ITEM, "Silver ", '+', core.colour.yellow, core.effect.normal, 23, 5), - (core.ENTITY_ITEM, "Gold ", '+', core.colour.yellow, core.effect.normal, 29, 5), - (core.ENTITY_ITEM, "Coal ", '+', core.colour.yellow, core.effect.normal, 19, 5), - (core.ENTITY_ITEM, "Tin ", '+', core.colour.yellow, core.effect.normal, 11, 5), - (core.ENTITY_ITEM, "Zinc ", '+', core.colour.yellow, core.effect.normal, 13, 5), - (core.ENTITY_ITEM, "Lead ", '+', core.colour.yellow, core.effect.normal, 47, 7), - (core.ENTITY_ITEM, "Bronze ", '+', core.colour.yellow, core.effect.normal, 61, 5), - (core.ENTITY_ITEM, "Brass ", '+', core.colour.yellow, core.effect.normal, 67, 5), - (core.ENTITY_ITEM, "Steel ", '+', core.colour.yellow, core.effect.normal, 71, 7), - (core.ENTITY_ITEM, "Mercury ", '+', core.colour.yellow, core.effect.normal, 97, 11), - (core.ENTITY_ITEM, "Oil ", '+', core.colour.yellow, core.effect.normal, 5, 1), - (core.ENTITY_ITEM, "Ink ", '+', core.colour.yellow, core.effect.normal, 13, 1), - (core.ENTITY_ITEM, "Venom ", '+', core.colour.yellow, core.effect.normal, 11, 1), - (core.ENTITY_ITEM, "Silk ", '+', core.colour.yellow, core.effect.normal, 13, 1), - (core.ENTITY_ITEM, "Papers ", '+', core.colour.yellow, core.effect.normal, 1, 1), - (core.ENTITY_ITEM, "Paperweight ", '+', core.colour.yellow, core.effect.normal, 2, 1) + (core.entity_item, "Wood ", '+', core.colour.yellow, core.effect.normal, 2, 2), + (core.entity_item, "Bark ", '+', core.colour.yellow, core.effect.normal, 1, 2), + (core.entity_item, "Flax ", '+', core.colour.yellow, core.effect.normal, 3, 1), + (core.entity_item, "Plank ", '+', core.colour.yellow, core.effect.normal, 2, 2), + (core.entity_item, "Stick ", '+', core.colour.yellow, core.effect.normal, 2, 2), + (core.entity_item, "Braces ", '+', core.colour.yellow, core.effect.normal, 2, 1), + (core.entity_item, "Nails ", '+', core.colour.yellow, core.effect.normal, 1, 1), + (core.entity_item, "Linen ", '+', core.colour.yellow, core.effect.normal, 23, 1), + (core.entity_item, "Chamomile ", '+', core.colour.yellow, core.effect.normal, 3, 1), + (core.entity_item, "Mint ", '+', core.colour.yellow, core.effect.normal, 5, 1), + (core.entity_item, "Wax ", '+', core.colour.yellow, core.effect.normal, 7, 1), + (core.entity_item, "Salt ", '+', core.colour.yellow, core.effect.normal, 13, 1), + (core.entity_item, "Sugar ", '+', core.colour.yellow, core.effect.normal, 17, 1), + (core.entity_item, "Pepper ", '+', core.colour.yellow, core.effect.normal, 11, 1), + (core.entity_item, "Cinnamon ", '+', core.colour.yellow, core.effect.normal, 23, 1), + (core.entity_item, "Yeast ", '+', core.colour.yellow, core.effect.normal, 5, 1), + (core.entity_item, "Skull ", '+', core.colour.yellow, core.effect.normal, 2, 1), + (core.entity_item, "Bone ", '+', core.colour.yellow, core.effect.normal, 1, 1), + (core.entity_item, "Intestines ", '+', core.colour.yellow, core.effect.normal, 1, 1), + (core.entity_item, "Fur ", '+', core.colour.yellow, core.effect.normal, 7, 2), + (core.entity_item, "Leather ", '+', core.colour.yellow, core.effect.normal, 3, 1), + (core.entity_item, "Fat ", '+', core.colour.yellow, core.effect.normal, 1, 1), + (core.entity_item, "Horn ", '+', core.colour.yellow, core.effect.normal, 2, 1), + (core.entity_item, "Tusk ", '+', core.colour.yellow, core.effect.normal, 3, 5), + (core.entity_item, "Copper Ore ", '+', core.colour.yellow, core.effect.normal, 5, 7), + (core.entity_item, "Iron Ore ", '+', core.colour.yellow, core.effect.normal, 7, 11), + (core.entity_item, "Silver Ore ", '+', core.colour.yellow, core.effect.normal, 17, 7), + (core.entity_item, "Gold Ore ", '+', core.colour.yellow, core.effect.normal, 23, 7), + (core.entity_item, "Coal Ore ", '+', core.colour.yellow, core.effect.normal, 2, 7), + (core.entity_item, "Tin Ore ", '+', core.colour.yellow, core.effect.normal, 13, 7), + (core.entity_item, "Zinc Ore ", '+', core.colour.yellow, core.effect.normal, 13, 7), + (core.entity_item, "Lead Ore ", '+', core.colour.yellow, core.effect.normal, 11, 13), + (core.entity_item, "Copper ", '+', core.colour.yellow, core.effect.normal, 17, 5), + (core.entity_item, "Iron ", '+', core.colour.yellow, core.effect.normal, 19, 7), + (core.entity_item, "Silver ", '+', core.colour.yellow, core.effect.normal, 23, 5), + (core.entity_item, "Gold ", '+', core.colour.yellow, core.effect.normal, 29, 5), + (core.entity_item, "Coal ", '+', core.colour.yellow, core.effect.normal, 19, 5), + (core.entity_item, "Tin ", '+', core.colour.yellow, core.effect.normal, 11, 5), + (core.entity_item, "Zinc ", '+', core.colour.yellow, core.effect.normal, 13, 5), + (core.entity_item, "Lead ", '+', core.colour.yellow, core.effect.normal, 47, 7), + (core.entity_item, "Bronze ", '+', core.colour.yellow, core.effect.normal, 61, 5), + (core.entity_item, "Brass ", '+', core.colour.yellow, core.effect.normal, 67, 5), + (core.entity_item, "Steel ", '+', core.colour.yellow, core.effect.normal, 71, 7), + (core.entity_item, "Mercury ", '+', core.colour.yellow, core.effect.normal, 97, 11), + (core.entity_item, "Oil ", '+', core.colour.yellow, core.effect.normal, 5, 1), + (core.entity_item, "Ink ", '+', core.colour.yellow, core.effect.normal, 13, 1), + (core.entity_item, "Venom ", '+', core.colour.yellow, core.effect.normal, 11, 1), + (core.entity_item, "Silk ", '+', core.colour.yellow, core.effect.normal, 13, 1), + (core.entity_item, "Papers ", '+', core.colour.yellow, core.effect.normal, 1, 1), + (core.entity_item, "Paperweight ", '+', core.colour.yellow, core.effect.normal, 2, 1) ); item_variable_data : item_variable_list; diff --git a/magic.ads b/magic.ads index 80734f8..b29fde5 100644 --- a/magic.ads +++ b/magic.ads @@ -46,10 +46,10 @@ package magic is ------------------------------------------------------------------------------------------ magic_constant_data : constant magic_constant_list := ( - (core.ENTITY_MAGIC, "Ignite ", '*', core.colour.yellow, core.effect.italic, false, -3, 0, 0, -1, 7, 1), - (core.ENTITY_MAGIC, "Illuminate ", '*', core.colour.yellow, core.effect.italic, false, 0, 0, 0, -1, 13, 1), - (core.ENTITY_MAGIC, "Bladecharm ", '*', core.colour.red, core.effect.italic, true, 0, -3, 0, -1, 7, 3), - (core.ENTITY_MAGIC, "Battlecry ", '*', core.colour.red, core.effect.italic, true, -1, -1, 0, -1, 7, 2) + (core.entity_magic, "Ignite ", '*', core.colour.yellow, core.effect.italic, false, -3, 0, 0, -1, 7, 1), + (core.entity_magic, "Illuminate ", '*', core.colour.yellow, core.effect.italic, false, 0, 0, 0, -1, 13, 1), + (core.entity_magic, "Bladecharm ", '*', core.colour.red, core.effect.italic, true, 0, -3, 0, -1, 7, 3), + (core.entity_magic, "Battlecry ", '*', core.colour.red, core.effect.italic, true, -1, -1, 0, -1, 7, 2) ); magic_variable_data : magic_variable_list; diff --git a/plant.ads b/plant.ads index 14f3187..8eeec5a 100644 --- a/plant.ads +++ b/plant.ads @@ -41,18 +41,18 @@ package plant is ------------------------------------------------------------------------------------------ plant_constant_data : constant plant_constant_list := ( - (core.ENTITY_PLANT, "Oak Tree ", 'T', core.colour.green, core.effect.bold, 11), - (core.ENTITY_PLANT, "Pine Tree ", 'T', core.colour.green, core.effect.bold, 23), - (core.ENTITY_PLANT, "Birch Tree ", 'T', core.colour.green, core.effect.bold, 13), - (core.ENTITY_PLANT, "Acacia Tree ", 'T', core.colour.green, core.effect.bold, 19), - (core.ENTITY_PLANT, "Apple Tree ", 'T', core.colour.green, core.effect.bold, 17), - (core.ENTITY_PLANT, "Peach Tree ", 'T', core.colour.green, core.effect.bold, 13), - (core.ENTITY_PLANT, "Orange Tree ", 'T', core.colour.green, core.effect.bold, 11), - (core.ENTITY_PLANT, "Pear Tree ", 'T', core.colour.green, core.effect.bold, 13), - (core.ENTITY_PLANT, "Bush ", '&', core.colour.green, core.effect.normal, 5), - (core.ENTITY_PLANT, "Thorny Bush ", '&', core.colour.green, core.effect.normal, 7), - (core.ENTITY_PLANT, "Tall Grass ", '%', core.colour.green, core.effect.normal, 3), - (core.ENTITY_PLANT, "Reed ", '%', core.colour.green, core.effect.normal, 3) + (core.entity_plant, "Oak Tree ", 'T', core.colour.green, core.effect.bold, 11), + (core.entity_plant, "Pine Tree ", 'T', core.colour.green, core.effect.bold, 23), + (core.entity_plant, "Birch Tree ", 'T', core.colour.green, core.effect.bold, 13), + (core.entity_plant, "Acacia Tree ", 'T', core.colour.green, core.effect.bold, 19), + (core.entity_plant, "Apple Tree ", 'T', core.colour.green, core.effect.bold, 17), + (core.entity_plant, "Peach Tree ", 'T', core.colour.green, core.effect.bold, 13), + (core.entity_plant, "Orange Tree ", 'T', core.colour.green, core.effect.bold, 11), + (core.entity_plant, "Pear Tree ", 'T', core.colour.green, core.effect.bold, 13), + (core.entity_plant, "Bush ", '&', core.colour.green, core.effect.normal, 5), + (core.entity_plant, "Thorny Bush ", '&', core.colour.green, core.effect.normal, 7), + (core.entity_plant, "Tall Grass ", '%', core.colour.green, core.effect.normal, 3), + (core.entity_plant, "Reed ", '%', core.colour.green, core.effect.normal, 3) ); plant_variable_data : plant_variable_list; diff --git a/player.ads b/player.ads index 1427404..1b3a3e0 100644 --- a/player.ads +++ b/player.ads @@ -10,7 +10,7 @@ -- write a new program in Ada, a tiny game. Work in progress, it's messy and ugly for now... ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -with core, screen; +with core; package player is @@ -20,8 +20,8 @@ package player is record --~x : map_width := 0; --~y : map_height := 0; - x : screen.width := 0; - y : screen.height := 0; + x : core.screen_width := 0; + y : core.screen_height := 0; health : natural := 0; armour : natural := 0; mana : natural := 0; diff --git a/weapon.ads b/weapon.ads index f82bdc7..7a08060 100644 --- a/weapon.ads +++ b/weapon.ads @@ -48,30 +48,30 @@ package weapon is ------------------------------------------------------------------------------------------ weapon_constant_data : constant weapon_constant_list := ( - (core.ENTITY_WEAPON, "Iron Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1), - (core.ENTITY_WEAPON, "Iron Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2), - (core.ENTITY_WEAPON, "Iron Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1), - (core.ENTITY_WEAPON, "Iron Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2), - (core.ENTITY_WEAPON, "Iron Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2), - (core.ENTITY_WEAPON, "Iron Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1), - (core.ENTITY_WEAPON, "Iron Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1), - (core.ENTITY_WEAPON, "Iron Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1), - (core.ENTITY_WEAPON, "Bronze Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1), - (core.ENTITY_WEAPON, "Bronze Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2), - (core.ENTITY_WEAPON, "Bronze Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1), - (core.ENTITY_WEAPON, "Bronze Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2), - (core.ENTITY_WEAPON, "Bronze Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2), - (core.ENTITY_WEAPON, "Bronze Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1), - (core.ENTITY_WEAPON, "Bronze Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1), - (core.ENTITY_WEAPON, "Bronze Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1), - (core.ENTITY_WEAPON, "Brass Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1), - (core.ENTITY_WEAPON, "Brass Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2), - (core.ENTITY_WEAPON, "Brass Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1), - (core.ENTITY_WEAPON, "Brass Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2), - (core.ENTITY_WEAPON, "Brass Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2), - (core.ENTITY_WEAPON, "Brass Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1), - (core.ENTITY_WEAPON, "Brass Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1), - (core.ENTITY_WEAPON, "Brass Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1) + (core.entity_weapon, "Iron Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1), + (core.entity_weapon, "Iron Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2), + (core.entity_weapon, "Iron Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1), + (core.entity_weapon, "Iron Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2), + (core.entity_weapon, "Iron Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2), + (core.entity_weapon, "Iron Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1), + (core.entity_weapon, "Iron Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1), + (core.entity_weapon, "Iron Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1), + (core.entity_weapon, "Bronze Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1), + (core.entity_weapon, "Bronze Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2), + (core.entity_weapon, "Bronze Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1), + (core.entity_weapon, "Bronze Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2), + (core.entity_weapon, "Bronze Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2), + (core.entity_weapon, "Bronze Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1), + (core.entity_weapon, "Bronze Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1), + (core.entity_weapon, "Bronze Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1), + (core.entity_weapon, "Brass Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1), + (core.entity_weapon, "Brass Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2), + (core.entity_weapon, "Brass Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1), + (core.entity_weapon, "Brass Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2), + (core.entity_weapon, "Brass Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2), + (core.entity_weapon, "Brass Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1), + (core.entity_weapon, "Brass Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1), + (core.entity_weapon, "Brass Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1) ); weapon_variable_data : weapon_variable_list;