Wow, thanks for all the input! I didn't get a whole lot done today cause school was... long. I started to tackle map generation, but didn't get too far. I'm going to look into loading maps first I think, cause that shouldn't take very long, just opening a file full of single digit numbers and loading them into an array.
Onto the input though:
@Bricks (Level Design) - I'm going to be using a new method for map generation, so the widows, balconies and such are very much an option. Saving levels below the player is certainly an option, although if I make them go all the way to the bottom to reach the shops I may have to add an item that allows them to teleport into the town and teleport back, cause at higher levels (say the 50th floor or something) coming down would be a serious pain to sell random junk... Still, I'll definitely consider it!
@Bricks (Character Design) - The classes (in the version you have) just determine your five primary stats, and then you get the left-over points to put into whatever you want. In the next version they determine stats, health (which may or may not be separate from endurance now, still working on the numbers for that one...) and how much exp you get to spend on stats later. Reading these comments reminded me that adding a shop during character creation would probably be a good idea, so they'll probably determine how much money you start with as well. So you might have a fighter class that has high strength and endurance by default, just a little exp to spend, but enough money to buy some decent equipment.
@Bricks (LoS/Vision) - Awesome! I was using Pythagorean theorem to determining distance, so I'll almost definitely use that once I get to vision again. The actual line of sight is horribly ineffective though, so I'll probably need to touch up on that as well... (it checks each tile to see if there is a straight line between it and the player...)
@Bricks (EDIT2) - Hunger doesn't do anything yet, still working on that. The rapid decrease is actually the reason I was hesitant to use 0-100 instead of 0-1000. It decreases fast now, but it was even faster when I had to decrease it by at least 1 percent, and since you get a little hungrier each round...
The arrows are mostly just because they're cheap. The drops basically pick to either just drop gold, or to try and drop an item of similar worth. If they drop arrows they drop enough to make up the value that would otherwise have been dropped in gold.
@alfie - That would definitely be interesting, but it'll probably have to wait until I get elements in for magic in the first place... still, it's certainly a possibility once I do! As for the second idea, what do you mean "released"? Like you can walk over it and get more 'experience' in that element or more energy or something? An explosion of magical force would be interesting too... knocks you back, maybe causes damage, but gives you exp or energy... we'll see.
[EDIT]: I've apparently got a cold (figures it happens AFTER the last day of school...), so I'll probably be in bed early, but I've planned out the room generator, so I figured I'd at least give that update before I hit the hay...
I start with a single room, probably in the middle of the map, but maybe at a random position. Then I add one of what what I'll call nodes to each side of the room. Each node will contain a position and a direction to go out in. So the map might start like this:
+---^---+
|.......|
<.......>
|.......|
+---V---+
where the <, >, ^, and V are nodes in the designated direction. Then I loop through the nodes, trying to add a room to each one, and new nodes to each new room, until it runs out of space. At first it will only add the same, basic room, but once I've got that working I'm going to try adding hallways and rooms of different sizes. Heck, I could get some really weird rooms, so long as I position the room and the it's nodes properly, it should work fine.
Basically, the nodes represent possible places for doors. If there's room on the appropriate side of the door to add a new room (or any other map feature) it adds the door and adds the new room. Simple enough in theory, but only time will tell if I can actually pull it off...