diff --git a/xabina.adb b/xabina.adb index 1a33988..ac1710e 100644 --- a/xabina.adb +++ b/xabina.adb @@ -561,9 +561,125 @@ function xabina return integer is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type animal_list is ( - ANIMAL_ROACH, ANIMAL_RAT, ANIMAL_BAT, ANIMAL_SPIDER, ANIMAL_LIZARD, ANIMAL_SNAIL, ANIMAL_WORM, ANIMAL_MOLE + ANIMAL_PIG, ANIMAL_COW, ANIMAL_CHICKEN, ANIMAL_SHEEP, ANIMAL_BOAR, ANIMAL_GOAT, ANIMAL_AUROCH, ANIMAL_DUCK, + ANIMAL_DOG, ANIMAL_CAT, ANIMAL_RABBIT, ANIMAL_HAMSTER, ANIMAL_HORSE, ANIMAL_DONKEY, ANIMAL_CAMEL, ANIMAL_ELEPHANT, + ANIMAL_OWL, ANIMAL_HAWK, ANIMAL_PIGEON, ANIMAL_VULTURE, ANIMAL_CROW, ANIMAL_PHEASANT, ANIMAL_SPARROW, ANIMAL_ALBATROSS, + ANIMAL_SARDINE, ANIMAL_HERRING, ANIMAL_CATFISH, ANIMAL_CARP, ANIMAL_WHALE, ANIMAL_SHARK, ANIMAL_SQUID, ANIMAL_SAWFISH, + ANIMAL_WORM, ANIMAL_BEE, ANIMAL_CENTIPEDE, ANIMAL_SPIDER, ANIMAL_FROG, ANIMAL_RAT, ANIMAL_BAT, ANIMAL_MOLE, + ANIMAL_WOLF, ANIMAL_FOX, ANIMAL_BEAR, ANIMAL_MAMMOTH, ANIMAL_ELK, ANIMAL_MOOSE, ANIMAL_DEER, ANIMAL_PEEBLES, + ANIMAL_LION, ANIMAL_HYENA, ANIMAL_BISON, ANIMAL_ZEBRA, ANIMAL_GIRAFFE, ANIMAL_CROCODILE, ANIMAL_MONKEY, ANIMAL_GNU, + ANIMAL_CARIBOU, ANIMAL_SEAL, ANIMAL_MORSE, ANIMAL_PENGUIN, ANIMAL_TURTLE, ANIMAL_CAYMAN, ANIMAL_OTTER, ANIMAL_SNAKE, + ANIMAL_LIZARD, ANIMAL_DAEODON, ANIMAL_SLIME, ANIMAL_AXOLOTL, ANIMAL_HEDGEHOG, ANIMAL_CATERPILLAR, ANIMAL_CRAB, ANIMAL_SCORPION, + ANIMAL_GIANT_LIZARD, ANIMAL_GIANT_CENTIPEDE, ANIMAL_GIANT_SPIDER, ANIMAL_GIANT_SLOTH, + ANIMAL_GIANT_OWL, ANIMAL_GIANT_SCORPION, ANIMAL_GIANT_AXOLOTL, ANIMAL_GIANT_WORM ); + ------------------------------------------------------------------------------------------ + + type animal_mark is mod 72; + + type animal_constant_type is new entity_constant_type with + record + health_limit : natural := 0; + attack_range : natural := 0; + defense_range : natural := 0; + end record; + + type animal_variable_type is new entity_variable_type with + record + health : natural := 0; + end record; + + type animal_constant_list is array (animal_list) of animal_constant_type; + type animal_variable_list is array (animal_mark) of animal_variable_type; + + ------------------------------------------------------------------------------------------ + + 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) + ); + + animal_variable_data : animal_variable_list; + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -- Goblin ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------