generic tattoo (#1477)

(an instance of Root Class made by Eclipse)

     a pc still under construction. DO NOT @CHPARENT YOURSELF TO THIS YET. thank you for your attention.

Go to location of this object, Big Box O' Numbers.



VERB SOURCE CODE:

moveto:
if (caller_perms() == this.owner)
    pass(@args);
endif
if (this.location == this.home)
    if (caller != this.remover)
        player:tell(this.remover.name, " storms into the room, sneering at you.  
She pulls a laser gun out of a black leather case, grabs your arm, pulls you to her, 
and pins you down as she fries the tattoo from your ", this.tlocation, " with the 
laser.  When she finishes, she shoves you away, puts her gun away, and stalks out, 
leaving you howling in pain on the floor.");
        player.location:announce($string_utils:pronoun_sub(tostr(this.remover.name, 
" storms into the room, sneering at %n.  She pulls a laser gun out of a black leather 
case, grabs %n's arm, pulls %o to her, and pins %o down as she fries the tattoo from 
%n's ", this.tlocation, " with the laser.  When she finishes, she shoves %n away 
and stalks out, leaving %n howling in pain on the floor.")));
    endif
    this.home:destroy_tattoo(this);
endif
.


carried_msg:
return this:get_message(verb[1..length(verb) - 4]);
.


title:
return tostr("tattoo of ", this.tname);
.


set_aliases:
if (m = match(n = tn = this.tname, "^%(an? %|the %)"))
    n[m[1]..m[2]] = "";
endif
return pass({this.name, "tattoo", n, n + " tattoo", "tattoo of " + tn});
.


set_name:
if (ok = pass(@args))
    this:set_aliases();
endif
return ok;
.


hidden_verbs:
return ((caller == this) || $perm_utils:controls(caller_perms(), this)) ? {@pass(@args), 
"d*rop th*row", "gi*ve ha*nd"} | E_PERM;
.


d*rop th*row:
player:tell($string_utils:pronoun_sub("It is impossible to drop a tattoo.  If you 
would like it permanently removed, you can visit %n at %l (%[#l]).", r = this.remover, 
r, r.location));
player.location:announce($string_utils:pronoun_sub("%N scratches at %p %[tname]."));
.


gi*ve ha*nd:
player:tell($string_utils:pronoun_sub("It is impossible to give away a tattoo.  If 
 you would like it permanently removed, you can visit %n at %l (%[#l]).", r = this.remover, 
r, r.location));
player.location:announce($string_utils:pronoun_sub("%N scratches at %p %[tname]."));
.



PROPERTY DATA:
      tname
      tlocation
      carried_msg
      home
      artist
      remover

CHILDREN:
a man in bondage tattoo The Stuff tattoo an African silhouette tattoo the Black Flag of Anarchy tattoo The Never-Ending Circle of Reverberating Layers of Meaning tattoo a biohazard symbol in bright blue tattoo