One of the most important things I find important when I design programs is the User Interface. I am a firm believer that things should just work the way you think they should.
When I was looking to put my own stamp on Unleashed Pixel Dungeon the first thing I noticed was that pressing on the Quick-Slot item brought up a targeting dialogue, but did not auto-select any of the available enemies. I wanted to make it so that if a previous (still living mob) has not been targetted it will randomly select a visible mob from those available to use as a default. Pressing the Quick-Slot item again (double tap) will auto-target that mob. You could always select a different mob if you prefer, this is just for convenience.
I started playing with the QuickSlotButton.java, visible enemies are stored in the Dungeon.Hero structure, so in the useTarget() function (which is called when we click the Quick Slot Button with something that uses targetting) we first check to see if we already have a target selected and it is one of the available targets, otherwise we iterate through the list of visible targets and randomly select one of them...
I guess we could select the closest, or the weakest, or the toughest, or the one that is awake... for right now I am just selecting a random target. The only thing left to do is save off that target so that we can continue attacking it the next turn. I am also saving the lastTarget off in the Hero structure so we can potentially link Melee attacks against the same target in the future.
It was a fairly painless mod to implement and a nice introduction (for me) into the code. The full fix is available on GitHub.