Subject: set_task_perms, permission denied

From: [email-masked] (Kim Cary)
Date: Fri, 25 Jun 1993 16:16:06 -0700

OK, hope this isn't too trivial.

I figgered I couldn't 'objectively' modify this verb on my (now customized)
generic pet to allow me to pick it up, so I copied the t*ake verb from the
grandparent (#5) and added modified code from from the parent (#28280).
This added code should let me pick the 'pet' up, but let others only grab
it momentarily (most of the code is haakon's or eric's).

Now I can pick up the item, but, as beige_guest, I get this error:
#55934:g*et t*ake, line 2:  Permission denied
(End of traceback)

I've looked at help on items called in line 2, and tried to scrutinize the
code for a syntax error, but I'm stuck. Can anyone help?

Here is the verb, modified code in lines 21-30, unmodified code from
grandparent (#5) in 1 -20 (no errors just using line 1-20 without the
additions beginning in 21):

1:  "Copied from generic thing (#5):take by Haakon (#2) Sat Apr 17 13:45:04 199
3 PDT";
 2:  set_task_perms(callers() ? caller_perms() | player);
 3:  if (this.location == player)
 4:    player:tell("You already have that!");
 5:  elseif (this.location != player.location)
 6:    player:tell("I don't see that here.");
 7:  else
 8:    this:moveto(player);
 9:    if (this.location == player)
10:      player:tell(this:take_succeeded_msg() || "Taken.");
11:      if (msg = this:otake_succeeded_msg())
12:        player.location:announce(player.name, " ", msg);
13:      endif
14:    else
15:      player:tell(this:take_failed_msg() || "You can't pick that up.");
16:      if (msg = this:otake_failed_msg())
17:        player.location:announce(player.name, " ", msg);
18:      endif
19:    endif
20:  endif
21:  if (this.location != this.owner)
22:    player:tell(this.name, this:action(), " as it seeks to escape..  Finally,
 it manages to tear free of your grasp.");
23:    if (player.location:accept(this))
24:      this:moveto(player.location);
25:      this.location:announce_all_but({player, @this.ignore}, this.name, " rip
s free of ", player.name, "'s grasp.");
26:    else
27:      this:moveto(valid(this.home) ? this.home | this.owner.home);
28:      this.location:announce_all_but(this.ignore, this.name, " flies homeward
, escaping from the clutches of ", player.name, ".");
29:    endif
30:  endif