Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/sys/living/attributes.h b/sys/living/attributes.h
new file mode 100644
index 0000000..8f28299
--- /dev/null
+++ b/sys/living/attributes.h
@@ -0,0 +1,96 @@
+// MorgenGrauen MUDlib
+//
+// living/attributes.h -- living attributes
+//
+// $Id: attributes.h 6282 2007-05-09 20:55:17Z Zesstra $
+
+#ifndef __LIVING_ATTRIBUTES_H__
+#define __LIVING_ATTRIBUTES_H__
+
+// properties
+
+#define P_ATTRIBUTES "attributes"
+#define P_ATTRIBUTES_OFFSETS "attributes_offsets"
+#define P_ATTRIBUTES_MODIFIER "attributes_modifier"
+#define P_X_ATTR_MOD "extern_attributes_modifier"
+#define P_X_HEALTH_MOD "extern_health_modifier"
+#define P_M_ATTR_MOD "magic_attributes_modifier"
+#define P_M_HEALTH_MOD "magic_health_modifier"
+#define P_ABILITIES "abilities"
+#define P_TIMED_ATTR_MOD "timed_attr_mod"
+
+// special defines
+
+/* standard attributes */
+#define A_STR "str"
+#define A_INT "int"
+#define A_DEX "dex"
+#define A_CON "con"
+
+/* errorcodes for P_TIMED_ATTR_MOD */
+#define TATTR_OK 0
+#define TATTR_NO_SUCH_MODIFIER 1
+#define TATTR_INVALID_ARGS 2
+
+/* indices used for P_TIMED_ATTR_MOD */
+#define TATTR_OUTDATE 0
+#define TATTR_DEPENDENTS 1
+#define TATTR_ENTRIES 2
+#define TATTR_MOD 0
+#define TATTR_OUTDATED 1
+#define TATTR_DEPENDENT 2
+#define TATTR_NOTIFY 3
+
+/* maximum of cumulative attribute modifiers */
+#define CUMULATIVE_ATTR_LIMIT 4
+
+#endif // __LIVING_ATTRIBUTES_H__
+
+#ifdef NEED_PROTOTYPES
+
+#ifndef __LIVING_ATTRIBUTES_H_PROTO__
+#define __LIVING_ATTRIBUTES_H_PROTO__
+
+// prototypes
+
+nomask public int SetTimedAttrModifier(string key, mapping modifier, int outdated, object dependent, mixed notify);
+nomask public mapping QueryTimedAttrModifier(string key);
+nomask public int DeleteTimedAttrModifier(string key);
+
+public int SetAttr(string attr, int val);
+nomask public void register_modifier(object modifier);
+nomask public void deregister_modifier(object modifier);
+
+public int SetAttribute(string attr, int val);
+public int SetRealAttribute(string attr, int val);
+public int QueryAttribute(string attr);
+public int QueryRealAttribute(string attr);
+public int QueryAttributeOffset(string attr);
+
+public void UpdateAttributes();
+
+public status TestLimitViolation(mapping check);
+
+// Set- und Query-Methoden
+static mapping _set_attributes(mapping arr);
+static mapping _query_attributes();
+static mapping _set_attributes_offsets(mapping arr);
+static mapping _query_attributes_offsets();
+static mixed _set_attributes_modifier(mixed arr);
+static mapping _query_attributes_modifier();
+static mixed _query_timed_attr_mod();
+
+// internal
+nomask protected void attribute_hb();
+protected void add_offsets(mapping arr);
+protected nomask void calculate_valid_modifiers();
+protected nomask void notifyInvalidModifiers();
+protected int _filterattr_str(int val);
+protected int _filterattr_dex(int val);
+protected int _filterattr_int(int val);
+protected int _filterattr_con(int val);
+nomask protected void notifyExpiredModifiers(mapping nots);
+
+#endif // __LIVING_ATTRIBUTES_H_PROTO__
+
+#endif // NEED_PROTOYPES
diff --git a/sys/living/clothing.h b/sys/living/clothing.h
new file mode 100644
index 0000000..d875c61
--- /dev/null
+++ b/sys/living/clothing.h
@@ -0,0 +1,12 @@
+// MorgenGrauen MUDlib
+//
+// living/clothing.h -- Konstanten und Pfade rund um Bekleidung von Lebewesen
+//
+// $Id: moneyhandler.h,v 3.1 1997/02/12 13:29:09 Wargon Exp %
+
+#ifndef __LIVING_CLOTHING_H__
+#define __LIVING_CLOTHING_H__
+
+#define P_CLOTHING "std:clothing"
+
+#endif // __LIVING_CLOTHING_H__
diff --git a/sys/living/combat.h b/sys/living/combat.h
new file mode 100644
index 0000000..528f446
--- /dev/null
+++ b/sys/living/combat.h
@@ -0,0 +1,166 @@
+// MorgenGrauen MUDlib
+//
+// living/combat.h -- combat header
+//
+// $Id: combat.h 9008 2015-01-06 17:20:17Z Zesstra $
+
+#ifndef __LIVING_COMBAT_H__
+#define __LIVING_COMBAT_H__
+
+// properties
+#define P_DISABLE_ATTACK "disable_attack"
+#define P_NEXT_DISABLE_ATTACK "next_disable_attack"
+
+#define P_CORPSE "corpse"
+#define P_NOCORPSE "nocorpse"
+
+// bitte P_ARMOURS auch in /secure/master.h aendern, falls das mal geaendert
+// wird.
+#define P_ARMOURS "armours"
+#define P_BODY "body"
+
+#define P_RESISTANCE_STRENGTHS "resistance_strengths"
+#define P_RESISTANCE_MODIFIER "rstr:mod"
+#define P_RESISTANCE "resistance"
+#define P_VULNERABILITY "vulnerability"
+#define P_TOTAL_AC "total_ac"
+#define P_TOTAL_WC "total_wc"
+
+#define P_HANDS "hands"
+#define P_MAX_HANDS "max_hands"
+#define P_USED_HANDS "used_hands"
+#define P_FREE_HANDS "free_hands"
+#define P_HANDS_USED_BY "hands_used_by"
+
+#define P_ATTACK_BUSY "attack_busy"
+#define P_NO_ATTACK "no_attack"
+
+#define P_PREFERED_ENEMY "pref_enemy"
+#define P_SHOW_ATTACK_MSG "show_attack_msg"
+
+#define P_LAST_DAMAGE "last_damage"
+#define P_LAST_DAMTYPES "last_damtypes"
+#define P_LAST_DAMTIME "last_damtime"
+
+#define P_DEATH_SPONSORED_BY "responsible_wizard_for_death"
+#define P_KILLER "killer"
+#define P_MURDER_MSG "murder_msg"
+#define P_FORCE_MURDER_MSG "force_murder_msg"
+#define P_ENEMY_DEATH_SEQUENCE "enemy_death_sequence"
+#define P_NEXT_DEATH_SEQUENCE "p_lib_next_death_sequence"
+#define P_DEATH_MSG "death_msg"
+
+#define P_HUNTTIME "p_lib_hunttime"
+
+// Befriede: Gildenzaehler
+#define P_PEACE_HISTORY "_peace_history"
+
+#define DISABLE_TOO_EARLY -100111
+
+#define ENEMY_HUNTTIME 0
+
+// Helfer-NPC
+// a) NPC: welchem Spieler ist dieser NPC zugeordnet, d.h. fuer wen kaempft
+// er? Array: ({ spielerobject, flags })
+// b) Spieler: welche NPC sind diesem Spieler zugeordnet. Mapping mit Objekten
+// und Flags.
+#define P_HELPER_NPC "std:helper_npc"
+// Flags:
+// 2 Klassen von Helfern momentan: Gilden-NPC und sonstige.
+#define GUILD_HELPER 0x1
+#define MISC_HELPER 0x2
+// Wenn gesetzt, ist der Helfer exklusiv und laesst keinen anderen in der
+// derselben Klasse zu.
+#define EXCLUSIVE_HELPER 0x40000000
+// Wenn gesetzt, ist der Helfer 'aktiv', d.h. nicht nur Schlagfaenger
+#define ACTIVE_HELPER 0x20000000
+
+// individuelle Schadensmeldungen eines Lebewesens
+#define P_DAMAGE_MSG "std_p_dam_msg"
+
+#endif // __LIVING_COMBAT_H__
+
+#ifdef NEED_PROTOTYPES
+
+#ifndef __LIVING_COMBAT_H_PROTO__
+#define __LIVING_COMBAT_H_PROTO__
+
+// prototypes
+public int Kill(object ob);
+public void Attack2(object enemy);
+public void Attack(object enemy);
+public void AddDefender(object friend);
+public void RemoveDefender(object friend);
+public void InformDefend(object enemy);
+public mixed DefendOther(int dam, string|string* dam_type, int|mapping spell, object enemy);
+public int Defend(int dam, string|string* dam_type, int|mapping spell, object enemy);
+public void CheckWimpyAndFlee();
+public varargs void Flee(object oldenv, int force);
+
+public varargs int StopHuntFor(object arg, int silent);
+public varargs mapping StopHuntingMode(int silent);
+
+public void UpdateResistanceStrengths();
+public varargs int AddResistanceModifier(mapping mod, string add);
+public varargs void RemoveResistanceModifier(string add);
+public float CheckResistance(string* dam_type);
+
+public int InsertSingleEnemy(object ob);
+public int InsertEnemy(object ob);
+public int IsEnemy(object wer);
+public object *PresentEnemies();
+public object QueryPreferedEnemy();
+public varargs object SelectEnemy(object *here);
+public <object*|int*>* QueryEnemies();
+public mapping GetEnemies();
+#if __VERSION_MAJOR__>=3 && __VERSION_MINOR__>=5 && (__VERSION_MICRO__>0 || (__VERSION_MICRO__==0 && __VERSION_PATCH__>=2))
+public mapping SetEnemies(<object*|int*>* myenemies);
+#else
+public mapping SetEnemies(mixed *myenemies);
+#endif
+public mixed EnemyPresent();
+public mixed InFight();
+public int CheckEnemy(object ob);
+
+public int SpellDefend(object caster, mapping sinfo);
+
+public object|object* QueryArmourByType(string type);
+
+public varargs int UseHands(object ob, int num);
+public varargs int FreeHands(object ob);
+
+public void InitAttack();
+public void ExitAttack();
+
+public int Pacify(object caster);
+
+public varargs int StopHuntID(string str, int silent);
+public void StopHuntText(object arg);
+public varargs void ExecuteMissingAttacks(object *remove_attackers);
+
+// Query- und Set-Methoden
+static int _query_attack_busy();
+static int _query_free_hands();
+static mixed _query_hands();
+static mixed *_query_hands_used_by();
+static mapping _query_resistance_strengths();
+static int _query_total_ac();
+static int _query_total_wc();
+static int _query_used_hands();
+static int _set_attack_busy(mixed val);
+static int _set_disable_attack(int val);
+static mixed _set_hands(mixed h);
+static mixed _set_resistance(mixed arg);
+static int _set_used_hands(int new_num);
+static mixed _set_vulnerability(mixed arg);
+static int _set_wimpy(int i);
+
+// Internal
+protected void SkillResTransfer(mapping from_M, mapping to_M);
+protected void InternalModifyAttack(mapping ainfo);
+protected void InternalModifyDefend(int dam, string* dt, mapping spell, object enemy);
+protected string mess(string msg,object me,object enemy);
+
+#endif // __LIVING_COMBAT_H_PROTO__
+
+#endif // NEED_PROTOYPES
diff --git a/sys/living/comm.h b/sys/living/comm.h
new file mode 100644
index 0000000..3950622
--- /dev/null
+++ b/sys/living/comm.h
@@ -0,0 +1,101 @@
+// MorgenGrauen MUDlib
+//
+// living/comm.h -- communication module properties for Livings
+//
+// $Id: comm.h,v 3.3 2000/02/09 15:56:25 Padreic Exp $
+
+#ifndef __LIVING_COMM_H__
+#define __LIVING_COMM_H__
+
+#include <break_string.h>
+
+// Flags fuer ReceiveMsg().
+// The BS-Flags MUST always be equal to the one defined for break_string!
+#define MSG_BS_LEAVE_LFS BS_LEAVE_MY_LFS //1
+#define MSG_BS_SINGLE_SPACE BS_SINGLE_SPACE //2
+#define MSG_BS_BLOCK BS_BLOCK //4
+#define MSG_BS_NO_PARINDENT BS_NO_PARINDENT //8
+#define MSG_BS_INDENT_ONCE BS_INDENT_ONCE //16
+#define MSG_BS_PREP_INDENT BS_PREPEND_INDENT //32
+// Flags < 1024 (2^10) reserviert fuer BS
+#define MSG_DONT_BUFFER 1024
+#define MSG_DONT_STORE 2048
+#define MSG_DONT_WRAP 4096
+#define MSG_DONT_IGNORE 8192
+// Flags < 1048576 (2^20) reserviert fuer Flags
+#define MSG_ALL_BS_FLAGS (BS_LEAVE_MY_LFS | BS_SINGLE_SPACE | BS_BLOCK\
+ | BS_NO_PARINDENT | BS_INDENT_ONCE\
+ |BS_PREPEND_INDENT)
+#define MSG_ALL_FLAGS (MSG_DONT_BUFFER | MSG_DONT_STORE | MSG_DONT_WRAP\
+ | MSG_DONT_IGNORE | MSG_ALL_BS_FLAGS)
+
+// Nachrichtentypen, Werte ab 2^20
+#define MT_UNKNOWN 0
+#define MT_LOOK 1048576
+#define MT_LISTEN 2097152
+#define MT_FEEL 4194304
+#define MT_TASTE 8388608
+#define MT_SMELL 16777216
+#define MT_MAGIC 33554432
+#define MT_NOTIFICATION 67108864
+#define MT_COMM 134217728
+#define MT_FAR 268435456
+#define MT_DEBUG 536870912
+#define MT_NEWS 1073741824
+
+// Aktionen
+// Bei MA_UNKNOWN wird die Aktion aus query_verb() geraten. Wenn das nicht
+// existiert, bleibt die Aktion MA_UNKNOWN.
+#define MA_UNKNOWN 0
+#define MA_PUT "wirf"
+#define MA_TAKE "nimm"
+#define MA_MOVE_IN "move_in"
+#define MA_MOVE_OUT "move_out"
+#define MA_MOVE "move"
+#define MA_FIGHT "toete"
+#define MA_WIELD "zuecke"
+#define MA_UNWIELD "stecke"
+#define MA_WEAR "trage"
+#define MA_UNWEAR "ziehe"
+#define MA_EAT "iss"
+#define MA_DRINK "trinke"
+#define MA_SPELL "zaubere"
+#define MA_LOOK "untersuche"
+#define MA_LISTEN "lausche"
+#define MA_FEEL "taste"
+#define MA_SMELL "rieche"
+#define MA_SENSE "erspueren"
+#define MA_READ "lies"
+#define MA_USE "benutze"
+#define MA_SAY "sage"
+#define MA_REMOVE "remove"
+#define MA_CHANNEL "ebenen"
+#define MA_EMOTE "emote"
+#define MA_SHOUT "rufe"
+#define MA_SHOUT_SEFUN "shout"
+#define MA_TELL "teilemit"
+
+// Rueckgabewerte von ReceiveMsg()
+#define MSG_DELIVERED 1
+#define MSG_BUFFERED 2
+#define MSG_FAILED -1
+#define MSG_IGNORED -2
+#define MSG_VERB_IGN -3
+#define MSG_MUD_IGN -4
+#define MSG_SENSE_BLOCK -5
+#define MSG_BUFFER_FULL -6
+
+#endif // __LIVING_COMM_H__
+
+#ifdef NEED_PROTOTYPES
+
+#ifndef __LIVING_COMM_H_PROTO__
+#define __LIVING_COMM_H_PROTO__
+
+public varargs int ReceiveMsg(string msg, int msg_type, string msg_action,
+ string msg_prefix, object origin);
+
+#endif // __LIVING_COMM_H_PROTO__
+
+#endif // NEED_PROTOYPES
+
diff --git a/sys/living/description.h b/sys/living/description.h
new file mode 100644
index 0000000..dc07fbf
--- /dev/null
+++ b/sys/living/description.h
@@ -0,0 +1,48 @@
+#ifndef __LIVING_DESCRIPTION_H__
+#define __LIVING_DESCRIPTION_H__
+
+// properties
+
+#define P_GUILD "guild"
+#define P_VISIBLE_GUILD "visible_guild"
+
+#define P_EXTRA_LOOK "extralook"
+#define P_INTERNAL_EXTRA_LOOK "internal_extralook"
+
+#define P_PLAYER_LIGHT "player_light"
+#define P_LIGHT_MODIFIER "light_modifier"
+
+#define P_LEVEL "level"
+
+#define P_RACE "race"
+#define P_REAL_RACE "real_race"
+
+// bitte auch in /secure/master.h aendern, falls das mal geaendert wird.
+#define P_WEAPON "weapon"
+
+#define P_PARA "para"
+#define P_SIZE "size"
+
+#define P_DIE_MSG "die_msg"
+
+#define P_WIMPY "wimpy"
+#define P_WIMPY_DIRECTION "wimpy_dir"
+
+#define P_AVATAR_URI "p_lib_avataruri"
+
+#endif // __LIVING_DESCRIPTION_H__
+
+
+#ifdef NEED_PROTOTYPES
+
+#ifndef __LIVING_DESCRIPTION_H_PROTO__
+#define __LIVING_DESCRIPTION_H_PROTO__
+
+varargs int CannotSee(int silent);
+public varargs int AddExtraLook(string look, int duration, string key,
+ string lookende, object ob);
+public int RemoveExtraLook(string key);
+
+#endif // __LIVING_DESCRIPTION_H_PROTO__
+
+#endif // NEED_PROTOYPES
diff --git a/sys/living/helpers.h b/sys/living/helpers.h
new file mode 100644
index 0000000..4e3793a
--- /dev/null
+++ b/sys/living/helpers.h
@@ -0,0 +1,42 @@
+// MorgenGrauen MUDlib
+//
+// living/helpers.h -- Konstanten und Methoden fuer Hilfsobjekte
+//
+// $Id: moneyhandler.h,v 3.1 1997/02/12 13:29:09 Wargon Exp %
+
+#ifndef __LIVING_HELPERS_H__
+#define __LIVING_HELPERS_H__
+
+// Properties
+
+#define P_HELPER_OBJECTS "lib_p_helper_objects"
+
+#define P_AQUATIC_HELPERS "lib_p_aquatic_helpers"
+#define P_AERIAL_HELPERS "lib_p_aerial_helpers"
+
+// Defines fuer Helferobjekt-Typen und Rueckgabewerte
+
+#define HELPER_TYPE_AQUATIC 1
+#define HELPER_TYPE_AERIAL 2
+
+#define HELPER_NO_CALLBACK_OBJECT -1
+#define HELPER_ALREADY_LISTED -2
+#define HELPER_NOTHING_TO_UNREGISTER -3
+#define HELPER_SUCCESS 1
+
+#endif // __LIVING_HELPERS_H__
+
+// Prototypes
+
+#ifdef NEED_PROTOTYPES
+
+#ifndef __LIVING_HELPERS_H_PROTO__
+#define __LIVING_HELPERS_H_PROTO__
+
+int RegisterHelperObject(object helper, int type, mixed callback);
+int UnregisterHelperObject(object helper, int type);
+
+#endif // __LIVING_HELPERS_H_PROTO__
+
+#endif // NEED_PROTOYPES
+
diff --git a/sys/living/life.h b/sys/living/life.h
new file mode 100644
index 0000000..81ba3dd
--- /dev/null
+++ b/sys/living/life.h
@@ -0,0 +1,125 @@
+// MorgenGrauen MUDlib
+//
+// living/life.h -- living life header
+//
+// $Id: life.h 9048 2015-01-11 18:21:32Z Zesstra $
+
+#ifndef __LIVING_LIFE_H__
+#define __LIVING_LIFE_H__
+
+// properties
+
+#define P_AGE "age"
+#define P_ALIGN "align"
+
+#define P_DEADS "deads"
+#define P_GHOST "ghost"
+#define P_FROG "frog"
+
+#define P_FOOD "food"
+#define P_MAX_FOOD "max_food"
+#define P_DRINK "drink"
+#define P_MAX_DRINK "max_drink"
+#define P_ALCOHOL "alcohol"
+#define P_MAX_ALCOHOL "max_alcohol"
+
+#define P_HP "hp"
+#define P_MAX_HP "max_hp"
+#define P_SP "sp"
+#define P_MAX_SP "max_sp"
+#define P_XP "xp"
+#define P_NO_XP "no_xp"
+#define P_LAST_XP "last_xp"
+
+#define P_FOOD_DELAY "food_delay"
+#define P_DRINK_DELAY "drink_delay"
+#define P_ALCOHOL_DELAY "alcohol_delay"
+#define P_HP_DELAY "hp_delay"
+#define P_SP_DELAY "sp_delay"
+#define P_POISON_DELAY "poison_delay"
+
+#define P_POISON "poison"
+#define P_MAX_POISON "max_poison"
+
+#define P_NO_REGENERATION "no_regeneration"
+
+#define P_ENEMY_DAMAGE "enemy_damage"
+#define P_TIMING_MAP "timing_map"
+#define P_LAST_DEATH_TIME "last_death_time"
+#define P_LAST_DEATH_PROPS "last_death_props"
+#define P_CORPSE_DECAY_TIME "corpse_decay"
+
+// ----- Definitionen fuer Beeinflussung der Gesundheit durch consume -----
+
+// H_EFFECTS - Zu aendernde Properties fuer den Effekt
+#define H_EFFECTS "effects"
+// H_CONDITIONS - Zu pruefende Properties für den Effekt (Saettigung, ...)
+#define H_CONDITIONS "conditions"
+// H_DISTRIBUTION - Wie die Aenderung an HP/SP austeilen, sofort, zeitlich
+// versetzt, ...
+#define H_DISTRIBUTION "distribution"
+// H_INGREDIENTS - Bestandteile, die die Aenderung verursachen
+#define H_INGREDIENTS "ingredients"
+
+// Verteilungen,
+// 0 Sofortwirkung
+// 1-50 gleichverteilte Pufferung mit angegebener Rate fuer SP/HP
+// >= 51 spezielle Verteilungen (TODO)
+#define HD_INSTANT 0
+#define HD_STANDARD 5
+
+#define H_ALLOWED_CONDITIONS ({P_FOOD, P_DRINK, P_ALCOHOL})
+#define H_ALLOWED_EFFECTS ({P_SP, P_HP, P_POISON})
+
+#define HC_MAX_FOOD_REACHED 1
+#define HC_MAX_DRINK_REACHED 2
+#define HC_MAX_ALCOHOL_REACHED 4
+#define HC_HOOK_CANCELLATION 8
+
+// -------------------------------------------------------------------------
+
+#endif // __LIVING_LIFE_H__
+
+#ifdef NEED_PROTOTYPES
+
+#ifndef __LIVING_LIFE_H_PROTO__
+#define __LIVING_LIFE_H_PROTO__
+
+// prototypes
+
+// ----- zentrale Funktion, um die Gesundheit des Lebewesens zu beeinflussen -----
+public varargs int consume(mapping cinfo, int testonly);
+// -------------------------------------------------------------------------
+
+public int do_damage(int dam, object enemy);
+public int reduce_hit_points(int dam);
+public int restore_hit_points(int heal);
+
+public int reduce_hit_point(int dam); //Nur als Uebergansloesung (Rikus)
+
+public void restore_spell_points(int h);
+public void reduce_spell_points(int h);
+
+public void heal_self(int h);
+
+public varargs void die( int poisondeath, int extern );
+
+public varargs void transfer_all_to( string|object dest, int check );
+
+public varargs int drink_alcohol(int strength, int testonly, string mytext);
+public varargs int drink_soft(int strength, int testonly, string mytext);
+public varargs int eat_food(int strength, int testonly, string mytext);
+
+public int buffer_hp(int val,int rate);
+public int buffer_sp(int val,int rate);
+
+public void show_age();
+
+public int AddExp(int e);
+
+// internal
+protected void ResetEnemyDamage();
+
+#endif // __LIVING_LIFE_H_PROTO__
+
+#endif // NEED_PROTOYPES
diff --git a/sys/living/moving.h b/sys/living/moving.h
new file mode 100644
index 0000000..4914466
--- /dev/null
+++ b/sys/living/moving.h
@@ -0,0 +1,40 @@
+// MorgenGrauen MUDlib
+//
+// living/moving.h -- Props/Prototypen fuer living/moving.c
+//
+// $Id: moving.h 8892 2014-08-04 19:48:28Z Zesstra $
+
+#ifndef __LIVING_MOVING_H__
+#define __LIVING_MOVING_H__
+
+#define P_PURSUERS "pursuers"
+
+#endif // __LIVING_MOVING_H__
+
+#ifdef NEED_PROTOTYPES
+
+#ifndef __LIVING_MOVING_H_PROTO__
+#define __LIVING_MOVING_H_PROTO__
+
+public void AddPursuer(object ob);
+public void RemovePursuer(object ob);
+
+public void TakeFollowers();
+
+#ifdef __THING_MOVING_H_PROTO__
+// das darf nicht passieren, weil move in thing anders ist als hier. *seufz*
+inconsistent_move_protoyp_error
+#endif
+public varargs int move( object|string dest, int methods, string direction,
+ string textout, string textin );
+public varargs int remove(int silent);
+
+// internal
+public void _SetPursued(object ob);
+public void _RemovePursued(object ob);
+
+
+#endif // __LIVING_MOVING_H_PROTO__
+
+#endif // NEED_PROTOTYPES
+
diff --git a/sys/living/put_and_get.h b/sys/living/put_and_get.h
new file mode 100644
index 0000000..802ad23
--- /dev/null
+++ b/sys/living/put_and_get.h
@@ -0,0 +1,37 @@
+// MorgenGrauen MUDlib
+//
+// living/put_and_get.h -- living put and get header
+//
+// $Id: put_and_get.h 6930 2008-08-09 09:20:16Z Zesstra $
+
+#ifndef __LIVING_PUT_AND_GET_H__
+#define __LIVING_PUT_AND_GET_H__
+
+// properties
+#define P_DROP_MSG "drop_message"
+#define P_PUT_MSG "put_message"
+#define P_PICK_MSG "pick_message"
+#define P_GIVE_MSG "give_message"
+#define P_SHOW_MSG "show_message"
+
+// If you don't want put_and_get send a message, set the property to
+#define NO_PNG_MSG -1
+
+// For user defined drop messages look for man P_DROP_MSG
+
+#endif // __LIVING_PUT_AND_GET_H__
+
+// prototypes
+#ifdef NEED_PROTOTYPES
+
+#ifndef __LIVING_PUT_AND_GET_H_PROTO__
+#define __LIVING_PUT_AND_GET_H_PROTO__
+
+object *find_obs(string str, int meth);
+
+void add_put_and_get_commands();
+
+#endif // __LIVING_PUT_AND_GET_H_PROTO__
+
+#endif // NEED_PROTOYPES
+
diff --git a/sys/living/skill_attributes.h b/sys/living/skill_attributes.h
new file mode 100644
index 0000000..939ca15
--- /dev/null
+++ b/sys/living/skill_attributes.h
@@ -0,0 +1,100 @@
+// MorgenGrauen MUDlib
+//
+// FileName.c -- Beschreibung
+//
+// $Id$
+
+#ifndef __SKILL_ATTRIBUTES_H__
+#define __SKILL_ATTRIBUTES_H__
+
+// ===== Properties fuer Skill-Attribute: =====
+
+#define P_SKILL_ATTRIBUTES "skill_attr"
+#define P_SKILL_ATTRIBUTE_OFFSETS "skill_attr_offsets"
+
+// ===== Skill Attribute: =====
+// Allgemeine Qualitaet
+#define SA_QUALITY "sa_qual"
+
+// Schaden
+#define SA_DAMAGE "sa_dam"
+
+// Geschwindigkeit
+#define SA_SPEED "sa_speed"
+
+// Dauer
+#define SA_DURATION "sa_dur"
+
+// Ausdehnung
+#define SA_EXTENSION "sa_ext"
+
+// Reichweite
+#define SA_RANGE "sa_range"
+
+// Je hoeher, desto groesser die Chance, dass nen vom Lebewesen gecasteter
+// Spell durch das gegnerische P_NOMAGIC durchschlaegt.
+// (SA_ENEMY_SAVE obsolet!)
+#define SA_ENEMY_SAVE "sa_save"
+#define SA_SPELL_PENETRATION "sa_save"
+
+// welche Skill-Attribute gibt es?
+#define VALID_SKILL_ATTRIBUTES ({ SA_QUALITY, SA_DAMAGE, SA_SPEED,\
+ SA_DURATION, SA_EXTENSION, SA_RANGE,\
+ SA_ENEMY_SAVE })
+
+// Indizes fuer die Verwaltung der Skill-Attribute
+#define SAM_CACHE 0
+#define SAM_STATIC 1
+#define SAM_DYNAMIC 2
+
+#define SAM_SUM 0
+#define SAM_CACHE_TIMEOUT 1
+#define SAM_COUNT 2
+
+#define SAM_DURATION 0
+#define SAM_VALUE 1
+
+
+// einige Konstanten
+#define SAM_MAX_MODS 5
+#define SAM_MAX_CACHE_TIMEOUT 60
+
+// rueckgabewerte der Verwaltungsfunktionen:
+#define SA_MOD_OK 1
+#define SA_MOD_REMOVED 1
+#define SA_TOO_MANY_MODS -1
+#define SA_MOD_TOO_SMALL -2
+#define SA_MOD_TOO_BIG -3
+#define SA_MOD_INVALID_ATTR -4
+#define SA_MOD_INVALID_OBJECT -5
+#define SA_MOD_NOT_FOUND -6
+#define SA_MOD_INVALID_VALUE -7
+
+// Statistik?
+#define SASTATD "/p/daemon/sastatd"
+
+#endif // __SKILL_ATTRIBUTES_H__
+
+
+#ifdef NEED_PROTOTYPES
+
+#ifndef __SKILL_ATTRIBUTES_H_PROTO__
+#define __SKILL_ATTRIBUTES_H_PROTO__
+
+// prototypes
+
+public int ModifySkillAttribute(string atrname, mixed value,
+ int duration);
+public int RemoveSkillAttributeModifier(object caster, string attrname);
+public int QuerySkillAttribute(string attr);
+public varargs mapping QuerySkillAttributeModifier(object caster,
+ string *attr);
+
+// Kompatibilitaetsfunktion mit altem Interface.
+public int ModifySkillAttributeOld(object caster, string atrname, int value,
+ int duration, mixed fun);
+
+#endif // __SKILL_ATTRIBUTES_H_PROTO__
+
+#endif // NEED_PROTOYPES
+
diff --git a/sys/living/skills.h b/sys/living/skills.h
new file mode 100644
index 0000000..ef2572c
--- /dev/null
+++ b/sys/living/skills.h
@@ -0,0 +1,33 @@
+// MorgenGrauen MUDlib
+//
+// skills.h -- Defines and prototypes for /std/living/skills.c
+//
+// $Id: skills.h 8694 2014-02-20 23:06:50Z Zesstra $
+
+#ifndef _LIVING_SKILLS_H_
+#define _LIVING_SKILLS_H_
+
+#endif // _LIVING_SKILLS_H_
+
+#ifdef NEED_PROTOTYPES
+#ifndef _LIVING_SKILLS_H_PROTO_
+#define _LIVING_SKILLS_H_PROTO_
+public varargs int UseSpell(string str, string spell);
+
+public varargs mapping QuerySkill(string sname, string gilde);
+public varargs int QuerySkillAbility(mixed sname, mixed argl);
+
+protected varargs mixed LimitAbility(mixed sinfo, int diff);
+public varargs mixed UseSkill(string skill, mapping args);
+
+public varargs void LearnSkill(string sname, int add, int diff);
+public varargs void ModifySkill(string sname, mixed val, int diff,
+ string gilde);
+public varargs int SetSpellFatigue(int duration, string key);
+public varargs int CheckSpellFatigue(string key);
+public void DeleteSpellFatigue(string key);
+
+#endif // _LIVING_SKILLS_H_PROTO_
+
+#endif // NEED_PROTOTYPES
+
diff --git a/sys/living/team.h b/sys/living/team.h
new file mode 100644
index 0000000..942e0c3
--- /dev/null
+++ b/sys/living/team.h
@@ -0,0 +1,50 @@
+// MorgenGrauen MUDlib
+//
+// living/team.h -- team header
+//
+// $Id: team.h 8449 2013-03-04 21:06:38Z Zesstra $
+
+#ifndef __LIVING_TEAM_H__
+#define __LIVING_TEAM_H__
+
+#define P_TEAM "team"
+#define P_TEAM_NEWMEMBER "potential_team_member"
+#define P_TEAM_ATTACK_CMD "team_attack_cmd"
+#define P_TEAM_AUTOFOLLOW "team_autofollow"
+#define P_TEAM_WANTED_ROW "team_wanted_row"
+#define P_TEAM_WIMPY_ROW "team_wimpy_row"
+#define P_TEAM_LEADER "team_leader"
+#define P_TEAM_ASSOC_MEMBERS "team_assoc_members"
+#define P_TEAM_COLORS "team_colors"
+
+#define TEAM_OBJECT "/obj/team"
+#define TEAM_MASTER "/p/daemon/teammaster"
+#define EMPTY_TEAMARRAY ({({}),({}),({}),({}),({})})
+#define MAX_TEAMROWS 5
+#define MAX_TEAM_ROWLEN 6
+#define MAX_TEAM_MEMBERS 12
+
+#endif // __LIVING_TEAM_H__
+
+#ifdef NEED_PROTOTYPES
+#ifndef __LIVING_TEAM_H_PROTO__
+#define __LIVING_TEAM_H_PROTO__
+
+string TeamPrefix();
+object IsTeamLeader();
+object IsTeamMove();
+object *TeamMembers();
+varargs int PresentPosition(mixed pmap);
+varargs mapping PresentTeamPositions(mixed pres_rows);
+mixed *PresentTeamRows();
+varargs mixed *PresentEnemyRows(object *here);
+varargs object SelectNearEnemy(object *here, int forcefrom);
+varargs object SelectFarEnemy(object *here, int min, int max, int forcefrom);
+varargs void InsertEnemyTeam(mixed ens, int rek);
+int AssocMember(object npc);
+int DeAssocMember(object npc);
+int TeamFlee();
+varargs void InformRowChange(int from, int to, object caster);
+
+#endif // __LIVING_TEAM_H_PROTO__
+#endif // // NEED_PROTOYPES