| TakeFlaw() |
| |
| FUNKTION: |
| varargs void TakeFlaw(object enemy); (Waffen) |
| varargs void TakeFlaw(mixed dam_types,mapping einfos) (Ruestungen) |
| |
| DEFINIERT IN: |
| /std/armour/combat.c, |
| /std/weapon/combat.c |
| |
| ARGUMENTE: |
| keine |
| |
| BESCHREIBUNG: |
| Diese Funktion wird in Waffen und Ruestungen waehrend des Kampfes |
| aufgerufen. In einer Waffe erfolgt der Aufruf bei jedem Schlag mit |
| dieser Waffe, bei Ruestungen wird TakeFlaw() in einer zufaellig |
| ausgewaehlten getragenen Ruestung aufgerufen. |
| Waffen bekommen das Gegnerobjekt uebergeben, Ruestungen die erweiterten |
| DefendInfos (s. dort fuer Details). Aufgrund dieser Informationen kann |
| man den Schaden, den ein Gegenstand nimmt, flexibler gestalten (z.B. bei |
| einer Waffe in Abhaengigkeit von P_BODY des Gegners.) |
| |
| Soweit man die Funktion nicht ueberlaedt, bewirkt sie nichts weiter als |
| das Erhoehen eines Zaehlers, der mit QueryFlaw() abgefragt werden kann. |
| |
| RUeCKGABEWERT: |
| keiner |
| |
| BEMERKUNGEN: |
| Die Waffen-/ Ruestungsklasse wird nicht automatisch reduziert! Wenn |
| eine Waffe oder Ruestung sich abnutzen soll, muss man TakeFlaw() |
| ueberladen und dort entsprechend handeln, oder (fuer einfache |
| Faelle) die Property P_QUALITY setzen. |
| |
| BEISPIELE: |
| Eine Waffe, deren Waffenklasse alle 20 Schlaege um 1 abnimmt: |
| |
| inherit "std/weapon"; |
| |
| #include <properties.h> |
| #include <combat.h> |
| |
| create() |
| { |
| /* Das Uebliche... */ |
| } |
| |
| TakeFlaw() |
| { |
| int flaw; |
| |
| /* erst mal den Zaehler erhoehen... */ |
| ::TakeFlaw(); |
| |
| /* jetzt den aktuellen Zaehlerstand abfragen */ |
| flaw = QueryFlaw()[0]; |
| |
| /* Abzug nur jeden 20. Schlag */ |
| if (!(flaw % 20)) { |
| /* So, jetzt fuer den Schaden sorgen. Hierfuer benutzt */ |
| /* man am sichersten die eingebaute Funktion Damage() */ |
| Damage(1); |
| } |
| } |
| |
| Dieses einfache Beispiel haette natuerlich auch ueber ein |
| SetProp(P_QUALITY,20); im create() realisiert werden koennen. |
| |
| SIEHE AUCH: |
| QueryFlaw(), Damage(), DefendInfo, P_QUIALITY, /std/armour/combat.c, |
| /std/weapon/combat.c |
| |
| ---------------------------------------------------------------------------- |
| Last modified: Thu May 22 10:30:10 1997 by Paracelsus |