Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/props/obsolete/P_TMP_DEFEND_HOOK b/doc/props/obsolete/P_TMP_DEFEND_HOOK
index 986e63a..f29d342 100644
--- a/doc/props/obsolete/P_TMP_DEFEND_HOOK
+++ b/doc/props/obsolete/P_TMP_DEFEND_HOOK
@@ -1,110 +1,131 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
+
P_TMP_DEFEND_HOOK
+*****************
-NAME:
- P_TMP_DEFEND_HOOK "defend_hook"
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_DEFEND_HOOK
-DEFINIERT IN:
- /sys/new_skills.h
-BESCHREIBUNG:
- Mittels dieser Property koennen die Abwehren eines Livings temporaer
- veraendert werden.
+NAME
+====
- Es wird an dem Living die Property als mindestens 3-elementiges Array
- ({zeitpunkt, objekt, methode, ...})
- gesetzt und die Methode 'methode' wird dann waehrend des Defend() des
- Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+ P_TMP_DEFEND_HOOK "defend_hook"
- Der Methode werden die Parameter der Defend() uebergeben:
- int dam, mixed dam_type, mixed spell, object enemy
- - spell ist definitiv ein Mapping - ein an Defend() uebergebener
- int-Wert wurde aequivalent umgesetzt.
- - dam_type ist definitiv ein Array von Schadenswerten oder einem Wert
- Zudem findet der Aufruf der Methode nach dem Abarbeiten der P_DEFENDERS
- statt, diese koennen also weitere Modifikationen vorgenommen haben.
+DEFINIERT IN
+============
- Gibt die Funktion:
- - 0 zurueck, wird Defend() abgebrochen (und damit der Schaden voellig
- abgefangen) - nur noch die Flucht wird geprueft
- - ein 3-elementiges Array ({schaden, schadenstypen, spell}) zurueck,
- werden diese Werte in der Defend() an Stelle der uebergebenen Werte
- verwendet
- - weder noch zurueck, wird das Ergebnis ignoriert und die Defend laeuft
- regulaer weiter
+ /sys/new_skills.h
-BEMERKUNGEN:
- - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
- - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
- Property auf 0 gesetzt
- - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
- pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
- im Code anderer und ist andererseits unfair gegenueber ihnen
-BEISPIEL:
- *** ein gruener Schutzzauber ***
- // Setzen der Prop
- ...
- tmp=TP->QueryProp(P_TMP_DEFEND_HOOK);
+BESCHREIBUNG
+============
- // ein etwas ausfuehrlicher Check, ob wir ueberschreiben koennen,
- // Existenz && Gueltigkeit
- if(pointerp(tmp) && sizeof(tmp) && intp(tmp[0]) && (time()<tmp[0]))
- write("Der Zauber klappt nicht!\n");
- else {
- // der Zauber gilt eine Stunde
- TP->SetProp(P_TMP_DEFEND_HOOK,({time()+3600,TO,"abwehrfun");
- write("Ein Zauber legt sich auf dich.\n");
- }
- ...
+ Mittels dieser Property koennen die Abwehren eines Livings temporaer
+ veraendert werden.
- // die gerufene Methode
- mixed abwehrfun(int dam, string* dam_type, mapping spell, object en) {
- // keine rekursiven Schaeden abfangen ... mindestens ein magischer
- // muss auch dabei sein
- if((!mappingp(spell) || !spell[SP_RECURSIVE]) &&
- sizeof(filter(dam_type,MAGICAL_DAMAGE_TYPES))) {
+ Es wird an dem Living die Property als mindestens 3-elementiges Array
+ ({zeitpunkt, objekt, methode, ...})
+ gesetzt und die Methode 'methode' wird dann waehrend des Defend() des
+ Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
- // mit 10% Whkeit schuetzt der Zauber total
- if(!random(10)) {
- tell_object(previous_object(),
- "Dein Zauber gleisst rund um dich gruen auf.\n");
- tell_room(environment(previous_object()), break_string(
- previous_object()->Name(WESSEN)+" Haut gleisst rund um "+
- previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
- ({previous_object()}));
+ Der Methode werden die Parameter der Defend() uebergeben:
+ int dam, mixed dam_type, mixed spell, object enemy
+ - spell ist definitiv ein Mapping - ein an Defend() uebergebener
+ int-Wert wurde aequivalent umgesetzt.
+ - dam_type ist definitiv ein Array von Schadenswerten oder einem Wert
- // manchmal geht der Zauber dabei endgueltig kaputt
- if(!random(10)) previous_object()->SetProp(P_TMP_DEFEND_HOOK, 0);
+ Zudem findet der Aufruf der Methode nach dem Abarbeiten der P_DEFENDERS
+ statt, diese koennen also weitere Modifikationen vorgenommen haben.
- return 0; // volles Abfangen des Angriffs
- }
+ Gibt die Funktion:
+ - 0 zurueck, wird Defend() abgebrochen (und damit der Schaden voellig
+ abgefangen) - nur noch die Flucht wird geprueft
+ - ein 3-elementiges Array ({schaden, schadenstypen, spell}) zurueck,
+ werden diese Werte in der Defend() an Stelle der uebergebenen Werte
+ verwendet
+ - weder noch zurueck, wird das Ergebnis ignoriert und die Defend laeuft
+ regulaer weiter
- // der Zauber schuetzt auf jeden Fall immer ein bischen
- tell_object(previous_object(),
- "Dein Zauber flackert rund um dich gruen auf.\n");
- tell_room(environment(previous_object()), break_string(
- previous_object()->Name(WESSEN)+" Haut flackert rund um "+
- previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
- ({previous_object()}));
- dam=(7+random(2))*dam/10; // Schaden reduzieren
- return(({dam, dam_type, spell}));
- }
+BEMERKUNGEN
+===========
- // der Zauber schuetzt dann gar nicht ...
- return 1;
+ - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
+ - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+ Property auf 0 gesetzt
+ - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+ pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+ im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+BEISPIEL
+========
+
+ *** ein gruener Schutzzauber ***
+ // Setzen der Prop
+ ...
+ tmp=TP->QueryProp(P_TMP_DEFEND_HOOK);
+
+ // ein etwas ausfuehrlicher Check, ob wir ueberschreiben koennen,
+ // Existenz && Gueltigkeit
+ if(pointerp(tmp) && sizeof(tmp) && intp(tmp[0]) && (time()<tmp[0]))
+ write("Der Zauber klappt nicht!\n");
+ else {
+ // der Zauber gilt eine Stunde
+ TP->SetProp(P_TMP_DEFEND_HOOK,({time()+3600,TO,"abwehrfun");
+ write("Ein Zauber legt sich auf dich.\n");
+ }
+ ...
+
+ // die gerufene Methode
+ mixed abwehrfun(int dam, string* dam_type, mapping spell, object en) {
+ // keine rekursiven Schaeden abfangen ... mindestens ein magischer
+ // muss auch dabei sein
+ if((!mappingp(spell) || !spell[SP_RECURSIVE]) &&
+ sizeof(filter(dam_type,MAGICAL_DAMAGE_TYPES))) {
+
+ // mit 10% Whkeit schuetzt der Zauber total
+ if(!random(10)) {
+ tell_object(previous_object(),
+ "Dein Zauber gleisst rund um dich gruen auf.\n");
+ tell_room(environment(previous_object()), break_string(
+ previous_object()->Name(WESSEN)+" Haut gleisst rund um "+
+ previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
+ ({previous_object()}));
+
+ // manchmal geht der Zauber dabei endgueltig kaputt
+ if(!random(10)) previous_object()->SetProp(P_TMP_DEFEND_HOOK, 0);
+
+ return 0; // volles Abfangen des Angriffs
}
-SIEHE AUCH:
- Angriff: Attack(L)
- Schutz: Defend(L)
- Verwandt: InternalModifyDefend(L), P_TMP_ATTACK_MOD
- Hooks: P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK
- neue Hooks: std/hooks
+ // der Zauber schuetzt auf jeden Fall immer ein bischen
+ tell_object(previous_object(),
+ "Dein Zauber flackert rund um dich gruen auf.\n");
+ tell_room(environment(previous_object()), break_string(
+ previous_object()->Name(WESSEN)+" Haut flackert rund um "+
+ previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
+ ({previous_object()}));
+ dam=(7+random(2))*dam/10; // Schaden reduzieren
+
+ return(({dam, dam_type, spell}));
+ }
+
+ // der Zauber schuetzt dann gar nicht ...
+ return 1;
+ }
+
+
+SIEHE AUCH
+==========
+
+ Angriff: Attack(L)
+ Schutz: Defend(L)
+ Verwandt: InternalModifyDefend(L), P_TMP_ATTACK_MOD
+ Hooks: P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK
+ neue Hooks: std/hooks
08.12.2008, Zesstra
-