Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/sys/new_skills.h b/sys/new_skills.h
new file mode 100644
index 0000000..6af5cbc
--- /dev/null
+++ b/sys/new_skills.h
@@ -0,0 +1,415 @@
+// MorgenGrauen MUDlib
+//
+// new_skills.h -- Alle noetigen Defintionen fuer Skills (Faehigkeiten),
+//                 Spells (Zaubersprueche) und Gilden.
+//
+// $Id: new_skills.h 8610 2014-01-06 20:59:13Z Zesstra $
+
+#ifndef _NEW_SKILLS_H_
+#define _NEW_SKILLS_H_
+
+#include <combat.h>
+#include <living/skill_attributes.h>
+
+// ===== Aktuelle Version der Skills ====
+#define CURRENT_SKILL_VERSION       2
+
+// ===== Allgemeine Defines: =====
+
+#define DEFAULT_GUILD               "abenteurer"
+#define GUILD_DIR                   "/gilden/"
+#define GUILD_SAVEFILE              "/etc/gildenmaster"
+#define GUILDMASTER                 "/secure/gildenmaster"
+#define SPELLBOOK_DIR               "/spellbooks/"
+
+#define MAX_ABILITY                 10000
+#define MAX_SKILLEARN               200
+
+// ===== Moegliche Resultate eine Spells: =====
+
+#define ERFOLG                      1
+#define MISSERFOLG                  -1
+#define ABGEWEHRT                   2
+
+// ===== Properties des Gilden-Masters: =====
+
+#define P_VALID_GUILDS              "valid_guilds"
+
+// ===== Properties der Gilde: ======
+
+#define P_GUILD_SKILLS              "guild_skills"
+#define P_GUILD_RESTRICTIONS        "guild_rest"
+//bitte dieses Define auch in /scure/master/userinfo.c aendern...
+#define P_GUILD_DEFAULT_SPELLBOOK   "guild_sb"
+#define P_GUILD_MALE_TITLES         "guild_male_titles"
+#define P_GUILD_FEMALE_TITLES       "guild_female_titles"
+#define P_GUILD_LEVELS              "guild_levels"
+#define P_GUILD_PREPAREBLOCK        "guild_prepareblock"
+#define P_GUILD_DEACTIVATE_SKILLS   "guild_deactivate_skills"
+
+// ===== Properties des Spellbooks: =====
+
+#define P_SB_SPELLS                 "sb_spells"
+
+// ===== Properties der Gilde UND des Spellbooks: =====
+#define P_GLOBAL_SKILLPROPS         "sm_global"
+
+// ===== Properties des Spielers: =====
+
+// #define P_GUILD                     "guild"
+#define P_DEFAULT_GUILD             "default_guild"
+#define P_DEFENDERS                 "defenders"
+#define P_GUILD_LEVEL               "guild_level"
+#define P_GUILD_RATING              "guild_rating"
+#define P_GUILD_TITLE               "guild_title"
+#define P_SUBGUILD_TITLE            "subguild_title"
+#define P_VISIBLE_SUBGUILD_TITLE    "visible_subguild_title"
+#define P_MAGIC_RESISTANCE_OFFSET   "mag_res_offset"
+#define P_NEWSKILLS                 "newskills"
+#define P_NEXT_SPELL_TIME           "next_spell"
+#define P_PREPARED_SPELL            "prepared_spell"
+#define P_TMP_ATTACK_HOOK           "attack_hook"
+#define P_TMP_ATTACK_MOD            "attack_mod"
+#define P_TMP_DEFEND_HOOK           "defend_hook"
+#define P_TMP_DIE_HOOK              "die_hook"
+#define P_TMP_MOVE_HOOK             "move_hook"
+#define P_WEAPON_TEACHER            "weapon_teacher"
+#define P_SKILLSVERSION             "p_lib_skillsversion"
+
+// ===== Standard-Skills: =====
+
+#define FIGHT(x)                    ("Fight_"+x)
+#define SHOOT(x)                    ("Shoot_"+x)
+#define SK_BOOZE                    "Booze"
+#define SK_CARRY                    "CarrySkill"
+#define SK_CASTING                  "Cast"
+#define SK_DEFEND_OTHER             "DefendOther"
+#define SK_FIGHT                    "Fight"
+#define SK_INFORM_DEFEND            "InformDefend"
+#define SK_MAGIC_ATTACK             "MagicAttack"
+#define SK_MAGIC_DEFENSE            "MagicDefense"
+#define SK_NIGHTVISION              "Nightvision"
+#define SK_SHOOT                    "Shoot"
+#define SK_SPELL_DEFEND             "SpellDefend"
+#define SK_SWORDFIGHTING            FIGHT(WT_SWORD)
+#define SK_TWOHANDED                "Bihand"
+#define SK_WEAPONLESS               FIGHT(WT_HANDS)
+
+// ===== Skill Infos: =====
+
+#define FACTOR(x)                   ("fac_"+x)
+#define OFFSET(x)                   ("off_"+x)
+
+#define SI_SKILLFUNC                "si_func"
+  // Funktion, die aufgerufen wird
+
+#define SI_CLOSURE                  "si_closure"
+  // Nur fuer den internen Gebrauch
+  // (Geschwindigkeitsoptimierung)
+
+#define SI_SPELLBOOK                "si_spellbook"
+  // Spellbook, in dem der Spell
+  // steht
+
+#define SI_SPELLCOST                "si_cost"
+  // Kosten des Spells
+
+#define SI_TIME_MSG                 "time_msg"
+  // Die Meldung wird anstelle von
+  // "Du bist noch zu erschoepft
+  //  von Deinem letzten Spruch."
+  // ausgegeben.
+
+#define SI_SP_LOW_MSG               "sp_low_msg"
+  // Die Meldung wird anstelle von
+  // "Du hast zu wenig Zauberpunkte
+  //  fuer diesen Spruch."
+  // ausgegeben.
+
+#define SI_PREPARE_MSG              "si_prepare_msg"
+#define SI_PREPARE_ABORT_MSG        "si_prepare_abort_msg"
+#define SI_PREPARE_BUSY_MSG         "si_prepare_busy_msg"
+  // Meldungen fuer Spruch-
+  // vorbereitung, Abbruch und
+  // schon beschaeftigt
+
+#define SI_NOMAGIC                  "si_nomagic"
+  // Prozentwert, mit dem P_NOMAGIC
+  // umgangen werden kann
+
+#define SI_NOMAGIC_MSG              "si_nomagic_msg"
+  // Meldung, die Anstelle von
+  // "Dein Zauberspruch verpufft
+  //  im Nichts" ausgegeben werden
+  // soll.
+
+#define SI_SPELLFATIGUE             "si_fatigue"
+  // Erschoepfung - Zeit, in der
+  // keine weiteren Spells
+  // aufgerufen werden koennen
+#define SI_X_SPELLFATIGUE           "std:si:xfatigue"
+
+#define SI_SKILLLEARN               "si_learn"
+  // Lerngeschwindigkeit in 0.01%
+  // pro A_INT/2
+
+#define SI_LEARN_ATTRIBUTE          "si_learn_attribute"
+  // Wenn man nicht will, dass man in Abhaengigkeit von
+  // INT lernt
+
+#define SI_NO_LEARN                 "si_no_learn"
+  // Wenn man (temporaer!) nicht will, dass dieser Skill gelernt wird.
+  // Muss von den Spellbooks beachtet werden.
+  // Sollte niemals im Spieler abgespeichert werden. Oder permanent in
+  // Gilde/Spellbook gesetzt sein. Sondern im Laufe einesr Nutzung in der jew.
+  // Kopie von sinfo gesetzt werden, die gerade genutzt wird.
+
+#define SI_SKILLABILITY             "si_abil"
+  // Faehigkeit, diesen Spruch zu
+  // benutzen
+
+#define SI_SKILLARG                 "si_arg"
+  // Argumente, die uebergeben
+  // wurden
+
+#define SI_SKILLRESTR_USE           "si_restr_u"
+  // Beschraenkungen beim Gebrauch
+
+#define SI_SKILLRESTR_LEARN         "si_restr_l"
+  // Beschraenkungen beim Lernen
+
+#define SI_SKILLINFO                "si_info"
+  // Kurzer Informationstext
+
+#define SI_SKILLINFO_LONG           "si_info_l"
+  // Langer Informationstext
+
+#define SI_SKILLDAMAGE              "si_damage"
+  // Schaden
+
+#define SI_SKILLDAMAGE_BY_ROW       "si_damage_by_row"
+  // Schaden durch Teamreihen
+
+#define SI_SKILLDAMAGE_TYPE         "si_damtyp"
+  // Art des Schadens
+
+#define SI_SKILLDAMAGE_MSG          "si_dammsg"
+  // Meldung die anstelle einer
+  // Waffe kommen soll
+
+#define SI_SKILLDAMAGE_MSG2         "si_dammsg2"
+  // dito fuer den Text fuer
+  // andere im Raum
+
+#define SI_SPELL                    "si_spell"
+  // Spell, mit dem angegriffen
+  // wurde
+
+#define SI_COLLATERAL_DAMAGE        "si_collateral_damage"
+  // Schadensanteil bei Flaechen-
+  // spells, den Freunde abbekommen,
+  // in Prozent
+
+#define SI_NUMBER_ENEMIES           "si_num_enemies"
+  // Anzahl Feinde bei
+  // Flaechenspruch
+
+#define SI_NUMBER_FRIENDS           "si_num_friends"
+  // Anzahl Freunde bei
+  // Flaechenspruch
+
+#define SI_DISTANCE                 "si_distance"
+  // Entfernung
+
+#define SI_WIDTH                    "si_width"
+  // Breite des Flaechenangriffs
+
+#define SI_DEPTH                    "si_depth"
+  // Tiefe des Flaechenangriffs
+
+#define SI_INHERIT                  "si_inherit"
+  // Skill, von dem etwas
+  // uebernommen werden soll
+
+#define SI_DIFFICULTY               "si_difficulty"
+  // Wert, der die Obergrenze der
+  // Faehigkeit abgrenzt
+
+#define SI_LASTLIGHT                "si_lastlight"
+  // Fuer Nachtsicht: Wann hat
+  // der Spieler zum letzten mal
+  // Licht gesehen.
+
+#define SI_SKILLHEAL                "si_heal"
+  // Heilung
+
+#define SI_USR                      "si_usr"
+  // selbst definierte Infos
+
+#define SI_TESTFLAG                 "si_testflag"
+  // Testflag
+
+#define SI_GUILD                    "si_guild"
+  // Gilde, falls Auswahl aus
+  // mehreren moeglich
+
+#define SI_ENEMY                    "si_enemy"
+  // Feind bei Kampfspruechen
+
+#define SI_FRIEND                   "si_friend"
+  // Der zu verteidigende Freund
+  // bei DefendOther und
+  // InformDefend
+
+#define SI_MAGIC_TYPE               "si_magic_type"
+  // Von was fuer einer Art ist
+  // die Magie (s.u.)
+
+#define SI_PREPARE_TIME             "si_prepare_time"
+  // Zeit die zur Vorbereitung
+  // benoetigt wird.
+
+#define SI_ATTACK_BUSY_MSG          "si_attack_busy_msg"
+  // Meldung, wenn der Spieler zu
+  // beschaeftigt ist
+
+#define SI_NO_ATTACK_BUSY           "si_no_attack_busy"
+  // Wenn der Spell nicht als
+  // Taetigkeit zaehlen/gezaehlt
+  // werden soll, kann man hier
+  // NO_ATTACK_BUSY[_SET|_QUERY]
+  // (s.u.) setzen
+
+#define SI_ATTACK_BUSY_AMOUNT       "si_attack_busy_amount"
+  // Der Spell hat ein gewisses
+  // AttackBusy, aber das weicht
+  // vom Standardwert 1 ab. Der
+  // Wert kann hier gesetzt
+  // werden.
+
+#define SI_LAST_USE                 "si_last_use"
+  // Letzte benutzung eines
+  // Skills (fuer Rassenskills)
+
+#define SI_LEARN_PROB               "si_learn_prob"
+  // Lernwahrscheinlichkeit
+  // (fuer Rassenskills)
+
+#define SI_SKILLDURATION            "si_duration"
+  // Wie soll wird der Skill anhalten?
+  // (fuer Spells mit einer Dauer)
+
+// ===== Parameter fuer Spell-Mapping: =====
+
+#define SP_NAME                     "sp_name"
+  // Name des Spells
+
+#define SP_SHOW_DAMAGE              "sp_showdamage"
+  // Treffermeldung soll gezeigt
+  // werden.
+
+#define SP_REDUCE_ARMOUR            "sp_reduce_ac"
+  // AC soll Typabhaengig
+  // reduziert werden.
+
+#define SP_PHYSICAL_ATTACK          "sp_physical"
+  // Koerperlicher Angriff
+
+#define SP_RECURSIVE                "sp_recursive"
+  // Rekursionen
+
+#define SP_NO_ENEMY                 "no_enemy"
+  // Ist kein richtiger Angriff
+
+#define SP_NO_ACTIVE_DEFENSE        "sp_no_active_defense"
+  // Es ist keine aktive Abwehr erwuenscht
+
+#define SP_GLOBAL_ATTACK            "sp_global_attack"
+  // Ist Flaechenangriff
+
+// ===== Skill Restrictions: =====
+
+#define SR_FUN                      "restr_fun"
+  // Funktion, die weitere
+  // Einschraenkungen prueft
+
+#define SR_EXCLUDE_RACE             "restr_race_ex"
+  // Ausgeschlossene Rassen
+
+#define SR_INCLUDE_RACE             "restr_race_in"
+  // Eingeschlossene Rassen
+
+#define SR_EXCLUDE_GUILD            "restr_guild_ex"
+  // Ausgeschlossene Gilden
+
+#define SR_INCLUDE_GUILD            "restr_guild_in"
+  // Eingeschlossene Gilden
+
+#define SR_GOOD                     "restr_good"
+  // Align <
+
+#define SR_BAD                      "restr_bad"
+  // Align >
+
+#define SR_FREE_HANDS               "restr_hands"
+  // Benoetigte freie Haende
+
+#define SR_SEER                     "restr_seer"
+  // Muss Seher sein
+
+#define SR_MIN_SIZE                 "min_size"
+  // Mindestgroesse
+
+#define SR_MAX_SIZE                 "max_size"
+  // Maximalgroesse
+
+#define SR_PROP                     "restr_properties"
+  // Werte beliebiger Properties
+
+#define SR_QUEST                    "restr_quests"
+  // Quest bestanden
+
+#define SR_MINIQUEST                "restr_miniquests"
+  // Miniquest geloest
+
+// ===== Skill Modifier: =====
+
+#define SM_RACE                     "modify_race"
+  // Rassenspezifische
+  // Besonderheiten
+
+// ===== Fuer das Attack-Busy-Handling: =====
+
+#define NO_ATTACK_BUSY_SET          0x001
+#define NO_ATTACK_BUSY_QUERY        0x002
+#define NO_ATTACK_BUSY              0x003
+
+// ===== Magie-Arten: =====
+
+#define MT_ANGRIFF                  "mt_angriff"
+#define MT_BEHERRSCHUNG             "mt_beherrschung"
+#define MT_BESCHWOERUNG             "mt_beschwoerung"
+#define MT_BEWEGUNG                 "mt_bewegung"
+#define MT_CREATION                 "mt_creation"
+#define MT_HEILUNG                  "mt_heilung"
+#define MT_HELLSICHT                "mt_hellsicht"
+#define MT_ILLUSION                 "mt_illusion"
+#define MT_PSYCHO                   "mt_psycho"
+#define MT_SAKRAL                   "mt_sakral"
+#define MT_SCHUTZ                   "mt_schutz"
+#define MT_VERWANDLUNG              "mt_verwandlung"
+
+#define MT_MISC                     "mt_misc"
+
+// ===== Defines fuer FindGroup() =====
+
+#define FG_ENEMIES                  -1
+#define FG_FRIENDS                  1
+#define FG_ALL                      0
+
+// ======== OBSOLETE Properties / Defines =============
+// Prop wird nicht mehr genutzt, ist aber noch fuer /std/player/base.c noetig,
+// um den SAVE-Status in den Spieler-Props zu loeschen.
+#define P_GUILD_PREVENTS_RACESKILL  "guild_prevents_raceskill"
+
+#endif