FUNKTION:
varargs public int Wear(object ruestung, int force, int silent)
DEFINIERT IN:
/std/living/combat.c
ARGUMENTE:
mixed ruestung - die anzuziehende Ruestung (object o. string)
int force - wenn gesetzt, wird der ET_WEAR-Event mit
EM_NO_CANCEL gesendet
int silent - es wird keine Anzieh-Meldung ausgegeben
RÜCKGABEWERT:
0 - wenn das Anziehen erfolglos verlaufen ist
1 - wenn das Anziehen erfolgreich war
BESCHREIBUNG:
Wear ruft ET_WEAR mit ruestung als data[E_WEAR_ARMOUR] auf. Wenn force
gesetzt wird, kann der Event nicht abgebrochen werden. Die Benutzung
von force ist mit einem Erzmagier abzusprechen!
Beachte: Schilde werden wie Waffen behandelt. (Wield(L) benutzen!)
Wird die Ruestung als String angegeben, so wird versucht ein Objekt
dieses Pfades zu clonen, in das aufrufende Lebewesen zu moven und
anschliessend anzuziehen. Klappt das Moven nicht, wird das
geclonte Objekt wieder zerstoert. Klappt nur das Anziehen nicht,
bleibt es im Inv des Lebewesens.
Befindet sich das Ruestungsobjekt nicht im Inventar des aufrufenden
Lebewesens, gibt Wear(L) einen Fehler zurueck.
BEISPIEL:
Ein NPC soll (immer, wenn er geclont wird) eine bestimmte Ruestung
bekommen und gleich anziehen:
// normales NPC create(A) mit Wear(L)
void create()
{
if (!clonep()) return;
::create();
...
Wear("/obj/jacke"); // einfache Jacke clonen und anziehen
}
Siehe auch 2. Beispiel zu Wield(L).
SIEHE AUCH:
ET_WIELD(WL), ET_UNWIELD(WL), ET_WEAR(WL), ET_UNWEAR(WL),
UnWear(L), Wield(L), UnWield(L),
P_ARMOUR_RESTRICTIONS, P_WEAPON_RESTRICTIONS
|