#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:
#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__
