
PreventInsertLiving()
*********************


FUNKTION
========

   int PreventInsertLiving(object ob);


DEFINIERT IN
============

   /std/container/restrictions.c


ARGUMENTE
=========

   ob
        Das Living, das in den Behaelter eingefuegt werden soll.


BESCHREIBUNG
============

   Mit dieser Funktion kann ein Behaelter pruefen, ob er das Living ob
   aufnehmen moechte oder nicht.


RUeCKGABEWERT
=============

   0, wenn das Living aufgenommen werden kann; ein Wert groesser als 0
   zeigt an, dass das Living nicht aufgenommen werden soll.


BEMERKUNGEN
===========

   Wenn ob mit dem Flag M_NOCHECK bewegt wird, wird PreventInsertLiving()
   zwar aufgerufen, das Living wird jedoch auf jeden Fall in den Behaelter
   bewegt, unabhaengig vom Rueckgabewert!


SIEHE AUCH
==========

   PreventLeaveLiving(), /std/container/restrictions.c,
   PreventMove(), PreventInsert(), PreventLeave(),
   NotifyMove(), NotifyInsert(), NotifyLeave(), NotifyRemove(),
   move(), init(), exit(),
   InitAttack(), ExitAttack()

Last modified: 04.08.2007, Zesstra
