/* Definicje Vaktotha */
#include <stdproperties.h>

#ifndef VAKTOTH_DEF
#define VAKTOTH_DEF

#define IMPERIUM_I_STWOR_CHAOSU "_imperium_i_stwor_chaosu"

/* 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 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  BRONIE      COMMON + "bronie/"
#define  ZBROJE      COMMON + "zbroje/"
#define  OBJ         COMMON + obj/"
#define  LOKACJE     COMMON + "skaveni/"


 /* 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);

#endif
