/* Definicje Vaktotha */
#include <stdproperties.h>

#ifndef VAKTOTH_DEF
#define VAKTOTH_DEF


/* Generalne definicje */
#define TP           this_player()
#define TO           this_object()
#define ADD(xxx,yyy) add_action(xxx, yyy);
#define ADA(xxx)     add_action(xxx, xxx);
#define NF(xxx)      notify_fail(xxx);
#define BS(xxx,nn)   break_string(xxx + "\n", nn)
#define C(xxx)       capitalize(xxx)
#define P(str, ob)   present(str, ob)
#define E(ob)        environment(ob)
#define L(str)       lower_case(str)
#define BSN(x)       BS(x,75)

#define POSSESSIVE(x) x->query_possessive()
#define HIS(x)        x->query_possessive()
#define OBJECTIVE(x)  x->query_objective()
#define HIM(x)        x->query_objective()
#define PRONOUN(x)    x->query_pronoun()
#define HE(x)         x->query_pronoun()
#define REALAGE(x)    (x->query_age() * 2)
#define QRACE(x)      x->query_race_name()

#define ONE_OF(x)     ((x)[random(sizeof(x))])

#define UNIQUE(filen,num,alternatefile) ((!((filen)->load_file()) && \
                        sizeof(filter(object_clones(find_object(filen)), \
                        (&operator(==)(0) @ &->query_prop("_obj_i_broken")))) \
			< num) ? filen : alternatefile)


/* Katalogi  (beda sie zmieniac i uzupelniac, w miare rozrostu domeny) */
#define  COMMON       "/d/Imperium/Nuln/"
#define  NPCS         COMMON + "npc/"
#define  OBJECTS      COMMON + "obj/"
#define  LOKACJE      COMMON + "skaveni/"

#define NPATH COMMON

 /* Niektore definicje dla lokacji */
#define INSIDE     add_prop(ROOM_I_INSIDE, 1);
#define OUTSIDE  add_prop(ROOM_I_INSIDE, 0);
#define DARK       add_prop(ROOM_I_LIGHT,0);
#define LIGHT      add_prop(ROOM_I_LIGHT,1);

/* definicje dla kodow kluczy */
/* Vaktoth 1997 */

#define SREBRNY_KLUCZ  14324362
#define STALOWY_KLUCZ  21341123
#define ZELAZNY_KLUCZ  32475567
#define KOSCIANY_KLUCZ 76563945

#endif
