Alten InsertHook entfernt.
Es gibt keine Objekte in den Regionen und Gilden mehr,
die den Hook nutzen. Daher entfaellt er zugunsten des
H_HOOK_INSERT im neuen Hooksystem.
Change-Id: I621729e1bf3b7938f33e3f8edbcfe66f9377c5bb
diff --git a/doc/sphinx/lfun/obsolete/AddInsertHook.rst b/doc/sphinx/lfun/obsolete/AddInsertHook.rst
index 143efc9..90f75f6 100644
--- a/doc/sphinx/lfun/obsolete/AddInsertHook.rst
+++ b/doc/sphinx/lfun/obsolete/AddInsertHook.rst
@@ -1,40 +1,28 @@
AddInsertHook()
===============
-********************* OBSOLETE LFUN ***********************************
-* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die *
-* Hooks (s. /doc/std/hooks). *
-***********************************************************************
-AddInsertHook()
+OBSOLETE LFUN
+-------------
+
+ Diese Efun existiert nicht mehr. Bitte stattdessen den Hook
+ H_HOOK_INSERT benutzen. (s. /doc/std/hooks)
FUNKTION
--------
-::
void AddInsertHook(object ob);
-DEFINIERT IN
-------------
-::
-
- /std/player/restrictions.c
-
ARGUMENTE
---------
-::
- ob - Das Objekt, das informiert werden soll, wenn ein Objekt dem
+ ob
+ Das Objekt, das informiert werden soll, wenn ein Objekt dem
Spielerinventar hinzugefuegt wurde.
BESCHREIBUNG
------------
-::
- (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
- H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
- vorhanden.)
-
- Diese Funktion wird im Spielerobjekt aufgerufen, um das Objekt ob als
+ Diese Funktion wurde im Spielerobjekt aufgerufen, um das Objekt ob als
Hook-Listener anzumelden. Auf diese Weise eingetragene Listener
werden informiert, wenn ein Objekt ins Spielerinventar bewegt wurde.
Technisch wird die Bewegung ueber NotifyInsert() im Spielerobjekt
@@ -44,45 +32,20 @@
RUeCKGABEWERT
-------------
-::
keiner
BEMERKUNGEN
-----------
-::
Das Listener-Objekt muss sich ebenfalls im Spielerinventar befinden,
ansonsten wird der eingetragene Hook wieder geloescht.
-BEISPIEL
---------
-::
-
-
-
- a) Objekt "ob" wird im Spieler als Listener angemeldet:
- this_player()->AddInsertHook(ob);
-
- b) Objekt "new" wird ins Spielerinventar bewegt, das Spielerobjekt
- informiert "ob" darueber:
- ob->InsertNotify(new);
-
- c) Das Listener-Objekt "ob" reagiert darauf, z.B. indem es die Fackel
- loescht, sofern sie vorher brannte:
- void InsertNotify(object new) {
- if ( objectp(new) && new->id("\nfackel") &&
- new->QueryProp(P_LIGHTED) )
- new->unlight();
- return;
- }
SIEHE AUCH
----------
-::
- NotifyInsert(), RemoveInsertHook(), QueryInsertHooks()
+ NotifyInsert(), AddInsertHook(), QueryInsertHooks()
-Last modified: 14.04.2010, Arathorn
-
+Last modified: 18.10.2019 Zesstra
diff --git a/doc/sphinx/lfun/obsolete/QueryInsertHooks.rst b/doc/sphinx/lfun/obsolete/QueryInsertHooks.rst
index b488589..7e6ddba 100644
--- a/doc/sphinx/lfun/obsolete/QueryInsertHooks.rst
+++ b/doc/sphinx/lfun/obsolete/QueryInsertHooks.rst
@@ -1,53 +1,39 @@
QueryInsertHooks()
==================
-********************* OBSOLETE LFUN ***********************************
-* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die *
-* Hooks (s. /doc/std/hooks). *
-***********************************************************************
-QueryInsertHooks()
+OBSOLETE LFUN
+-------------
+
+ Diese Efun existiert nicht mehr. Bitte stattdessen den Hook
+ H_HOOK_INSERT benutzen. (s. /doc/std/hooks)
+
FUNKTION
--------
-::
object *QueryInsertHooks();
-DEFINIERT IN
-------------
-::
-
- /std/player/restrictions.c
-
ARGUMENTE
---------
-::
keine
BESCHREIBUNG
------------
-::
-
- (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
- H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
- vorhanden.)
Diese Funktion gibt die aktuell beim Spielerobjekt angemeldeten
Listener-Objekte zurueck.
RUeCKGABEWERT
-------------
-::
Array aus Objektpointern oder leeres Array
SIEHE AUCH
----------
-::
NotifyInsert(), AddInsertHook(), RemoveInsertHook()
-Last modified: 14.04.2010, Arathorn
+Last modified: 18.10.2019 Zesstra
diff --git a/doc/sphinx/lfun/obsolete/RemoveInsertHook.rst b/doc/sphinx/lfun/obsolete/RemoveInsertHook.rst
index 682e5c5..b1d66a6 100644
--- a/doc/sphinx/lfun/obsolete/RemoveInsertHook.rst
+++ b/doc/sphinx/lfun/obsolete/RemoveInsertHook.rst
@@ -1,53 +1,39 @@
RemoveInsertHook()
==================
-********************* OBSOLETE LFUN ***********************************
-* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die *
-* Hooks (s. /doc/std/hooks). *
-***********************************************************************
-RemoveInsertHook()
+OBSOLETE LFUN
+-------------
+
+ Diese Efun existiert nicht mehr. Bitte stattdessen den Hook
+ H_HOOK_INSERT benutzen. (s. /doc/std/hooks)
+
FUNKTION
--------
-::
void RemoveInsertHook(object ob);
-DEFINIERT IN
-------------
-::
-
- /std/player/restrictions.c
-
ARGUMENTE
---------
-::
- ob - Das Objekt, das als Listener aus der Liste ausgetragen werden soll
+ ob
+ Das Objekt, das als Listener aus der Liste ausgetragen werden soll
BESCHREIBUNG
------------
-::
-
- (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
- H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
- vorhanden.)
Diese Funktion wird im Spielerobjekt aufgerufen, um ein als Listener
eingetragenes Hook-Objekt ob wieder auszutragen.
RUeCKGABEWERT
-------------
-::
keiner
SIEHE AUCH
----------
-::
NotifyInsert(), AddInsertHook(), QueryInsertHooks()
-Last modified: 14.04.2010, Arathorn
-
+Last modified: 18.10.2019 Zesstra
diff --git a/std/player/restrictions.c b/std/player/restrictions.c
index d71e14c..9f6c095 100644
--- a/std/player/restrictions.c
+++ b/std/player/restrictions.c
@@ -40,15 +40,11 @@
#include <defines.h>
#include <new_skills.h>
-//Liste von Objekten, in denen InsertNotify() gerufen wird, wenn etwas in den
-//Spieler bewegt wurde.
-nosave object *InsertHooks=({});
-
// local properties prototypes
static int _query_max_weight();
static mixed _set_frog(mixed arg);
-void create()
+protected void create()
{
::create();
@@ -95,36 +91,13 @@
public void NotifyInsert(object ob, object oldenv)
{
::NotifyInsert(ob, oldenv);
- // Alle Listener im neuen Hooksystem vom InsertHook informieren
+ // Alle Listener vom InsertHook informieren
HookFlow(H_HOOK_INSERT, ob);
- // Alle Listener im alten InsertHook informieren
- if (sizeof(InsertHooks))
- {
- foreach(object h: &InsertHooks)
- {
- if (h && environment(h) == ME)
- h->InsertNotify(ob);
- else
- h=0;
- }
- InsertHooks-=({0}); // genullte Elemente loeschen
- }
}
void AddInsertHook(object ob)
{
- if (member(InsertHooks,ob)!=-1 || environment(ob)!=this_object())
- return;
- InsertHooks+=({ob});
-}
-
-void RemoveInsertHook(object ob)
-{
- InsertHooks-=({ob});
-}
-
-object *QueryInsertHooks()
-{
- return InsertHooks;
+ raise_error("Diese Funktion gibt es nicht mehr. Bitte das neue "
+ "Hooksystem nutzen!\n");
}