Was setzt du hinter else? you.ambient = 0?
Das geht nicht, da you = NULL ist. Du musst die getroffene Entity zwischenspeichern.

ENTITY* Trace_ent;
...
c_trace(my.x, trace_attack, IGNORE_ME | IGNORE_PASSABLE);
if(you)
{
Trace_ent = you;
Trace_ent.ambient = 100;
} else {
if(Trace_ent) Trace_ent.ambient = 0;
}
...