StopHuntFor()¶
FUNKTION¶
varargs int StopHuntFor(object arg,int silent);
DEFINIERT IN¶
/std/living/combat.c
ARGUMENTE¶
arg
Der Gegner, welcher nicht mehr bekaempft werden soll.
silent
Flag, welches gesetzt anzeigt, dass die beiden Ex-Streithaehne
ueber das einseitige Friedensangebot nicht informiert werden
sollen.
RUeCKGABEWERT¶
Flag: Bei 0 war der Gegner nicht auffindbar, bei 1 Erfolg.
BESCHREIBUNG¶
Mit dieser Funktion kann man ein Lebewesen <arg> als Gegner
austragen. Im Normalfall erhalten sowohl das aktuelle Objekt, als
auch der Gegner eine Information darueber. Dies kann jedoch mit dem
gesetzten Flag <silent> unterbunden werden.
Es ist auch moeglich, auf diese Meldung Einfluss zu nehmen, indem
man die Funktion StopHuntText() ueberschreibt, welche dafuer
verantwortlich ist.
Achtung: Um zwischen beiden Streithaehnen Frieden zu schliessen,
muss der eine Gegner jeweils bei dem anderen ausgetragen werden. Ein
einzelnes StopHuntFor() ist sozusagen nur ein einseitiges
Friedensangebot.
BEMERKUNGEN¶
Soll ein Viech unter bestimmten Umstaenden nicht angreifbar sein, ist in
keinem Fall StopHuntFor() im Defend() zu verwenden, sondern P_NO_ATTACK.
Grund: Stoppt man unliebsame Kaempfe jeweils am Anfang vom Defend, kann ein
Gegner gefahrlos Angriffsspells ausfuehren (und ueben), ohne dass die Gefahr
besteht, dass der NPC zurueckschlaegt.
BEISPIELE¶
Man will aus irgendeinem Grund den Kampf zwischen sich und Gegner enemy
einstellen:
...
StopHuntFor(enemy); // enemy nicht mehr bekaempfen
enemy->StopHuntFor(this_object()); // enemy soll mich nicht bekaempfen.
...