AutoAttack()
============

FUNKTION
--------

  int AutoAttack(object ob)

DEFINIERT IN
------------

  /std/npc/combat

ARGUMENTE
---------

  object ob
    Das ggf. annzugreifende Object. (Achtung, nicht nur Livings)

BESCHREIBUNG
------------

  Diese Funktion wird aus heart_beat() heraus aufgerufen. Sie bestimmt,
  ob ein Living automatisch angegriffen werden soll oder nicht.

RUeCKGABEWERT
-------------

  1 fuer Angriff, sonst 0.

BEMERKUNGEN
-----------

  Da diese Funktion aus heart_beat() heraus aufgerufen wird, und zwar
  einmal pro anwesendem Objekt (nicht nur fuer Livings), sollte man hier
  moeglichst wenig Dinge tun. Verzichtet am besten ganz auf die Nutzung,
  falls irgendwie moeglich.

  Da auch NPCs uebergeben werden, kann man hier auch diese automatisch
  angreifen lassen, was normalerweise nicht der Fall ist. Dies funktioniert
  jedoch nur, wenn der heart_beat() eingeschaltet ist, also normalerweise
  nicht in Abwesenheit von Spielern.

BEISPIELE
---------

.. code-block:: pike

  inherit "/std/npc";
  
  #include <npc.h>
  
  protected void create()
  {
    ...
    SetProp(P_AGGRESSIVE,1);
    ...
  }
  
  // Keine Leute angreifen, die auf der Freundesliste stehen.
  // Bei dieser Variante wir das P_AGGRESSIVE in ob nicht ausgewertet, falls
  // ob als Freund erkannt wird.
  int AutoAttack(object ob)
  {
    if(member(freunde,ob)!=-1) return 0;
    else return ::AutoAttack(ob);
  }

SIEHE AUCH
----------

  :doc:`heart_beat`, :doc:`../props/P_AGGRESSIVE`

Letzte Aenderung: 28.08.2019, Bugfix
