/* Souuuuul dla Tropicieli z Averlandu */
/* ################################### */

#pragma no_clone
#pragma strict_types
#pragma save_binary
inherit "/cmd/std/command_driver";
#include <adverbs.h>
#include <cmdparse.h>
#include <composite.h>
#include <filter_funs.h>
#include <macros.h>
#include <stdproperties.h>
#include <options.h>
#include "tropiciele.h"


#define SUBLOC_SOULEXTRA    "_soul_cmd_extra"
#define SOULDESC(x)         (this_player()->add_prop(LIVE_S_SOULEXTRA, (x)))
#define LANGUAGE_ALL_RSAY   55  /* Poziom, od ktorego rozumie sie wszystko. */
#define LANGUAGE_MIN_RSAY   15  /* Poziom, do ktorego nie rozumie sie nic. */
#define SHOUT_DEPTH         2   /* Przez ile pokoi niesie sie krzyk,
                                   Dla ogrow premia. */
#define MAX_FREE_EMOTE      60  /* Maksymalna dlugosc wolnego emota. */
#define DUMP_EMOTIONS_OUT   "/open/dump_emotions"

#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 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")

private mixed Prop;             /* Uzywana przez CHECK_MOUTH_BLOCKED. */

#include "soul_misc.h"
#include "emoty.h"

/*
 *  Zwraca nazwe soula.
 */
public string
get_soul_id()
{
    return "ludzie";
}

/*
 *  Lista komend.
 */
public mapping
query_cmdlist()
{
    return (["tklamra": "klamra",
             "tsluchaj": "sluchaj",
             "twestchnij": "westchnij",
             "tniebo": "niebo",
             "trozejrzyj": "patrz",
             "tusmiech": "usmiech",
             "tdom": "dom",
             "tpozdrow": "pozdrow",
             "tocen": "ocen",
             "todpocznij": "odpocznij",
             "trzuc": "rzuc",
             "ttytuly":"tytuly",
             "ttreningi":"treningi",
             "tpomoc":"podp"
             ]);
}

int
podp()
{
     TP->more("\nBedac Tropicielem masz dostep do nastepujacych komend:\n\n"+
     "\t- tklamra                - Potarcie klamry\n"+
     "\t- tsluchaj ze <kierunek> - Nasluchiwanie niebezpieczenstwa\n"+
     "\t- twestchnij             - Westchnienie\n"+
     "\t- tniebo                 - Spojrzenie w niebo\n"+
     "\t- trozejrzyj             - Rozejrzenie sie w poszukiwaniu wrogow\n"+
     "\t- tusmiech               - Drapiezny usmiech\n"+
     "\t- tdom                   - Wspomnienie domu\n"+
     "\t- tpozdrow               - Tradycyjne pozdrowienie\n"+
     "\t- tocen <kogo>           - Ocenienie swego przeciwnika\n"+
     "\t- trzuc <w kogo>         - Obrzucenie kogos blotem\n"+
     "\t- todpocznij             - Ulozenie sie do odpoczynku\n\n"+
     "\t- ttytuly                - Lista tytulow dostepnych dla Tropicieli\n"+
     "\t- ttreningi              - Lista umiejetnosci mozliwych do trenowania\n"+
     "\t- tpomoc                 - Powyzszy spis\n");
     return 1;
}
