Put half the onion slices, 4 peppercorns, a bay leaf and a parsley sprig into a large frying pan, and the same into a saucepan. Add the ling and smoked fish to the frying pan and pour in the milk.
Put the salmon in the saucepan, barely cover with water and add the lemon slices. Bring both pans to the boil, remove from the heat, cover and leave to stand for about 10 minutes.
Meanwhile, cook the potatoes in boiling water for 20–25 minutes. Preheat the oven to 190 degrees C. Using a nylon sieve, strain the milk from the ling and smoked fish into a measuring jug. There should be about 2 cups. If there is less, make up the difference with a little extra milk. Remove the salmon from the saucepan and discard the cooking water and flavourings from both pans.
Remove the skins and bones from all the fish, then flake the flesh and set aside. Melt 30g of the butter in a large saucepan, stir in the flour and cook over low heat for 1 minute. Gradually stir in the strained milk. Bring to the boil, stirring continuously, then reduce the heat and simmer for 2 minutes. Remove from the heat and season to taste with freshly ground black pepper. Stir in the parsley and lemon juice and gently mix in the flaked fish and prawns. Pour into a large, shallow, ovenproof dish and set aside.
Drain the cooked potatoes well and pass them through a potato ricer or sieve, or mash them well. Stir in the remaining butter and add enough milk to make a smooth, creamy, but fairly firm mixture. Season to taste with salt and pepper and spread or pipe over the fish mixture, covering it evenly. Brush the top of the potatoes with the beaten egg.
Bake the pie in the oven for 35 minutes, or until golden brown and heated through. Serve with steamed broccoli and cauliflower, or with a green salad.