| 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 <properties.h> |
| #include <sensitive.h> |
| #include <combat.h> |
| |
| 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 |