hi
do you know "handles"?
check out
handle()
in the manual. Very useful function.
pseudocode:
action of the shadow: get the handle of it's "parent" (the object creating the shadow) and save it into one of my skills:
my.skill1 = handle(you);
then, use ptr_for_handle(my.skill1) to place the shadow underneath the "parent".
then you can trace downwards to see how far down you must move it.
It's basically the same, except that you don't use "you" twice, instead you use ptr_for_handle(my.skill1) which is basically the same as a pointer.
Hope this helps...
look up "handle" in the manual.
Micha