While playing with a stock rom and inserting some of my own code, I came accross a bug. 
The code I was putting in manipulated an objects condition slightly, and when I used 
it on an object its condition was always at 0, but when I opened the obj in OLC it showed 100. 
So I statted it again and it was 0, ect ect. I plowed through the code following it everywhere, 
it all seemed right. So I thought I would take it all out and redo it myself, and after 
redoing everything I had just undone I found a spot that was missing a main call for the 
condition to be transfered from OBJ_INDEX_DATA to OBJ_DATA.

In the function:

OBJ_DATA *create_object( OBJ_INDEX_DATA *pObjIndex, int level )

Add the fix after 'obj->weight		= pObjIndex->weight;'

[code]/* Bugfix by Ghreth */
	obj->condition	= pObjIndex->condition;
[/code]