Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc/lfun/trigger_sensitive_attack

trigger_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

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.