Thursday, June 15, 2006

0.8 Completed!

Huzzah! Three cheers!

Our first milestone has been reached and closed a whole 3 weeks early! The rate of progress is truly getting frightening.

So, let's take a look at today's accomplishments.

A new 'users' component was added, with the class UserManager. Now, UserManager is a truly magical entity. It depends on very little other than the existence of the World and Database services, and as such, will be completely reloadable when the time comes to implement... reloadability, heh. Right now it houses all database interactions for logging and logging out, as a web of callbacks. As a coorelary to adding this new component, I tweaked client.py and dialogues.py to use it, in the process abstracting out all database calls.

Now, here's where things get FUN.

Since I had little else to do today, I went ahead and implemented storing and retrieving items from the newer database tables. That is to say, when you log in, your inventory and equipment tables are scanned and loaded in as new items based on unique codes that are assigned when you log out. Theoretically, even nesting items into bags works, though this requires extensive testing.

As another neat aside, I implemented a new 'load' attribute to items on NPCs. The value is a float, which is the percent chance to load an item. Rarer items should always come first in the list, and will close the possibility of other, more common items loading instead.

Cool, eh?

No comments: