Core animal implementation...

This commit is contained in:
Ognjen Milan Robovic 2023-10-11 16:51:24 -04:00
parent 8d9f40c3e0
commit 074ea30bcf

View File

@ -561,9 +561,125 @@ function xabina return integer is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type animal_list 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 -- Goblin
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------