/* Souuuuul dla Ogrow z Gor Szarych... */
/* ################################### */

#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 "ogry.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"
#include "zjadanie.h"

/*
 *  Zwraca nazwe soula.
 */
public string
get_soul_id()
{
    return "ogry";
}

/*
 *  Lista komend. 
 */
public mapping
query_cmdlist()
{
    return (["okichnij":"kichnij",
             "oobliz":"obliz",
             "opacnij":"pacnij",
             "opogratuluj":"pogratuluj",
             "opozdrow":"pozdrow",
             "oprzepros":"przepros",
             "ousmiechnij":"usmiechnij",
             "ozaburcz":"zaburcz",
             "ozadudnij":"zadudnij",
             "ozaklnij":"zaklnij",
             "ozaspiewaj":"zaspiewaj",
             "ospojrz":"spojrz",
             "obeknij":"beknij",
             "ozamysl":"zamysl",
             "ozarechocz":"zarechocz",
             "otytuly":"tytuly",
             "otreningi":"treningi",
             "ochichocz":"chichocz",
             "otupnij":"tupnij",
             "onudz":"nuda",
             "owygnij":"wygnij",
             "ozignoruj":"zignoruj",
             "oprezentuj":"prezentuj",
             "onasikaj":"nasikaj", 
             
             "zjedz":"do_zjedz",
             "opomoc":"pomoc"
             ]);
}

int
pomoc()
{
	TP->more("Komendy Ogrow z Gor:\n "+
         "\t- obeknij\n"+	 
	 "\t- ochichocz\n"+
	 "\t- okichnij\n"+
	 "\t- onasikaj <gdzie>\n"+
	 "\t- onudz sie\n"+
	 "\t- oobliz sie/<kogo>\n"+
	 "\t- opacnij <kogo>\n"+
	 "\t- opogratuluj <komu> [czego]\n"+
	 "\t- opozdrow <kogo>\n"+
	 "\t- oprezentuj\n"+
	 "\t- oprzepros <kogo> [za <co>]\n"+
         "\t- ospojrz na <kogo> [jak]\n"+	 
         "\t- otupnij [jak]\n"+
	 "\t- ousmiechnij sie do <kogo> [jak]\n"+
	 "\t- owygnij\n"+
	 "\t- ozaburcz\n"+
	 "\t- ozadudnij [co]\n"+
	 "\t- ozaklnij\n"+
	 "\t- ozaspiewaj [co]\n"+
         "\t- ozamysl sie\n"+
         "\t- ozarechocz\n"+
         "\t- ozignoruj\n"+
         "\n\t- otytuly\n"+
         "\t- otreningi\n"+

	 "\t- zjedz [<cos> z ciala]/cialo\n"+
	 "\n\t- opomoc\n");
	return 1;
}
