| |
| StopHuntText() |
| ************** |
| |
| |
| FUNKTION |
| ======== |
| |
| void StopHuntText(object arg); |
| |
| |
| DEFINIERT IN |
| ============ |
| |
| /std/living/combat.c |
| |
| |
| ARGUMENTE |
| ========= |
| |
| arg |
| Der Gegner, welcher nicht mehr bekaempft wird. |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| Mit der Funktion StopHuntFor() kann man ein Lebewesen als Gegner |
| austragen. Dabei erhalten sowohl der Gegner, als auch das Lebewesen, |
| welches (einseitig!) Frieden schliesst, jeweils eine Meldung, sofern |
| man dies nicht mittels eines Flags unterbindet. |
| Es ist nun moeglich, auf diese Meldung Einfluss zu nehmen, indem |
| man die Funktion StopHuntText() ueberschreibt, welche dafuer |
| verantwortlich ist. |
| |
| |
| BEISPIEL |
| ======== |
| |
| Ein Lebewesen moechte einen Kampf sofort abbrechen, wenn es von |
| einem Frosch angegriffen wird: |
| int Defend(int dam,mixed dam_type,mixed spell,object enemy) |
| { if(enemy&&enemy->QueryProp(P_FROG)) |
| { if(StopHuntFor(enemy)) |
| { // wenn Frosch angreifen will, der noch kein Gegner war |
| tell_object(arg, |
| this_object()->Name(WER)+" kaempft nicht mit Dir.\n" |
| +"Wahrscheinlich werden Froesche verschont.\n"); |
| tell_object(this_object(), |
| "Der bloede Frosch wollte Dich doch tatsaechlich angreifen.\n"); |
| } |
| enemy->StopHuntFor(this_object(),1); |
| return 0; |
| } |
| return::Defend(dam,dam_type,spell,enemy); |
| } |
| // wird nur aufgerufen, wenn der Gegner irgendwann Frosch wurde |
| void StopHuntText(object arg) |
| { tell_object(arg, |
| this_object()->Name(WER)+" jagd Dich nicht mehr.\n" |
| +"Wahrscheinlich werden Froesche verschont.\n"); |
| tell_object(this_object(), |
| "Dein Gegner ist doch tatsaechlich ploetzlich Frosch geworden!\n"); |
| } |
| Warum braucht man nun das erste StopHuntFor(), wenn doch Gegner erst |
| in ::Defend() eingetragen werden, welches doch gar nicht ausgefuehrt |
| wird, wenn der Gegner ein Frosch ist? Man beachte hierbei, dass der |
| Gegner ja auch waehrend des Kampfes oder waehrend der Feindschaft |
| irgendwann Frosch werden koennte und dann schon Gegner war. |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| StopHuntFor(), SelectEnemy(), QueryEnemies(), IsEnemy() |
| |
| Last modified: Wed May 26 16:47:51 1999 by Patryn |