Morgengrauner Dokumentation
Dateipfad: /home/mud/mudlib/doc/lfun/trigger_sensitive_attacktrigger_sensitive_attack()
**************************
FUNKTION
========
varargs void trigger_sensitive_attack(object enemy, string key, int
dam, mixed spell, mixed *options);
DEFINIERT IN
============
eigenen sensitiven Objekten, wird aufgerufen von
/std/living/inventory.c
ARGUMENTE
=========
enemy
Der Gegner, der die Aktion ausgeloest hat.
key
Der ausloesende Schadenstyp.
dam
Der angerichtete Schaden.
spell
Wie bei Defend().
options
Array mit den in P_SENSITIVE angegebenen Optionen fuer diese
Aktion.
BESCHREIBUNG
============
Wenn der bei einem Angriff zugefuegte Schaden den in P_SENSITIVE
angegebenen Grenzwert uebersteigt sowie der als Schluessel angegebene
Schadenstyp in den Schaedenstypen des Angriffes vorkommt, wird diese
Funktion aufgerufen und kann entsprechend reagieren.
RUeCKGABEWERT
=============
keiner
BEISPIELE
=========
Eine Fackel, die sich bei Feuerattacken selbst entzuendet und bei
Wasserattacken verloescht, koennte man wie folgt implementieren:
inherit "/std/lightsource.c"
#include
#include
#include
create()
{
::create();
SetProp(...); // die ueblichen Eigenschaften definieren
SetProp(P_SENSITIVE,
// Ereignis Key Grenze (keine Optionen)
({ ({ SENSITIVE_ATTACK, DT_FIRE, 100 }),
({ SENSITIVE_ATTACK, DT_WATER, 100 }) }) );
}
varargs void
trigger_sensitive_attack(object enemy, string key,
int dam, mixed spell)
{
// Es soll nicht verschwiegen werden, dass das Entzuenden und
// Loeschen einer Lichtquelle so leider nicht funktioniert...
if (key == DT_FIRE && !QueryProp(P_LIGHTED)) {
SetProp(P_LIGHTED, 1);
tell_object(environment(), "Die Fackel faengt Feuer.\n");
}
else if (key == DT_WATER && QueryProp(P_LIGHTED)) {
SetProp(P_LIGHTED, 0);
tell_object(environment(), "Die Fackel verlischt.\n");
}
}
SIEHE AUCH
==========
trigger_sensitive_inv(), sensitive Objekte
Last modified: Sun May 19 15:56:25 1996 by Wargon
zurück zur Übersicht