Items system not really finished :-(
Published January 02, 2015
Well, I have been working on the item system today, but its pretty complicated. The trick is that every item can only be at one position at once. A lot of the time, when I dropped items, I either removed them from my inventory, found something was wrong, and lost my reference to it, and so it disappeared in nowhere. I imagine someone reaching the end level, picking up the , drop it in a safe place, and fount it has vanished into the void because you mistyped. I worked on that, and the next time, I dropped a item, it did appear on the ground, but it stayed in my inventory also. When I dropped it again, it moved to the new place, since I assigned the position when dropping. When all that was fixed, I tried to implement stacking. So I gave objects a __eq__ method, checking that the name was equal. But this turned into a problem, since I was using index() to find what item to pick up, but since they where equal, it just picked up the first item instead of the one you where trying. I try again by checking position as well, and setting positions in the inventory to [0,0]. Now, a new problem arises: The dropped items just carry a copy of the players position list, so when the players position changes, the items position changes with it. Changed the position to a tuple. Now, everything seems to work, only, the widget seems to only change when I press a key instead of when I click on it. Turns out a key triggers the screen to update while a mouse doesn't. Fixed that. By now, its late in the afternoon and I didn't think I would be able to get a wielding system done in time.
(Killed by a lizard, right now lizard are basically equally strong as you)
Anyway, at like 6, I started on a wielding system. Found a ton of bugs in the drop system in the process (more duplicate items). The logic was basically the same for the rest. I decided to have one w which would wear/wield anything. For nethack style creative wielding, you would use capital W. As you can see in the screen shot (the first one) I have a sword equipped in my right hand and also in my left. You can also see what slots are free. My idea is that different monsters would have entirely different slots, to make sure giants don't wear gnome armor, like you can do in most other games. Swords don't actually affect combat yet, but who cares, they look cool.
I need a idea for a better way to handle longer and flatter monsters in my combat system. Right now combat works by stabbing from the front in random places, but for monsters that have more surface area on the top, it doesn't really work. Anybody have any ideas?