Quote Originally Posted by Tamamo View Post
I think items might actually be 0 too, might be something else that determines if an item is on screen or not. (special item has this so it would make sense)
I can't think of anything else with a none identifier other then that where something else is 0.

It just doesn't make sense to me that anyone would program a NULL value as -1. Because that would return true.
The screen index for items starts at 1, for their pointers; but the item IDs start at 0.

I agree about -1. That's exactly what I was stressing, but that;'s what we have in ZScript. -1 for NULL, providing true returns, which means we need to read if ( n == -1 ) instead of if ( !n ) to determine validity in an evaluation. That little hiccup gives people a lot of trouble. DMap screens, and DMap IDs also fall into this trap. Look at the returns in std.zh.