Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/props/obsolete/P_TMP_ATTACK_MOD b/doc/props/obsolete/P_TMP_ATTACK_MOD
new file mode 100644
index 0000000..3491c0c
--- /dev/null
+++ b/doc/props/obsolete/P_TMP_ATTACK_MOD
@@ -0,0 +1,112 @@
+********************* VERALTETE PROPERTY ******************************
+* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
+***********************************************************************
+P_TMP_ATTACK_MOD
+
+NAME:
+ P_TMP_ATTACK_MOD "attack_mod"
+
+DEFINIERT IN:
+ /sys/new_skills.h
+
+BESCHREIBUNG:
+ Mittels dieser Property koennen die Attacken eines Livings temporaer
+ veraendert werden.
+
+ Es wird an dem Living die Property als mindestens 3-elementiges Array
+ ({zeitpunkt, objekt, methode, ...})
+ gesetzt und die Methode 'methode' wird dann waehrend des Attack() des
+ Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+
+ Der Methode wird beim Aufruf ein Kopie des Mappings uebergeben, in dem
+ die bisherigen Werte des Angriffes vermerkt sind.
+ Aufbau von Mapping 'ainfo':
+ ([ SI_ENEMY : object Angreifer, (-> Defend)
+ SI_SPELL : 0/1/array Spellparameter, (-> Defend)
+ P_WEAPON : - oder Waffe,
+ SI_SKILLDAMAGE_MSG: string Angriffsmeldungsende an Raum,
+ SI_SKILLDAMAGE_MSG2: string Angriffsmeldungsende an Kaempfende,
+ SI_SKILLDAMAGE: int Schaden in Zehntel HP (Skills bis auf Rasse
+ drin!) (-> Defend),
+ SI_SKILLDAMAGE_TYPE: string/string* Schadenstypen, (-> Defend)
+ P_WEAPON_TYPE: string Waffentyp (combat.h),
+ P_WC: - oder int WC der Waffe/Hand,
+ P_NR_HANDS: - oder int Hands der Waffe/Hand,
+ ]);
+
+ Gibt die Methode:
+ - 0 oder kein Mapping zurueck, fuehrt das zum Abbruch der Attacke
+ -> da inzwischen Waffen abgefragt wurden, koennen schon Meldungen
+ von diesen ausgegeben worden sein
+ - ein leeres Mapping ( ([]) ) zurueck, fuehrt das zu keiner Modifikation
+ - ein Mapping mit veraenderten Werten zurueck, werden diese in das
+ Angriffsmapping kopiert
+ Die geaenderten Werte werden teilweise von SkillResTransfer() in
+ den eigentlichen Angriff uebernommen.
+
+BEMERKUNGEN:
+ - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+ Property auf 0 gesetzt
+ - vor dem Setzen immer auf die Existenz eines gueltigen Modifiers
+ pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+ im Code anderer und ist andererseits unfair gegenueber ihnen
+
+BEISPIELE:
+ *** ein besonder heisser Segen modifiziert die Attacken des Spielers ***
+ int action_segen() {
+ ...
+ mixed *tmp;
+
+ // pruefen, ob nicht ein anderer Modifier existiert
+ if(!pointerp(tmp=TP->QueryProp(P_TMP_ATTACK_MOD)) ||
+ sizeof(tmp)<3 || tmp[0]<=time()) {
+
+ object wield;
+ wield=TP->QueryProp(P_WEAPON);
+
+ write(break_string(
+ "Der Priester der Flamme weiht "+
+ (wield?wield->name(WEN,1):"deine Haende")+".", 78));
+
+ // setzen des Modifiers .. 30-40 Sekunden gueltig
+ TP->SetProp(P_TMP_ATTACK_MOD,
+ ({time()+30+random(10), this_object(), "modfun"}));
+ } else ...
+ ...
+ return 1;
+ }
+
+ // die eigentlich Methode, die waehrend des Angriffs gerufen wird
+ mapping modfun(mapping ainfo) {
+ mapping ret;
+
+ // Returnwert ist immer ein Mapping, damit die Attacke weitergeht
+ ret=m_allocate(0,1);
+
+ // magische Waffen oder Sprueche werden nicht verbessert
+ if(ainfo[P_WEAPON_TYPE]!=WT_MAGIC) {
+ // sonst Verbesserungen ... Feuer addieren ...
+ ret[SI_SKILLDAMAGE_TYPE]=(ainfo[SI_SKILLDAMAGE_TYPE]||({}))+
+ ({DT_FIRE});
+ // ... und bei Waffe Meldungen anpassen
+ if(ainfo[P_WEAPON]) {
+ ret[SI_SKILLDAMAGE_MSG]=
+ " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
+ ret[SI_SKILLDAMAGE_MSG2]=
+ " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
+ }
+ }
+
+ return ret;
+ }
+
+SIEHE AUCH:
+ Angriff: Attack(L)
+ Schutz: Defend(L)
+ Verwandt: InternalModifyAttack(L)
+ P_TMP_ATTACK_HOOK
+ P_TMP_DEFEND_HOOK
+ Sonstiges: SkillResTransfer(L)
+ Hooks: P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK
+
+10.Feb 2005 Gloinson