ID:2024209
 
Applies to:Dream Daemon
Status: Open

Issue hasn't been assigned a status value.
If the target of a missile() function is moved, the missile() will follow its target to the destination. However, there are cases where you'd want to immediately end the missile() animation completely. Moving the missile's target to a null location should immediately remove the missile's animation.
Excellent point. I've put this on my list.
Hmm, I was looking into this and it appears that the missile not disappearing is intentional. At least, Dan was aware of the possibility (I know it was Dan because there's a comment in his style).

if(!CidEq(m->target,NullCid()) && Cidxyz(m->target,&ox,&oy,&oz)) {
m->dest_x = ox; /*in case target dies*/
m->dest_y = oy;
}
else {
ox = m->dest_x;
oy = m->dest_y;
}

What I'm wondering is if the behavior was intended so that if you launched a bunch of missiles at a target and it died, the missiles wouldn't all disappear at once--which would look awful.

The question for me now is: Is there another way you can think of to destroy a missile, once fired, without relying on the tracked object moving to null or ceasing to exist?
how about something like: missile(type, src, null), resulting in the deletion of all missiles of the given type coming from src?

[EDIT] or inversely missile(type, null, trg) deleting all missiles of a type heading towards trg.
Is there another way you can think of to destroy a missile, once fired, without relying on the tracked object moving to null or ceasing to exist?

Well, missile() doesn't return anything, so in theory it'd be safe to create (and return) a datum that describes the current missile action and exposes additional information beyond the scope of this specific request.

Maybe mucking with that datum could be a way to implement both this and changes to the missile from the other thread.
By the way, I actually remember the "bug" where a large group of missile() visuals would vanish at once... and Dan fixing it. It's always fun seeing stuff from 15 years ago wiggle it's head out of the hole to be a pain in the butt.

It's also strange how seeing the code Lummox posted because it just screams "Dan" and now I miss Dan... =(
It's also strange how seeing the code Lummox posted because it just screams "Dan" and now I miss Dan... =(

RIP in peace.