


// To sa wyrazy z przedzialu 1 - 3 znaki.
string *kat01 = ({"ir","e'th","ihr","e'nh","anh","ez","el","er","se","ata","u",
		"sha","kh","shy","bas","ket","eb","eu","saf","si",
		"urg","ar","nek","ti","als","zar","alm","du","wir",
		"dzu","ih'","aer","vaes","ard","ko","de","al'","mo","ab","om"});
// 4 - 5
string *kat02 = ({"halk","adla","osor","zok'am","resze","alam","eben",
		"es'hal","azma","kaser","lar'am","dzare","anfel",
		"basal","batti","bane","krema","ful","le'a",
		"also","mun","ebrik","fen'th","szaj","kakal",
		"zahra","gerso","al'sza","kub","loz","halib",
		"sekk","za'ht","meleh","bedz","ajbad",
		"ah'mar","asfar","etho","rive","tlan","veire",
		"nesto","arbeh","asth","mocha","gfarh'","hakib",
		"lime","bot'","tur'h","lite","ghaz","shar'",
		"bikah","aherr","tone","rehlat","telr","ocht"});
		
// > 6
string *kat03 = ({"sochuna","dar'bat","battich","mal'ful","szamandar","busala",
	    "siera'h","fendzan","dzozet","kronte","bazela",
	    "dokkan szaj","kam alsheab","alghada","fel'ahmar",
	    "alfotur","olbat meh'l","sh'chodar","tosbeh al'cha",
	    "mas'haj","alhamodo lah","szokran","tafadal","sallem",
	    "motaz","sa'asheb le'anam","jadzeb an","soma",
	    "ju'safe","afham","ara'","a'ref","chamar","tenthe",
	    "mileroe","talil","lasi'","chafif","monharef","tatual",
	    "telorn'","dimme","dumme","bimme","errlesh","fatesh",
	    "bine'th ar eine","toshe reighe","dise","fure'th",
	    "a'alea","hatete"});



void
tell_all( string words )
{
    tell_room(environment(TP),""+words+"",({TP}));
}


int
query_gracz( object gracz )
{
int r;
int proc;
int srednia;
int z_jezykow=gracz->query_skill(SS_LANGUAGE);
int in=gracz->query_stat(3); // int
int md=gracz->query_stat(4); // madrosc
int runy=gracz->query_skill(40); // to runy smierci

    if ( gracz->query_prop(LIVE_I_UNDEAD) == 100 )
	return 1;

    if ( z_jezykow > 75 )
	z_jezykow=90;
    if ( in > 80 )
	in = 100;
    if ( md > 80 )
	md = 100;
    if ( runy > 90 )
	runy = 90;

    srednia = (( z_jezykow + in + md + runy ) / 4) - 60;
	if ( z_jezykow < 35 ) // tutaj troche wzmocnilem skille, czeba miec
	    srednia -= 10;
	if ( runy < 40 )
	    srednia -= 10;

	if ( srednia < 0 )
	    srednia = 0;
	if ( srednia > 100 )
	    srednia = 100;

    r = random(100);
	if ( r < srednia )
	    return 1;

    
return 0;
}



string
return_convword( string word, object ob )
{
    switch(strlen(word))
	{
	case 1..3:
	    if (query_gracz(ob))
	    return word;
	    return kat01[random(sizeof(kat01))];
	    break;
	case 4..5:
	    if (query_gracz(ob))
	    return word;
	    return kat02[random(sizeof(kat02))];
	    break;
	default:
	    if (query_gracz(ob))
	    return word;
	    return kat03[random(sizeof(kat03))];
	    break;
	
	}
}


mixed
return_players()
{
int i;
object *players=({});
object *ob = all_inventory(environment(TP));
    ob = FILTER_LIVE(ob);
    

    for ( i = 0; i < sizeof(ob); i ++ )
	{
	if ( interactive(ob[i]) )
	    players += ({ob[i]});
	}

    if (sizeof(players))
	return players;
	return 0;

}






int
unpowiedz( string words )
{
int i,j;

string slowo="";
string znak="";	
string text="";
string last_char="";

object *gracze = return_players();

    if (!words)
	{
	write("W ostatniej chwili decydujesz sie nic nie mowic.\n");
	say(QCIMIE(TP,PL_MIA)+" w ostatniej chwili decyduje sie nic nie mowic.\n");
	return 1;
	}

gracze = return_players();
for ( j = 0; j < sizeof(gracze); j++ )
{

    for ( i = 0; i < strlen(words); i++ )
	{
	znak = sprintf("%c",words[i]);
	
	if ( znak != " " )
	slowo+=znak;
			
	if ( znak == " " || i == strlen(words)-1 || znak == "," )
	    {
	    text+=return_convword(slowo,gracze[j]);
		if ( znak == " " )
		    text+=" ";
		if ( znak == "," )
		    text+=", ";
		    slowo="";	    
	    }
	    
	}
last_char = sprintf("%c",words[strlen(words)-1]);
    if ( last_char == "?" ||
	 last_char == "." ||
	 last_char == "!" )
	 {
         }else{
	    last_char="";
	 }

if (gracze[j]==TP)
gracze[j]->catch_msg("Mowisz w jezyku umarlych: "+words+"\n");
else
gracze[j]->catch_msg(""+QCIMIE(TP,PL_MIA)+" mowi w jezyku umarlych: "+
	""+capitalize(text)+""+last_char+"\n");
text="";
slowo="";
znak="";
}



return 1;
}














