-Upgrading LambdaCore to 1.8.0-
Certain objects cause tracebacks when being moved around, particularly
when the :acceptable portion of this verb is being called. You'll
probably notice this when @creating things. Needs to ignore task frames
with '#-1' as the programmer. The only line that was changed was the
line two lines before the "Check for possible malicious programmer"
comment, that starts if (!perms.wizard... should check to make sure the
perms are valid first.
@program $frand_class:moveto
"'moveto (<destination>)', 'accept (<object>)' - Check whether this :moveto or :accept is allowed or refused. If it is allowed, do it. This code is slightly modified from an original verb by Grump.";
by = callers();
"Ignore all the verbs on this.";
while ((y = by[1])[1] == this && y[2] == verb)
by = listdelete(by, 1);
endwhile
act = verb == "moveto" ? "move" | "accept";
if (player != this && this:refuses_action(player, act, args[1]))
"check player";
return 0;
endif
last = #-1;
for k in (by)
perms = k[3];
if (valid(perms) && !perms.wizard && perms != this)
if (perms != last)
"check for possible malicious programmer";
if (this:refuses_action(perms, act, args[1]))
return 0;
endif
last = perms;
endif
endif
endfor
return pass(@args);
.
-2-
[Previous Page][Next Page][Contents]