Drop Item functionality has now been implemented. I was originally going to include all the suggestions mentioned in the comments to my previous post on the subject, but due to a slight limitation with the Delphi VCL (for some reason TPanel components, despite inheriting from TWinControl, don't have the corresponding OnKeyDown events, and I'm not interested in creating my own TPanel descendant that can respond to said key events) I've only implemented drag-and-drop item functionality.
And now, onto monsters! This is a very exciting bit of development, as I have lots of ideas for their AI. As ever, the reference posts on AI in Roguelikes seem to be over at ASCII Dreams. Eventually, I'd like to adopt many of the ideas mentioned there, but for now, the priority is to get the monster data entered into the SQL-Lite backend and then from there a monster generation algorithm written.
A while back, before development was put on hiatus, I had written up a fragment of a top-level design document dealing with this. Here's an extract dealing with one particular set of levels:
Built from rooms and corridors
Filled with martial creatures
Level 1 to 5 Monsters
|1||Goblin||‘g’||Light Grey||Class + 1||Common||1|
|1||Kobold||‘K’||Brown||Class + 1||Standard||2|
|2||Hobgoblin||‘g’||Brown||Class + 1||Standard||1|
|2||Gnoll||‘g’||Yellow||Class + 2||Common||2|
|3||Quaggoth||‘g’||Orange||Class + 1||Standard||3|
|4||Ogre||‘O’||Brown||Class + 2||Stsndard||1|
|4||Hill Giant||‘C’||Light Grey||None||Standard||4|
|5||Minotaur||‘m’||Light Red||Class + 3||Rare||5|
Although this document didn't go into detail on the individual monster statistics, there are a few things here which are of interest at the moment. The 'Class Template' column refers to an idea I had, of, like Crawl, a slightly tougher version of the monster appearing with a class template bolted onto it, e.g. instead of a standard goblin, occasionally a "Goblin Fighter" might appear.
The 'Faction' column referred to an idea I had of improving AI by introducing the concept of Factions and a variable called 'Hate', which would eventually allow monsters to fight each other if necessary (the player would always be Faction 0). I don't know if I'll ever get that implemented though.
(Edit: Reformatted Post to remove the big gap. Thanks to Robotics For You!! for how to do this.