#!/usr/bin/perl
#use Mooix::Thing;
#use Mooix::Verb;
run sub {
	my $this=shift;
	%_=@_;

	if ($_{avatar} != $this->owner) {
		exit Mooix::Verb::SKIP;
	}
	
	if (! $_{avatar}->debugging) {
		fail "You do not have debugging turned on.";
	}

	if ($this->session && $this->session != $_{session}) {
		$_{session}->write("Note that traces are not directed to your current session.");
	}
	
	if (! $_{direct_object} && ! length $_{quote}) {
                $_{session}->page("Tracing:", $this->format_expressions("skip", "trace"));
		return;
	}
	
	my ($method, $type, $field) = split(' ', $_{quote}, 3);
		
	my $ret = $this->add_expression(
		action => "trace",
		object => $_{direct_object},
		method => $method,
		type => $type,
		field => $field,
	);

	if ($ret) {
                $_{session}->page("Now tracing:", $this->format_expressions("skip", "trace"));
	}
	else {
		fail "That is already being traced.";
	}
}
