Make phantom mirrors slightly weaker

By adding a small amount of draining (HD reduction) to their
spawned illusion; currently a fixed 1/3 of the base HD, but making
it scale with evocations skill (from 1/2 to 1/4?) might be
worthwhile.
Autopickup blood after bottling (rigrig)

Just like chunks after butchering; this was broken when the butchery
delay was removed.
Tiles for "Vit and "Bloodlust
Roughly double Hellfire damage

The unrand arbalest, that is. From 2d5 to 3d8.

It was generally considered quite weak, and testing confirmed
that. For the cost of mulching all your ammo & making a lot of
noise, an unrand should give significantly more benefit than 2d5!
only weight randlich secondary spells

we were getting an unreasonably high rate of invisibility, because it
was the only hexes buff spell. similar issues with the conj primary
spells for ancient liches, since they would pair up more often
don't give virulence without other poison spells
Remove the shop hack.

You will be neither missed nor forgotten!

Tested save compat on old levels with one shop, with multiple shops,
and with new shops.
Refactor place_spec_shop a bit.
Don't call ball lightning creatures, either.
Replace a boolean field with a flag.
s/RETURN_FROM_/EXIT_/g
Arguably move recite text to data.

Unfortunately, there's still no simple way to add a new verse because
of the way that the hashing works; along the same lines, moving the
text to the database is non-trivial.
Be more careful that we don't underflow zin arrays.

An array with specified size can be initialised with fewer elements than
its size, in which case the remaining elements are zero-initialized.  So
if someone accidentally reduced the number of entries, we wouldn't notice
until someone's recite actually hit those strings and dereferenced a null
pointer.

Instead, leave the array's length unspecified, but statically assert that
it has the length required by the text-generation code.  Then a too-short
list will result in a compile-time error.  Place the assertions with the
text-gen code rather than with the arrays, since the number being
asserted against should reflect the trit calculations and vice versa.
Placate g++-4.9 -Og

With -Og, not enough flow analysis is done to deduce that mons was
initialised in this loop condition, resulting in a bogus warning:

   files.cc:1852:75: warning: ‘mons’ may be used uninitialized in this
     function [-Wmaybe-uninitialized]

The warning didn't happen with -O0, which disables maybe-uninitialised
warnings; or with -O1 (or higher), which does enough analysis to figure
out that mons was initialised after all.

This change probably pleases PleasingFungus, too.
Make Gozag sparkly

Add sparkles on active Gozag gold, so it's a bit more obvious
now that it no longer has an aura. Doesn't currently appear
when a monster is on top of the gold, since it was visually
overwhelming - patches welcome...

Thanks to Lasty for testing & Grunt for fixing!
Fix barding brand generation (drke)

Barding of flying was accidentally removed in 3cebfc1d9e22b.

What terrible code...
Partially clean up _determine_armour_ego

The only change in behaviour should be sub-percent differences
in armour ego weights for body armours, & the removal of an
ancient and truly mysterious Archmagi ego special case. (It was
guaranteed to never appear on ego re-rolls, for reasons that
crawl developers appear to have been baffled by for at least the
last seven years.)

If Archmagi becomes too common after this change, there are
simpler ways to adjust the frequency...
Don't pretend successful pickup failed (#9294, ebering)
Simplify _put_item_in_inv calling convention.

By not requiring that put_in_inv be preinitialised to false.
Remove some support for pre-C++11.