diff --git a/doc/lfun/TriggerEvent b/doc/lfun/TriggerEvent
index 7b0089f..44dd2e4 100644
--- a/doc/lfun/TriggerEvent
+++ b/doc/lfun/TriggerEvent
@@ -1,59 +1,87 @@
 
-FUNKTION:
-     varargs int TriggerEvent(string eid, mixed data);
-
-DEFINIERT IN:
-     /p/daemon/eventd.c
-DEKLARIERT IN:
-     /sys/events.h
-
-ARGUMENTE:
-     string eid,
-       Die ID des Events, der ausgeloest werden soll.
-       Da dieser String fuer alle Events jeweils eindeutig sein muss, 
-       empfiehlt es sich, fuer eigene Events z.B. als Praefix den eigenen 
-       Magiernamen zu nehmen, z.B. "zesstra_vulkanausbruch".
-       ACHTUNG: IDs, die mit 'evt_lib_' beginnen, sind AUSSCHLIESSLICH der
-       Mudlib vorbehalten!
-
-     mixed data,
-       Daten, die jeder Lauscher uebergeben bekommt. Kann ein beliebiger
-       Datentyp sein. Ggf. ein Mapping oder Array benutzen.
-
-BESCHREIBUNG:
-     Der Event mit der ID 'eid' wird ausgeloest. Mit kurzer Verzoegerung
-     (meist 0-2s) werden alle fuer 'eid' registrierten Lauscher durch Aufruf
-     einer Funktion in ihnen informiert:
-     listener->fun(eid, triggerob, data);
-     'triggerob' ist hierbei das Objekt, welche TriggerEvent() gerufen hat,
-     'data' das, was das triggernde Objekte als Daten weiterverteilen moechte.
-     Die einzelnen fun() in den lauschenden Objekten muessen wissen, was sie
-     mit 'data' anfangen sollen. ;-)
-
-RUeCKGABEWERT:
-     1 fuer Erfolg, <=0 fuer Misserfolg.
-     1   - Erfolg, Event 'eid' wurde ausgeloest.
-     -1  - falsche Argumente wurden uebergeben
-     -2  - nicht-oeffentlicher Event und das triggernde Objekt wurde nicht
-           fuer diesen Event freigegeben (momentan gibt es noch keine
-           nicht-oeffentlichen Events)
-     -3  - Event 'eid' existiert nicht, d.h. es gibt keine Lauscher.
-     -4  - Es gibt zuviele nicht verarbeitete Events.
-
-BEMERKUNGEN:
+TriggerEvent()
+**************
 
 
-BEISPIELE:
-     1. Ein Waechter wird angegriffen:
-        EVENTD->TriggerEvent("xand_holzfaellerlager_angriff", 
-                             (["angreifer": enemy,
-                               "ort": environment(this_object()) ]) );
-        Alle anderen angemeldeten Waechter der Lagers werden nun informiert
-        und koennen ihrerseits reagieren (dem ersten Waechter zuhilfe kommen
-        oder auch die Lagertore schliessen).
+FUNKTION
+========
 
-SIEHE AUCH:
-     events, eventd, UnregisterEvent(), RegisterEvent()
+   varargs int TriggerEvent(string eid, mixed data);
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /p/daemon/eventd.c
+
+
+DEKLARIERT IN
+=============
+
+   /sys/events.h
+
+
+ARGUMENTE
+=========
+
+   string eid,
+     Die ID des Events, der ausgeloest werden soll.
+     Da dieser String fuer alle Events jeweils eindeutig sein muss,
+     empfiehlt es sich, fuer eigene Events z.B. als Praefix den eigenen
+     Magiernamen zu nehmen, z.B. "zesstra_vulkanausbruch".
+     ACHTUNG: IDs, die mit 'evt_lib_' beginnen, sind AUSSCHLIESSLICH der
+     Mudlib vorbehalten!
+
+   mixed data,
+     Daten, die jeder Lauscher uebergeben bekommt. Kann ein beliebiger
+     Datentyp sein. Ggf. ein Mapping oder Array benutzen.
+
+
+BESCHREIBUNG
+============
+
+   Der Event mit der ID 'eid' wird ausgeloest. Mit kurzer Verzoegerung
+   (meist 0-2s) werden alle fuer 'eid' registrierten Lauscher durch Aufruf
+   einer Funktion in ihnen informiert:
+   listener->fun(eid, triggerob, data);
+   'triggerob' ist hierbei das Objekt, welche TriggerEvent() gerufen hat,
+   'data' das, was das triggernde Objekte als Daten weiterverteilen moechte.
+   Die einzelnen fun() in den lauschenden Objekten muessen wissen, was sie
+   mit 'data' anfangen sollen. ;-)
+
+
+RUeCKGABEWERT
+=============
+
+   1 fuer Erfolg, <=0 fuer Misserfolg.
+   1   - Erfolg, Event 'eid' wurde ausgeloest.
+   -1  - falsche Argumente wurden uebergeben
+   -2  - nicht-oeffentlicher Event und das triggernde Objekt wurde nicht
+         fuer diesen Event freigegeben (momentan gibt es noch keine
+         nicht-oeffentlichen Events)
+   -3  - Event 'eid' existiert nicht, d.h. es gibt keine Lauscher.
+   -4  - Es gibt zuviele nicht verarbeitete Events.
+
+
+BEMERKUNGEN
+===========
+
+
+BEISPIELE
+=========
+
+   1. Ein Waechter wird angegriffen:
+      EVENTD->TriggerEvent("xand_holzfaellerlager_angriff",
+                           (["angreifer": enemy,
+                             "ort": environment(this_object()) ]) );
+      Alle anderen angemeldeten Waechter der Lagers werden nun informiert
+      und koennen ihrerseits reagieren (dem ersten Waechter zuhilfe kommen
+      oder auch die Lagertore schliessen).
+
+
+SIEHE AUCH
+==========
+
+   events, eventd, UnregisterEvent(), RegisterEvent()
+
 Last modified: 15.08.2007, Zesstra
