/*
 *  Soul dla Wolnej Kompanii Stirlandu
 *  Zakodowany przez Morleya w '98
 */

#pragma no_clone
#pragma strict_types
#pragma save_binary

inherit "/cmd/std/command_driver";

#include <exec.h>
#include <adverbs.h>
#include <cmdparse.h>
#include <macros.h>
#include <stdproperties.h>
#include "topor.h"

#define SUBLOC_SOULEXTRA    "_soul_cmd_extra"
#define SOULDESC(x)         (this_player()->add_prop(LIVE_S_SOULEXTRA, (x)))
#define MAX_FREE_EMOTE      60  /* Maksymalna dlugosc wolnego emota. */

#define CHECK_MOUTH_BLOCKED; \
            if (Prop = this_player()->query_prop(LIVE_M_MOUTH_BLOCKED)) { \
            notify_fail(stringp(Prop) ? Prop : \
                "Nie jestes w stanie wydobyc z siebie zadnego dzwieku.\n"); \
            return 0; }

#define CHECK_MULTI_TARGETS(str) \
            if (sizeof(cele) > 1) { notify_fail("Naraz mozesz " + str + \
                ".\n"); return 0; }

#define IS_BALD(gracz) \
            (member_array("lysy", gracz->query_przymiotniki()[0]) != -1)

#define BUG_FAIL(str) \
            (log_file("bugi", ctime(time()) + ": [" + \
                file_name(this_object()) + "] " + str + "\n"), \
            "\nBLAD !!! Arkadia bedzie ci wdzieczna za zgloszenie go, " + \
                this_player()->query_wolacz() + ".\n\n")

#define CHECK_NO_ARG(str) \
		if (stringp(str)) { notify_fail ("Po prostu " + query_verb() + \
						 ".\n"); return 0; }


private mixed Prop;             /* Uzywana przez CHECK_MOUTH_BLOCKED. */

/*
 *  Zwraca nazwe soula.
 */
public string
get_soul_id()
{
    return "Wolna Kompania Stirlandu";
}

/*
 *  Lista komend. Prosze dodawac nowe w kolejnosci alfabetycznej.
 */
public mapping
query_cmdlist()
{
    return ([
	     "kstopor" : "kstopor"
             ]);
}

/*
 * Function name: query_cmd_soul
 * Description  : This is a command soul. This defines it as such.
 * Returns      : int 1 - always.
 */
public int
query_cmd_soul()
{
    return 1;
}

