Descriptive Problem Summary:
When using del() on an image object referenced by an improper type-cast, the image object's Del() procs are not called, though it is properly deleted. Example:
var/image/i = new(loc = some_atom, icon = some_ioon)
sleep(1)
var/atom/a = i
del(a)
This may be a deeper issue, as I'm noticing image/Del() is sometimes not called at all, not related to any type-cast issue.
In the reverse case (deleting an atom object type-casted improperly), this does not happen.
Expected Results: For image/Del() to be called when deleted regardless of how it was referenced.
Actual Results: image/Del() is not called when referenced as a non-image.
Does the problem occur:
Every time? Or how often? Every time.
In other games? Yes.
This is not a big issue for me personally and I wouldn't rank it as too important. Just thought I would report since it made double-checking object deletions confusing, expecting certain output 'n all.