
P_WIELD_MSG
***********


NAME
====

   P_WIELD_MSG                       "wield_msg"


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

   /sys/weapon.h


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

   Zweiteiliges Array mit Meldungen, die beim Zuecken einer Waffe 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, "Streitkolben");
   SetProp(P_WIELD_MSG,
    ({"Du zueckst @WEN2 und stoesst einen markerschuetternden Schrei aus.",
      "@WER1 zueckt @WENU2 und stoesst einen markerschuetternden Schrei "
      "aus." }));

   -> beim Zuecken durch Urk:
      Urk bekommt: Du zueckst den Streitkolben und stoesst einen
                   markerschuetternden Schrei aus.
      Der Raum:    Urk zueckt einen Streitkolben und stoesst einen
                   markerschuetternden Schrei aus.

   SetProp(P_WIELD_MSG,
    ({"Du zueckst den klobigen Streitkolben und fuchtelst damit "
      "wild vor Deiner Nase herum.",
      "@WER1 zueckt einen klobigen Streitkolben und fuchtelt "
      "damit wild vor der eigenen Nase herum. Hoffentlich verletzt "
      "@WERQP1 sich dabei nicht ..."}));

   -> beim Zuecken durch Urk:
      Urk bekommt: Du zueckst den klobigen Streitkolben und fuchtelst
                   damit wild vor Deiner Nase herum.
      Der Raum:    Urk zueckt einen klobigen Streitkolben und fuchtelt
                   damit wild vor der eigenen Nase herum. Hoffentlich
                   verletzt er sich dabei nicht ...


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

   Aehnliches: P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
               P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
   Funktionen: UnwieldFunc, WieldFunc
   Sonstiges:  replace_personal(E), /std/weapon/combat.c

29. Maerz 2004 Gloinson
