anchor.diff:      [uaWalk], [uaWalk], [uaWalk], [uaWalk], [uaWalk], [uaWalk], [uaWalk], [uaWalk] //Animals
     );
   begin
  -  Result := aAct in UnitSupportedActions[fUnitType];
  +  Result := aAct in UNIT_SUPPOSTED_ACTIONS[fUnitType];
   end;
   
   
   function TKMUnitSpec.GetAllowedPassability: TKMTerrainPassability;
   const
     // Defines which animal prefers which terrain
  -  AnimalTerrain: array[ANIMAL_MIN .. ANIMAL_MAX] of TKMTerrainPassability = (
  +  ANIMAL_TERRAIN: array[ANIMAL_MIN .. ANIMAL_MAX] of TKMTerrainPassability = (
       tpWolf, tpFish, tpFish, tpFish, tpCrab, tpFish, tpFish, tpFish);
   begin
     case fUnitType of
  -    ANIMAL_MIN..ANIMAL_MAX:  Result := AnimalTerrain[fUnitType]; //Animals
  +    ANIMAL_MIN..ANIMAL_MAX:  Result := ANIMAL_TERRAIN[fUnitType]; //Animals
     else
       Result := tpWalk; // Worker, Warriors
     end;
  
positive.code: //Animals don't have team and thus are rendered in their own prefered clors
  function TKMUnitSpec.GetMinimapColor: Cardinal;
  const
    MMColor: array[TKMUnitType] of Cardinal = (
      0,0,0,0,0,0,0,0,0,0,
      0,0,0,0,0,0,0,0,0,0,
      0,0,0,0,0,0,0,0,0,0,
      $B0B0B0,$B08000,$B08000,$80B0B0,$00B0B0,$B080B0,$00B000,$80B0B0); //Exact colors can be tweaked
  begin
    Result := MMColor[fUnitType] or $FF000000;
  end;
  
  
  
negative.code: 
  function TKMUnitSpec.SupportsAction(aAct: TKMUnitActionType): Boolean;
  const
    UNIT_SUPPOSTED_ACTIONS: array [TKMUnitType] of TKMUnitActionTypeSet = (
      [], [], //None, Any
      [uaWalk, uaDie, uaEat, uaWalkArm], //Serf
      [uaWalk, uaWork, uaDie, uaWork1, uaEat..uaWalkTool2],
  