
P_WEAR_MSG
**********


NAME
====

   P_WEAR_MSG                       "wear_msg"


DEFINIERT IN
============

   /sys/armour.h


BESCHREIBUNG
============

   Zweiteiliges Array mit Meldungen, die beim Anziehen einer Ruestung oder
   Kleidung an den Spieler und die Umgebung ausgegeben werden.
   Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
   Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
   jedoch beruecksichtigt.

   Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
   man replace_personal()).

   [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
    moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
    in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
    den Waffennamen.]


BEISPIELE
=========

   SetProp(P_NAME, "Helm");
   SetProp(P_WEAR_MSG,
    ({"Du stuelpst die @WEN2 ueber.",
      "@WER1 stuelpt sich @WENU2 ueber."}));

   -> beim Anziehe durch Urk:
      Urk bekommt: Du stuelpst dir den Helm ueber.
      Der Raum:    Urk stuelpt sich einen Helm ueber.

   SetProp(P_WEAR_MSG,
    ({"Als Du Dir den langen Mantel ueberziehst, steckst Du erstmal "
      "mit Deinem dicken Schaedel fest. Doch nach einem kraeftigen "
      "Ruck bist Du endlich durch und siehst wieder etwas.",
      "@WER1 zieht sich einen langen Mantel ueber und bleibt "
      "prompt mit dem dicken Schaedel stecken. Doch nach einem "
      "kraeftigen Ruck kann @WERQP1 wieder etwas sehen und grinst Dich "
      "verlegen an."}));

   -> beim Anziehen durch Urk:
      Urk bekommt: Als Du Dir den langen Mantel ueberziehst, steckst Du
                   erstmal mit Deinem dicken Schaedel fest. Doch nach einem
                   kraeftigen Ruck bist Du endlich durch und siehst wieder
                   etwas.

      Der Raum:    Urk zieht sich einen langen Mantel ueber und bleibt
                   prompt mit dem dicken Schaedel stecken. Doch nach
                   einem kraeftigen Ruck kann er wieder etwas sehen und
                   grinst Dich verlegen an.


SIEHE AUCH
==========

   Aehnliches: P_UNWEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
               P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
   Funktionen: WearFunc, UnwearFunc, InformWear()
   Sonstiges:  replace_personal(E), clothing, /std/clothing/wear.c
               armour, /std/armour/wear.c


LETZTE AeNDERUNG
================

15.02.2009
