#ifndef __TUTORIAL_DEFS_H__
#define __TUTORIAL_DEFS_H__

/* Diese Pragmas sollten heutzutage Pflicht sein. Der Compiler wird durch
   sie angewiesen, strenger auf korrekte Typisierung etc. zu achten. Siehe
   "man pragma". */
#pragma strong_types
#pragma save_types
#pragma rtt_checks


// Diese Includes braucht man so oft, die kann man eigentlich immer nehmen:
#include <properties.h>
#include <language.h>
#include <moving.h>


// Diese Defines brauchen wir auch nahezu staendig:
// TODO: einzeln erklaeren, was die tun:
#ifdef ENV
#undef ENV
#endif
#define ENV environment
#ifdef TO
#undef TO
#endif
#define TO this_object()
#ifdef TP
#undef TP
#endif
#define TP this_player()
/* Diese Defines nennt jeder Magier anders, ich nenne sie hier mal so, wie
   sie auch in meinen Gebieten heissen: */
#ifdef TPN
#undef TPN
#endif
#define TPN this_player()->name()
#ifdef TPNC
#undef TPNC
#endif
#define TPNC this_player()->Name()
#ifdef BSLF
#undef BSLF
#endif
#define BSLF(x) break_string(x, 78, 0, BS_LEAVE_MY_LFS)
#ifdef BSPS
#undef BSPS
#endif
#define BSPS(x, y) break_string(x, 78, y, BS_LEAVE_MY_LFS)
#ifdef BSPN
#undef BSPN
#endif
#define BSPN(x, y) break_string(x, 78, y, BS_LEAVE_MY_LFS|BS_PREPEND_INDENT)

// Fuer Verwendung in Defend():
#define NO_AC AT_HELMET:0,\
              AT_AMULET:0,\
              AT_GLOVE:0,\
              AT_RING:0,\
              AT_SHIELD:0,\
              AT_CLOAK:0,\
              AT_ARMOUR:0,\
              AT_BELT:0,\
              AT_TROUSERS:0,\
              AT_BOOT:0,\
              P_BODY:0


#endif // __FADEN_DEFS_H__
