29 September 2010

When "No Problem" Becomes A Problem

An old bug has surfaced on my To Do List, involving the raffle house.

It's not a bug, per se, but it is a common-sense lack of a feature: why don't the raffle house NPCs mention the condition of the raffled items?  For example, if I were to raffle off a gold shirt, then why won't the raffle ticket sellers tell potential buyers "I am selling Yappy's gold shirt, which is in pretty good condition?"  This is good information to have, especially if the item is badly worn and can not be repaired (like Rocko Armor, for example).

After working on the mannequin bug, I felt that I had a pretty good sense of what changes needed to happen within the raffle house script.  I glanced through the script and noted where the description functions would need to be located.  These functions would snap into this script like jigsaw puzzle pieces snapping together in place.  And these functions existed within other scripts, so it would be a simple matter to just copy and paste them into the raffle house script.  In fact, I was so convinced that this was a trivial task that I added a note to the bug record, boasting that it would be "no problem!" and that I would personally take care of this feature.

And then I read through the supporting raffle house script – the one containing all of the functions which handle the heavy lifting for the raffle house.  Hoo boy howdy.  It turns out that the raffle house is powered by numerous sophisticated, complex functions, and there is a lot data management happening behind the scenes.  This is further complicated by the way that items are structured: it appears that the condition of armored items are handled slightly differently from the condition of clothing items – at least that is how I read it.  Therefore the functions used to describe a pair of pants may not be the same functions to describe an iron shield.  I hope that I read that wrong, and the two items are handled identically.

As with the mannequin script, I must be very careful in how I blend a new data structure into the existing data structure.  The format that I implement must be backwards compatible.  Items containing – or lacking – item-condition descriptors must be understood equally by the raffle house NPCs.

What on earth possessed me to believe that such a simple addition to a script would be... well... simple?

1 comment:

  1. "What on earth possessed me to believe that such a simple addition to a script would be... well... simple?"

    Because you knew it'd be funny to talk about how hard it turned out to be late ;)

    thanks for the chuckle, I always do that with work. "oh this will be easy" ........ 5 hours later "foook that was hard WTF was I thinking"

    or you know, you could just be an optimist.

    ReplyDelete