Generic PC with Integrated Contents (#1986)

(an instance of Useful Utilitarian PC made by Eclipse)

     The GPCIC is a simple integrating player class. It basically integrates into a player's description anything in eir contents that has a .carried_msg. This is a simple and useful form of integration, in that it allows the player to integrate any object into eir description, including clothing, weapons, jewelry, food, knapsacks, pets, or anything that has a .carried_msg or that the player puts a .carried_msg on.
     The GPCIC is a child of the Useful Utilitarian PC (#99), and therefore does not have the features of the Scorpion or Lycanthropic PCs. However, player classes with additional features can easily be @parented or @chparented to this one to inherit the integrating ability.

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


HELP MANUAL:
     The GPCIC is a simple integrating player class.  It basically integrates into a player's 
description anything in eir contents that has a .carried_msg.  This is a simple and 
useful form of integration, in that it allows the player to integrate any object 
into eir description, including clothing, weapons, jewelry, food, knapsacks, pets, 
or anything that has a .carried_msg or that the player puts a .carried_msg on.
     The GPCIC is a child of the Useful Utilitarian PC, #99, and therefore does not have 
the features of the Scorpion or Lycanthropic PCs.  However, player classes with additional 
features can easily be @parented or @chparented to this one to inherit the integrating 
ability.
     If you own an object which does not have a .carried_msg but that you would like to 
have integrated into your description while you are carrying it, adding a .carried_msg 
is an easy thing to do.
     Eclipse wants her skull (#909) to be integrated into her description while she's 
carrying it, but it doesn't have a .carried_msg property.  To do this, she simply 
types:
     @prop #909.carried_msg
     @carried #909 is Visitor seems to be carrying a large, smiling skull in one hand.
     By adding the property and setting it, the .carried_msg of the skull will now be 
seen in her description whenever she carries the skull.  This can be done with just 
about any object that you'd like mentioned in your description instead of your contents 
list, and has many uses.



VERB SOURCE CODE:

look_self:
player:tell(this:titlec());
d = this:description();
if (c = this:contents())
    i = t = "";
    for o in (c)
        if (s = $code_utils:verb_or_property(o, "carried_msg"))
            i = (i + t) + $string_utils:pronoun_sub(s, this, o);
            t = t || this:look_sep_msg();
            c = setremove(c, o);
        endif
    endfor
    if (i)
        d = (typeof(d) == LIST) ? listappend(d, i) | ((typeof(d) == STR) ? (d + t) 
+ i | i);
    endif
endif
player:tell_lines(d || "You see nothing special.");
if (!(this in connected_players()))
    player:tell($gender_utils:pronoun_sub("%{:He} %{!is} sleeping.", this));
elseif ((idle = idle_seconds(this)) < 60)
    player:tell($gender_utils:pronoun_sub("%{:He} %{!is} awake and %{!looks} alert.", 
this));
else
    time = $string_utils:from_seconds(idle);
    player:tell($gender_utils:pronoun_sub("%{:He} %{!is} awake, but %{!has} been 
staring off into space for ", this), time, ".");
endif
if (c)
    this:tell_contents(c);
endif
.


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



PROPERTY DATA:
      look_sep_msg
      help_msg

CHILDREN:
Eclipse Ipsol Dead_Can_MOO Taniak nataShA